IFC 4.4.0.0 build 20261005 (IFC4X4_DEV_20260525) ⚠ buildingSMART Working Draft. All content is under development.

  • Help suggest improvements
  • Get user or developer support

4.1.4.1 Aggregation

An aggregation indicates an internal unordered part composition relationship between the whole structure, referred to as the "composite", and the subordinate components, referred to as the "parts". The concept of aggregation is used in various ways. Examples are:

  • Aggregation is used on building elements to indicate parts such as studs within a wall;
  • Aggregation is used on spatial elements to indicate a spatial structure such as a storey within a building;
  • Aggregation is used on systems to indicate subsystems such as branch circuits.

Aggregation is a bi-directional relationship, the relationship from the composite to its parts is called Decomposition, and the relationship from the part to its composite is called Composition.

The following diagram shows the generic classes and relationships used when applying this concept. In addition, concepts may have particular importance to common or standardised industry practices and scenarios. For these specific usage scenarios, the table below shows a recommended list of general usage patterns that users may adopt.

%3 IfcObjectDefinition IfcObjectDefinition 1. GlobalId [1:1] 2. OwnerHistory [0:1] 3. Name [0:1] 4. Description [0:1]      Decomposes [0:1]      HasAssignments [0:?]      HasAssociations [0:?]      HasContext [0:1]      IsDecomposedBy [0:?]      IsNestedBy [0:?]      Nests [0:1] IfcRelAggregates IfcRelAggregates 1. GlobalId [1:1] 2. OwnerHistory [0:1] 3. Name [0:1] 4. Description [0:1] 5. RelatingObject [1:1] 6. RelatedObjects [1:?] IfcObjectDefinition:IsDecomposedBy1->IfcRelAggregates:RelatingObject0
Figure 4.1.4.1.A

General Usage

ApplicableEntity
IfcObjectDefinition
Table A

Edit on Github

3 contributor(s): bSI-BotEvandro AlfieriDion Moult
Last change: nbn-094 by Evandro Alfieri on 2023-09-05T13:37:44+02:00

Is this page difficult to understand? Let us know!