IFC (IFC4X3_ADD2) under development Spatial Composition

Provision of a spatial structure of the project by aggregating spatial elements. The spatial structure is a hierarchical tree of spatial elements ultimately assigned to the project. Composition refers to the relationship to a higher level element (e.g. this storey is part of a building or this road segment is part of a road).

The project spatial structure may be made up of a selection of different spatial structure elements with the most generic and simplest form from high to low level as follows: IfcProject, IfcSite, IfcFacility (or any of its subtypes), IfcFacilityPart (or IfcBuildingStorey in the case of buildings), and IfcSpace with IfcSite, IfcFacilityPart and IfcSpace being optional levels. Therefore a spatial structure element should only be part of an element at the same or higher level, with the exception of IfcFacility which can be part of an IfcFacilityPart to allow for the regional or longitudinal division of a higher level facility into sections which can then contain one or more smaller functional facilities.

Where possible, the relevant subtype of IfcFacility should be used to describe the spatial structure element in question. When an adequate subtype of IfcFacility with predefined or user defined type is not available the higher level, generic IfcFacility entity can be instantiated with the relevant and agreed typing identifier defined in IfcFacility.ObjectType. This allows for nearly full coverage of built environment domains and/or scenarios that have yet to be addressed with specific extensions.

In addition to the identified spatial structure elements IfcSpatialZone can be used to provide cross domain or functional zones within a project. These elements are included into the hierarchy using the Spatial Containment concept (IfcRelContainedInSpatialStructure) and can be aggregated into a functional hierarchy in the same manner as other spatial structure elements, with the constraint that an IfcSpatialZone can only be composed within another IfcSpatialZone.

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.

G IfcSpatialElement_0 IfcSpatialElement 1. GlobalId [1:1] 2. OwnerHistory [0:1] 3. Name [0:1] 4. Description [0:1]      HasAssignments [0:?]      Nests [0:1]      IsNestedBy [0:?]      HasContext [0:1]      IsDecomposedBy [0:?]      Decomposes [0:1]      HasAssociations [0:?] 5. ObjectType [0:1]      IsDeclaredBy [0:1]      Declares [0:?]      IsTypedBy [0:1]      IsDefinedBy [0:?] 6. ObjectPlacement [0:1] 7. Representation [0:1]      ReferencedBy [0:?]      PositionedRelativeTo [0:?]      ReferencedInStructures [0:?] 8. LongName [0:1]      ContainsElements [0:?]      ServicedBySystems [0:?]      ReferencesElements [0:?]      IsInterferedByElements [0:?]      InterferesElements [0:?] IfcRelAggregates IfcRelAggregates 1. GlobalId [1:1] 2. OwnerHistory [0:1] 3. Name [0:1] 4. Description [0:1] RelatingObject 5. RelatingObject [1:1] 6. RelatedObjects [1:?] IfcSpatialElement_0:Decomposes1->IfcRelAggregates:RelatedObjects0 IfcProject IfcProject 1. GlobalId [1:1] 2. OwnerHistory [0:1] ProjectName 3. Name [0:1] 4. Description [0:1]      HasAssignments [0:?]      Nests [0:1]      IsNestedBy [0:?]      HasContext [0:1]      IsDecomposedBy [0:?]      Decomposes [0:1]      HasAssociations [0:?] 5. ObjectType [0:1] 6. LongName [0:1] 7. Phase [0:1] 8. RepresentationContexts [1:?] 9. UnitsInContext [0:1]      IsDefinedBy [0:?]      Declares [0:?] IfcRelAggregates:RelatingObject1->IfcProject:IfcProject0 IfcSpatialElement_1 IfcSpatialElement 1. GlobalId [1:1] 2. OwnerHistory [0:1] SpatialElementName 3. Name [0:1] 4. Description [0:1]      HasAssignments [0:?]      Nests [0:1]      IsNestedBy [0:?]      HasContext [0:1]      IsDecomposedBy [0:?]      Decomposes [0:1]      HasAssociations [0:?] 5. ObjectType [0:1]      IsDeclaredBy [0:1]      Declares [0:?]      IsTypedBy [0:1]      IsDefinedBy [0:?] 6. ObjectPlacement [0:1] 7. Representation [0:1]      ReferencedBy [0:?]      PositionedRelativeTo [0:?]      ReferencedInStructures [0:?] 8. LongName [0:1]      ContainsElements [0:?]      ServicedBySystems [0:?]      ReferencesElements [0:?]      IsInterferedByElements [0:?]      InterferesElements [0:?] IfcRelAggregates:RelatingObject1->IfcSpatialElement_1:IfcSpatialElement0 IfcLabel_0 IfcLabel IfcProject:Name1->IfcLabel_0:IfcLabel0 IfcLabel_1 IfcLabel IfcSpatialElement_1:Name1->IfcLabel_1:IfcLabel0

General Usage

IfcBridge IfcBridge
IfcBridge IfcProject
IfcBridge IfcSite
IfcBridgePart IfcBridge
IfcBuilding IfcBuilding
IfcBuilding IfcProject
IfcBuilding IfcSite
IfcBuildingStorey IfcBuilding
IfcBuildingStorey IfcBuildingStorey
IfcFacility IfcFacility
IfcFacility IfcProject
IfcFacility IfcSite
IfcFacilityPartCommon IfcFacility
IfcMarineFacility IfcMarineFacility
IfcMarineFacility IfcProject
IfcMarineFacility IfcSite
IfcMarinePart IfcMarineFacility
IfcRailway IfcProject
IfcRailway IfcRailway
IfcRailway IfcSite
IfcRailwayPart IfcRailway
IfcRoad IfcProject
IfcRoad IfcRoad
IfcRoad IfcSite
IfcRoadPart IfcRoad
IfcSite IfcProject
IfcSite IfcSite
IfcSpace IfcBridge
IfcSpace IfcBridgePart
IfcSpace IfcBuilding
IfcSpace IfcBuildingStorey
IfcSpace IfcFacility
IfcSpace IfcFacilityPartCommon
IfcSpace IfcMarineFacility
IfcSpace IfcMarinePart
IfcSpace IfcProject
IfcSpace IfcRailway
IfcSpace IfcRailwayPart
IfcSpace IfcRoad
IfcSpace IfcRoadPart
IfcSpace IfcSite
IfcSpace IfcSpace

Edit on Github

Is this page difficult to understand? Let us know!