#### 5.3.3.1 IfcEvent

| Evènement
| Ereignis

An IfcEvent is something that happens that triggers an action or response.

> HISTORY New entity in IFC4

Use definitions

IfcEvent is used to capture information about particular things that happen or that may happen. Particularly used in work plans (or process maps) they identify e.g. a point at which a message containing information may be issued or at which a rule or constraint is invoked.

## Building Automation

The following concepts are inherited at supertypes:

- IfcRoot: Revision Control

Instance diagram

Identity

The Identity concept applies to this entity.

Exchange |  |  |  |  |
--- | --- | --- | --- | --- | ---
Import |  |  |  |  |
Export |  |  |  |  |

Object Typing

The Object Typing concept applies to this entity as shown in Table 10.

Type | Description
--- | ---
IfcEventType | Identifies the event to be handled or raised on the device.
Table 10 — IfcEvent Object Typing

Exchange |  |  |  |  |
--- | --- | --- | --- | --- | ---
Import |  |  |  |  |
Export |  |  |  |  |

Property Sets

The Property Sets concept applies to this entity.

Properties on events indicate parameter values to be included with the event. The direction of each parameter is defined by IfcSimplePropertyTemplate.AccessState which must always be READONLY for event parameters.

Exchange |  |  |  |  |
--- | --- | --- | --- | --- | ---
Import |  |  |  |  |
Export |  |  |  |  |

Constraint

The Constraint concept applies to this entity.

Constraints indicate valid ranges of values, where violations may be brought to the attention of interested parties. For building automation, the IFC constraint model provides a standard mechanism for indicating minimum and maximum thresholds of measured real-time values for building performance.

Automation protocols such as BACnet and OPC define “Hi”, “Lo”, “HiHi”, and “LoLo” thresholds to indicate warning levels and emergency levels of values going out of bounds. For example, if the temperature in an equipment room exceeds a certain level, it could result in failure of devices and loss of service to building occupants.

Constraints may be defined as a qualitative goal with quantitative metrics for measuring if such goal is achieved. Metrics capture logical operators such as “Equal To”, “Greater Than”, “Includes”, etc., and may be logically combined using “And”, “Or”, “Xor”, etc.

The IfcRelAssociatesConstraint relationship is used to link constraints to object attributes.

Exchange |  |  |  |  |
--- | --- | --- | --- | --- | ---
Import |  |  |  |  |
Export |  |  |  |  |

Approval

The Approval concept applies to this entity.

Approvals indicate request and granting of permission, where actions may be restricted until such permission is granted. For building automation, the IFC approval model provides a standard mechanism for indicating acknowledgment of events for alarm conditions.

Automation protocols such as BACnet and OPC define event acknowledgement rules where various events may require users to confirm that they are aware of the condition, and if not confirmed within a particular timeframe then the event is potentially elevated to other users.

Exchange |  |  |  |  |
--- | --- | --- | --- | --- | ---
Import |  |  |  |  |
Export |  |  |  |  |

Event Types

The Event Types concept applies to this entity as shown in Table 11.

PredefinedType | Description
--- | ---
STARTEVENT | Indicates the start of a condition such as entering an alarm state.
ENDEVENT | Indicates the end of a condition such as returning to normal.
INTERMEDIATEEVENT | Indicates intermediate status of a condition.
Table 11 — IfcEvent Event Types

For example, a dimmer switch may have a STARTEVENT to indicate when a user presses down on the dimmer, an INTERMEDIATEEVENT to indicate the user is adjusting the dim level, and an ENDEVENT to indicate when the user stops pressing. Likewise, a motion sensor may have a STARTEVENT to indicate when motion is sensed and an ENDEVENT to indicate when motion is no longer sensed beyond a time threshold. Similarly an alarm may have a STARTEVENT to indicate when the alarm is activated and an ENDEVENT to in indicate when the alarm is deactivated.

Exchange |  |  |  |  |
--- | --- | --- | --- | --- | ---
Import |  |  |  |  |
Export |  |  |  |  |

Event Triggers

The Event Triggers concept applies to this entity as shown in Table 12.

EventTriggerType | Description
--- | ---
EVENTRULE | Event has associated constraint (using IfcRelAssociatesConstraint) indicating that event is triggered when the constraint is violated (if STARTEVENT) or triggered when the constraint returns to normal (if ENDEVENT).
EVENTMESSAGE | Event is a notification, where LongDescription indicates content.
EVENTTIME | Event occurs at specific EventTime and/or according to recurring times of IfcWorkCalendar (linked using IfcRelAssignsToControl)
EVENTCOMPLEX | Event is nested into multiple events which describe how the event may be triggered.
Table 12 — IfcEvent Event Triggers

