#### 5.1.3.27 IfcRelDeclares

| Deklariert einen Kontext - Relation

The objectified relationship IfcRelDeclares handles the declaration of objects (subtypes of IfcObject) or properties (subtypes of IfcPropertyDefinition) to a project or project library (represented by IfcProject, or IfcProjectLibrary).

The relationship handles the assignment of other objects, like IfcActor, or IfcTypeObject to the project, or project libary. The attribute RelatedDefinitions provides the references to the first level objects, that are the elements within the context. All other objects that relate to the first level objects are also defined in the context.

> NOTE Every object (as subtype of IfcObject) has to be declared within the context of a single IfcProject, or of a IfcProjectLibrary assigned to a single IfcProject. This declaration is transitive. For example: the IfcWorkPlan as first level object is declared within the context of IfcProject via IfcRelDeclares, all related IfcWorkSchedule's are related to the context in a transitive way through IfcWorkPlan.

> NOTE The assignment excludes subtypes of IfcProduct's, these are assigned to the IfcProject using the spatial structure approach through IfcSpatialStructureElement(s), where the outer container element such as IfcSite or IfcBuilding has an IfcRelAggregates relationship with the IfcProject.

The RelatingContext is the project, or project library that comprises all elements. The unit assignments and the presentation contexts defined at IfcProject or IfcProjectLibrary apply to all these elements.

> HISTORY New entity in IFC4.

XSD Specification:

<xs:element name="IfcRelDeclares" type="ifc:IfcRelDeclares" substitutionGroup="ifc:IfcRelationship" nillable="true"/>
<xs:complexType name="IfcRelDeclares">
<xs:complexContent>
<xs:extension base="ifc:IfcRelationship">
<xs:sequence>
<xs:element name="RelatingContext" type="ifc:IfcContext" nillable="true"/>
<xs:element name="RelatedDefinitions">
<xs:complexType>
<xs:group ref="ifc:IfcDefinitionSelect" maxOccurs="unbounded"/>
<xs:attribute ref="ifc:itemType" fixed="ifc:IfcDefinitionSelect"/>
<xs:attribute ref="ifc:cType" fixed="set"/>
<xs:attribute ref="ifc:arraySize" use="optional"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>

EXPRESS Specification:

ENTITY IfcRelDeclares

| SUBTYPE OF IfcRelationship;

RelatingContext | : | IfcContext;
RelatedDefinitions | : | SET [1:?] OF IfcDefinitionSelect;

| WHERE

NoSelfReference | : | SIZEOF(QUERY(Temp <* RelatedDefinitions | RelatingContext :=: Temp)) = 0;

END_ENTITY;

EXPRESS-G diagram

Attribute Definitions:

RelatingContext | : | Reference to the IfcProject to which additional information is assigned.
RelatedDefinitions | : | Set of object or property definitions that are assigned to a context and to which the unit and representation context definitions of that context apply.

Formal Propositions:

NoSelfReference | : | The instance to with the relation points shall not be contained in the set of RelatedObjects.

Inheritance Graph:

ENTITY IfcRelDeclares

| ENTITY IfcRoot

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

| ENTITY IfcRelationship

| ENTITY IfcRelDeclares

RelatingContext | : | IfcContext;
RelatedDefinitions | : | SET [1:?] OF IfcDefinitionSelect;

END_ENTITY;

Examples:

- Air terminal library object

Link to this page