IFC 4.3.x development

5.1.3.21 IfcRelAggregates

Change log

IFC4

additionsattributes RelatedObjects
additionsattributes RelatingObject
additionswhere_rulesNoSelfReference

5.1.3.21.1 Semantic definitions at the entity

The aggregation relationship IfcRelAggregates is a special type of the general composition/decomposition (or whole/part) relationship IfcRelDecomposes. The aggregation relationship can be applied to all subtypes of IfcObjectDefinition.

In cases of aggregation of physical elements into a physical aggregate the shape representation of the whole (within the same representation identifier) can be taken from the sum of the shape representations of the parts.

EXAMPLE  A roof is the aggregation of the roof elements, such as roof slabs, rafters, purlins, etc. Within the same representation identifier (such as the body geometric representation), the shape representation of the roof is given by the shape representation of its parts.

Decompositions imply a dependency, implying that the whole depends on the definition of the parts and the parts depend on the existence of the whole. The behaviour that is implied from the dependency relationship has to be established inside the applications.

HISTORY  New entity in IFC2x.

IFC4 CHANGE The attributes RelatingObject and RelatedObjects are demoted from the supertype IfcRelDecomposes.

5.1.3.21.1 Attributes

#Attribute Type Description
IfcRoot
1GlobalId IfcGloballyUniqueId Assignment of a globally unique identifier within the entire software world.
2OwnerHistory OPTIONAL IfcOwnerHistory Assignment of the information about the current ownership of that object, including owning actor, application, local identification and information captured about the recent changes of the object,

> NOTE  only the last modification in stored - either as addition, deletion or modification.

> IFC4 CHANGE  The attribute has been changed to be OPTIONAL.
3Name OPTIONAL IfcLabel Optional name for use by the participating software systems or users. For some subtypes of IfcRoot the insertion of the Name attribute may be required. This would be enforced by a where rule.
4Description OPTIONAL IfcText Optional description, provided for exchanging informative comments.
IfcRelationship
IfcRelDecomposes
IfcRelAggregates
5RelatingObjectIfcObjectDefinition The object definition, either an object type or an object occurrence, that represents the aggregation. It is the whole within the whole/part relationship.

> IFC4 CHANGE  The attribute has been demoted from the supertype IfcRelDecomposes and defines the non-ordered aggregation relationship.
6RelatedObjectsSET [1:?] OF IfcObjectDefinitionThe object definitions, either object occurrences or object types, that are being aggregated. They are defined as the parts in the whole/part relationship. No order is implied between the parts.

> IFC4 CHANGE  The attribute has been demoted from the supertype IfcRelDecomposes and defines the non-ordered set of parts within the aggregation.

5.1.3.21.2 Entity inheritance

dot_inheritance IfcRelAggregates IfcRelAggregates IfcRelDecomposes IfcRelDecomposes IfcRelAggregates->IfcRelDecomposes IfcRelDecomposes_children 4 more... IfcRelDecomposes_children->IfcRelDecomposes IfcRelationship IfcRelationship IfcRelDecomposes->IfcRelationship IfcRelationship_children 5 more... IfcRelationship_children->IfcRelationship IfcRoot IfcRoot IfcRelationship->IfcRoot IfcObjectDefinition IfcObjectDefinition IfcObjectDefinition->IfcRoot IfcPropertyDefinition IfcPropertyDefinition IfcPropertyDefinition->IfcRoot

5.1.3.21.3 Definitions applying to General Usage

5.1.3.21.3.1 Identity

IfcRoot assigns the globally unique ID. In addition it may provide for a name and a description about the concept.

5.1.3.21.3.2 Revision Control

Ownership, history, and merge state is captured using IfcOwnerHistory.

5.1.3.21.4 Formal representations

ENTITY IfcRelAggregates
 SUBTYPE OF (IfcRelDecomposes);
	RelatingObject : IfcObjectDefinition;
	RelatedObjects : SET [1:?] OF IfcObjectDefinition;
 WHERE
	NoSelfReference : SIZEOF(QUERY(Temp <* RelatedObjects | RelatingObject :=: Temp)) = 0;
END_ENTITY;