Exchange |  |  |  |  |
--- | --- | --- | --- | --- | ---
Import |  |  |  |  |
Export |  |  |  |  |

XSD Specification:

<xs:element name="IfcEvent" type="ifc:IfcEvent" substitutionGroup="ifc:IfcProcess" nillable="true"/>
<xs:complexType name="IfcEvent">
<xs:complexContent>
<xs:extension base="ifc:IfcProcess"/>
</xs:complexContent>
</xs:complexType>

EXPRESS Specification:

ENTITY IfcEvent

| SUBTYPE OF IfcProcess;

PredefinedType | : | OPTIONAL IfcEventTypeEnum;
EventTriggerType | : | OPTIONAL IfcEventTriggerTypeEnum;
UserDefinedEventTriggerType | : | OPTIONAL IfcLabel;
EventOccurenceTime | : | OPTIONAL IfcEventTime;

| WHERE

CorrectPredefinedType | : | NOT(EXISTS(PredefinedType)) OR (PredefinedType <> IfcEventTypeEnum.USERDEFINED) OR ((PredefinedType = IfcEventTypeEnum.USERDEFINED) AND EXISTS(SELF\IfcObject.ObjectType));
CorrectTypeAssigned | : | NOT(EXISTS(EventTriggerType)) OR (EventTriggerType <> IfcEventTriggerTypeEnum.USERDEFINED) OR ((EventTriggerType = IfcEventTriggerTypeEnum.USERDEFINED) AND EXISTS(UserDefinedEventTriggerType));

END_ENTITY;

EXPRESS-G diagram

Attribute Definitions:

PredefinedType | : | Identifies the predefined types of an event from which the type required may be set.
EventTriggerType | : | Identifies the predefined types of event trigger from which the type required may be set.
UserDefinedEventTriggerType | : | A user defined event trigger type, the value of which is asserted when the value of an event trigger type is declared as USERDEFINED.
EventOccurenceTime | : | The date and/or time at which an event occurs.

Formal Propositions:

CorrectPredefinedType | : | Either the PredefinedType attribute is unset, or the inherited attribute ObjectType must be asserted when the value of PredefinedType is set to USERDEFINED.
CorrectTypeAssigned | : | Either the EventTriggerType attribute is unset, or the attribute UserDefinedEventTriggerType must be asserted when the value of EventTriggerType is set to USERDEFINED.

Inheritance Graph:

ENTITY IfcEvent

| ENTITY IfcRoot

GlobalId | : | IfcGloballyUniqueId;
OwnerHistory | : | OPTIONAL IfcOwnerHistory;
Name | : | OPTIONAL IfcLabel;
Description | : | OPTIONAL IfcText;

| ENTITY IfcObjectDefinition

| INVERSE

HasAssignments | : | SET OF IfcRelAssigns FOR RelatedObjects;
Nests | : | SET [0:1] OF IfcRelNests FOR RelatedObjects;
IsNestedBy | : | SET OF IfcRelNests FOR RelatingObject;
HasContext | : | SET [0:1] OF IfcRelDeclares FOR RelatedDefinitions;
IsDecomposedBy | : | SET OF IfcRelAggregates FOR RelatingObject;
Decomposes | : | SET [0:1] OF IfcRelAggregates FOR RelatedObjects;
HasAssociations | : | SET OF IfcRelAssociates FOR RelatedObjects;

| ENTITY IfcObject

ObjectType | : | OPTIONAL IfcLabel;

| INVERSE

IsDeclaredBy | : | SET [0:1] OF IfcRelDefinesByObject FOR RelatedObjects;
Declares | : | SET OF IfcRelDefinesByObject FOR RelatingObject;
IsTypedBy | : | SET [0:1] OF IfcRelDefinesByType FOR RelatedObjects;
IsDefinedBy | : | SET OF IfcRelDefinesByProperties FOR RelatedObjects;

| ENTITY IfcProcess

Identification | : | OPTIONAL IfcIdentifier;
LongDescription | : | OPTIONAL IfcText;

| INVERSE

| ENTITY IfcEvent

PredefinedType | : | OPTIONAL IfcEventTypeEnum;
EventTriggerType | : | OPTIONAL IfcEventTriggerTypeEnum;
UserDefinedEventTriggerType | : | OPTIONAL IfcLabel;
EventOccurenceTime | : | OPTIONAL IfcEventTime;

END_ENTITY;

Link to this page