1.1 General Usage

CodeVersionStatusAuthorCopyright
IFC4x14.1.0.0Official© 1996-2019 buildingSMART International Ltd.

The following are within the entire scope of this release of IFC:

 

The following are outside the scope of this release of IFC:

FieldMappingDefinition
(Query)\IfcActionRequest
\IfcObject
The IFC class identifier indicating the subtype of object.
Approval\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesApproval.RelatingApproval
\IfcApproval.Name
\IfcLabel

Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcActionRequest. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted.

Aggregation

As shown in Figure 278, an IfcActionRequest may be aggregated into components.

Composition Use Definition

Figure 278 — Action request composition

Nesting\IfcObjectDefinition.IsNestedBy[*]
\IfcRelNests.RelatedObjects[*]
\IfcObject
The object definitions, either non-product object occurrences or non-product object types, that are being nestes. They are defined as the parts in the ordered whole/part relationship - i.e. there is an implied order among the parts expressed by the position within the list of RelatedObjects.
Control Assignment\IfcControl.Controls[*]
\IfcRelAssignsToControl.RelatedObjects[*]
\IfcObject

As shown in Figure 279, an IfcActionRequest may be assigned to the following entities using relationships as indicated:

The IfcActionRequest may have assignments of its own using the IfcRelAssignsToControl relationship where RelatingControl refers to the IfcActionRequest and RelatedObjects contains one or more objects of the following types:

  • IfcActor: Person or organization(s) fulfilling the request such as a facilities manager or contractor.
Assignment Use Definition

Figure 279 — Action request assignment

FieldMappingDefinition
(Query)\IfcActor
\IfcObject
The IFC class identifier indicating the subtype of object.
Actor Assignment\IfcActor.IsActingUpon[*]
\IfcRelAssignsToActor.RelatedObjects[*]
\IfcControl
Related objects, which are assigned to a single object. The type of the single (or relating) object is defined in the subtypes of IfcRelAssigns.
FieldMappingDefinition
(Query)\IfcActuator
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialConstituentSet.MaterialConstituents[*]
\IfcMaterialConstituent.Name
\IfcLabel
The name by which the material constituent is known.
Port\IfcDistributionElement
The IFC class identifier indicating the subtype of object.
Control Flow\IfcDistributionControlElement.AssignedToFlowElement[*]
\IfcRelFlowControlElements.RelatingFlowElement
\IfcDistributionFlowElement
Relationship to a distribution flow element
FieldMappingDefinition
(Query)\IfcAirTerminalBox
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialConstituentSet.MaterialConstituents[*]
\IfcMaterialConstituent.Name
\IfcLabel
The name by which the material constituent is known.
Port\IfcDistributionElement
The IFC class identifier indicating the subtype of object.
FieldMappingDefinition
(Query)\IfcAirTerminal
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialConstituentSet.MaterialConstituents[*]
\IfcMaterialConstituent.Name
\IfcLabel
The name by which the material constituent is known.
Port\IfcDistributionElement
The IFC class identifier indicating the subtype of object.
FieldMappingDefinition
(Query)\IfcAirToAirHeatRecovery
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialConstituentSet.MaterialConstituents[*]
\IfcMaterialConstituent.Name
\IfcLabel
The name by which the material constituent is known.
Port\IfcDistributionElement
The IFC class identifier indicating the subtype of object.
FieldMappingDefinition
(Query)\IfcAlarm
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialConstituentSet.MaterialConstituents[*]
\IfcMaterialConstituent.Name
\IfcLabel
The name by which the material constituent is known.
Port\IfcDistributionElement
The IFC class identifier indicating the subtype of object.
FieldMappingDefinition
(Query)\IfcAlignment
Alignment Attributes\IfcAlignment.Axis
\IfcAlignmentCurve.Horizontal
\IfcAlignment2DHorizontal.Segments[*]
\IfcAlignment2DHorizontalSegment.CurveGeometry
\IfcCircularArcSegment2D
Geometric representation of the horizontal alignment within the 2D X/Y coordinate space.
FieldMappingDefinition
(Query)\IfcAnnotation
\IfcObject
The IFC class identifier indicating the subtype of object.
Annotation 2D Geometry\IfcAnnotation.Representation
\IfcProductDefinitionShape.Representations['Annotation']
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext
Definition of the representation context for which the different subtypes of representation are valid.
Annotation 3D Geometry\IfcAnnotation.Representation
\IfcProductDefinitionShape.Representations['Annotation']
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext
Definition of the representation context for which the different subtypes of representation are valid.
FieldMappingDefinition
(Query)\IfcAsset
\IfcObject
The IFC class identifier indicating the subtype of object.
Classification\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesClassification.RelatingClassification
\IfcClassificationReference.Identification
\IfcIdentifier

The operating function of an asset within an organization may be particularly valuable in situations where one organization provides and maintains core services and another organization adds and maintains terminal services. It can classify who owns and is responsible for the asset. Operating function can be designated through the use of one or more classification references.

Group Assignment\IfcGroup.IsGroupedBy[*]
\IfcRelAssignsToGroup.RelatedObjects[*]
\IfcProduct
Related objects, which are assigned to a single object. The type of the single (or relating) object is defined in the subtypes of IfcRelAssigns.
FieldMappingDefinition
(Query)\IfcAudioVisualAppliance
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialConstituentSet.MaterialConstituents[*]
\IfcMaterialConstituent.Name
\IfcLabel
The name by which the material constituent is known.
Composition
Port\IfcDistributionElement
The IFC class identifier indicating the subtype of object.
FieldMappingDefinition
(Query)\IfcBeam
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Spatial Containment\IfcElement.ContainedInStructure[*]
\IfcRelContainedInSpatialStructure.RelatingStructure
\IfcSpatialElement.Name
\IfcLabel

The IfcBeam, as any subtype of IfcBuildingElement, may participate alternatively in one of the two different containment relationships:

  • the Spatial Containment (defined here), or
  • the Element Composition.
Element Composition\IfcElement.Decomposes[*]
\IfcRelAggregates.RelatingObject
\IfcElement.Name
\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.
Material Profile Set\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialProfileSet.MaterialProfiles[*]
\IfcMaterialProfile.Name
\IfcLabel

The material of the IfcBeam is defined by the IfcMaterialProfileSet or as fallback by IfcMaterial, and it is attached either directly or at the IfcBeamType.

NOTE  It is illegal to assign an IfcMaterialProfileSetUsage to an IfcBeam. Only the subtype IfcBeamStandardCase supports this concept.
Axis 3D Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations['Axis']
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

The 'Axis' 'Curve 3D' geometry can be used to represent the system axis and length of a beam that may extent the body length.

NOTE  The 'Axis' is not used to locate the material profile set, only the subtype IfcBeamStandardCase provides this capability.
Body SweptSolid Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

The following additional constraints apply to the 'SweptSolid' representation type:

Figure 198 illustrates the 'SweptSolid' geometric representation. There are no restrictions or conventions on how to use the local placement (black), solid of extrusion placement (red) and profile placement (green).

standard beam

Figure 198 — Beam swept solid

Figure 199 illustrates the use of non-perpendicular extrusion to create the IfcExtrudedAreaSolid.

non-perpendicular extrusion

Figure 199 — Beam non-perpendicular extrusion

Body AdvancedSweptSolid Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

The following additional constraints apply to the 'AdvancedSweptSolid' representation type:

Body Clipping Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

The following additional constraints apply to the 'Clipping' representation type:

  • Solid: see 'SweptSolid' geometric representation
  • Profile: see 'SweptSolid' geometric representation
  • Extrusion: see 'SweptSolid' geometric representation
  • Boolean result: The IfcBooleanClippingResult shall be supported, allowing for Boolean differences between the swept solid (here IfcExtrudedAreaSolid) and one or several IfcHalfSpaceSolid (or its subtypes).

Figure 199 illustrates use of IfcBooleanClippingResult between an IfcExtrudedAreaSolid and an IfcHalfSpaceSolid to create a clipped body.

clipped beam

Figure 199 — Beam clipping

Product Assignment\IfcProduct.ReferencedBy[*]
\IfcRelAssignsToProduct.RelatedObjects[*]
\IfcObject
Related objects, which are assigned to a single object. The type of the single (or relating) object is defined in the subtypes of IfcRelAssigns.
FieldMappingDefinition
(Query)\IfcBeamStandardCase
Material Profile Set Usage\IfcProduct.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialProfileSetUsage.ForProfileSet
\IfcMaterialProfileSet.MaterialProfiles[*]
\IfcMaterialProfile.Name

The IfcBeamStandardCase defines in addition that the IfcBeamType should have a unique IfcMaterialProfileSet, that is referenced by the IfcMaterialProfileSetUsage that is assigned to all occurrences of this IfcBeamType.

Material profile set and usage
EXAMPLE  Figure 202 illustrates assignment of IfcMaterialProfileSetUsage and IfcMaterialProfileSet to the IfcBeamStandardCase as the beam occurrence and to the IfcBeamType. The same IfcMaterialProfileSet shall be shared by many occurrences of IfcMaterialProfileSetUsage. This relationship shall be consistent to the relationship between the IfcBeamType and the IfcBeamStandardCase.

Figure 202 — Beam profile usage

 
Cardinal point usage
EXAMPLE  Figure 203 illustrates alignment of cardinal points.
NOTE  It has to be guaranteed that the use of IfcCardinalPointEnum is consistent to the placement of the extrusion body provided by IfcExtrudedAreaSolid.Position
NOTE  The cardinal points 8 (top centre) and 6 (mid-depth right) are assigned according to the definition at IfcCardinalPointReference

Figure 203 — Beam cardinal points

 
Material profile set and usage
EXAMPLE  Figure 204 illustrates assignment of a composite profile by using IfcCompositeProfile for geometric representation and several IfcMaterialProfile's within the IfcMaterialProfileSet.

Figure 204 — Beam composite profiles

Placement\IfcProduct.ObjectPlacement
\IfcLocalPlacement.RelativePlacement
\IfcAxis2Placement3D

The following restriction is imposed:

  • The local placement shall provide the location and directions for the standard beam, the x/y plane is the plane for the start profile, and the z-axis is the extrusion axis for the beam body (in case of rotation, the tangent direction).
Axis 3D Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations['Axis']
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

The following additional constraints apply to the 'Axis' representation, if the 'Body' shape representation has the RepresentationType : 'SweptSolid':

 

Axis
EXAMPLE  As shown in Figure 76, the axis shall be defined along the z axis of the object coordinate system. The axis representation can be used to represent the system length of a beam that may extent the body length of the beam.

Figure 204 — Beam axis representation

 
Axis
EXAMPLE  As shown in Figure 77, the axis representation shall be used to represent the cardinal point as the offset between the 'Axis' and the extrusion path of the beam. The extrusion path is provided as IfcExtrudedAreaSolid.ExtrudedDirection and should be parallel to the 'Axis' and the z axis. It has to be guaranteed that the value provided by IfcMaterialProfileSetUsage.CardinalPoint is consistent to the IfcExtrudedAreaSolid.Position.

Figure 205 — Beam axis cardinal point

 
Body SweptSolid Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

The following additional constraints apply to the 'SweptSolid' representation:

  • Solid: IfcExtrudedAreaSolid, IfcRevolvedAreaSolid shall be supported
  • Solid Position : The IfcSweptAreaSolid.Position shall exclusively been used to correspond to the cardinal point. The x/y offset of the Position represents the cardinal point offset of the profile against the axis. No rotation shall be allowed.
  • Profile: All subtypes of IfcParameterizedProfileDef
  • Profile Position : For all single profiles, the IfcParameterizedProfileDef.Position shall be NIL, or having Location = 0.,0. and RefDirection = 1.,0.
  • Extrusion: Perpendicular to the profile direction. The IfcExtrudedAreaSolid.ExtrudedDirection shall be [0.,0.,1.].
  • Orientation: The y-axis of the profile, as determined by IfcSweptAreaSolid.Position.P[2] shall point upwards. It indicates the "role" of the beam, a role=0° means y-axis of profile pointing upwards.

Figure 205 illustrates a standard geometric representation with cardinal point applied as 1 (bottom left).

The following interpretation of dimension parameter applies for rectangular beams with linear extrusions:

  • IfcRectangleProfileDef.YDim interpreted as beam height
  • IfcRectangleProfileDef.XDim interpreted as beam width

The following interpretation of dimension parameter applies for circular beams:

  • IfcCircleProfileDef.Radius interpreted as beam radius.
standard beam

Figure 205 — Beam body extrusion

Body AdvancedSweptSolid Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

The following additional constraints apply to the 'AdvancedSweptSolid' representation type:

Body Clipping Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

The following constraints apply to the 'Clipping' representation:

  • Solid : see 'SweptSolid' geometric representation
  • Solid Position : see 'SweptSolid' geometric representation
  • Profile : see 'SweptSolid' geometric representation
  • Profile Position : see 'SweptSolid' geometric representation
  • Extrusion : see 'SweptSolid' geometric representation
  • Orientation : see 'SweptSolid' geometric representation
  • Boolean result: The IfcBooleanClippingResult shall be supported, allowing for Boolean differences between the swept solid (here IfcExtrudedAreaSolid) and one or several IfcHalfSpaceSolid (or its subtypes).

Figure 206 illustrates a 'Clipping' geometric representation with use of IfcBooleanClippingResult between an IfcExtrudedAreaSolid and an IfcHalfSpaceSolid to create a clipped body, with cardinal point applied as 4 (mid-depth left)

clipped beam

Figure 206 — Beam body clipping

FieldMappingDefinition
(Query)\IfcBeamType
Material Profile Set\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialProfileSet.MaterialProfiles[*]
\IfcMaterialProfile.Name
\IfcLabel

The material of the IfcBeamType is defined by the IfcMaterialProfileSet or as fall back by IfcMaterial and attached by the IfcRelAssociatesMaterial.RelatingMaterial. It is accessible by the inverse HasAssociations relationship.

NOTE  It is illegal to assign an IfcMaterial to an IfcBeamType, if there is at least one occurrence of IfcBeamStandardCase for this type.

The shared profile definition is defined by assigning an IfcMaterialProfileSet (see material use definition above). The IfcMaterialProfile refers to the subtype of IfcProfileDef that is the common profile for all beam occurrence, if used. It is only applicable if the IfcBeamType has only occurrences of type IfcBeamStandardCase (see definition of IfcBeamStandardCase for further information).

NOTE  The attribute ProfileName of the IfcProfileDef subtype, referenced in IfcMaterialProfile should contain a standardized profile name according to local standards. However, an additional geometric representation of the profile is necessary (such as IfcExtrudedAreaSolid). An importing application is allowed to check for the existence of the profile name: in case of identifying it as a standardized name, the corresponding profile geometry and possibly other cross sectional properties can be read from a library. Otherwise the geometric representation and possible non geometric IfcProfileProperties have to be used.
Body Geometry\IfcTypeProduct.RepresentationMaps[*]
\IfcRepresentationMap.MappedRepresentation
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

The IfcBeamType may define the shared geometric representation for all beam occurrences. The RepresentationMaps attribute refers to a list of IfcRepresentationMap's, that allow for multiple geometric representations (e.g. with IfcShaperepresentation's having an RepresentationIdentifier 'Box', 'Axis', or 'Body'). It is only applicable if the IfcBeamType has only occurrences of type IfcBeam (See geometric use definition of IfcBeam for further information).

NOTE  If the IfcBeamType has an associated IfcMaterialProfileSet, then no shared geometric representation shall be provided.
NOTE  The product shape representations are defined as RepresentationMaps (attribute of the supertype IfcTypeProduct), which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[n] being an IfcMappedItem. See IfcTypeProduct for further information.
NOTE  The values of attributes RepresentationIdentifier and RepresentationType of IfcShapeRepresentation are restricted in the same way as those for IfcBeam and IfcBeamStandardCase
FieldMappingDefinition
(Query)\IfcBoiler
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialConstituentSet.MaterialConstituents[*]
\IfcMaterialConstituent.Name
\IfcLabel
The name by which the material constituent is known.
Port\IfcDistributionElement
The IFC class identifier indicating the subtype of object.
FieldMappingDefinition
(Query)\IfcBuilding
Spatial Composition\IfcSpatialElement.Decomposes[*]
\IfcRelAggregates.RelatingObject
\IfcProject.Name
NOTE  By using the inverse relationship IfcBuilding.Decomposes it references IfcProject || IfcSite || IfcBuilding through IfcRelAggregates.RelatingObject. If it refers to another instance of IfcBuilding, the referenced IfcBuilding needs to have a different and higher CompositionType, i.e. COMPLEX (if the other IfcBuilding has ELEMENT), or ELEMENT (if the other IfcBuilding has PARTIAL).
Spatial Decomposition\IfcObjectDefinition.IsDecomposedBy[*]
\IfcRelAggregates.RelatedObjects[*]
\IfcSpatialElement.Name
\IfcLabel
NOTE  By using the inverse relationship IfcBuilding.IsDecomposedBy it references IfcBuilding || IfcBuildingStorey through IfcRelAggregates.RelatedObjects. If it refers to another instance of IfcBuilding, the referenced IfcBuilding needs to have a different and lower CompositionType, i.e. ELEMENT (if the other IfcBuilding has COMPLEX), or PARTIAL (if the other IfcBuilding has ELEMENT).
Spatial Container\IfcSpatialElement.ContainsElements[*]
\IfcRelContainedInSpatialStructure.RelatedElements[*]
\IfcProduct
NOTE  If there are building elements and/or other elements directly related to the IfcBuilding (like a curtain wall spanning several stories), they are associated with the IfcBuilding by using the objectified relationship IfcRelContainedInSpatialStructure. The IfcBuilding references them by its inverse relationship:
  • IfcBuilding.ContainsElements -- referencing any subtype of IfcProduct (with the exception of other spatial structure element) by IfcRelContainedInSpatialStructure.RelatedElements.
\IfcObject
The IFC class identifier indicating the subtype of object.
Quantity Sets\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Placement\IfcProduct.ObjectPlacement
\IfcLocalPlacement.RelativePlacement
\IfcAxis2Placement3D

The local placement for IfcBuilding is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations.

  • The PlacementRelTo relationship of IfcLocalPlacement shall point (if relative placement is used) to the IfcSpatialStructureElement of type IfcSite, or of type IfcBuilding (e.g. to position a building relative to a building complex, or a building section to a building).
  • If the relative placement is not used, the absolute placement is defined within the world coordinate system.
FootPrint GeomSet Geometry\IfcProduct.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.RepresentationIdentifier
\IfcLabel

The foot print representation of IfcBuilding is given by either a single 2D curve (such as IfcPolyline or IfcCompositeCurve), or by a list of 2D curves (in case of inner boundaries), if the building has an independent geometric representation.

NOTE  The independent geometric representation of IfcBuilding may not be allowed in certain model view definitions. In those cases only the contained elements and spaces have an independent geometric representation.
Body Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations['Body']
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

The body (or solid model) geometric representation (if the building has an independent geometric representation) of IfcBuilding is defined using faceted B-Rep capabilities (with or without voids), based on the IfcFacetedBrep or on the IfcFacetedBrepWithVoids.

NOTE  Since the building shape is usually described by the exterior building elements, an independent shape representation shall only be given, if the building is exposed independently from its constituting elements and such independent geometric representation may be prohibited in model view definitions.
FieldMappingDefinition
(Query)\IfcBuildingElement
\IfcObject
The IFC class identifier indicating the subtype of object.
Product Assignment\IfcProduct.ReferencedBy[*]
\IfcRelAssignsToProduct.RelatedObjects[*]
\IfcObject
Related objects, which are assigned to a single object. The type of the single (or relating) object is defined in the subtypes of IfcRelAssigns.
Spatial Containment\IfcElement.ContainedInStructure[*]
\IfcRelContainedInSpatialStructure.RelatingStructure
\IfcSpatialElement.Name
\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.
Surface 3D Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

Some IfcBuildingElement may be represented by an surface as an abstract geometric representation. See each subtype for specific guidance.

FieldMappingDefinition
(Query)\IfcBuildingElementPart
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
FieldMappingDefinition
(Query)\IfcBuildingElementProxy
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
NOTE  The IfcBuildingElementProxyType can be used to share common information among many occurrences of the same proxy without establishing a particular semantic meaning of the type.

If no IfcBuildingElementProxyType is attached (i.e. if only occurrence information is available) the PredefinedType should be provided. If set to .USERDEFINED. a user defined value has to be provided by the ObjectType attribute.

\IfcObject
The IFC class identifier indicating the subtype of object.
Material Solid\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterial

The material of the IfcBuildingElementProxy is defined by IfcMaterial and attached by the IfcRelAssociatesMaterial.RelatingMaterial. It is accessible by the inverse HasAssociations relationship.

NOTE  It is illegal to assign an IfcMaterial to an IfcBuildingElementProxy with the PredefinedType = ProvisionForVoid.

Material information can also be given at the IfcBuildingElementProxyType, defining the common attribute data for all occurrences of the same type. It is then accessible by the inverse IsTypedBy relationship pointing to IfcBuildingElementProxyType.HasAssociations and via IfcRelAssociatesMaterial.RelatingMaterial to IfcMaterial. If both are given, then the material directly assigned to IfcBuildingElementProxy overrides the material assigned to IfcBuildingElementProxyType.

Spatial Containment\IfcElement.ContainedInStructure[*]
\IfcRelContainedInSpatialStructure.RelatingStructure
\IfcSpatialElement.Name
\IfcLabel

The IfcBuildingElementProxy, as any subtype of IfcBuildingElement, may participate alternatively in one of the two different containment relationships:

  • the Spatial Containment (defined here), or
  • the Element Composition.
FieldMappingDefinition
(Query)\IfcBuildingElementProxyType
Body Geometry\IfcTypeProduct.RepresentationMaps[*]
\IfcRepresentationMap.MappedRepresentation
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext
Definition of the representation context for which the different subtypes of representation are valid.
FieldMappingDefinition
(Query)\IfcBuildingStorey
Spatial Composition\IfcSpatialElement.Decomposes[*]
\IfcRelAggregates.RelatingObject
\IfcProject.Name
NOTE  By using the inverse relationship IfcBuildingStorey.Decomposes it references (IfcBuilding || IfcBuildingStorey) through IfcRelAggregates.RelatingObjectIfcBuildingStorey, the referenced IfcBuildingStorey needs to have a different and higher CompositionType, i.e. COMPLEX (if the other IfcBuildingStorey has ELEMENT), or ELEMENT (if the other IfcBuildingStorey has PARTIAL).
Spatial Decomposition\IfcObjectDefinition.IsDecomposedBy[*]
\IfcRelAggregates.RelatedObjects[*]
\IfcSpatialElement.Name
\IfcLabel
NOTE  By using the inverse relationship IfcBuildingStorey.IsDecomposedBy it references IfcBuildingStorey || IfcSpace through IfcRelAggregates.RelatedObjects. If it refers to another instance of IfcBuildingStorey, the referenced IfcBuildingStorey needs to have a different and lower CompositionType, i.e. ELEMENT (if the other IfcBuildingStorey has COMPLEX), or PARTIAL (if the other IfcBuildingStorey has ELEMENT).
NOTE  Multi storey spaces shall be spatially contained by only a single building storey, usually it is the building storey where the base of the space lies.
Spatial Container\IfcSpatialElement.ContainsElements[*]
\IfcRelContainedInSpatialStructure.RelatedElements[*]
\IfcProduct

If there are building elements and/or other elements directly related to the IfcBuildingStorey (like most building elements, such as walls, columns, etc.), they are associated with the IfcBuildingStorey by using the objectified relationship IfcRelContainedInSpatialStructure. The IfcBuildingStorey references them by its inverse relationship:

  • IfcBuildingStorey.ContainsElements -- referencing any subtype of IfcProduct (with the exception of other spatial structure element) by IfcRelContainedInSpatialStructure.RelatedElements.

Elements can also be referenced in an IfcBuildingStorey, for example, if they span through several storeys. This is expressed by using the objectified relationship IfcRelReferencedInSpatialStructure. Systems, such as building service or electrical distribution systems, zonal systems, or structural analysis systems, relate to IfcBuildingStorey by using the objectified relationship IfcRelServicesBuildings.

\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Placement\IfcProduct.ObjectPlacement
\IfcLocalPlacement.RelativePlacement
\IfcAxis2Placement3D

The local placement for IfcBuildingStorey is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations.

  • The PlacementRelTo relationship of IfcLocalPlacement shall point (if relative placement is used) to the IfcSpatialStructureElement of type IfcBuilding, or of type IfcBuildingStorey (e.g. to position a building storey relative to a building storey complex, or a partial building storey to a building storey).
  • If the relative placement is not used, the absolute placement is defined within the world coordinate system.
FootPrint GeomSet Geometry\IfcProduct.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.RepresentationIdentifier
\IfcLabel

The foot print representation of IfcBuildingStorey is given by either a single 2D curve (such as IfcPolyline or IfcCompositeCurve), or by a list of 2D curves (in case of inner boundaries), if the building storey has an independent geometric representation.

NOTE  The independent geometric representation of IfcBuildingStorey may not be allowed in certain model view definitions. In those cases only the contained elements and spaces have an independent geometric representation.
Body Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations['Body']
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

The body (or solid model) geometric representation (if the building storey has an independent geometric representation) of IfcBuildingStorey is defined using faceted B-Rep capabilities (with or without voids), based on the IfcFacetedBrep or on the IfcFacetedBrepWithVoids.

NOTE  Since the building storey shape is usually described by the exterior building elements, an independent shape representation shall only be given, if the building storey is exposed independently from its constituting elements and such independent geometric representation may be prohibited in model view definitions.
FieldMappingDefinition
(Query)\IfcBuildingSystem
Property Sets for Objects\IfcObject
The IFC class identifier indicating the subtype of object.
Aggregation
Group Assignment\IfcGroup.IsGroupedBy[*]
\IfcRelAssignsToGroup.RelatedObjects[*]
\IfcProduct
Related objects, which are assigned to a single object. The type of the single (or relating) object is defined in the subtypes of IfcRelAssigns.
FieldMappingDefinition
(Query)\IfcBurner
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialConstituentSet.MaterialConstituents[*]
\IfcMaterialConstituent.Name
\IfcLabel
The name by which the material constituent is known.
Port\IfcDistributionElement
The IFC class identifier indicating the subtype of object.
FieldMappingDefinition
(Query)\IfcCableCarrierFitting
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialConstituentSet.MaterialConstituents[*]
\IfcMaterialConstituent.Name
\IfcLabel
The name by which the material constituent is known.
Port\IfcDistributionElement
The IFC class identifier indicating the subtype of object.
FieldMappingDefinition
(Query)\IfcCableCarrierSegment
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material\IfcProduct.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialProfileSetUsage.ForProfileSet
\IfcMaterialProfileSet.MaterialProfiles[*]
\IfcMaterialProfile.Name
The name by which the material profile is known.
Port\IfcDistributionElement
The IFC class identifier indicating the subtype of object.
FieldMappingDefinition
(Query)\IfcCableFitting
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material\IfcProduct.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialLayerSetUsage.ForLayerSet
\IfcMaterialLayerSet.MaterialLayers[*]
\IfcMaterialLayer.Name
The name by which the material layer is known.
Connection
Port\IfcDistributionElement
The IFC class identifier indicating the subtype of object.
FieldMappingDefinition
(Query)\IfcCableSegment
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material\IfcProduct.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialProfileSetUsage.ForProfileSet
\IfcMaterialProfileSet.MaterialProfiles[*]
\IfcMaterialProfile.Name
The name by which the material profile is known.
Composition
Port\IfcDistributionElement
The IFC class identifier indicating the subtype of object.
FieldMappingDefinition
(Query)\IfcChiller
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialConstituentSet.MaterialConstituents[*]
\IfcMaterialConstituent.Name
\IfcLabel
The name by which the material constituent is known.
Composition
Port\IfcDistributionElement
The IFC class identifier indicating the subtype of object.
FieldMappingDefinition
(Query)\IfcChimney
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Spatial Containment\IfcElement.ContainedInStructure[*]
\IfcRelContainedInSpatialStructure.RelatingStructure
\IfcSpatialElement.Name
\IfcLabel

The IfcChimney, as any subtype of IfcBuildingElement, may participate alternatively in one of the two different containment relationships:

  • the Spatial Containment (defined here), or
  • the Element Composition.
FieldMappingDefinition
(Query)\IfcChimneyType
Body Geometry\IfcTypeProduct.RepresentationMaps[*]
\IfcRepresentationMap.MappedRepresentation
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext
Definition of the representation context for which the different subtypes of representation are valid.
FieldMappingDefinition
(Query)\IfcCivilElement
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
Property Sets\IfcObject
The IFC class identifier indicating the subtype of object.
Spatial Containment\IfcElement.ContainedInStructure[*]
\IfcRelContainedInSpatialStructure.RelatingStructure
\IfcSpatialElement.Name
\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.
Classification\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesClassification.RelatingClassification
\IfcClassificationReference.Identification
\IfcIdentifier
The Identification provides a unique identifier of the referenced item within the external source (classification, document or library). It may be provided as
  • a key, e.g. a classification notation, like NF2.3
  • a handle
  • a uuid or guid
It may be human readable (such as a key) or not (such as a handle or uuid) depending on the context of its usage (which has to be determined by local agreement).
FieldMappingDefinition
(Query)\IfcCoil
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialConstituentSet.MaterialConstituents[*]
\IfcMaterialConstituent.Name
\IfcLabel
The name by which the material constituent is known.
Port\IfcDistributionElement
The IFC class identifier indicating the subtype of object.
FieldMappingDefinition
(Query)\IfcColumn
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material Profile Set\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialProfileSet.MaterialProfiles[*]
\IfcMaterialProfile.Name
\IfcLabel

The material of the IfcColumn is defined by the IfcMaterialProfileSet or as fallback by IfcMaterial, and it is attached either directly or at the IfcColumnType.

NOTE  It is illegal to assign an IfcMaterialProfileSetUsage to an IfcColumn. Only the subtype IfcColumnStandardCase supports this concept.
Spatial Containment\IfcElement.ContainedInStructure[*]
\IfcRelContainedInSpatialStructure.RelatingStructure
\IfcSpatialElement.Name
\IfcLabel

The IfcColumn, as any subtype of IfcBuildingElement, may participate alternatively in one of the two different containment relationships:

  • the Spatial Containment (defined here), or
  • the Element Composition.
Axis 3D Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations['Axis']
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

The axis representation can be used to represent the system length of a column that may extent the body length of the column.

NOTE  The 'Axis' is not used to locate the material profile set, only the subtype IfcColumnStandardCase provides this capability.
Body SweptSolid Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

The following additional constraints apply to the 'SweptSolid' representation:

Figure 208 illustrates a 'SweptSolid' geometric representation. There are no restrictions or conventions on how to use the local placement (black), solid of extrusion placement (red) and profile placement (green).

standard column

Figure 208 — Column swept solid

Figure 209 illustrates use of a special profile type (here IfcIShapeProfileDef) for the definition of the IfcExtrudedAreaSolid.

advanced column

Figure 209 — Column extrusion of I-Shape

Body AdvancedSweptSolid Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

The following additional constraints apply to the 'AdvancedSweptSolid' representation type:

Body Clipping Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

The following constraints apply to the 'Clipping' representation:

  • Solid: see 'SweptSolid' geometric representation
  • Profile: see 'SweptSolid' geometric representation
  • Extrusion: see 'SweptSolid' geometric representation
  • Boolean result: The IfcBooleanClippingResult shall be supported, allowing for Boolean differences between the swept solid (here IfcExtrudedAreaSolid) and one or several IfcHalfSpaceSolid.

Figure 209 illustrates a 'Clipping' geometric representation with use of IfcBooleanClippingResult between an IfcExtrudedAreaSolid and an IfcHalfSpaceSolid to create a clipped body.

advanced column

Figure 209 — Column clipping

Product Assignment\IfcProduct.ReferencedBy[*]
\IfcRelAssignsToProduct.RelatedObjects[*]
\IfcObject
Related objects, which are assigned to a single object. The type of the single (or relating) object is defined in the subtypes of IfcRelAssigns.
FieldMappingDefinition
(Query)\IfcColumnStandardCase
Material Profile Set Usage\IfcProduct.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialProfileSetUsage.ForProfileSet
\IfcMaterialProfileSet.MaterialProfiles[*]
\IfcMaterialProfile.Name

The IfcColumnStandardCase defines in addition that the IfcColumnType should have a unique IfcMaterialProfileSet, that is referenced by the IfcMaterialProfileSetUsage assigned to all occurrences of this IfcColumnType. Composite profile columns can be represented by refering to several IfcMaterialProfile's within the IfcMaterialProfileSet that is referenced from the IfcMaterialProfileSetUsage.

Figure 212 illustrates assignment of IfcMaterialProfileSetUsage and IfcMaterialProfileSet to the IfcColumnStandardCase as the column occurrence and to the IfcColumnType. The same IfcMaterialProfileSet shall be shared by many occurrences of IfcMaterialProfileSetUsage. This relationship shall be consistent to the relationship between the IfcColumnType and the IfcColumnStandardCase.

Material profile set and usage

Figure 212 — Column profile usage

Figure 213 illustrates cardinal point alignment.

NOTE  It has to be guaranteed that the use of IfcCardinalPointEnum is consistent to the placement of the extrusion body provided by IfcExtrudedAreaSolid.Position
NOTE  The cardinal points 7 (top left), and 6 (mid-depth right) are assigned according to the definition at IfcCardinalPointReference
Cardinal point usage

Figure 213 — Column cardinal points

Figure 214 illustrates assignment of a composite profile by using IfcCompositeProfile for geometric representation and several IfcMaterialProfile's within the IfcMaterialProfileSet. The number of IfcMaterialProfile's within the IfcMaterialProfileSet is restricted to maximal 2 and requires the use of IfcExtrudedAreaSolidTapered, or IfcRevolvedAreaSolidTapered for the correct 'Body' shape representation.

Material profile set and usage

Figure 214 — Column composite profiles

Product Placement\IfcProduct.ObjectPlacement
\IfcLocalPlacement.RelativePlacement
\IfcAxis2Placement3D

The following restriction is imposed:

  • The local placement shall provide the location and directions for the standard column, the x/y plane is the plane for the start profile, and the z-axis is the extrusion axis for the column body (in case of rotation, the tangent direction).
Axis 3D Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations['Axis']
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

The following additional constraints apply to the 'Axis' representation, if the 'Body' shape representation has the RepresentationType : 'SweptSolid':

 

Axis
EXAMPLE  As shown in Figure 214, the axis shall be defined along the z axis of the object coordinate system. The axis representation can be used to represent the system length of a column that may extent the body length of the column.

Figure 214 — Column axis representation

 
Axis
EXAMPLE  As shown in Figure 215, the axis representation shall be used to represent the cardinal point as the offset between the 'Axis' and the extrusion path of the column. The extrusion path is provided as IfcExtrudedAreaSolid.ExtrudedDirection and should be parallel to the 'Axis'. It has to be guaranteed that the value provided by IfcMaterialProfileSetUsage.CardinalPoint is consistent to the IfcExtrudedAreaSolid.Position.

Figure 215 — Column axis cardinal point

 
Body SweptSolid Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

The following additional constraints apply to the 'SweptSolid' representation:

  • Solid: IfcExtrudedAreaSolid, IfcRevolvedAreaSolid shall be supported
  • Profile: all subtypes of IfcProfileDef (with exception of IfcArbitraryOpenProfileDef)
  • Profile Position : For all single profiles, the IfcParameterizedProfileDef.Position shall be NIL, or having Location = 0.,0. and RefDirection = 1.,0.
  • Extrusion: perpendicular to the profile direction. The IfcExtrudedAreaSolid.ExtrudedDirection shall be [0.,0.,1.].
  • Orientation: The y-axis of the profile, as determined by IfcSweptAreaSolid.Position.P[2] shall point to the Y-Axis. It indicates the "role" of the column, a role=0° means y-axis of profile = Y-axis of reference coordinate system.

Figure 215 illustrates a standard geometric representation with cardinal point applied as 5 (mid-depth centre).

The following interpretation of dimension parameter applies for rectangular columns:

  • IfcRectangleProfileDef.YDim interpreted as column width
  • IfcRectangleProfileDef.XDim interpreted as column depth

The following interpretation of dimension parameter applies for circular columns:

  • IfcCircleProfileDef.Radius interpreted as column radius.
standard column

Figure 215 — Column body extrusion

Body AdvancedSweptSolid Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

The following additional constraints apply to the 'AdvancedSweptSolid' representation type:

Body Clipping Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

The following constraints apply to the 'Clipping' representation:

  • Solid: see 'SweptSolid' geometric representation
  • Profile: see 'SweptSolid' geometric representation
  • Profile Position : see 'SweptSolid' geometric representation
  • Extrusion: see 'SweptSolid' geometric representation
  • Orientation: see 'SweptSolid' geometric representation
  • Boolean result: The IfcBooleanClippingResult shall be supported, allowing for Boolean differences between the swept solid (here IfcExtrudedAreaSolid) and one or several IfcHalfSpaceSolid (or its subtypes).

Figure 216 illustrates a 'Clipping' geometric representation with use of IfcBooleanClippingResult between an IfcExtrudedAreaSolid and an IfcHalfSpaceSolid to create a clipped body, with cardinal point applied as 2 (bottom centre).

clipped column

Figure 216 — Column body clipping

FieldMappingDefinition
(Query)\IfcColumnType
Material Profile Set\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialProfileSet.MaterialProfiles[*]
\IfcMaterialProfile.Name
\IfcLabel

The material of the IfcColumnType is defined by the IfcMaterialProfileSet or as fall back by IfcMaterial and attached by the IfcRelAssociatesMaterial.RelatingMaterial. It is accessible by the inverse HasAssociations relationship.

NOTE  It is illegal to assign an IfcMaterial to an IfcColumnType, if there is at least one occurrences of IfcColumnStandardCase for this type.

The shared profile definition is defined by assigning an IfcMaterialProfileSet (see material use definition above). The IfcMaterialProfile refers to the subtype of IfcProfileDef that is the common profile for all column occurrence, if used. It is only applicable if the IfcColumnType has only occurrences of type IfcColumnStandardCase (see definition of IfcColumnStandardCase for further information).

NOTE  The attribute ProfileName of the IfcProfileDef subtype, referenced in IfcMaterialProfile should contain a standardized profile name according to local standards. However, an additional geometric representation of the profile is necessary (e.g. as IfcExtrudedAreaSolid). An importing application is allowed to check for the existence of the profile name: in case of identifying it as a standardized name, the corresponding profile geometry and possibly other cross sectional properties can be read from a library. Otherwise the geometric representation and possible non geometric IfcProfileProperties have to be used.
Body Geometry\IfcTypeProduct.RepresentationMaps[*]
\IfcRepresentationMap.MappedRepresentation
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

The IfcColumnType may define the shared geometric representation for all column occurrences. The RepresentationMaps attribute refers to a list of IfcRepresentationMap's, that allow for multiple geometric representations (e.g. with IfcShapeRepresentation's having an RepresentationIdentifier 'Box', 'Axis', or 'Body'). It is only applicable if the IfcColumnType has only occurrences of type IfcColumn (See geometric use definition of IfcColumn for further information).

NOTE  If the IfcColumnType has an associated IfcMaterialProfileSet, then no shared geometric representation shall be provided.
NOTE  The product shape representations are defined as RepresentationMaps (attribute of the supertype IfcTypeProduct), which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[n] being an IfcMappedItem. See IfcTypeProduct for further information.
NOTE  The values of attributes RepresentationIdentifier and RepresentationType of IfcShapeRepresentation are restricted in the same way as those for IfcColumn and IfcColumnStandardCase
FieldMappingDefinition
(Query)\IfcCommunicationsAppliance
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialConstituentSet.MaterialConstituents[*]
\IfcMaterialConstituent.Name
\IfcLabel
The name by which the material constituent is known.
Composition
Port\IfcDistributionElement
The IFC class identifier indicating the subtype of object.
FieldMappingDefinition
(Query)\IfcCompressor
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialConstituentSet.MaterialConstituents[*]
\IfcMaterialConstituent.Name
\IfcLabel
The name by which the material constituent is known.
Port\IfcDistributionElement
The IFC class identifier indicating the subtype of object.
FieldMappingDefinition
(Query)\IfcCondenser
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialConstituentSet.MaterialConstituents[*]
\IfcMaterialConstituent.Name
\IfcLabel
The name by which the material constituent is known.
Port\IfcDistributionElement
The IFC class identifier indicating the subtype of object.
FieldMappingDefinition
(Query)\IfcConstructionEquipmentResource
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Resource Assignment\IfcResource.ResourceOf[*]
\IfcRelAssignsToResource.RelatedObjects[*]
\IfcActor
Related objects, which are assigned to a single object. The type of the single (or relating) object is defined in the subtypes of IfcRelAssigns.
Resource Cost\IfcConstructionResource.BaseCosts[*]
\IfcAppliedValue.Name
\IfcLabel
A name or additional clarification given to a cost value.
Resource Quantity\IfcConstructionResource.BaseQuantity
\IfcPhysicalSimpleQuantity.Name
\IfcLabel
Name of the element quantity or measure. The name attribute has to be made recognizable by further agreements.
FieldMappingDefinition
(Query)\IfcConstructionMaterialResource
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Resource Type Assignment\IfcTypeResource.ResourceOf[*]
\IfcRelAssignsToResource.RelatedObjects[*]
\IfcTypeProduct
Related objects, which are assigned to a single object. The type of the single (or relating) object is defined in the subtypes of IfcRelAssigns.
Resource Cost\IfcConstructionResource.BaseCosts[*]
\IfcAppliedValue.Name
\IfcLabel
A name or additional clarification given to a cost value.
Resource Quantity\IfcConstructionResource.BaseQuantity
\IfcPhysicalSimpleQuantity.Name
\IfcLabel
Name of the element quantity or measure. The name attribute has to be made recognizable by further agreements.
FieldMappingDefinition
(Query)\IfcConstructionProductResource
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
Resource Assignment\IfcResource.ResourceOf[*]
\IfcRelAssignsToResource.RelatedObjects[*]
\IfcActor
Related objects, which are assigned to a single object. The type of the single (or relating) object is defined in the subtypes of IfcRelAssigns.
Resource Cost\IfcConstructionResource.BaseCosts[*]
\IfcAppliedValue.Name
\IfcLabel
A name or additional clarification given to a cost value.
Resource Quantity\IfcConstructionResource.BaseQuantity
\IfcPhysicalSimpleQuantity.Name
\IfcLabel
Name of the element quantity or measure. The name attribute has to be made recognizable by further agreements.
FieldMappingDefinition
(Query)\IfcConstructionResource
Document\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesDocument.Name
\IfcLabel

Documents may be published for work plans consisting of schedules, calendars, tasks, and resources. The relationship IfcRelAssociatesDocument may be used to preserve mappings to such document where RelatingDocument points to an IfcDocumentReference and RelatedObjects includes the IfcConstructionResource as shown in Figure 184. IfcDocumentReference.ItemReference identifies the resource within the scope of the document, such as an integer or guid. The IfcDocumentReference.ReferencedDocument corresponds to the document which is uniquely identified by IfcDocumentInformation.DocumentId and/or IfcDocumentInformation.PublicationLocation. Such document mapping allows items in the document to be updated from the building information model and vice-versa.

Document Use Definition

Figure 301 — Construction resource document use

Constraint\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesConstraint.RelatingConstraint
\IfcObjective.BenchmarkValues[*]
\IfcMetric.DataValue
\IfcMetricValueSelect

Constraints may be applied to a resource to indicate fixed work (such as total person-hours) or fixed usage (such as simultaneous workers).

Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name

The resource type may provide shared productivity and cost information, allowing tasks and resources to be selected according to lowest cost and/or shortest duration. Given an IfcProduct of a particular IfcTypeProduct type, an IfcTypeProcess may be selected from those assigned to the product type using IfcRelAssignsToProduct, and an IfcTypeResource may be selected from those assigned to the process type using IfcRelAssignsToProcess. Then IfcTask and IfcConstructionResource occurrences may be instantiated from the type definitions, applying productivitity and rate information to assigned quantities to calculate ResourceTime.ScheduleWork. Task durations can then be calculated by dividing ResourceTime.ScheduleWork by ResourceTime.ScheduleUsage.

Type Use Definition

Figure 302 — Construction resource type use

\IfcObject

For time series properties as shown in Figure 180, each IfcTimeSeriesValue indicates a LIST of values, where the sequence of the value corresponds to the IfcCostValue at IfcConstructionResource.CostRatesConsumed. For example, if CostRatesConsumed has two IfcCostValue items in the LIST, "Standard" and "Overtime", then IfcTimeSeriesValue(IfcDuration('T8H0M0S'),IfcDuration('T2H0M0S')) would indicate 8 hours at Standard rate and 2 hours at Overtime rate. If the list of values at IfcTimeSeriesValue.ListValues is less than the size of CostRatesConsumed, then subsequent values are considered to be zero.

Time Series Use Definition

Figure 303 — Construction resource time series use

Nesting\IfcObjectDefinition.IsNestedBy[*]
\IfcRelNests.RelatedObjects[*]
\IfcObject

Resources may be decomposed into allocation pools using the IfcRelNests relationship as shown in Figure 181. For example, an IfcLaborResource for "Electrician" may be decomposed into three task-specific IfcLaborResource objects: "Electrical Rough-in", "First Floor Circuits", and "Second Floor Circuits". Both relating and related sides may represent the same ResourceTime.ScheduleUsage quantity (for example, 6 workers time-shared), or the related side may break out ResourceTime.ScheduleUsage quantities for reserved use (for example, 4 workers and 2 workers).

A common scenario is two nesting levels where the first-level resources have no task assignments; while second-level resources have specific task assignments indicating that the resource is subdivided into allocations for specific tasks. While the model allows unlimited nesting of resources, implementer agreements may restrict to two nesting levels with task assignments specifically at the second level.

Composition Use Definition

Figure 304 — Construction resource composition use

FieldMappingDefinition
(Query)\IfcControl
Control Assignment\IfcControl.Controls[*]
\IfcRelAssignsToControl.RelatedObjects[*]
\IfcObject

Controls have assignments from products, processes, or other objects by using the relationship object IfcRelAssignsToControl.

FieldMappingDefinition
(Query)\IfcController
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Composition

Figure 298 illustrates controller composition use.

Composition Use Definition

Figure 298 — Controller composition use

Material\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialConstituentSet.MaterialConstituents[*]
\IfcMaterialConstituent.Name
\IfcLabel
The name by which the material constituent is known.
Port\IfcDistributionElement
The IFC class identifier indicating the subtype of object.
FieldMappingDefinition
(Query)\IfcCooledBeam
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialConstituentSet.MaterialConstituents[*]
\IfcMaterialConstituent.Name
\IfcLabel
The name by which the material constituent is known.
Port\IfcDistributionElement
The IFC class identifier indicating the subtype of object.
FieldMappingDefinition
(Query)\IfcCoolingTower
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialConstituentSet.MaterialConstituents[*]
\IfcMaterialConstituent.Name
\IfcLabel
The name by which the material constituent is known.
Composition
Port\IfcDistributionElement
The IFC class identifier indicating the subtype of object.
FieldMappingDefinition
(Query)\IfcCostItem
Classification\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesClassification.RelatingClassification
\IfcClassificationReference.Identification
\IfcIdentifier

Instances of IfcCostItem are used for cost estimates, budgets, and other forms, where a variety of identification codes are used extensively to identify the meaning of the cost. Examples include project phase codes, CSI codes, takeoff sequence numbers, and cost accounts. The model allows for all classes that are ultimately subtypes of IfcObject to inherit the ability to have one or more instances of IfcClassificationReference to be assigned. Where identification codes are required, the generic IfcRelAssociatesClassification facility should be used.

Nesting\IfcObjectDefinition.IsNestedBy[*]
\IfcRelNests.RelatedObjects[*]
\IfcObject

An IfcCostItem can nest other instances of IfcCostItem through its relationships to IfcRelNests. This can be used to enable the development of complex groups of costs as may be found in cost schedules through to pages, sections and complete cost schedules.

There is always a summary cost item as the root item of the tree representing the cost item nesting. Subsequent instances of IfcCostItem are assigned to the summary cost item using IfcRelNests. The summary cost item itself is assigned to IfcCostSchedule through the IfcRelAssignsToControl relationship.

Figure 280 illustrates a cost item composition used for a cost schedule. Each line item has a quantity and separate unit costs where IfcCostValue.CostType indicates the category of cost. The summary item has a hierarchy of costs calculated according to IfcAppliedValueRelationship.ArithmeticOperator, where IfcCostValue.CostType identifies the category to be totalled. The Tax component has IfcCostValue.CostType set to 'Material' which indicates it is the sum of all nested values of the 'Material' category ($3 x 3000 + $118 x 100 = $20800). The Subtotal component has IfcCostValue.CostType set to an asterisk ('*') which indicates it is the sum of all nested values of all categories.

cost item

Figure 280 — Cost composition

Control Assignment\IfcControl.Controls[*]
\IfcRelAssignsToControl.RelatedObjects[*]
\IfcObject

An IfcCostItem can be calculated based on quantities from objects through its relationship to IfcRelAssignsToControl.

For quantity-based costing, IfcElement, IfcTask, or IfcResource occurrence subtypes may be used. Multiple elements may be assigned of the same or different types, using IfcPhysicalQuantity entities defined at each object. Each IfcPhysicalQuantity type must be identical (for example, all values are IfcAreaQuantity) such that they can be added together.

For rate-based costing (specifically for IfcCostScheduleTypeEnum.SCHEDULEOFRATES), a single IfcTypeProduct, IfcTypeProcess, or IfcTypeResource subtype may be used to reflect rates for occurrences of such types. This enables the possibility to generate a quantity-based cost schedule for occurrences based on types with rate-based cost schedules.

IfcRelAssignsToControl is also used in the opposite direction to link the root IfcCostItem to an IfcCostSchedule where RelatingControl is the IfcCostSchedule.

Figure 281 illustrates cost item assignment derived from building elements. The IfcRelAssignsToControl relationship indicates building elements for which quantities are derived. Not shown, costs may also be derived from building elements by traversing assignment relationships from the assigned IfcProduct to IfcProcess to IfcResource, where all costs ultimately originate at resources. It is also possible for cost items to have assignments from processes or resources directly.

cost item

Figure 281 — Cost assignment

FieldMappingDefinition
(Query)\IfcCostSchedule
Approval\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesApproval.RelatingApproval
\IfcApproval.Name
\IfcLabel

Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcCostSchedule. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted.

Control Assignment\IfcControl.Controls[*]
\IfcRelAssignsToControl.RelatedObjects[*]
\IfcObject

The IfcCostSchedule may be assigned to the following entities using relationships as indicated:

The IfcCostSchedule may have assignments of its own using the IfcRelAssignsToControl relationship where RelatingControl refers to the IfcCostSchedule and RelatedObjects contains one or more objects of the following types:

  • IfcCostItem: Indicates costs published within this cost schedule, typically a single root cost item forming a hierarchy of nested cost items.
FieldMappingDefinition
(Query)\IfcCovering
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Spatial Containment\IfcElement.ContainedInStructure[*]
\IfcRelContainedInSpatialStructure.RelatingStructure
\IfcSpatialElement.Name
\IfcLabel

The IfcCovering has a containment relationship within the hierarchical spatial structure.

Material Layer Set Usage\IfcProduct.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialLayerSetUsage.ForLayerSet
\IfcMaterialLayerSet.MaterialLayers[*]
\IfcMaterialLayer.Name

Coverings for surfaces (CEILING, FLOORING, CLADDING, CEILING, ROOFING) may have materials defined according to layers.

Material Profile Set Usage\IfcProduct.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialProfileSetUsage.ForProfileSet
\IfcMaterialProfileSet.MaterialProfiles[*]
\IfcMaterialProfile.Name

Coverings for edges (MOLDING, SKIRTINGBOARD) may have materials defined according to profiles.

Surface Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

The following additional constraints apply to the 'GeometricSet' representation of IfcCovering:

  • for planar base surfaces - bounded surface representation
  • for cylindrical base surfaces - swept surface representation

 

standard planar covering
EXAMPLE  Figure 218 illustrates a planar surface representation where the area of IfcCovering is given by an IfcPolyLoop for planar base surfaces (here provided by the IfcRelSpaceBoundary). The implicit planar surface of the IfcPolyLoop shall be identical with the planar surface defined by the IfcRelSpaceBoundary.

Figure 218 — Covering surface planar

standard cylindrical covering
EXAMPLE  Figure 219 illustrates a cylindrical surface representation where the area of the IfcCovering is given by an IfcSurfaceOfLinearExtrusion for cylindrical base surfaces (here given by the IfcRelSpaceBoundary, such as caused by a round wall).

Figure 219 — Covering surface cylindrical

 
Body SweptSolid Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

The following additional constraints apply to the 'SweptSolid' representation of IfcCovering:

  • for planar base surfaces - swept area representation
  • for cylindrical base surfaces - swept area representation

 

advanded solid covering
EXAMPLE  Figure 220 illustrates a body representation where the volume of IfcCovering is given by an IfcExtrudedAreaSolid for planar base surfaces (here given by the IfcRelSpaceBoundary). The extruded area (IfcArbitraryClosedProfileDef) shall be coplanar to the surface defined by the IfcRelSpaceBoundary.

Figure 220 — Covering body planar

 
advanced solid covering
EXAMPLE  Figure 221 illustrates a body representation where the volume of the IfcCovering is given by an IfcExtrudedAreaSolid for cylindrical base surfaces (here given by the IfcRelSpaceBoundary - such as caused by a round wall).

Figure 221 — Covering body circular

 
FieldMappingDefinition
(Query)\IfcCoveringType
Material Layer Set\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialLayerSet.MaterialLayers[*]
\IfcMaterialLayer.Name
\IfcLabel

The material of the IfcCoveringType is defined by IfcMaterialLayerSet for layer-based coverings or as fall back by IfcMaterial and attached by the IfcRelAssociatesMaterial.RelatingMaterial. It is accessible by the inverse HasAssociations relationship.

Material Profile Set\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialProfileSet.MaterialProfiles[*]
\IfcMaterialProfile.Name
\IfcLabel

The material of the IfcCoveringType is defined by IfcMaterialProfileSet for profile-based coverings or as fall back by IfcMaterial and attached by the IfcRelAssociatesMaterial.RelatingMaterial. It is accessible by the inverse HasAssociations relationship.

Body Geometry\IfcTypeProduct.RepresentationMaps[*]
\IfcRepresentationMap.MappedRepresentation
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

The IfcCoveringType may define the shared geometric representation for all covering occurrences. The RepresentationMaps attribute refers to a list of IfcRepresentationMap's, that allow for multiple geometric representations (e.g. with IfcShaperepresentation's having an RepresentationIdentifier 'Box', 'Surface', or 'Body'). (See geometric use definition of IfcCovering for further information).

NOTE  If the IfcCoveringType has an associated IfcMaterialLayerSet, then no shared geometric representation shall be provided.
NOTE  The product shape representations are defined as RepresentationMaps (attribute of the supertype IfcTypeProduct), which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[n] being an IfcMappedItem. See IfcTypeProduct for further information.
NOTE  The values of attributes RepresentationIdentifier and RepresentationType of IfcShapeRepresentation are restricted in the same way as those for IfcCoveringType.
FieldMappingDefinition
(Query)\IfcCrewResource
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
FieldMappingDefinition
(Query)\IfcCurtainWall
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Spatial Containment\IfcElement.ContainedInStructure[*]
\IfcRelContainedInSpatialStructure.RelatingStructure
\IfcSpatialElement.Name
\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.
Placement\IfcProduct.ObjectPlacement
\IfcLocalPlacement.RelativePlacement
\IfcAxis2Placement3D

The following restriction may be imposed by view definitions or implementer agreements:

  • If the IfcCurtainWall establishes an aggregate, then all contained elements shall be placed relative to the IfcCurtainWall.ObjectPlacement.
Axis 2D Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations['Axis']
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

The following additional constraints apply to the 'Axis' representation:

FieldMappingDefinition
(Query)\IfcCurtainWallType
Body Geometry\IfcTypeProduct.RepresentationMaps[*]
\IfcRepresentationMap.MappedRepresentation
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext
Definition of the representation context for which the different subtypes of representation are valid.
FieldMappingDefinition
(Query)\IfcDamper
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialConstituentSet.MaterialConstituents[*]
\IfcMaterialConstituent.Name
\IfcLabel
The name by which the material constituent is known.
Port\IfcDistributionElement
The IFC class identifier indicating the subtype of object.
FieldMappingDefinition
(Query)\IfcDiscreteAccessory
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
FieldMappingDefinition
(Query)\IfcDistributionChamberElement
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material Constituents\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialConstituentSet.MaterialConstituents[*]
\IfcMaterialConstituent.Name
\IfcLabel

The material of the IfcDistributionChamberElement is defined by IfcMaterialConstituentSet or as a fallback by IfcMaterial, and attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcDistributionChamberElementType, defining the common attribute data for all occurrences of the same type. The following keywords for IfcMaterialConstituentSet.MaterialConstituents[n].Name shall be used:

  • 'Base': The material from which the base of the duct is constructed.
  • 'Cover': The material from which the access cover to the chamber is constructed.
  • 'Fill': The material that is used to fill the duct (where used).
  • 'Wall': The material from which the wall of the duct is constructed.
FieldMappingDefinition
(Query)\IfcDistributionControlElement
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
Object Classification\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesClassification.RelatingClassification
\IfcClassificationReference.Identification
\IfcIdentifier

In addition to general product and project classification (UniFormat, etc.), classifications may also be applied to indicate a device address or addressing scheme according to system-based device instance classification.

Figure 271 illustrates classification usage.

Classification Use Definition

Figure 271 — Distribution control classification

Product Assignment\IfcProduct.ReferencedBy[*]
\IfcRelAssignsToProduct.RelatedObjects[*]
\IfcObject

The IfcDistributionControlElement may be assigned to the following entities using relationships as indicated:

FieldMappingDefinition
(Query)\IfcDistributionControlElementType
Product Type Assignment\IfcTypeProduct.ReferencedBy[*]
\IfcRelAssignsToProduct.RelatedObjects[*]
\IfcTypeProcess
Related objects, which are assigned to a single object. The type of the single (or relating) object is defined in the subtypes of IfcRelAssigns.
FieldMappingDefinition
(Query)\IfcDistributionElement
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name

The IfcDistributionElement defines the occurrence of any HVAC, electrical, sanitary or other element within a distribution system. Common information about distribution element types (or styles) is handled by subtypes of IfcDistributionElementType. The IfcDistributionElementType (if present) may establish the common type name, usage (or predefined) type, common material, common set of properties and common shape representations (using IfcRepresentationMap). The IfcDistributionElementType is attached using the IfcRelDefinedByType.RelatingType objectified relationship and is accessible by the inverse IsDefinedBy attribute.

The assignment of types to distribution element occurrences is vital for providing the additional meaning, or ontology, of the distribution element. Many specialized type are defined in other schemas of this specification.

\IfcObject
The IFC class identifier indicating the subtype of object.
Quantity Sets\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\IfcLabel

The quantities relating to the IfcDistributionElement are defined by the IfcElementQuantity and attached by the IfcRelDefinesByProperties. A detailed specification for individual quantities is introduced at the level of subtypes of IfcDistributionElement.

Spatial Containment\IfcElement.ContainedInStructure[*]
\IfcRelContainedInSpatialStructure.RelatingStructure
\IfcSpatialElement.Name
\IfcLabel

The IfcDistributionElement may be contained within the spatial containment tree. The IfcSpace is the default spatial container.

NOTE  The 'Spatial Containment' concept is mandatory in many model view definitions.
FieldMappingDefinition
(Query)\IfcDistributionFlowElement
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
Axis Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations['Axis']
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

This represents the 3D flow path of the item having IfcShapeRepresentation.RepresentationType of 'Curve3D' and containing a single IfcBoundedCurve subtype such as IfcPolyline, IfcTrimmedCurve, or IfcCompositeCurve. For elements containing directional ports (IfcDistributionPort with FlowDirection of SOURCE or SINK), the direction of the curve indicates direction of flow where a SINK port is positioned at the start of the curve and a SOURCE port is positioned at the end of the curve. This representation is most applicable to flow segments (pipes, ducts, cables), however may be used at other elements to define a primary flow path if applicable.

Clearance Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

This represents the 3D clearance volume of the item having RepresentationType of 'Surface3D'. Such clearance region indicates space that should not intersect with the 'Body' representation of other elements, though may intersect with the 'Clearance' representation of other elements. The particular use of clearance space may be for safety, maintenance, or other purposes.

FieldMappingDefinition
(Query)\IfcDistributionFlowElementType
Axis Geometry\IfcElementType.RepresentationMaps[*]
\IfcRepresentationMap.MappedRepresentation
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

This represents the 3D flow path of the item having IfcShapeRepresentation.RepresentationType of 'Curve3D' and containing a single IfcBoundedCurve subtype such as IfcPolyline, IfcTrimmedCurve, or IfcCompositeCurve. For elements containing directional ports (IfcDistributionPort with FlowDirection of SOURCE or SINK), the direction of the curve indicates direction of flow where a SINK port is positioned at the start of the curve and a SOURCE port is positioned at the end of the curve. This representation is most applicable to flow segment types (pipes, ducts, cables), however may be used at other elements to define a primary flow path if applicable.

If an element type is defined parametrically (such as a flow segment type defining common material profile but no particular length or path), then no representations shall be asserted at the type.

NOTE  The product representations are defined as representation maps (at the level of the supertype IfcTypeProduct, which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[1] being an IfcMappedItem.
Clearance Geometry\IfcDistributionElementType.RepresentationMaps[*]
\IfcRepresentationMap.MappedRepresentation
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

This represents the 3D clearance volume of the item having RepresentationType of 'Surface3D'. Such clearance region indicates space that should not intersect with the 'Body' representation between element occurrences, though may intersect with the 'Clearance' representation of other element occurrences. The particular use of clearance space may be for safety, maintenance, or other purposes.

Lighting Geometry\IfcDistributionElementType.RepresentationMaps[*]
\IfcRepresentationMap.MappedRepresentation
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

This represents the light emission of the item having IfcShapeRepresentation.RepresentationType of 'LightSource' and containing one or more IfcLightSource subtypes. This representation is most applicable to lamps and light fixtures, however may be used at other elements that emit light.

FieldMappingDefinition
(Query)\IfcDistributionPort
Product Local Placement\IfcProduct.ObjectPlacement
\IfcLocalPlacement.RelativePlacement
\IfcAxis2Placement3D

The placement of a port indicates the position and orientation of how it may connect to a compatible port on another product. The placement shall be relative to the nesting IfcDistributionElement, IfcDistributionElementType, or enclosing IfcDistributionPort.

The Location is the midpoint of the physical connection, unless otherwise indicated by cardinal point on a material profile.

The Axis points in the direction of the physical connection away from the product if FlowDirection equals SOURCE (or SOURCEANDSINK or NOTDEFINED), or points opposite direction (to the product) if the FlowDirection equals SINK.

NOTE  The rationale for positioning the Axis in the direction of flow is to allow for the same geometry to be used, such as for connectors with polarized cross-section.

The RefDirection points in the direction of the local X axis of the material profile, where the local Y axis points up if looking towards the Axis where the local X axis points right.

Upon connecting elements through ports with rigid connections, each object shall be aligned such that the effective Location, Axis, and RefDirection of each port is aligned to be equal (with exception for circular profiles where the RefDirection need not be equal).

\IfcObject
The IFC class identifier indicating the subtype of object.
Port Nesting\IfcDistributionElement

Distribution ports are indicated on products and product types using the IfcRelNests relationship where RelatingObject refers to the enclosing IfcDistributionElement or IfcDistributionElementType respectively. The order of ports indicates logical ordering such within outlets, junction boxes, or communications equipment.

Ports may be further nested into sub-ports, for indicating specific connections on components or pins.

Port Connectivity\IfcDistributionPort.ConnectedTo[*]
\IfcRelConnectsPorts.RelatedPort
\IfcDistributionPort

IfcDistributionPort may be connected to other objects as follows using the indicated relationship:

  • IfcDistributionPort (IfcRelConnectsPorts) : Indicates a connection to another port having the same type and opposite flow direction. For port connections between elements, the RelatingPort is set to a port having FlowDirection=SOURCE and the RelatedPort is set to a port having FlowDirection=SINK. For aggregation scenarios, ports on a device may be mapped to aggregated devices within, in which case ports on the outer device indicate a single FlowDirection but have an additional connection internally to a port on an aggregated inner device. Refer to IfcUnitaryEquipment for an example.
  • IfcDistributionElement (through IfcRelConnectsPortToElement): For dynamic ports, indicates the containing element.

Figure 272 illustrates distribution port connectivity.

Connection Use Definition

Figure 272 — Distribution port connectivity

Product Assignment\IfcProduct.ReferencedBy[*]
\IfcRelAssignsToProduct.RelatedObjects[*]
\IfcObject

The IfcDistributionPort may be assigned to the following entities using relationships as indicated:

FieldMappingDefinition
(Query)\IfcDistributionSystem
\IfcObject
The IFC class identifier indicating the subtype of object.
Aggregation
Group Assignment\IfcGroup.IsGroupedBy[*]
\IfcRelAssignsToGroup.RelatedObjects[*]
\IfcProduct

For the most common case of an IfcDistributionElement subtype containing ports of a particular PredefinedType that all belong to the same distribution system, the IfcDistributionElement is assigned to the IfcDistributionSystem via the IfcRelAssignsToGroup relationship, where IfcDistributionPort's are implied as part of the corresponding system based on their PredefinedType. An IfcDistributionElement may belong to multiple systems, however only one IfcDistributionSystem of a particular PredefinedType.

For rare cases where an IfcDistributionElement subtype contains ports of the same PredefinedType yet different ports belong to different systems, alternatively each IfcDistributionPort may be directly assigned to a single IfcDistributionSystem via the IfcRelAssignsToGroup relationship, where the PredefinedType must match. Such assignment indicates that the IfcDistributionSystem assigned from the IfcDistributionPort overrides any such system of the same PredefinedType assigned from the containing IfcDistributionElement, if any.

Additionally, an IfcDistributionSystem may in turn be assigned to an IfcDistributionPort indicating the host or origination of the system using IfcRelAssignsToProduct.

EXAMPLE  A gas-powered hot water heater may have three ports: GAS, DOMESTICCOLDWATER, and DOMESTICHOTWATER. The heater is a member of two systems (GAS and DOMESTICCOLDWATER), and hosts one system (DOMESTICHOTWATER) at the corresponding port.

Figure 273 illustrates a distribution system for an electrical circuit.

Instance diagram for electrical circuit

Figure 273 — Distribution system assignment

FieldMappingDefinition
(Query)\IfcDoor
Door Attributes\IfcDoor.Tag
\IfcIdentifier

The opening direction is determined by the local placement of IfcDoor and the OperationType of the IfcDoorType as shown in Figure 221.

NOTE  There are different definitions in various countries on what a left opening or left hung or left swing door is (same for right). Therefore the IFC definition may derivate from the local standard and need to be mapped appropriately.
Opening directions Definitions Reference to other standards
fig 1 The door panel (for swinging doors) opens always into the direction of the positive Y axis of the local placement. The determination of whether the door opens to the left or to the right is done at the level of the IfcDoorType. Here it is a left side opening door given by IfcDoorType.OperationType = SingleSwingLeft refered to as LEFT HAND (LH) in US *

refered to as DIN-R (right hung) in Germany
fig 2 If the door should open to the other side, then the local placement has to be changed. It is still a left side opening door, given by IfcDoorType.OperationType = SingleSwingLeft refered to as RIGHT HAND REVERSE (RHR) in US *

refered to as DIN-R (right hung) in Germany
fig 3 If the door panel (for swinging doors) opens to the right, a separate door style needs to be used (here IfcDoorTypee.OperationType = SingleSwingRight) and it always opens into the direction of the positive Y axis of the local placement. refered to as RIGHT HAND (RH) in US *

refered to as DIN-L (left hung) in Germany
fig 4 If the door panel (for swinging doors) opens to the right, and into the opposite directions, the local placement of the door need to change. The door style is given by IfcDoorType.OperationType = SingleSwingRight. refered to as LEFT HAND REVERSE (LHR) in US *

refered to as DIN-L (left hung) in Germany
* it assumes that the 'inside/private/primary' space is above (top in the pictures) and the 'outside/public/secondary' space is below (bottom in the pictures).

Figure 221 — Door swing

NOTE  The OverallWidth and OverallHeight parameters are for informational purpose only.
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
Property Sets for Objects\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material Constituent Set\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialConstituentSet.MaterialConstituents[*]
\IfcMaterialConstituent.Name
\IfcLabel

The material of the IfcDoor is defined by the IfcMaterialConstituentSet or as fall back by IfcMaterial and attached by the IfcRelAssociatesMaterial relationship.

Product Local Placement\IfcProduct.ObjectPlacement
\IfcLocalPlacement.RelativePlacement
\IfcAxis2Placement3D

The following restriction is imposed:

  1. The PlacementRelTo relationship of IfcLocalPlacement shall point to the local placement of the same element (if given), in which the IfcDoor is used as a filling (normally an IfcOpeningElement), as provided by the IfcRelFillsElement relationship;
  2. If the IfcDoor is part of an assembly, e.g. an IfcCurtainWall, then the PlacementRelTo relationship of IfcLocalPlacement shall point (if given) to the local placement of that assembly;
  3. If the IfcDoor is not inserted into an IfcOpeningElement, then the PlacementRelTo relationship of IfcLocalPlacement shall point (if given) to the local placement of the same IfcSpatialStructureElement that is used in the ContainedInStructure inverse attribute or to a referenced spatial structure element at a higher level.
NOTE  The product placement is used to determine the opening direction of the door.
Profile 3D Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

The door profile is represented by a three-dimensional closed curve within a particular shape representation. The profile is used to apply the parameter of the parametric door representation. Only a single closed curve shall be contained in the set of IfcShapeRepresentation.Items.

A 'Profile' representation has to be provided if a parametric representation is applied to the door.

Spatial Containment\IfcElement.ContainedInStructure[*]
\IfcRelContainedInSpatialStructure.RelatingStructure
\IfcSpatialElement.Name
\IfcLabel

The IfcDoor, as any subtype of IfcBuildingElement, may participate alternatively in one of the two different containment relationships:

  • the Spatial Containment (defined here), or
  • the Element Composition.

The IfcDoor may also be connected to the IfcOpeningElement in which it is placed as a filler. In this case, the spatial containment relationship shall be provided, see Figure 222.

Containment
NOTE  The containment shall be defined independently of the filling relationship, that is, even if the IfcDoor is a filling of an opening established by IfcRelFillsElement, it is also contained in the spatial structure by IfcRelContainedInSpatialStructure.

Figure 222 — Door spatial containment

 
FieldMappingDefinition
(Query)\IfcDoorStandardCase
Profile 3D Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

The door profile is represented by a three-dimensional closed curve within a particular shape representation. The profile is used to apply the parameter of the parametric door representation. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

  • RepresentationIdentifier : 'Profile'
  • RepresentationType : 'Curve3D' or 'GeometricCurveSet', in case of 'GeometricCurveSet' only a single closed curve shall be contained in the set of IfcShapeRepresentation.Items.

The following additional constraints apply to the 'Profile' representation type:

  • Curve: being an IfcPolyline defining a rectangle.
  • Position: The curve shall lie in the xz plane of the object placement coordinate (the y coordinate values of the IfcCartesianPoint's shall be 0.).

 

standard door
EXAMPLE  Figure 223 illustrates applying the door lining parameters to the door profile shape representation. The profile defines the outer boundary to which the door lining parameters relate as:
  • IfcDoorLiningProperties.LiningDepth starting at distance defined by LiningOffset going into the positive y direction.
  • IfcDoorLiningProperties.LiningThickness offset into the inner side of the rectangle.
  • IfcDoorLiningProperties.LiningOffset distance along the positive y direction to where the LiningDepth applies.
  • IfcDoorLiningProperties.ThresholdThickness starting at the bottom edge of the rectangle into the inner side of the rectangle
  • IfcDoorLiningProperties.ThresholdDepth starting at distance defined by LiningOffset going into the positive y direction.
  • IfcDoorLiningProperties.TransomOffset starting at the bottom edge of the rectangle (along local x axis) into the inner side of the rectangle, distance provided as percentage of overall height. Distance to the centre line of the transom.

Figure 223 — Door profile

 
FieldMappingDefinition
(Query)\IfcDoorType
Body Geometry\IfcTypeProduct.RepresentationMaps[*]
\IfcRepresentationMap.MappedRepresentation
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext
Definition of the representation context for which the different subtypes of representation are valid.
Property Sets for Types\IfcTypeObject.HasPropertySets[*]
\IfcPropertySet.Name

Two subtypes of IfcPreDefinedPropertySet are applicable to IfcDoorType:

FieldMappingDefinition
(Query)\IfcDuctFitting
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material\IfcProduct.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialLayerSetUsage.ForLayerSet
\IfcMaterialLayerSet.MaterialLayers[*]
\IfcMaterialLayer.Name
The name by which the material layer is known.
Port\IfcDistributionElement
The IFC class identifier indicating the subtype of object.
FieldMappingDefinition
(Query)\IfcDuctSegment
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material\IfcProduct.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialProfileSetUsage.ForProfileSet
\IfcMaterialProfileSet.MaterialProfiles[*]
\IfcMaterialProfile.Name
The name by which the material profile is known.
Port\IfcDistributionElement
The IFC class identifier indicating the subtype of object.
FieldMappingDefinition
(Query)\IfcDuctSilencer
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialConstituentSet.MaterialConstituents[*]
\IfcMaterialConstituent.Name
\IfcLabel
The name by which the material constituent is known.
Port\IfcDistributionElement
The IFC class identifier indicating the subtype of object.
FieldMappingDefinition
(Query)\IfcElectricAppliance
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialConstituentSet.MaterialConstituents[*]
\IfcMaterialConstituent.Name
\IfcLabel
The name by which the material constituent is known.
Port\IfcDistributionElement
The IFC class identifier indicating the subtype of object.
FieldMappingDefinition
(Query)\IfcElectricDistributionBoard
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialConstituentSet.MaterialConstituents[*]
\IfcMaterialConstituent.Name
\IfcLabel
The name by which the material constituent is known.
Port\IfcDistributionElement
The IFC class identifier indicating the subtype of object.
FieldMappingDefinition
(Query)\IfcElectricFlowStorageDevice
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialConstituentSet.MaterialConstituents[*]
\IfcMaterialConstituent.Name
\IfcLabel
The name by which the material constituent is known.
Port\IfcDistributionElement
The IFC class identifier indicating the subtype of object.
FieldMappingDefinition
(Query)\IfcElectricGenerator
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialConstituentSet.MaterialConstituents[*]
\IfcMaterialConstituent.Name
\IfcLabel
The name by which the material constituent is known.
Composition
Port\IfcDistributionElement
The IFC class identifier indicating the subtype of object.
FieldMappingDefinition
(Query)\IfcElectricMotor
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialConstituentSet.MaterialConstituents[*]
\IfcMaterialConstituent.Name
\IfcLabel
The name by which the material constituent is known.
Port\IfcDistributionElement
The IFC class identifier indicating the subtype of object.
FieldMappingDefinition
(Query)\IfcElectricTimeControl
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialConstituentSet.MaterialConstituents[*]
\IfcMaterialConstituent.Name
\IfcLabel
The name by which the material constituent is known.
Port\IfcDistributionElement
The IFC class identifier indicating the subtype of object.
FieldMappingDefinition
(Query)\IfcElement
\IfcObject
The IFC class identifier indicating the subtype of object.
Product Local Placement\IfcProduct.ObjectPlacement
\IfcLocalPlacement.RelativePlacement
\IfcAxis2Placement3D

The object placement for any subtype of IfcElement is defined by the IfcObjectPlacement, either IfcLocalPlacement or IfcGridPlacement, which defines the local object coordinate system that is referenced by all geometric representations of that IfcElement.

CoG Geometry\IfcProduct.Representation
\IfcProductDefinitionShape.Name

The 'CoG', Center of Gravity, shape representation is used as a means to verify the correct import by comparing the CoG of the imported geometry with the explicily provided CoG created during export.

Box Geometry\IfcProduct.Representation
\IfcProductDefinitionShape.Representations['Box']
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext
bounding box
EXAMPLE  Any IfcElement may be represented by a bounding box, which shows the maximum extend of the body within the object coordinate system established by the IfcObjectPlacement. As shown in Figure 151, the bounding box representation is given by an IfcShapeRepresentation that includes a single item, an IfcBoundingBox.

Figure 151 — Building element box representation

 
FootPrint Geometry\IfcProduct.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.RepresentationIdentifier
\IfcLabel
The optional identifier of the representation as used within a project.
Body SurfaceOrSolidModel Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

Any IfcElement (so far no further constraints are defined at the level of its subtypes) may be represented as a mixed representation, including surface and solid models.

Body SurfaceModel Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

Any IfcElement (so far no further constraints are defined at the level of its subtypes) may be represented as a single or multiple surface models, based on either shell or face based surface models. It may also include tessellated models.

 

surface model
EXAMPLE  As shown in Figure 152, the surface model representation is given by an IfcShapeRepresentation, which includes a single item which is either an IfcShellBasedSurfaceModel, or an IfcFaceBasedSurfaceModel. In some cases it may also be useful to expose a simple representation as a bounding box representation of the same complex shape.

Figure 152 — Element surface model representation

 
Body Tessellation Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

Any IfcElement (so far no further constraints are defined at the level of its subtypes) may be represented as a single or multiple tessellated surface models, in particular triangulated surface models.

Body Brep Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

Any IfcElement (so far no further constraints are defined at the level of its subtypes) may be represented as a single or multiple Boundary Representation models (which are restricted to be faceted Brep's with or without voids). The Brep representation allows for the representation of complex element shape.

 

Brep representation
EXAMPLE  As shown in Figure 153, the Brep representation is given by an IfcShapeRepresentation, which includes one or more items, all of type IfcFacetedBrep. In some cases it may be useful to also expose a simple representation as a bounding box representation of the same complex shape.

Figure 153 — Building element body boundary representation

 
Body AdvancedBrep Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

An IfcElement (so far no further constraints are defined at the level of its subtypes or by view definitions) may be represented as a single or multiple boundary representation models, which include advanced surfaces, usually refered to as NURBS surfaces. The 'AdvancedBrep' representation allows for the representation of complex free-form element shape.

NOTE  View definitions or implementer agreements may restrict or disallow the use of 'AdvancedBrep' geometry.
Body CSG Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

Any IfcElement (so far no further constraints are defined at the level of its subtypes) may be represented a CSG primitive or CSG tree. The CSG representation allows for the representation of complex element shape.

NOTE  View definitions or implementer agreements may restrict or disallow the use of 'CSG' geometry.
Mapped Geometry\IfcProduct.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

Any IfcElement (so far no further constraints are defined at the level of its subtypes) may be represented using the 'MappedRepresentation'. This shall be supported as it allows for reusing the geometry definition of a type at all occurrences of the same type. The results are more compact data sets.

The same constraints, as given for 'SurfaceOrSolidModel', 'SurfaceModel', 'Tessellation', 'Brep', and 'AdvancedBrep' geometric representation, shall apply to the IfcRepresentationMap.

Element Voiding\IfcElement.HasOpenings[*]
\IfcRelVoidsElement.RelatedOpeningElement
\IfcOpeningElement.PredefinedType
\IfcOpeningElementTypeEnum
Predefined generic type for an opening that is specified in an enumeration. There may be a property set given specificly for the predefined types.
Element Projecting\IfcElement.HasProjections[*]
\IfcRelProjectsElement.RelatedFeatureElement
\IfcProjectionElement.PredefinedType
\IfcProjectionElementTypeEnum
Predefined generic type for a projection element that is specified in an enumeration. There may be a property set given specificly for the predefined types.
FieldMappingDefinition
(Query)\IfcElementAssembly
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
Aggregation

The IfcElementAssembly shall represent an aggregate, i.e. it should have other elements, being subtypes of IfcElement, as contained (sub)parts. The table above only represents a selection of subtypes of IfcElement that are legitimate as parts in an IfcElementAssembly

  • The IfcElementAssembly is an aggregate i.e. being composed by other elements and acting as an assembly using the objectified relationship IfcRelAggregates, refering to it by its inverse attribute SELF\IfcObjectDefinition.IsDecomposedBy. Components of an assembly are described by instances of subtypes of IfcElement.
  • In this case, the contained subtypes of IfcElement shall not be additionally contained in the project spatial hierarchy, i.e. the inverse attribute SELF\IfcElement.ContainedInStructure of those IfcElement's shall be NIL.

Figure 154 illustrates spatial containment and element aggregation relationships.

containment relationships

Figure 154 — Element assembly containment

Spatial Containment\IfcElement.ContainedInStructure[*]
\IfcRelContainedInSpatialStructure.RelatingStructure
\IfcSpatialElement.Name
\IfcLabel

The IfcElementAssembly should have a relationship for its containment in the hierachical spatial structure of the project. Only if the IfcElementAssembly is itself a part of another assembly this relationship should be omitted.

FieldMappingDefinition
(Query)\IfcElementComponent
\IfcObject
The IFC class identifier indicating the subtype of object.
Mapped Geometry\IfcProduct.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

The mapped item, IfcMappedItem, should be used if appropriate as it allows for reusing the geometry definition of a type at all occurrences of the same type.

A single instance of a subtype of IfcElementComponent can stand for several actual element components at once. In this case, the IfcShapeRepresentation contains as many mapped items as there are element components combined within this occurrence object.

 

EXAMPLE  Figure 274 illustrates multiple components modeled as a single occurrence object (here: IfcFastener)

Figure 274 — Element component mapped representation

 

Representation identifier and type are the same as in single mapped representation. The number of mapped items in the representation corresponds with the count of element components in the IfcElementQuantity.

FieldMappingDefinition
(Query)\IfcEngine
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
Quantity Sets\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialConstituentSet.MaterialConstituents[*]
\IfcMaterialConstituent.Name
\IfcLabel
The name by which the material constituent is known.
Port\IfcDistributionElement
The IFC class identifier indicating the subtype of object.
FieldMappingDefinition
(Query)\IfcEvaporativeCooler
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialConstituentSet.MaterialConstituents[*]
\IfcMaterialConstituent.Name
\IfcLabel
The name by which the material constituent is known.
Port\IfcDistributionElement
The IFC class identifier indicating the subtype of object.
FieldMappingDefinition
(Query)\IfcEvaporator
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialConstituentSet.MaterialConstituents[*]
\IfcMaterialConstituent.Name
\IfcLabel
The name by which the material constituent is known.
Port\IfcDistributionElement
The IFC class identifier indicating the subtype of object.
FieldMappingDefinition
(Query)\IfcEvent
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name

The IfcEvent defines the anticipated or actual occurrence of any event; common information about event types is handled by IfcEventType.

Property Sets\IfcObject
The IFC class identifier indicating the subtype of object.
Nesting\IfcObjectDefinition.IsNestedBy[*]
\IfcRelNests.RelatedObjects[*]
\IfcObject

IfcEvent may be contained within an IfcTask using the IfcRelNests relationship. The event is considered active during the time period of the enclosing task (including any assigned IfcWorkCalendar); that is such event may be triggered within the task time period but not outside of it. As an IfcEvent is considered to be atomic, no use is anticipated for nesting processes inside the event.

Sequential Connectivity\IfcProcess.IsPredecessorTo[*]
\IfcRelSequence.RelatedProcess
\IfcProcess

The relationship IfcRelSequence is used to indicate control flow. An IfcEvent as a predecessor (IfcRelSequence.RelatingProcess) indicates that the succeeding process (typically IfcProcedure or IfcTask) is triggered in response to the event. An IfcEvent as a successor (IfcRelSequence.RelatedProcess) indicates that the completion of the preceeding process causes the event to be triggered. As events have zero duration, the IfcRelSequence.SequenceType attribute has no effect on an IfcEvent but still applies to the opposite end of the relationship if IfcTask is used.

Control Assignment\IfcControl.Controls[*]
\IfcRelAssignsToControl.RelatedObjects[*]
\IfcObject

An IfcEvent may be assigned to an IfcWorkCalendar to indicate times when such event is active using IfcRelAssignsToControl; otherwise the effective calendar is determined by the nearest IfcProcess ancestor with a calendar assigned.

Product Assignment\IfcProduct.ReferencedBy[*]
\IfcRelAssignsToProduct.RelatedObjects[*]
\IfcObject

For building operation scenarios, IfcEvent may be assigned to a product (IfcElement subtype) using IfcRelAssignsToProduct to indicate a specific product occurrence that sources the event.

EXAMPLE  An IfcSensor for a motion sensor may have a "Motion Sensed" event. If the IfcEvent is defined by an IfcEventType and the IfcEventType is assigned to a product type (using IfcRelAssignsToProduct), then the IfcEvent must be assigned to one or more occurrences of the specified product type using IfcRelAssignsToProduct.
FieldMappingDefinition
(Query)\IfcFan
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialConstituentSet.MaterialConstituents[*]
\IfcMaterialConstituent.Name
\IfcLabel
The name by which the material constituent is known.
Port\IfcDistributionElement
The IFC class identifier indicating the subtype of object.
FieldMappingDefinition
(Query)\IfcFastener
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
FieldMappingDefinition
(Query)\IfcFeatureElement
Spatial Containment\IfcElement.ContainedInStructure[*]
\IfcRelContainedInSpatialStructure.RelatingStructure
\IfcSpatialElement.Name
\IfcLabel

As a subordinate part being fully dependent on the master element the IfcFeatureElement shall have no independent containment relationship to the spatial structure.

  • The SELF\IfcElement.ContainedInStructure relationship shall be NIL.
FieldMappingDefinition
(Query)\IfcFilter
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialConstituentSet.MaterialConstituents[*]
\IfcMaterialConstituent.Name
\IfcLabel
The name by which the material constituent is known.
Port\IfcDistributionElement
The IFC class identifier indicating the subtype of object.
FieldMappingDefinition
(Query)\IfcFireSuppressionTerminal
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialConstituentSet.MaterialConstituents[*]
\IfcMaterialConstituent.Name
\IfcLabel
The name by which the material constituent is known.
Port\IfcDistributionElement
The IFC class identifier indicating the subtype of object.
FieldMappingDefinition
(Query)\IfcFlowInstrument
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialConstituentSet.MaterialConstituents[*]
\IfcMaterialConstituent.Name
\IfcLabel
The name by which the material constituent is known.
Port\IfcDistributionElement
The IFC class identifier indicating the subtype of object.
FieldMappingDefinition
(Query)\IfcFlowMeter
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialConstituentSet.MaterialConstituents[*]
\IfcMaterialConstituent.Name
\IfcLabel
The name by which the material constituent is known.
Port\IfcDistributionElement
The IFC class identifier indicating the subtype of object.
FieldMappingDefinition
(Query)\IfcFlowSegment
Material Profile Set Usage\IfcProduct.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialProfileSetUsage.ForProfileSet
\IfcMaterialProfileSet.MaterialProfiles[*]
\IfcMaterialProfile.Name

The material of the IfcFlowSegment is defined using one of the following entities:

  • IfcMaterialProfileSetUsage : for parametric segments, this defines the cross section and alignment to the 'Axis' representation, from which the 'Body' representation may be generated.
  • IfcMaterialProfileSet : for non-parametric segments (having fixed length or path), this may define the cross section for analysis purposes, however the 'Body' representation is independently generated.
  • IfcMaterialConstituentSet : for elements containing multiple materials where profiles are not applicable, this indicates materials at named parts.
  • IfcMaterial : for elements comprised of a single material where profiles are not applicable, this indicates the material.

The material is attached by the RelatingMaterial attribute on the IfcRelAssociatesMaterial relationship. It is accessible by the HasAssociations inverse attribute. Material information can also be given at the IfcFlowSegmentType, defining the common attribute data for all occurrences of the same type. Standard names and material types are defined at subtypes.

Axis Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations['Axis']
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

Standard representations are defined at the supertype IfcDistributionFlowElement. For parametric flow segments where IfcMaterialProfileSetUsage is defined and an 'Axis' representation is defined, then the 'Body' representation may be generated using the 'SweptSolid' or 'AdvancedSweptSolid' representation types by sweeping the profile(s) along the axis.

FieldMappingDefinition
(Query)\IfcFooting
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material Profile Set Usage\IfcProduct.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialProfileSetUsage.ForProfileSet
\IfcMaterialProfileSet.MaterialProfiles[*]
\IfcMaterialProfile.Name
The name by which the material profile is known.
Placement\IfcProduct.ObjectPlacement
\IfcLocalPlacement.RelativePlacement
\IfcAxis2Placement3D
Geometric placement that defines the transformation from the related coordinate system into the relating. The placement can be either 2D or 3D, depending on the dimension count of the coordinate system.
Axis Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations['Axis']
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext
Definition of the representation context for which the different subtypes of representation are valid.
Footprint Geometry\IfcProduct.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.RepresentationIdentifier
\IfcLabel
The optional identifier of the representation as used within a project.
Body Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations['Body']
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext
Definition of the representation context for which the different subtypes of representation are valid.
FieldMappingDefinition
(Query)\IfcFurnishingElement
Spatial Containment\IfcElement.ContainedInStructure[*]
\IfcRelContainedInSpatialStructure.RelatingStructure
\IfcSpatialElement.Name
\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.
FieldMappingDefinition
(Query)\IfcFurniture
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
Material Constituents\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialConstituentSet.MaterialConstituents[*]
\IfcMaterialConstituent.Name
\IfcLabel
The name by which the material constituent is known.
Aggregation
FieldMappingDefinition
(Query)\IfcGeographicElement
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
Property Sets for Objects\IfcObject
The IFC class identifier indicating the subtype of object.
Classification Association\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesClassification.RelatingClassification
\IfcClassificationReference.Identification
\IfcIdentifier

An IfcGeographicElement might be further qualified by referencing a feature catalog as a particular classification. The feature classification is assigned using the inverse relationship HasAssociations pointing to IfcClassificationReference. The attributes should have the following meaning:

  • Catalog : IfcClassification.Name
  • Identity: IfcClassificationReference.Identification
  • ElementName: IfcClassificationReference.Name
Spatial Containment\IfcElement.ContainedInStructure[*]
\IfcRelContainedInSpatialStructure.RelatingStructure
\IfcSpatialElement.Name
\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.
FieldMappingDefinition
(Query)\IfcGroup
Group Assignment\IfcGroup.IsGroupedBy[*]
\IfcRelAssignsToGroup.RelatedObjects[*]
\IfcProduct

The IfcGroup establishes an arbitrary collection of objects through utilizing this concept.

FieldMappingDefinition
(Query)\IfcHeatExchanger
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialConstituentSet.MaterialConstituents[*]
\IfcMaterialConstituent.Name
\IfcLabel
The name by which the material constituent is known.
Port\IfcDistributionElement
The IFC class identifier indicating the subtype of object.
FieldMappingDefinition
(Query)\IfcHumidifier
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialConstituentSet.MaterialConstituents[*]
\IfcMaterialConstituent.Name
\IfcLabel
The name by which the material constituent is known.
Port\IfcDistributionElement
The IFC class identifier indicating the subtype of object.
FieldMappingDefinition
(Query)\IfcInterceptor
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialConstituentSet.MaterialConstituents[*]
\IfcMaterialConstituent.Name
\IfcLabel
The name by which the material constituent is known.
Port\IfcDistributionElement
The IFC class identifier indicating the subtype of object.
FieldMappingDefinition
(Query)\IfcInventory
Group Assignment\IfcGroup.IsGroupedBy[*]
\IfcRelAssignsToGroup.RelatedObjects[*]
\IfcProduct
Related objects, which are assigned to a single object. The type of the single (or relating) object is defined in the subtypes of IfcRelAssigns.
FieldMappingDefinition
(Query)\IfcJunctionBox
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialConstituentSet.MaterialConstituents[*]
\IfcMaterialConstituent.Name
\IfcLabel
The name by which the material constituent is known.
Element Connectivity\IfcElement.ConnectedFrom[*]
Reference to the element connection relationship. The relationship then refers to the other element that is connected to this element.
Filling\IfcElement.FillsVoids[*]
\IfcRelFillsElement.RelatingOpeningElement
\IfcOpeningElement.VoidsElements
\IfcRelVoidsElement
Reference to the Voids Relationship that uses this Opening Element to create a void within an Element. The Opening Element can only be used to create a single void within a single Element.
Element Nesting\IfcElement.IsNestedBy[*]
\IfcRelNests.RelatedObjects[*]
\IfcElement.ObjectPlacement
\IfcLocalPlacement
IFC4 ADD1 CHANGE  Junction boxes no longer have ports defined, but rely on element nesting for indicating containment of electrical devices.
FieldMappingDefinition
(Query)\IfcLaborResource
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Resource Assignment\IfcResource.ResourceOf[*]
\IfcRelAssignsToResource.RelatedObjects[*]
\IfcActor
Related objects, which are assigned to a single object. The type of the single (or relating) object is defined in the subtypes of IfcRelAssigns.
Resource Cost\IfcConstructionResource.BaseCosts[*]
\IfcAppliedValue.Name
\IfcLabel
A name or additional clarification given to a cost value.
Resource Quantity\IfcConstructionResource.BaseQuantity
\IfcPhysicalSimpleQuantity.Name
\IfcLabel
Name of the element quantity or measure. The name attribute has to be made recognizable by further agreements.
FieldMappingDefinition
(Query)\IfcLamp
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialConstituentSet.MaterialConstituents[*]
\IfcMaterialConstituent.Name
\IfcLabel
The name by which the material constituent is known.
Port\IfcDistributionElement
The IFC class identifier indicating the subtype of object.
FieldMappingDefinition
(Query)\IfcLightFixture
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialConstituentSet.MaterialConstituents[*]
\IfcMaterialConstituent.Name
\IfcLabel
The name by which the material constituent is known.
Connection
Port\IfcDistributionElement
The IFC class identifier indicating the subtype of object.
Lighting Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

This represents the light emission of the item having IfcShapeRepresentation.RepresentationType of 'LightSource' and containing one or more IfcLightSource subtypes.

FieldMappingDefinition
(Query)\IfcMaterial
\IfcObject
The IFC class identifier indicating the subtype of object.
FieldMappingDefinition
(Query)\IfcMechanicalFastener
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
Quantity Sets\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
FieldMappingDefinition
(Query)\IfcMedicalDevice
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
Material\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialConstituentSet.MaterialConstituents[*]
\IfcMaterialConstituent.Name
\IfcLabel
The name by which the material constituent is known.
Port\IfcDistributionElement
The IFC class identifier indicating the subtype of object.
Quantity Sets\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
FieldMappingDefinition
(Query)\IfcMember
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material Profile Set\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialProfileSet.MaterialProfiles[*]
\IfcMaterialProfile.Name
\IfcLabel

The material of the IfcMember is defined by the IfcMaterialProfileSet or as fallback by IfcMaterial, and it is attached either directly or at the IfcMemberType.

NOTE  It is illegal to assign an IfcMaterialProfileSetUsage to an IfcMember. Only the subtype IfcMemberStandardCase supports this concept.
Spatial Containment\IfcElement.ContainedInStructure[*]
\IfcRelContainedInSpatialStructure.RelatingStructure
\IfcSpatialElement.Name
\IfcLabel

The IfcMember, as any subtype of IfcBuildingElement, may participate alternatively in one of the two different containment relationships:

  • the Spatial Containment (defined here), or
  • the Element Composition.
Axis 3D Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations['Axis']
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

The axis representation can be used to represent the system length of a member that may extent the body length of the member.

NOTE  The 'Axis' is not used to locate the material profile set, only the subtype IfcMemberStandardCase provides this capability.
Body SweptSolid Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

The following additional constraints apply to the 'SweptSolid' representation:

Figure 224 illustrates a 'SweptSolid' geometric representation. There are no restrictions or conventions on how to use the local placement (black), solid of extrusion placement (red) and profile placement (green).

standard member

Figure 224 — Member swept solid

Body AdvancedSweptSolid Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

The following additional constraints apply to the 'AdvancedSweptSolid' representation type:

MappedRepresentation Representation Type

Body Clipping Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

The following constraints apply to the 'Clipping' representation:

  • Solid: see 'SweptSolid' geometric representation
  • Profile: see 'SweptSolid' geometric representation
  • Extrusion: see 'SweptSolid' geometric representation
  • Boolean result: The IfcBooleanClippingResult shall be supported, allowing for Boolean differences between the swept solid (here IfcExtrudedAreaSolid) and one or several IfcHalfSpaceSolid (or its subtypes).

Figure 225 illustrates a 'Clipping' geometric representation with use of IfcBooleanClippingResult between an IfcExtrudedAreaSolid and an IfcHalfSpaceSolid to create a clipped body.

clipped member

Figure 225 — Member clipping

Product Assignment\IfcProduct.ReferencedBy[*]
\IfcRelAssignsToProduct.RelatedObjects[*]
\IfcObject
Related objects, which are assigned to a single object. The type of the single (or relating) object is defined in the subtypes of IfcRelAssigns.
FieldMappingDefinition
(Query)\IfcMemberStandardCase
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name

The IfcMemberStandardCase defines in addition that the IfcMemberType should have a unique IfcMaterialProfileSet, that is referenced by the IfcMaterialProfileSetUsage assigned to all occurrences of this IfcMemberType.

Material Profile Set Usage\IfcProduct.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialProfileSetUsage.ForProfileSet
\IfcMaterialProfileSet.MaterialProfiles[*]
\IfcMaterialProfile.Name

Figure 227 illustrates assignment of IfcMaterialProfileSetUsage and IfcMaterialProfileSet to the IfcMemberStandardCase as the member occurrence and to the IfcMemberType. The same IfcMaterialProfileSet shall be shared by many occurrences of IfcMaterialProfileSetUsage. This relationship shall be consistent to the relationship between the IfcMemberType and the IfcMemberStandardCase.

Material profile set and usage

Figure 227 — Member profile usage

Figure 228 illustrates assignment of a composite profile by using IfcCompositeProfile for geometric representation and several IfcMaterialProfile's within the IfcMaterialProfileSet. The number of IfcMaterialProfile's within the IfcMaterialProfileSet is restricted to maximal 2 and requires the use of IfcExtrudedAreaSolidTapered, or IfcRevolvedAreaSolidTapered for the correct 'Body' shape representation.

Material profile set and usage

Figure 228 — Member composite profiles

The material of the IfcMemberStandardCase is defined by IfcMaterialProfileSetUsage and attached by the IfcRelAssociatesMaterial.RelatingMaterial. It is accessible by the inverse HasAssociations relationship. Composite profile members can be represented by refering to several IfcMaterialProfile's within the IfcMaterialProfileSet that is referenced from the IfcMaterialProfileSetUsage.

Material information can also be given at the IfcMemberType, defining the common attribute data for all occurrences of the same type. It is then accessible by the inverse IsDefinedBy relationship pointing to IfcMemberType.HasAssociations and via IfcRelAssociatesMaterial.RelatingMaterial. See Type Use Definition for additional agreements for standard members.

Product Placement\IfcProduct.ObjectPlacement
\IfcLocalPlacement.RelativePlacement
\IfcAxis2Placement3D

The following restriction is imposed:

  • The local placement shall provide the location and directions for the standard member, the x/y plane is the plane for the start profile, and the z-axis is the extrusion axis for the member body (in case of rotation, the tangent direction).
Axis 3D Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations['Axis']
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

The following additional constraints apply to the 'Axis' representation, if the 'Body' shape representation has the RepresentationType : 'SweptSolid':

 

Axis
EXAMPLE  As shown in Figure 101, the axis representation can be used to represent the system length of a member that may extent the body length of the member.

Figure 229 — Member axis representation

 
Axis
EXAMPLE  As shown in Figure 102, the axis representation shall be used to represent the cardinal point as the offset between the 'Axis' and the extrusion path of the member. The extrusion path is provided as IfcExtrudedAreaSolid.ExtrudedDirection and should be parallel to the 'Axis'. It has to be guaranteed that the value provided by IfcMaterialProfileSetUsage.CardinalPoint is consistent to the IfcExtrudedAreaSolid.Position.

Figure 230 — Member axis cardinal point

 
Body SweptSolid Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

The following additional constraints apply to the 'SweptSolid' representation:

  • Solid: IfcExtrudedAreaSolid, IfcRevolvedAreaSolid shall be supported
  • Profile: all subtypes of IfcProfileDef (with exception of IfcArbitraryOpenProfileDef)
  • Profile Position : For all single profiles, the IfcParameterizedProfileDef.Position shall be NIL, or having Location = 0.,0. and RefDirection = 1.,0.
  • Extrusion: perpendicular to the profile direction.
  • Orientation: The y-axis of the profile, as determined by IfcSweptAreaSolid.Position.P[2] shall point to the Z-Axis. It indicates the "role" of the column, a role=0° means y-axis of profile = Z-axis of reference coordinate system. In the exception of a vertical member, the y-axis shall point to the Y-axis.

Figure 230 illustrates a 'SweptSolid' geometric representation with cardinal point applied as 1 (bottom left).

The following interpretation of dimension parameter applies for rectangular members:

  • IfcRectangleProfileDef.YDim interpreted as member width
  • IfcRectangleProfileDef.XDim interpreted as member depth

The following interpretation of dimension parameter applies for circular members:

  • IfcCircleProfileDef.Radius interpreted as beam radius.
standard member

Figure 230 — Member body extrusion

Body AdvancedSweptSolid Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

The following additional constraints apply to the 'AdvancedSweptSolid' representation type:

Body Clipping Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

The following constraints apply to the advanced representation:

  • Solid: see 'SweptSolid' geometric representation
  • Profile: see 'SweptSolid' geometric representation
  • Profile Position : see 'SweptSolid' geometric representation
  • Extrusion: see 'SweptSolid' geometric representation
  • Boolean result: The IfcBooleanClippingResult shall be supported, allowing for Boolean differences between the swept solid (here IfcExtrudedAreaSolid) and one or several IfcHalfSpaceSolid (or its subtypes).

Figure 231 illustrates an advanced geometric representation with use of IfcBooleanClippingResult between an IfcExtrudedAreaSolid and an IfcHalfSpaceSolid to create a clipped body, with cardinal point applied as 4 (mid-depth left).

clipped beam

Figure 231 — Member body clipping

FieldMappingDefinition
(Query)\IfcMemberType
Material Profile Set\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialProfileSet.MaterialProfiles[*]
\IfcMaterialProfile.Name
\IfcLabel

The material of the IfcMemberType is defined by the IfcMaterialProfileSet or as fall back by IfcMaterial and attached by the IfcRelAssociatesMaterial.RelatingMaterial. It is accessible by the inverse HasAssociations relationship.

NOTE  It is illegal to assign an IfcMaterial to an IfcMemberType, if there is at least one occurrences of IfcMemberStandardCase for this type.

The shared profile definition is defined by assigning an IfcMaterialProfileSet (see material use definition above). The IfcMaterialProfile refers to the subtype of IfcProfileDef that is the common profile for all member occurrence, if used. It is only applicable if the IfcMemberType has only occurrences of type IfcMemberStandardCase (see definition of IfcMemberStandardCase for further information).

NOTE  The attribute ProfileName of the IfcProfileDef subtype, referenced in IfcMaterialProfile should contain a standardized profile name according to local standards. However, an additional geometric representation of the profile is necessary (e.g. as IfcExtrudedAreaSolid). An importing application is allowed to check for the existence of the profile name: in case of identifying it as a standardized name, the corresponding profile geometry and possibly other cross sectional properties can be read from a library. Otherwise the geometric representation and possible non geometric IfcProfileProperties have to be used.
Body Geometry\IfcTypeProduct.RepresentationMaps[*]
\IfcRepresentationMap.MappedRepresentation
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

The IfcMemberType may define the shared geometric representation for all member occurrences. The RepresentationMaps attribute refers to a list of IfcRepresentationMap's, that allow for multiple geometric representations (e.g. with IfcShaperepresentation's having an RepresentationIdentifier 'Box', 'Axis', or 'Body'). It is only applicable if the IfcMemberType has only occurrences of type IfcMember (See geometric use definition of IfcMember for further information).

NOTE  If the IfcMemberType has an associated IfcMaterialProfileSet, then no shared geometric representation shall be provided.
NOTE  The product shape representations are defined as RepresentationMaps (attribute of the supertype IfcTypeProduct), which get assigned by an element occurrence instance through the IfcShapeRepresentation.Item[n] being an IfcMappedItem. See IfcTypeProduct for further information.
NOTE  The values of attributes RepresentationIdentifier and RepresentationType of IfcShapeRepresentation are restricted in the same way as those for IfcMember and IfcMemberStandardCase
FieldMappingDefinition
(Query)\IfcMotorConnection
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialConstituentSet.MaterialConstituents[*]
\IfcMaterialConstituent.Name
\IfcLabel
The name by which the material constituent is known.
Port\IfcDistributionElement
The IFC class identifier indicating the subtype of object.
FieldMappingDefinition
(Query)\IfcObjectDefinition
Classification Association\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesClassification.RelatingClassification
\IfcClassificationReference.Identification
\IfcIdentifier

Any object occurrence or object type can have a reference to a specific classification reference, i.e. to a particular facet within a classification system.

FieldMappingDefinition
(Query)\IfcObject
Object User Identity\IfcObject.Name
\IfcLabel

An attribute Name and optionally Description can be used for all subypes of IfcObject. For those subtypes, that have an object type definition, such as ifcBeam - IfcBeamType, the common Name and optionally Description is associated with the object type.

Object Predefined Type\IfcObject.ObjectType
\IfcLabel
The type denotes a particular type that indicates the object further. The use has to be established at the level of instantiable subtypes. In particular it holds the user defined type, if the enumeration of the attribute PredefinedType is set to USERDEFINED.
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name

Any object occurrence can be typed by being assigned to a common object type utilizing this concept. A particular rule, restricting the applicable subtypes of IfcTypeObject that can be assigned, is introduced by overriding this concept at the level of subtypes of IfcObject.

Property Sets for Objects\IfcObject

Any object occurrence can hold property sets, each being a set of individual properties having name, description, value(s) and unit(s). A reference to applicable property sets, being part of this specification, is introduced at the level of sub types of IfcObject.

Property Sets with Override\IfcObject

Any object occurrence can hold property sets, either directly at the object occurrence as element specific property sets, or at the object type, as type property sets. In this case, the properties that are provided to the object occurrence are the combinations of element specific and type properties. In case, that the same property (within the same property set, is defined both, in occurrence and type properties, the property value of the occurrence property overrides the property value of the type property.

FieldMappingDefinition
(Query)\IfcOccupant
Actor Assignment\IfcActor.IsActingUpon[*]
\IfcRelAssignsToActor.RelatedObjects[*]
\IfcControl
FieldMappingDefinition
(Query)\IfcOpeningElement
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Product Local Placement\IfcProduct.ObjectPlacement
\IfcLocalPlacement.RelativePlacement
\IfcAxis2Placement3D

The local placement for IfcOpeningElement is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations.

  • The PlacementRelTo relationship of IfcLocalPlacement should point to the local placement of the same element, which is voided by the opening, i.e. referred to by VoidsElement.RelatingBuildingElement.
Body Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations['Body']
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

The 'Body' representation of IfcOpeningElement can be represented using the representation types 'SweptSolid', and 'Brep'. The representation type 'Brep' is explained at IfcFeatureElement

Swept Solid Representation Type with Horizontal Extrusion

The 'SweptSolid' geometric representation of IfcOpeningElement, using horizontal extrusion direction (for walls), is defined using the swept area solid geometry. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

  • RepresentationIdentifier : 'Body'
  • RepresentationType : 'SweptSolid'

The following additional constraints apply to the swept solid representation:

NOTE  In case of non-parallel jambs, the shape representation shall be a 'SweptSolid' representation with vertical extrusion.

Figure 161 illustrates an opening with horizontal extrusion.

NOTE  The local placement directions for the IfcOpeningElement are only given as an example, other directions are valid as well.
standard opening

Figure 161 — Opening with full extrusion

Figure 162 illustrates an opening for a recess.

NOTE  The local placement directions for the IfcOpeningElement are only given as an example, other directions are valid as well.
NOTE  Rectangles are now defined centric, the placement location has to be set:
recess

Figure 162 — Opening with recess extrusion

Swept Solid Representation with Vertical Extrusion

The 'SweptSolid' geometric representation of IfcOpeningElement, using vertical extrusion direction (for walls), is defined using the swept area solid geometry, however the extrusion direction may be vertical, i.e. in case of a wall opening, the extrusion would be in the direction of the wall height. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

  • RepresentationIdentifier : 'Body'
  • RepresentationType : 'SweptSolid'

The following additional constraints apply to the swept solid representation:

Vertical extrusions shall be used when an opening or recess has a non rectangular foot print geometry that does not change along the height of the opening or recess.

Figure 163 shows a vertical extrusion with multiple extrusion bodies for the opening. Each extrusion body has a different extrusion lenght.

NOTE  The local placement directions for the IfcOpeningElement are only given as an example, other directions are valid as well.
vertical extrusion

Figure 163 — Opening with multiple extrusions

Reference Geometry\IfcProduct.Representation
\IfcProductDefinitionShape.Name

Since there are no Boolean operations, either as IfcBooleanResult or implicitly by IfcRelVoidsElement the geometry of the IfcOpeningElement shall not be used to subtract the opening from the 'Body' shape representation of the voided element.

FieldMappingDefinition
(Query)\IfcOpeningStandardCase
Placement\IfcProduct.ObjectPlacement
\IfcLocalPlacement.RelativePlacement
\IfcAxis2Placement3D

The following constraint is mandatory for IfcOpeningStandardCase

  • The PlacementRelTo relationship of IfcLocalPlacement should point to the local placement of the same element, which is voided by the opening, i.e. referred to by VoidsElement.RelatingBuildingElement.
Body Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations['Body']
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

The geometric representation of IfcOpeningStandardCase is defined using the following multiple shape representations for its definition:

  • Body: A SweptSolid representation defining the 3D subtraction shape of the standard opening

Body Representation

The body representation of IfcOpeningStandardCase is represented using the representation type 'SweptSolid'.

Swept Solid Representation Type with Horizontal Extrusion

The standard geometric representation of IfcOpeningStandardCase is defined using the 'SweptSolid' representation. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used::

  • RepresentationIdentifier : 'Body'
  • RepresentationType : 'SweptSolid'

The following additional constraints apply to the swept solid representation:

As shown in Figure 36, the orientation of the opening profile that is extruded for the opening body shall guarantee the following interpretation of dimension parameter for rectangular openings:

  • IfcRectangleProfileDef.YDim interpreted as opening width
  • IfcRectangleProfileDef.XDim interpreted as opening height
standard opening

Figure 162 — Opening standard representation

FieldMappingDefinition
(Query)\IfcOutlet
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialConstituentSet.MaterialConstituents[*]
\IfcMaterialConstituent.Name
\IfcLabel
The name by which the material constituent is known.
Port\IfcDistributionElement
The IFC class identifier indicating the subtype of object.
FieldMappingDefinition
(Query)\IfcPerformanceHistory
Property Sets for Performance\IfcPerformanceHistory.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcPropertySet.HasProperties[*]
\IfcPropertyReferenceValue.PropertyReference
\IfcIrregularTimeSeries.Values[*]
\IfcIrregularTimeSeriesValue.TimeStamp
\IfcDateTime

The property sets relating to this entity are defined by IfcPropertySet and attached by the IfcRelDefinesByProperties relationship. They are accessible by the IsDefinedBy inverse attribute. Applicable property sets are defined at assigned entities (primarily IfcDistributionElement subtypes) where IfcPropertySetTemplate.PropertySetType is PSET_PERFORMANCEDRIVEN.

In addition to standard property sets defined within this specification, if the underlying information source provides metadata (specific type information), then custom property sets may capture such data, where corresponding IfcPropertySetTemplate and IfcPropertyTemplate objects may be defined for such information to be accessed by other applications.

Classification\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesClassification.RelatingClassification
\IfcClassificationReference.Identification
\IfcIdentifier

IfcPerformanceHistory may be classified using IfcRelAssociatesClassification where RelatingClassification refers to an IfcClassificationReference indicating a classification notation. Such classification notation may be used to identify the information such as an address within a building automation system, a work breakdown structure code for tasks, or a cost code for resource allocation.

Aggregation

IfcPerformanceHistory may be decomposed into components using IfcRelNests where RelatingObject refers to the enclosing IfcPerformanceHistory and RelatedObjects contains one or more IfcPerformanceHistory components. Composition indicates breakdown of further detail and may correspond to the hierarchy of objects it represents.

Control Assignment\IfcControl.Controls[*]
\IfcRelAssignsToControl.RelatedObjects[*]
\IfcObject
Related objects, which are assigned to a single object. The type of the single (or relating) object is defined in the subtypes of IfcRelAssigns.
FieldMappingDefinition
(Query)\IfcPermit
Approval\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesApproval.RelatingApproval
\IfcApproval.Name
\IfcLabel

Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcPermit. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted.

\IfcObject
The IFC class identifier indicating the subtype of object.
Aggregation
Nesting\IfcObjectDefinition.IsNestedBy[*]
\IfcRelNests.RelatedObjects[*]
\IfcObject
The object definitions, either non-product object occurrences or non-product object types, that are being nestes. They are defined as the parts in the ordered whole/part relationship - i.e. there is an implied order among the parts expressed by the position within the list of RelatedObjects.
Control Assignment\IfcControl.Controls[*]
\IfcRelAssignsToControl.RelatedObjects[*]
\IfcObject

Figure 282 illustrates assignment relationships as indicated:

The IfcPermit may have assignments of its own using the IfcRelAssignsToControl relationship where RelatingControl refers to the IfcPermit and RelatedObjects contains one or more objects of the following types:

  • IfcActor: Organization(s) bound to the permit, typically a single contractor.
Assignment Use Definition

Figure 282 — Permit assignment

FieldMappingDefinition
(Query)\IfcPile
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material Profile Set Usage\IfcProduct.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialProfileSetUsage.ForProfileSet
\IfcMaterialProfileSet.MaterialProfiles[*]
\IfcMaterialProfile.Name
The name by which the material profile is known.
Placement\IfcProduct.ObjectPlacement
\IfcLocalPlacement.RelativePlacement
\IfcAxis2Placement3D
Geometric placement that defines the transformation from the related coordinate system into the relating. The placement can be either 2D or 3D, depending on the dimension count of the coordinate system.
Axis Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations['Axis']
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext
Definition of the representation context for which the different subtypes of representation are valid.
Footprint Geometry\IfcProduct.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.RepresentationIdentifier
\IfcLabel
The optional identifier of the representation as used within a project.
Body Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations['Body']
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext
Definition of the representation context for which the different subtypes of representation are valid.
FieldMappingDefinition
(Query)\IfcPipeFitting
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material\IfcProduct.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialLayerSetUsage.ForLayerSet
\IfcMaterialLayerSet.MaterialLayers[*]
\IfcMaterialLayer.Name
The name by which the material layer is known.
Port\IfcDistributionElement
The IFC class identifier indicating the subtype of object.
FieldMappingDefinition
(Query)\IfcPipeSegment
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material\IfcProduct.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialProfileSetUsage.ForProfileSet
\IfcMaterialProfileSet.MaterialProfiles[*]
\IfcMaterialProfile.Name
The name by which the material profile is known.
Port\IfcDistributionElement
The IFC class identifier indicating the subtype of object.
FieldMappingDefinition
(Query)\IfcPlate
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material Layer Set\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialLayerSet.MaterialLayers[*]
\IfcMaterialLayer.Name
\IfcLabel

The material of the IfcPlate is defined by IfcMaterialLayerSet, or by IfcMaterial, and it is attached either directly or at the IfcPlateType.

NOTE  It is illegal to assign an IfcMaterialLayerSetUsage to an IfcPlate. Only the subtype IfcPlateStandardCase supports this concept.
Spatial Containment\IfcElement.ContainedInStructure[*]
\IfcRelContainedInSpatialStructure.RelatingStructure
\IfcSpatialElement.Name
\IfcLabel

The IfcPlate, as any subtype of IfcBuildingElement, may participate alternatively in one of the two different containment relationships:

  • the Spatial Containment (defined here), or
  • the Element Composition.
Surface 3D Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext
NOTE  The 'Surface' can be used to define a surfacic model of the building (e.g. for analytical purposes, or for reduced Level of Detail representation).
Body SweptSolid Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

The following additional constraints apply to the 'SweptSolid' representation:

  • Solid: IfcExtrudedAreaSolid is required,
  • Profile: IfcArbitraryClosedProfileDef, IfcArbitraryProfileDefWithVoids, IfcRectangleProfileDef, IfcCircleProfileDef, IfcEllipseProfileDef shall be supported.
  • Extrusion: The profile can be extruded perpendicularly or non-perpendicularly to the plane of the swept profile.

Body Clipping Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext
Definition of the representation context for which the different subtypes of representation are valid.
Product Assignment\IfcProduct.ReferencedBy[*]
\IfcRelAssignsToProduct.RelatedObjects[*]
\IfcObject
Related objects, which are assigned to a single object. The type of the single (or relating) object is defined in the subtypes of IfcRelAssigns.
FieldMappingDefinition
(Query)\IfcPlateStandardCase
Material Layer Set Usage\IfcProduct.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialLayerSetUsage.ForLayerSet
\IfcMaterialLayerSet.MaterialLayers[*]
\IfcMaterialLayer.Name

The material of the IfcPlateStandardCase is defined by IfcMaterialLayerSetUsage and attached by the IfcRelAssociatesMaterial.RelatingMaterial. It is accessible by the inverse HasAssociations relationship. Multi-layer plates can be represented by refering to several IfcMaterialLayer's within the IfcMaterialLayerSet that is referenced from the IfcMaterialLayerSetUsage

Material information can also be given at the IfcPlateType, defining the common attribute data for all occurrences of the same type. It is then accessible by the inverse IsDefinedBy relationship pointing to IfcPlateType.HasAssociations and via IfcRelAssociatesMaterial.RelatingMaterial.

The IfcPlateStandardCase defines in addition that the IfcPlateType should have a unique IfcMaterialLayerSet, that is referenced by the IfcMaterialLayerSetUsage assigned to all occurrences of this IfcPlateType.

Figure 233 illustrates assignment of IfcMaterialLayerSetUsage and IfcMaterialLayerSet to the IfcPlateStandardCase as the plate occurrence and to the IfcPlateType. The same IfcMaterialLayerSet shall be shared by many occurrences of IfcMaterialLayerSetUsage. This relationship shall be consistent to the relationship between the IfcPlateType and the IfcPlateStandardCase.

Material layer set and usage 

Figure 233 — Plate type definition

As shown in Figure 106, the following conventions shall be met:

  • The reference coordinate system is the coordinate system established by the IfcExtrudedAreaSolid.Position.
  • The reference plane is the plane defined by the extruded profile of IfcExtrudedAreaSolid.SweptSolid. The IfcMaterialLayerSetUsage.OffsetFromReferenceLine is given as a distance from this plane.
  • The IfcMaterialLayerSetUsage.DirectionSense defines how the IfcMaterialLayer's are assigned to the reference plane. POSITIVE means in direction to the positive z-axis of the reference coordinate system.
  • The IfcMaterialLayerSetUsage.OffsetFromReferenceLine is the distance parallel to the reference plane and always perpendicular to the base (XY) plane of the reference coordinate system. This is independent of a potential non-perpendicular extrusion given by IfcExtrudedAreaSolid.ExtrudedDirection <> 0.,0.,1. A positive value of IfcMaterialLayerSetUsage.OffsetFromReferenceLine would then point into the positive z-axis of the reference coordinate system.
  • The Thickness of each IfcMaterialLayer shall be the parallel distance (measured perpendicular to the base plane). The TotalThickness of the IfcMaterialLayerSet is the sum of all layer thicknesses and in case of a perpendicular extrusion identical with IfcExtrudedAreaSolid.Depth
  • The IfcMaterialLayerSetUsage.LayerSetDirection i always AXIS3.
plate material layer set

Figure 234 — Plate material layers

Product Placement\IfcProduct.ObjectPlacement
\IfcLocalPlacement.RelativePlacement
\IfcAxis2Placement3D

The following restriction is imposed:

  • The local placement shall provide the location and directions for the standard plate, the x/y plane is the plane for the profile, and the z-axis is the extrusion axis for the plate body.
Body SweptSolid Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

The following additional constraints apply to the swept solid representation:

  • Solid: IfcExtrudedAreaSolid is required,
  • Profile: IfcArbitraryClosedProfileDef, IfcRectangleProfileDef, IfcRoundedRectangleProfileDef, IfcCircleProfileDef, IfcEllipseProfileDef shall be supported.
  • Extrusion: The profile can be extruded perpendicularly or non-perpendicularly to the plane of the swept profile.
  • Material: The definition of the IfcMaterialLayerSetUsage, particularly of the OffsetFromReferenceLine and the ForLayerSet.TotalThickness, has to be consistent to the 'SweptSolid' representation.

 

standard plate
EXAMPLE  Figure 234 illustrates a 'SweptSolid' geometric representation. The following interpretation of dimension parameter applies for polygonal plates (in ground floor view): IfcArbitraryClosedProfileDef.OuterCurve being a closed bounded curve is interpreted as area (or foot print) of the plate.

Figure 234 — Plate body extrusion

 
Body Clipping Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

The following constraints apply to the 'Clipping' representation:

  • Solid: see 'SweptSolid' shape representation,
  • Profile: see 'SweptSolid' shape representation,
  • Extrusion: see 'SweptSolid' shape representation,
  • Material: see 'SweptSolid' shape representation,
  • Boolean result: The IfcBooleanClippingResult shall be supported, allowing for Boolean differences between the swept solid (here IfcExtrudedAreaSolid) and one or several IfcHalfSpaceSolid.

 

advanced plate
EXAMPLE  Figure 235 illustrates a 'Clipping' geometric representation with definition of a plate using advanced geometric representation. The profile is extruded non-perpendicular and the plate body is clipped at the eave.

Figure 235 — Plate body clipping

 
FieldMappingDefinition
(Query)\IfcPlateType
Material Layer Set\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialLayerSet.MaterialLayers[*]
\IfcMaterialLayer.Name
\IfcLabel

The material of the IfcPlateType is defined by the IfcMaterialLayerSet or as fall back by IfcMaterial and attached by the IfcRelAssociatesMaterial.RelatingMaterial. It is accessible by the inverse HasAssociations relationship.

NOTE  It is illegal to assign an IfcMaterial to an IfcPlateType, if there is at least one occurrences of IfcPlateStandardCase for this type.

The shared material layer set definition is defined by assigning an IfcMaterialLayerSet (see material use definition above). The IfcMaterialLayer refers to one or several of IfcMaterial that is the common for all plate occurrence, if used. It is only applicable if the IfcPlateType has only occurrences of type IfcPlateStandardCase (see definition of IfcPlateStandardCase for further information).

NOTE  Since each individual instance of IfcPlateStandardCase defines its own IfcMaterialLayerSetUsage including the offset from the reference plane, the same IfcPlateType can be used independently of the reference plane alignment of its occurrences.
Body Geometry\IfcTypeProduct.RepresentationMaps[*]
\IfcRepresentationMap.MappedRepresentation
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext
Definition of the representation context for which the different subtypes of representation are valid.
FieldMappingDefinition
(Query)\IfcPositioningElement
Placement\IfcProduct.ObjectPlacement
\IfcLocalPlacement.RelativePlacement
\IfcAxis2Placement3D

The local placement for IfcGrid is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations.

  • The PlacementRelTo relationship of IfcLocalPlacement shall point (if given) to the local placement of the same IfcSpatialStructureElement, which is used in the ContainedInStructure inverse attribute, or to a spatial structure element at a higher level, referenced by that.
  • If the relative placement is not used, the absolute placement is defined within the world coordinate system.
Footprint Geometry\IfcProduct.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.RepresentationIdentifier
\IfcLabel

The 2D geometric representation of IfcGrid is defined using the 'GeometricCurveSet' geometry. The following attribute values should be inserted

  • IfcShapeRepresentation.RepresentationIdentifier = 'FootPrint'.
  • IfcShapeRepresentation.RepresentationType = 'GeometricCurveSet' .

The following constraints apply to the 2D representation:

design grid
As shown in Figure 31, the IfcGrid defines a placement coordinate system using the ObjectPlacement. The XY plane of the coordinate system is used to place the 2D grid axes. The Representation of IfcGrid is defined using IfcProductRepresentation, referencing an IfcShapeRepresentation, that includes IfcGeometricCurveSet as Items. All grid axes are added as IfcPolyline to the IfcGeometricCurveSet.

Figure 164 — Grid layout

 

 

representation of a design grid
As shown in Figure 32, the attributes UAxes and VAxes define lists of IfcGridAxis within the context of the grid. Each instance of IfcGridAxis refers to the same instance of IfcCurve (here the subtype IfcPolyline) that is contained within the IfcGeometricCurveSet that represents the IfcGrid.

Figure 165 — Grid representation

 
FieldMappingDefinition
(Query)\IfcProcedure
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name

IfcProcedure defines the anticipated or actual occurrence of any procedure; common information about procedure types is handled by IfcProcedureType.

Property Sets\IfcObject
The IFC class identifier indicating the subtype of object.
Nesting\IfcObjectDefinition.IsNestedBy[*]
\IfcRelNests.RelatedObjects[*]
\IfcObject

The IfcProcedure may be contained within an IfcTask or IfcProcedure using the IfcRelNests relationship. An IfcProcedure may in turn nest other IfcProcedure or IfcEvent entities. Such nesting indicates decomposed level of detail.

Sequential Connectivity\IfcProcess.IsPredecessorTo[*]
\IfcRelSequence.RelatedProcess
\IfcProcess

The relationship IfcRelSequence is used to indicate control flow. An IfcProcedure as a successor to an IfcEvent indicates that the procedure should be performed in response to the event. An IfcProcedure as a predecessor to an IfcEvent indicates that the event should be trigerred following the procedure. As procedures have arbitrary duration, the IfcRelSequence.SequenceType attribute has no effect on an IfcProcedure but still applies to the opposite end of the relationship if IfcTask is used.

Process Assignment\IfcProcess.OperatesOn[*]
\IfcRelAssignsToProcess.RelatedObjects[*]
\IfcResource
NOTE  A particular type of IfcProcedure is a caution, warning or other form of advisory note. Typically, it is anticipated that such a procedure would be assigned to the specific IfcProcess for which it gives advice using IfcRelAssignsToProcess.
Control Assignment\IfcControl.Controls[*]
\IfcRelAssignsToControl.RelatedObjects[*]
\IfcObject

An IfcProcedure may be assigned to an IfcWorkCalendar to indicate times when such procedure may be performed using IfcRelAssignsToControl; otherwise the effective calendar is determined by the nearest IfcProcess ancestor with a calendar assigned. Advisory notes should be assigned to the specific IfcProcess for which it gives advice using IfcRelAssignsToProcess.

Product Assignment\IfcProduct.ReferencedBy[*]
\IfcRelAssignsToProduct.RelatedObjects[*]
\IfcObject

For building operation scenarios, IfcProcedure may be assigned to a product (IfcElement subtype) using IfcRelAssignsToProduct to indicate a specific product occurrence that performs the procedure.

EXAMPLE  An IfcActuator may have a "Close" procedure. If the IfcProcedure is defined by an IfcProcedureType and the IfcProcedureType is assigned to a product type (using IfcRelAssignsToProduct), then the IfcProcedure must be assigned to one or more occurrences of the specified product type using IfcRelAssignsToProduct.
FieldMappingDefinition
(Query)\IfcProcess
\IfcObject
The IFC class identifier indicating the subtype of object.
FieldMappingDefinition
(Query)\IfcProduct
Product Placement

The Product Placement establishes the object coordinate system and is required, if a geometric shape representation is provided for this product.

Product Geometric Representation\IfcProduct.Representation
\IfcProductDefinitionShape.Name

The geometric representation of any IfcProduct is provided by the IfcProductDefinitionShape allowing multiple geometric representations. It uses the Product Placement concept utilizing IfcLocalPlacement to establish an object coordinate system, within all geometric representations are founded.

NOTE  A detailed specification of how to apply the local placement and which shape representaions are applicable is provided at the level of subtypes of IfcProduct and is further determined by the model view definition and implementer agreements.
FieldMappingDefinition
(Query)\IfcProfileDef
\IfcObject
The IFC class identifier indicating the subtype of object.
FieldMappingDefinition
(Query)\IfcProject
Project Units\IfcContext.UnitsInContext
\IfcUnitAssignment.Units[*]
\IfcDerivedUnit.UnitType
\IfcDerivedUnitEnum
Name of the derived unit chosen from an enumeration of derived unit types for use in IFC models.
Project Representation Context\IfcContext.RepresentationContexts[*]
\IfcGeometricRepresentationContext.ContextIdentifier
\IfcLabel
The optional identifier of the representation context as used within a project.
Project Global Positioning\IfcContext.RepresentationContexts[*]
\IfcGeometricRepresentationContext.HasCoordinateOperation[*]
\IfcMapConversion.Eastings
\IfcLengthMeasure

The representation context of the project refers to a global positioning, i.e. the local engineering coordinate system of the project has a mapping to a defined projected coordinate system (a rectangular map coordinate system, as used in GIS systems)

Project Classification Information\IfcContext.HasAssociations[*]
\IfcRelAssociatesClassification.RelatingClassification
\IfcClassification.Source
\IfcLabel
Source (or publisher) for this classification.
Project Document Information\IfcContext.HasAssociations[*]
\IfcRelAssociatesDocument.RelatingDocument
\IfcDocumentInformation.Location
\IfcURIReference
Resource identifier or locator, provided as URI, URN or URL, of the document information for online references.
Project Library Information\IfcContext.HasAssociations[*]
\IfcRelAssociatesLibrary.RelatingLibrary
\IfcLibraryInformation.Version
\IfcLabel
Identifier for the library version used for reference.
Project Declaration\IfcContext.Declares[*]
\IfcRelDeclares.RelatedDefinitions[*]

The IfcProject is also the context for other information about the construction project such as a work plan. Non-product structures are assigned by their first level object to IfcProject using the IfcRelDeclares relationship. The IfcProject provides the context for work plans (or other non-product based) descriptions of the construction project. It is handled by the objectified relationship IfcRelDeclares.

NOTE  The spatial structure and the schedule structure can be decomposed. For example the IfcBuilding can be decomposed into IfcBuildingStorey's, and the IfcWorkPlan can be decomposed into IfcWorkSchedule's.
NOTE  The products and tasks can be decomposed further. For example the IfcCurtainWall can be decomposed into IfcMember and IfcPlate, the IfcTask can be decomposed into other IfcTask's.
NOTE  The products and tasks can have direct linking relationships. For example the IfcCurtainWall can be assigned to a IfcTask as an input or output for a construction schedule.

Figure 131 illustrates the use of IfcProject as context for work plans or work schedules.

project relationships

Figure 131 — Project spatial and work plan structure

Spatial Decomposition\IfcObjectDefinition.IsDecomposedBy[*]
\IfcRelAggregates.RelatedObjects[*]
\IfcSpatialElement.Name
\IfcLabel

The IfcProject is used to reference the root of the spatial structure of a building or other construction project (that serves as the primary project breakdown and is required to be hierarchical). The spatial structure elements are linked together, and to the IfcProject, by using the objectified relationship IfcRelAggregates.

The following constraints are applied to using the relationshio IfcRelAggregates in context of IfcProject

NOTE  The anomaly to use the composition structure through IfcRelAggregates for assigning the uppermost spatial container to IfcProject is due to upward compatibility reasons with earlier releases of this standard.

Figure 132 illustrates project relationships with spatial structures, elements, and element type libraries.

spatial decomposition relationships

Figure 132 — Project spatial structure, products and product type library

FieldMappingDefinition
(Query)\IfcProjectionElement
Property Sets\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Placement\IfcProduct.ObjectPlacement
\IfcLocalPlacement.RelativePlacement
\IfcAxis2Placement3D

The local placement for IfcOpeningRecess is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations.

  • The PlacementRelTo relationship of IfcLocalPlacement should point to the local placement of the same element, to which the projection adds, i.e. referred to by ProjectsElement.RelatingBuildingElement.
Body Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations['Body']
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

The geometric representation of IfcProjectionElement is defined using the swept area solid geometry. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

  • RepresentationIdentifier : 'Body'
  • RepresentationType : 'SweptSolid'

The following additional constraints apply to the swept solid representation:

As shown in Figure 165, the following interpretation of dimension parameter applies for rectangular projection:

  • IfcRectangleProfileDef.YDim interpreted as projection width
  • IfcRectangleProfileDef.XDim interpreted as projection height
  • IfcExtrudedAreaSolid.Depth is interpreted as projection depth
NOTE  Rectangles are now defined centric, the placement location has to be set:
NOTE  The local placement directions for the IfcProjectionElement are only given as an example, other directions are valid as well.
projection

Figure 165 — Projection representation

The general b-rep geometric representation of IfcProjectionElement is defined using the Brep geometry. The Brep representation allows for the representation of complex element shape. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

  • RepresentationIdentifier : 'Body'
  • RepresentationType : 'Brep'
FieldMappingDefinition
(Query)\IfcProjectOrder
Approval\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesApproval.RelatingApproval
\IfcApproval.Name
\IfcLabel

Approvals may be associated to indicate the status of acceptance or rejection using the IfcRelAssociatesApproval relationship where RelatingApproval refers to an IfcApproval and RelatedObjects contains the IfcProjectOrder. Approvals may be split into sub-approvals using IfcApprovalRelationship to track approval status separately for each party where RelatingApproval refers to the higher-level approval and RelatedApprovals contains one or more lower-level approvals. The hierarchy of approvals implies sequencing such that a higher-level approval is not executed until all of its lower-level approvals have been accepted.

\IfcObject
The IFC class identifier indicating the subtype of object.
Aggregation

As shown in Figure 160, an IfcProjectOrder may be aggregated into components.

Composition Use Definition

Figure 283 — Project order composition

Nesting\IfcObjectDefinition.IsNestedBy[*]
\IfcRelNests.RelatedObjects[*]
\IfcObject
The object definitions, either non-product object occurrences or non-product object types, that are being nestes. They are defined as the parts in the ordered whole/part relationship - i.e. there is an implied order among the parts expressed by the position within the list of RelatedObjects.
Control Assignment\IfcControl.Controls[*]
\IfcRelAssignsToControl.RelatedObjects[*]
\IfcObject

Figure 284 illustrates IfcProjectOrder assignment relationships as indicated:

The IfcProjectOrder may have assignments of its own using the IfcRelAssignsToControl relationship where RelatingControl refers to the IfcProjectOrder and RelatedObjects contains one or more objects of the following types:

  • IfcActor: Organization(s) contracted to fulfill the order, typically a single contractor, subcontractor, or supplier.
Assignment Use Definition

Figure 284 — Project order assignment

FieldMappingDefinition
(Query)\IfcProtectiveDevice
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialConstituentSet.MaterialConstituents[*]
\IfcMaterialConstituent.Name
\IfcLabel
The name by which the material constituent is known.
Port\IfcDistributionElement
The IFC class identifier indicating the subtype of object.
FieldMappingDefinition
(Query)\IfcProtectiveDeviceTrippingUnit
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Control Flow\IfcDistributionControlElement.AssignedToFlowElement[*]
\IfcRelFlowControlElements.RelatingFlowElement
\IfcDistributionFlowElement
Relationship to a distribution flow element
FieldMappingDefinition
(Query)\IfcPump
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialConstituentSet.MaterialConstituents[*]
\IfcMaterialConstituent.Name
\IfcLabel
The name by which the material constituent is known.
Port\IfcDistributionElement
The IFC class identifier indicating the subtype of object.
FieldMappingDefinition
(Query)\IfcRailing
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material Constituents\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialConstituentSet.MaterialConstituents[*]
\IfcMaterialConstituent.Name
\IfcLabel

The material of the IfcRailing is defined by the IfcMaterialConstituent or as fallback by IfcMaterial, and it is attached either directly or at the IfcRailingType.

Spatial Containment\IfcElement.ContainedInStructure[*]
\IfcRelContainedInSpatialStructure.RelatingStructure
\IfcSpatialElement.Name
\IfcLabel

The IfcRailing, as any subtype of IfcBuildingElement, may participate alternatively in one of the two different containment relationships:

  • the Spatial Containment (defined here), or
  • the Element Composition.
Axis 2D Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations['Axis']
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext
Definition of the representation context for which the different subtypes of representation are valid.
FieldMappingDefinition
(Query)\IfcRailingType
Body Geometry\IfcTypeProduct.RepresentationMaps[*]
\IfcRepresentationMap.MappedRepresentation
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext
Definition of the representation context for which the different subtypes of representation are valid.
FieldMappingDefinition
(Query)\IfcRamp
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
\IfcObject
The IFC class identifier indicating the subtype of object.
Material Solid\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterial

The material of the IfcRamp is defined by the IfcMaterial and attached by the IfcRelAssociatesMaterial.RelatingMaterial. It is accessible by the inverse HasAssociations relationship.

Material information can also be given at the IfcRampType, defining the common attribute data for all occurrences of the same type. It is then accessible by the inverse IsDefinedBy relationship pointing to IfcRampType.HasAssociations and via IfcRelAssociatesMaterial.RelatingMaterial to IfcMaterial. If both are given, then the material directly assigned to IfcRamp overrides the material assigned to IfcRampType.

Spatial Containment\IfcElement.ContainedInStructure[*]
\IfcRelContainedInSpatialStructure.RelatingStructure
\IfcSpatialElement.Name
\IfcLabel

The IfcRamp, as any subtype of IfcBuildingElement, may participate alternatively in one of the two different containment relationships:

  • the Spatial Containment (defined here), or
  • the Element Composition.
Element Decomposition\IfcElement.IsDecomposedBy[*]
\IfcRelAggregates.RelatedObjects[*]
\IfcElement.Name
\IfcLabel

If the IfcRamp has components (referenced by SELF\IfcProduct.IsDecomposedBy) then no independent 'Body' geometric representation shall be defined for the IfcRamp. The IfcRamp is then geometrically represented by the geometric representation of its components.

 

ramp
EXAMPLE  Figure 236 illustrates IfcRamp defining the local placement for all components.

Figure 236 — Ramp placement

 
Placement\IfcProduct.ObjectPlacement
\IfcLocalPlacement.RelativePlacement
\IfcAxis2Placement3D

The following restriction may be imposed by view definitions or implementer agreements:

  • If the IfcRamp establishes an aggregate, then all contained elements shall be placed relative to the IfcRamp.ObjectPlacement.
Axis 2D Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations['Axis']
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

The walking line is represented by a two-dimensional open curve as the axis. The curve is directed into the upward direction (direction has to be interpreted as specified at the subtypes of IfcCurve).

NOTE  The 'Axis' representation of IfcRamp may be provided even if the IfcRamp has components with own shape representations.
Body SweptSolid Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

If the IfcRamp has no components defined (empty set of SELF\IfcProduct.IsDecomposedBy) then the IfcRamp 'Body' geometry may be represented by an own IfcShapeRepresentation.

Body Clipping Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext
Definition of the representation context for which the different subtypes of representation are valid.
FieldMappingDefinition
(Query)\IfcRampFlight
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material Solid\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterial

The material of the IfcRampFlight is defined by the IfcMaterial and attached by the IfcRelAssociatesMaterial.RelatingMaterial. It is accessible by the inverse HasAssociations relationship.

Spatial Containment\IfcElement.ContainedInStructure[*]
\IfcRelContainedInSpatialStructure.RelatingStructure
\IfcSpatialElement.Name
\IfcLabel

The IfcRampFlight, as any subtype of IfcBuildingElement, may participate alternatively in one of the two different containment relationships:

  • the Spatial Containment (defined here), or
  • the Element Composition.
NOTE  Model view definitions or implementer agreements may force an IfcRampFlight to be solely used as a part within an IfcRamp container. In this case, no Spatial containment shall be used.
Axis 2D Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations['Axis']
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

The walking line is represented by a two-dimensional open curve as the axis. The curve is directed into the upward direction (direction has to be interpreted as specified at the subtypes of IfcCurve).

Figure 237 illustrates the axis representation which has the following constraints:

  • In case of straight flights the curve shall be a single item of type IfcPolyline.
  • In case of winding flights the curve shall be a single item of type IfcCompositeCurve.
  • In case of a curved flight or a spiral flight the curve shall be a single item of type IfcTrimmedCurve.
walking line

Figure 237 — Ramp flight axis

Footprint Geometry\IfcProduct.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.RepresentationIdentifier
\IfcLabel

The flight foot print, including the flight boundary is represented by a two-dimensional geometric curve set.

Figure 238 illustrates the footprint representation which has the following constraints:

  • In case of straight flights the curve set shall consist of a single item of type IfcPolyline.
  • In case of winding flights or curved flights the curve set shall consists of a single item of type IfcCompositeCurve.
  • In case of a spiral flight the curve set shall consists of a single item of type IfcConic or IfcPolyline.
boundary

Figure 238 — Ramp flight footprint

Body SweptSolid Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

The following additional constraints apply to the 'SweptSolid' representation type:

Figure 239 illustrates the body representation.

fig1

Figure 239 — Ramp flight body

Body Clipping Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext
Definition of the representation context for which the different subtypes of representation are valid.
FieldMappingDefinition
(Query)\IfcRampFlightType
Body Geometry\IfcTypeProduct.RepresentationMaps[*]
\IfcRepresentationMap.MappedRepresentation
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext
Definition of the representation context for which the different subtypes of representation are valid.
FieldMappingDefinition
(Query)\IfcRampType
Body Geometry\IfcTypeProduct.RepresentationMaps[*]
\IfcRepresentationMap.MappedRepresentation
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext
Definition of the representation context for which the different subtypes of representation are valid.
FieldMappingDefinition
(Query)\IfcReinforcingBar
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
Property Sets\IfcObject
The IFC class identifier indicating the subtype of object.
Quantity Sets\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material Profile Set Usage\IfcProduct.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialProfileSetUsage.ForProfileSet
\IfcMaterialProfileSet.MaterialProfiles[*]
\IfcMaterialProfile.Name
The name by which the material profile is known.
Body Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations['Body']
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

The representation map referenced by a 'Body' 'MappedRepresentation' should contain a representation of type 'AdvancedSweptSolid' which holds an IfcSweptDiskSolid (including subtype IfcSweptDiskSolidPolygonal). Multiple IfcMappedItem's can be used to represent several bars as one occurrence of IfcReinforcingBar.

FieldMappingDefinition
(Query)\IfcReinforcingMesh
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
Property Sets\IfcObject
The IFC class identifier indicating the subtype of object.
Quantity Sets\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Body Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations['Body']
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

The representation map referenced by a 'Body' 'MappedRepresentation' could contain a representation of type 'AdvancedSweptSolid' which holds an IfcSweptDiskSolid (including subtype IfcSweptDiskSolidPolygonal). Multiple IfcMappedItem's can be used to represent the bars within a mesh as one occurrence of IfcReinforcingMesh.

FieldMappingDefinition
(Query)\IfcRoof
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Spatial Containment\IfcElement.ContainedInStructure[*]
\IfcRelContainedInSpatialStructure.RelatingStructure
\IfcSpatialElement.Name
\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.
Element Decomposition\IfcElement.IsDecomposedBy[*]
\IfcRelAggregates.RelatedObjects[*]
\IfcElement.Name
\IfcLabel

Geometric representation by aggregated elements

If the IfcRoof has components (referenced by SELF\IfcObject.IsDecomposedBy) then no independent geometric representation shall defined for the IfcRoof. The IfcRoof is then geometrically represented by the geometric representation of its components. The components are accessed via SELF\IfcObject.IsDecomposedBy[1].RelatedObjects. The geometric representations that are supported for the aggregated elements are defined with each element. See geometric use definition for IfcSlab, IfcBeam, IfcColumn, IfcBuildingElementPart and other subtypes of IfcBuildingElement.

Figure 243 illustrates roof placement, with an IfcRoof defining the local placement for all aggregated elements.

roof

Figure 243 — Roof placement

Placement\IfcProduct.ObjectPlacement
\IfcLocalPlacement.RelativePlacement
\IfcAxis2Placement3D

The following restriction may be imposed by view definitions or implementer agreements:

  • If the IfcRoof establishes an aggregate, then all contained elements shall be placed relative to the IfcRoof.ObjectPlacement.
FieldMappingDefinition
(Query)\IfcRoofType
Body Geometry\IfcTypeProduct.RepresentationMaps[*]
\IfcRepresentationMap.MappedRepresentation
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext
Definition of the representation context for which the different subtypes of representation are valid.
FieldMappingDefinition
(Query)\IfcRoot
Identity\IfcRoot.GlobalId
\IfcGloballyUniqueId

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

Revision Control\IfcRoot.OwnerHistory
\IfcOwnerHistory.OwningUser
\IfcPersonAndOrganization.ThePerson
\IfcPerson.Identification
\IfcIdentifier

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

FieldMappingDefinition
(Query)\IfcSanitaryTerminal
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialConstituentSet.MaterialConstituents[*]
\IfcMaterialConstituent.Name
\IfcLabel
The name by which the material constituent is known.
Element Nesting\IfcElement.IsNestedBy[*]
\IfcRelNests.RelatedObjects[*]
\IfcElement.ObjectPlacement
\IfcLocalPlacement
IFC4 ADD1 CHANGE  Element nesting is now used for attaching faucets. Hot and cold water ports have been removed from subtypes that use attached faucets.
Port\IfcDistributionElement
The IFC class identifier indicating the subtype of object.
FieldMappingDefinition
(Query)\IfcSensor
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialConstituentSet.MaterialConstituents[*]
\IfcMaterialConstituent.Name
\IfcLabel
The name by which the material constituent is known.
Port\IfcDistributionElement
The IFC class identifier indicating the subtype of object.
Control Flow\IfcDistributionControlElement.AssignedToFlowElement[*]
\IfcRelFlowControlElements.RelatingFlowElement
\IfcDistributionFlowElement
Relationship to a distribution flow element
FieldMappingDefinition
(Query)\IfcShadingDevice
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
Material Single\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterial
Material definition assigned to the elements or element types.
Spatial Containment\IfcElement.ContainedInStructure[*]
\IfcRelContainedInSpatialStructure.RelatingStructure
\IfcSpatialElement.Name
\IfcLabel

The IfcShadingDevice, as any subtype of IfcBuildingElement, may participate alternatively in one of the two different containment relationships:

  • the Spatial Containment (defined here), or
  • the Element Composition.
FieldMappingDefinition
(Query)\IfcShadingDeviceType
Body Geometry\IfcTypeProduct.RepresentationMaps[*]
\IfcRepresentationMap.MappedRepresentation
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext
Definition of the representation context for which the different subtypes of representation are valid.
FieldMappingDefinition
(Query)\IfcSite
Spatial Composition\IfcSpatialElement.Decomposes[*]
\IfcRelAggregates.RelatingObject
\IfcProject.Name

By using the inverse relationship IfcSite.Decomposes it references IfcProject || IfcSite through IfcRelAggregates.RelatingObject, If it refers to another instance of IfcSite, the referenced IfcSite needs to have a different and higher CompositionType, i.e. COMPLEX (if the other IfcSite has ELEMENT), or ELEMENT (if the other IfcSite has PARTIAL).

Spatial Decomposition\IfcObjectDefinition.IsDecomposedBy[*]
\IfcRelAggregates.RelatedObjects[*]
\IfcSpatialElement.Name
\IfcLabel

By using the inverse relationship IfcSite.IsDecomposedBy it references (em>IfcSite || IfcBuilding || IfcSpace by IfcRelAggregates.RelatedObjects. If it refers to another instance of IfcSite, the referenced IfcSite needs to have a different and lower CompositionType, i.e. ELEMENT (if the other IfcSite has COMPLEX), or PARTIAL (if the other IfcSite has ELEMENT).

Spatial Container\IfcSpatialElement.ContainsElements[*]
\IfcRelContainedInSpatialStructure.RelatedElements[*]
\IfcProduct

If there are building elements and/or other elements directly related to the IfcSite (like a fence, or a shear wall), they are associated with the IfcSite by using the objectified relationship IfcRelContainedInSpatialStructure. The IfcIfcSite references them by its inverse relationship:

  • IfcSite.ContainsElements -- referencing any subtype of IfcProduct (with the exception of other spatial structure element) by IfcRelContainedInSpatialStructure.RelatedElements
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Placement\IfcProduct.ObjectPlacement
\IfcLocalPlacement.RelativePlacement
\IfcAxis2Placement3D

The local placement for IfcSite is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations.

  • The PlacementRelTo relationship of IfcLocalPlacement shall point to the IfcSpatialStructureElement of type "IfcSite", if relative placement is used (e.g. to position a site relative a a site complex, or a site section to a site).
  • If the relative placement is not used, the absolute placement is defined within the world coordinate system. If there is only one site object, then this is the default situation.
FootPrint GeomSet Geometry\IfcProduct.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.RepresentationIdentifier
\IfcLabel

The foot print representation of IfcSite is given by either a single 2D curve (such as IfcPolyline or IfcCompositeCurve), or by a list of 2D curves (in case of inner boundaries).

Survey Points Geometry\IfcSite.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

The survey point representation of IfcSite is defined using a set of survey points and optionally breaklines. The breaklines are restricted to only connect points given in the set of survey points. Breaklines, if given, are used to constrain the triangulation.

The representation identifier and type of this geometric representation of IfcSite is:

  • IfcShapeRepresentation.RepresentationIdentifier = 'SurveyPoints'
  • IfcShapeRepresentation.RepresentationType = 'GeometricCurveSet'

Figure 183 shows a set of survey points, given as 3D Cartesian points within the object coordinate system of the site. Figure 184 shows the result after facetation.

The set of IfcCartesianPoint is included in the set of IfcGeometricCurveSet.Elements.

points only facetation of points

Figure 183 — Site survey points

Figure 184 — Site survey points facetation

Figure 185 shows A set of survey points, given as 3D Cartesian points, and a set of break points, given as a set of lines, connecting some survey points, within the object coordinate system of the site. Figure 186 shows the result after facetation.

The set of IfcCartesianPoint and the set of IfcPolyline are included in the set of IfcGeometricCurveSet.Elements.

breaklines facetation with breakpoints

Figure 185 — Site breaklines

Figure 186 — Site breaklines facetation

NOTE  The geometric representation of the site has been based on the ARM level description of the site_shape_representation given within the ISO 10303-225 "Building Elements using explicit shape representation".
Body Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations['Body']
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

The body representation of IfcSite is defined using a solid or surface model. Applicable solids are the IfcFacetedBrep or on the IfcFacetedBrepWithVoids, applicable surface models are the IfcFaceBasedSurfaceModel and the IfcShellBasedSurfaceModel.

The representation identifier and type of this representation of IfcSite is:

  • IfcShapeRepresentation.RepresentationIdentifier = 'Body'
  • IfcShapeRepresentation.RepresentationType = 'Brep', or 'SurfaceModel'
FieldMappingDefinition
(Query)\IfcSlab
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material Layer Set\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialLayerSet.MaterialLayers[*]
\IfcMaterialLayer.Name
\IfcLabel

The material of the IfcSlab is defined by IfcMaterialLayerSet, or as fallback by IfcMaterial, and it is attached either directly or at the IfcSlabType.

NOTE  It is illegal to assign an IfcMaterialLayerSetUsage to an IfcSlab. Only the subtype IfcSlabStandardCase supports this concept.
Spatial Containment\IfcElement.ContainedInStructure[*]
\IfcRelContainedInSpatialStructure.RelatingStructure
\IfcSpatialElement.Name
\IfcLabel

The IfcSlab, as any subtype of IfcBuildingElement, may participate alternatively in one of the two different containment relationships:

  • the Spatial Containment (defined here), or
  • the Element Composition.
Surface Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext
NOTE  The 'Surface' can be used to define a surfacic model of the building (e.g. for analytical purposes, or for reduced Level of Detail representation).
Body SweptSolid Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

The following additional constraints apply to the swept solid representation:

  • Solid: IfcExtrudedAreaSolid is required,
  • Profile: IfcArbitraryClosedProfileDef, IfcRectangleProfileDef, IfcCircleProfileDef, IfcEllipseProfileDef shall be supported.
  • Extrusion: The profile can be extruded perpendicularly or non-perpendicularly to the plane of the swept profile.

Figure 244 illustrates a 'SweptSolid' geometric representation.

NOTE  The following interpretation of dimension parameter applies for polygonal slabs (in ground floor view):
  • IfcArbitraryClosedProfileDef.OuterCurve: closed bounded curve interpreted as area (or foot print) of the slab.
standard slab

Figure 244 — Slab body extrusion

Body Clipping Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

The following constraints apply to the 'Clipping' representation:

  • Solid: see 'SweptSolid' shape representation,
  • Profile: see 'SweptSolid' shape representation,
  • Extrusion: see 'SweptSolid' shape representation,
  • Boolean result: The IfcBooleanClippingResult shall be supported, allowing for Boolean differences between the swept solid (here IfcExtrudedAreaSolid) and one or several IfcHalfSpaceSolid.

Figure 245 illustrates a 'Clipping' geometric representation with definition of a roof slab using advanced geometric representation. The profile is extruded non-perpendicular and the slab body is clipped at the eave.

advanced slab

Figure 245 — Slab body clipping

Voiding\IfcElement.HasOpenings[*]
\IfcRelVoidsElement.RelatedOpeningElement
\IfcOpeningElement.PredefinedType
\IfcOpeningElementTypeEnum
Predefined generic type for an opening that is specified in an enumeration. There may be a property set given specificly for the predefined types.
Product Assignment\IfcProduct.ReferencedBy[*]
\IfcRelAssignsToProduct.RelatedObjects[*]
\IfcObject
Related objects, which are assigned to a single object. The type of the single (or relating) object is defined in the subtypes of IfcRelAssigns.
FieldMappingDefinition
(Query)\IfcSlabElementedCase
Aggregation

The following guidance is provided for the components of the IfcSlabElementedCase. The following component entity types should be used:

Placement\IfcProduct.ObjectPlacement
\IfcLocalPlacement.RelativePlacement
\IfcAxis2Placement3D

The use of local placement is defined at the supertype IfcSlab. The local placement of the IfcSlabElementedCase defines the parent coordinate systems for the parts within the decomposition. All parts shall be positioned relative to the IfcSlabElementedCase.

Surface Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

A three-dimensional surface being a subtype of IfcBoundedSurface defining the reference surface for the elemented slab. It maybe used as a simplified representation directly at the elemented slab.

NOTE  It is invalid to exhange a 'Body' shape representation of an IfcSlabElementedCase. The body geometry is defined by the parts within the decomposition.
NOTE  The 'Surface' can be used to define a surfacic model of the building (e.g. for analytical purposes, or for reduced Level of Detail representation). It should suppress the geometric details of the parts in the decomposition.
FieldMappingDefinition
(Query)\IfcSlabStandardCase
Material Layer Set Usage\IfcProduct.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialLayerSetUsage.ForLayerSet
\IfcMaterialLayerSet.MaterialLayers[*]
\IfcMaterialLayer.Name

Multi-layer slabs can be represented by refering to several IfcMaterialLayer's within the IfcMaterialLayerSet that is referenced from the IfcMaterialLayerSetUsage

Material information can also be given at the IfcSlabType, defining the common attribute data for all occurrences of the same type. It is then accessible by the inverse IsDefinedBy relationship pointing to IfcSlabType.HasAssociations and via IfcRelAssociatesMaterial.RelatingMaterial. The IfcSlabStandardCase defines in addition that the IfcSlabType should have a unique IfcMaterialLayerSet, that is referenced by the IfcMaterialLayerSetUsage assigned to all occurrences of this IfcSlabType.

 

Material layer set and usage
EXAMPLE  Figure 248 illustrates assignment of IfcMaterialLayerSetUsage and IfcMaterialLayerSet to the IfcSlabStandardCase as the slab occurrence and to the IfcSlabType. The same IfcMaterialLayerSet shall be shared by many occurrences of IfcMaterialLayerSetUsage. This relationship shall be consistent to the relationship between the IfcSlabType and the IfcSlabStandardCase.

Figure 248 — Slab type definition

 

Figure 249 illustrates slab material usage, where the following conventions shall be met:

  • The reference coordinate system is the coordinate system established by the IfcExtrudedAreaSolid.Position.
  • The reference plane is the plane defined by the extruded profile of IfcExtrudedAreaSolid.SweptSolid. The IfcMaterialLayerSetUsage.OffsetFromReferenceLine is given as a distance from this plane.
  • The IfcMaterialLayerSetUsage.DirectionSense defines how the IfcMaterialLayer's are assigned to the reference plane. POSITIVE means in direction to the positive z-axis of the reference coordinate system.
  • The IfcMaterialLayerSetUsage.OffsetFromReferenceLine is the distance parallel to the reference plane and always perpendicular to the base (XY) plane of the reference coordinate system. This is independent of a potential non-perpendicular extrusion given by IfcExtrudedAreaSolid.ExtrudedDirection <> 0.,0.,1. A positive value of IfcMaterialLayerSetUsage.OffsetFromReferenceLine would then point into the positive z-axis of the reference coordinate system.
  • The Thickness of each IfcMaterialLayer shall be the parallel distance (measured perpendicular to the base plane). The TotalThickness of the IfcMaterialLayerSet is the sum of all layer thicknesses and in case of a perpendicular extrusion identical with IfcExtrudedAreaSolid.Depth
  • The IfcMaterialLayerSetUsage.LayerSetDirection is always AXIS3.
slab material layer set
roof slab material layer set

Figure 249 — Slab material layers

Product Placement\IfcProduct.ObjectPlacement
\IfcLocalPlacement.RelativePlacement
\IfcAxis2Placement3D

The following restriction is imposed:

  • The local placement shall provide the location and directions for the standard slab, the x/y plane is the plane for the profile, and the z-axis is the extrusion axis for the slab body.
Body SweptSolid Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

The following additional constraints apply to the swept solid representation:

  • Solid: IfcExtrudedAreaSolid is required,
  • Profile: IfcArbitraryClosedProfileDef, IfcRectangleProfileDef, IfcCircleProfileDef, IfcEllipseProfileDef shall be supported.
  • Extrusion: The profile can be extruded perpendicularly or non-perpendicularly to the plane of the swept profile.
  • Material: The definition of the IfcMaterialLayerSetUsage, particularly of the OffsetFromReferenceLine and the ForLayerSet.TotalThickness, has to be consistent to the 'SweptSolid' representation.

 

standard slab
EXAMPLE  Figure 249 illustrates a 'SweptSolid' geometric representation. The following interpretation of dimension parameter applies for polygonal slabs (in ground floor view): IfcArbitraryClosedProfileDef.OuterCurve: closed bounded curve interpreted as area (or foot print) of the slab.

Figure 249 — Slab body extrusion

 
Body Clipping Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

The following constraints apply to the 'Clipping' representation:

  • Solid: see 'SweptSolid' shape representation,
  • Profile: see 'SweptSolid' shape representation,
  • Extrusion: see 'SweptSolid' shape representation,
  • Material: see 'SweptSolid' shape representation,
  • Boolean result: The IfcBooleanClippingResult shall be supported, allowing for Boolean differences between the swept solid (here IfcExtrudedAreaSolid) and one or several IfcHalfSpaceSolid.

 

advanced slab
EXAMPLE  Figure 250 illustrates a 'Clipping' geometric representation with definition of a roof slab using advanced geometric representation. The profile is extruded non-perpendicular and the slab body is clipped at the eave.

Figure 250 — Slab body clipping

 
FieldMappingDefinition
(Query)\IfcSlabType
Material Layer Set\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialLayerSet.MaterialLayers[*]
\IfcMaterialLayer.Name
\IfcLabel

The material of the IfcSlabType is defined by the IfcMaterialLayerSet or as fall back by IfcMaterial and attached by the IfcRelAssociatesMaterial.RelatingMaterial. It is accessible by the inverse HasAssociations relationship.

NOTE  It is illegal to assign an IfcMaterial to an IfcSlabType, if there is at least one occurrences. of IfcSlabStandardCase for this type.

The shared material layer set definition is defined by assigning an IfcMaterialLayerSet (see material use definition above). The IfcMaterialLayer refers to one or several of IfcMaterial that is the common for all slab occurrence, if used. It is only applicable if the IfcSlabType has only occurrences of type IfcSlabStandardCase (see definition of IfcSlabStandardCase for further information).

NOTE  Since each individual instance of IfcSlabStandardCase defines its own IfcMaterialLayerSetUsage including the offset from the reference plane, the same IfcSlabType can be used independently of the reference plane alignment of its occurrences.
Body Geometry\IfcTypeProduct.RepresentationMaps[*]
\IfcRepresentationMap.MappedRepresentation
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext
Definition of the representation context for which the different subtypes of representation are valid.
FieldMappingDefinition
(Query)\IfcSolarDevice
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialConstituentSet.MaterialConstituents[*]
\IfcMaterialConstituent.Name
\IfcLabel
The name by which the material constituent is known.
Port\IfcDistributionElement
The IFC class identifier indicating the subtype of object.
FieldMappingDefinition
(Query)\IfcSpace
Spatial Composition\IfcSpatialElement.Decomposes[*]
\IfcRelAggregates.RelatingObject
\IfcProject.Name

By using the inverse relationship IfcSpace.IsDecomposedBy it references IfcSpace by IfcRelAggregates.RelatedObjects. If it refers to another instance of IfcSpace, the referenced IfcSpace needs to have a different and lower CompositionType, i.e. ELEMENT (if the other IfcSpace has COMPLEX), or PARTIAL (if the other IfcSpace has ELEMENT).

Spatial Decomposition\IfcObjectDefinition.IsDecomposedBy[*]
\IfcRelAggregates.RelatedObjects[*]
\IfcSpatialElement.Name
\IfcLabel

By using the inverse relationship IfcSpace.Decomposes it references IfcSite || IfcBuildingStorey || IfcSpace by IfcRelAggregates.RelatingObject. If it refers to another instance of IfcSpace, the referenced IfcSpace needs to have a different and higher CompositionType, i.e. COMPLEX (if the other IfcSpace has ELEMENT), or ELEMENT (if the other IfcSpace has PARTIAL).

Spatial Container\IfcSpatialElement.ContainsElements[*]
\IfcRelContainedInSpatialStructure.RelatedElements[*]
\IfcProduct

If there are building elements and/or other elements directly related to the IfcSpace (like most furniture and distribution elements), they are associated with the IfcSpace by using the objectified relationship IfcRelContainedInSpatialStructure. The IfcSpace references them by its inverse relationship:

  • IfcSpace.ContainsElements -- referencing any subtype of IfcProduct (with the exception of other spatial structure element) by IfcRelContainedInSpatialStructure.RelatedElements.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Space Boundaries 1st Level\IfcSpace.BoundedBy[*]
\IfcRelSpaceBoundary1stLevel.RelatedBuildingElement
\IfcElement
Reference to Building Element, that defines the Space Boundaries.
Space Boundaries 2nd Level\IfcSpace.BoundedBy[*]
\IfcRelSpaceBoundary2ndLevel.RelatedBuildingElement
\IfcElement
Reference to Building Element, that defines the Space Boundaries.
Product Local Placement\IfcProduct.ObjectPlacement
\IfcLocalPlacement.RelativePlacement
\IfcAxis2Placement3D

The local placement for IfcSpace is defined at its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations.

FootPrint GeomSet Geometry\IfcProduct.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.RepresentationIdentifier
\IfcLabel

The following constraints apply to the 2D representation:

 

2d representation
EXAMPLE  Figure 186 shows a two-dimensional bounded curve representing the foot print of IfcSpace.

Figure 186 — Space footprint

 
Body SweptSolid Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

The following constraints apply to the standard representation:

Figure 187 shows an extrusion of an arbitrary profile definition with voids into the swept area solid of IfcSpace.

fig1

Figure 187 — Space body swept solid

Body Clipping Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

The following additional constraints apply to the advanced representation:

Figure 188 shows an extrusion of an arbitrary profile definition into the swept area solid. The solid and an half space solid are operands of the Boolean result of IfcSpace.

fig2

Figure 188 — Space body clipping

Body Brep Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

The space can be represented by a brep geometry representation

FieldMappingDefinition
(Query)\IfcSpaceHeater
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialConstituentSet.MaterialConstituents[*]
\IfcMaterialConstituent.Name
\IfcLabel
The name by which the material constituent is known.
Port\IfcDistributionElement
The IFC class identifier indicating the subtype of object.
FieldMappingDefinition
(Query)\IfcSpatialElement
\IfcObject
The IFC class identifier indicating the subtype of object.
FootPrint GeomSet Geometry\IfcProduct.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.RepresentationIdentifier
\IfcLabel
The optional identifier of the representation as used within a project.
FieldMappingDefinition
(Query)\IfcSpatialStructureElement
\IfcObject
The IFC class identifier indicating the subtype of object.
FieldMappingDefinition
(Query)\IfcStackTerminal
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialConstituentSet.MaterialConstituents[*]
\IfcMaterialConstituent.Name
\IfcLabel
The name by which the material constituent is known.
Port\IfcDistributionElement
The IFC class identifier indicating the subtype of object.
FieldMappingDefinition
(Query)\IfcStair
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
Material Solid\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterial

The material of the IfcStair is defined by the IfcMaterial and attached by the IfcRelAssociatesMaterial.RelatingMaterial. It is accessible by the inverse HasAssociations relationship.

Material information can also be given at the IfcStairType, defining the common attribute data for all occurrences of the same type. It is then accessible by the inverse IsDefinedBy relationship pointing to IfcStair.HasAssociations and via IfcRelAssociatesMaterial.RelatingMaterial to IfcMaterial. If both are given, then the material directly assigned to IfcStair overrides the material assigned to IfcStairType.

Spatial Containment\IfcElement.ContainedInStructure[*]
\IfcRelContainedInSpatialStructure.RelatingStructure
\IfcSpatialElement.Name
\IfcLabel

The IfcStair, as any subtype of IfcBuildingElement, may participate alternatively in one of the two different containment relationships:

  • the Spatial Containment (defined here), or
  • the Element Composition.
Element Decomposition\IfcElement.IsDecomposedBy[*]
\IfcRelAggregates.RelatedObjects[*]
\IfcElement.Name
\IfcLabel

Geometric representation by aggregated elements

If the IfcStair has components (referenced by SELF\IfcObject.IsDecomposedBy) with own 'Body' representation, then no 'Body' representation shall defined for the IfcStair. The IfcStair shape is then represented by the geometric representation of its components. The components are accessed via SELF\IfcObject.IsDecomposedBy[1].RelatedObjects.

Figure 251 illustrates stair placement, where the IfcStair defines the local placement for all components and the common 'Axis' representation, and each component has its own 'Body' representation.

stair

Figure 251 — Stair placement

Placement\IfcProduct.ObjectPlacement
\IfcLocalPlacement.RelativePlacement
\IfcAxis2Placement3D

The following restriction may be imposed by view definitions or implementer agreements:

  • If the IfcStair establishes an aggregate, then all contained elements shall be placed relative to the IfcStair.ObjectPlacement.
Axis 2D Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations['Axis']
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

The walking line is represented by a two-dimensional open curve as the axis. The curve is directed into the upward direction (direction has to be interpreted as specified at the subtypes of IfcCurve).

NOTE  The 'Axis' representation of IfcStair may be provided even if the IfcStair has components with own shape representations.
Body SweptSolid Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext
Definition of the representation context for which the different subtypes of representation are valid.
FieldMappingDefinition
(Query)\IfcStairFlight
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material Solid\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterial

The material of the IfcStairFlight is defined by the IfcMaterial and attached by the IfcRelAssociatesMaterial.RelatingMaterial. It is accessible by the inverse HasAssociations relationship.

Spatial Containment\IfcElement.ContainedInStructure[*]
\IfcRelContainedInSpatialStructure.RelatingStructure
\IfcSpatialElement.Name
\IfcLabel

The IfcStairFlight, as any subtype of IfcBuildingElement, may participate alternatively in one of the two different containment relationships:

  • the Spatial Containment (defined here), or
  • the Element Composition.
NOTE  Model view definitions or implementer agreements may force an IfcStairFlight to be solely used as a part within an IfcStair container. In this case, no Spatial containment shall be used.
Axis 2D Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations['Axis']
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

The walking line is represented by a two-dimensional open curve as the axis. The curve is directed into the upward direction (direction has to be interpreted as specified at the subtypes of IfcCurve).

Figure 252 illustrates the axis representation which has the following constraints:

  • In case of straight flights the curve shall be a single item of type IfcPolyline.
  • In case of winding flights the curve shall be a single item of type IfcCompositeCurve.
  • In case of a curved flight or a spiral flight the curve shall be a single item of type IfcTrimmedCurve.
walking line

Figure 252 — Stair flight axis

Footprint Geometry\IfcProduct.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.RepresentationIdentifier
\IfcLabel

The flight foot print, including the flight boundary is represented by a two-dimensional geometric curve set.

Figure 253 illustrates the footprint representation which has the following constraints:

  • In case of straight flights the curve set shall consists of a single item of type IfcPolyline.
  • In case of winding flights or curved flights the curve set shall consists of a single item of type IfcCompositeCurve.
  • In case of a spiral flight the curve set shall consists of a single item of type IfcConic or IfcPolyline.
boundary

Figure 253 — Stair flight footprint

Body SweptSolid Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

Figure 254 illustrates the 'Body' geometric representation using a 'SweptSolid' representation type.

3D

Figure 254 — Stair flight body

FieldMappingDefinition
(Query)\IfcStairFlightType
Body Geometry\IfcTypeProduct.RepresentationMaps[*]
\IfcRepresentationMap.MappedRepresentation
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext
Definition of the representation context for which the different subtypes of representation are valid.
FieldMappingDefinition
(Query)\IfcStairType
Body Geometry\IfcTypeProduct.RepresentationMaps[*]
\IfcRepresentationMap.MappedRepresentation
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext
Definition of the representation context for which the different subtypes of representation are valid.
FieldMappingDefinition
(Query)\IfcStructuralAnalysisModel
Aggregation
Group Assignment\IfcGroup.IsGroupedBy[*]
\IfcRelAssignsToGroup.RelatedObjects[*]
\IfcProduct
Related objects, which are assigned to a single object. The type of the single (or relating) object is defined in the subtypes of IfcRelAssigns.
FieldMappingDefinition
(Query)\IfcStructuralCurveAction
Structural Activity\IfcStructuralActivity.AppliedLoad
\IfcStructuralLoad
Load or result resource object which defines the load type, direction, and load values.

In case of activities which are variably distributed over curves or surfaces, IfcStructuralLoadConfiguration is used which provides a list of load samples and their locations within the load distribution, measured in local coordinates of the curve or surface on which this activity acts. The contents of this load or result distribution may be further restricted by definitions at subtypes of IfcStructuralActivity.

FieldMappingDefinition
(Query)\IfcStructuralCurveConnection
Reference Topology\IfcProduct.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcTopologyRepresentation.ContextOfItems
\IfcGeometricRepresentationContext
Definition of the representation context for which the different subtypes of representation are valid.
FieldMappingDefinition
(Query)\IfcStructuralCurveMember
Structural Connectivity\IfcStructuralMember.ConnectedBy[*]
\IfcRelConnectsStructuralMember.RelatedStructuralConnection
\IfcStructuralConnection
Reference to an instance of IfcStructuralConnection (or its subclasses) which is connected to the specified structural member.
Material Profile Set Usage\IfcProduct.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialProfileSetUsage.ForProfileSet
\IfcMaterialProfileSet.MaterialProfiles[*]
\IfcMaterialProfile.Name

The material of direct instances IfcStructuralCurveMember (in contrast to instances of the subtype IfcStructuralCurveMemberVarying) is defined by IfcMaterialProfileSetUsage and attached by the IfcRelAssociatesMaterial.RelatingMaterial. It is accessible by the inverse HasAssociations relationship. Composite profile beams can be represented by refering to several IfcMaterialProfiles within the IfcMaterialProfileSet that is referenced from the IfcMaterialProfileSetUsage. In case of tapered members, the material profile usage subtype IfcMaterialProfileSetUsageDual is used which specifies IfcMaterialProfileSets separately at the start and the end of the tapered member.

The material (IfcMaterial) in each IfcMaterialProfile(Set) is specified minimally by a name which corresponds with an agreed upon standardized structural material designation. An external reference to the source which specifies the material designation should be provided. Alternatively, structural material properties may be provided by means of IfcMechanicalMaterialProperties and IfcExtendedMaterialProperties.

The profile (IfcProfileDef) in each IfcMaterialProfile(Set) is specified minimally by a name which corresponds with an agreed upon standardized structural profile designation. An external reference to the source which specifies the profile designation should be provided. Alternatively or additionally, explicit profile geometry should be provided by using respective subtypes of IfcProfileDef. Alternatively or additionally, structural profile properties may be provided by means of subtypes of IfcProfileProperties.

An IfcProfileDef is a two-dimensional geometric object with a xp,yp coordinate system. The profile is inserted into the curve member model thus that the origin of xp,yp is located at the member's reference curve and that xp,yp are parallel with and directed like the local y,z.

NOTE  Due to convention in structural mechanics, axis names of IfcStructuralCurveMember differ from axis names of building elements like IfcBeamStandardCase: The extrusion axis of IfcStructuralCurveMember is called x while the extrusion axis of IfcBeamStandardCase is called z. Hence x,y,z of IfcStructuralCurveMember correspond with z,x,y of IfcBeamStandardCase.

If the profile is meant to be inserted centrically in terms of structural section properties, it is necessary that the origin of xp,yp is identical with the geometric centroid of the profile (commonly also called centre of gravity). If subtypes of IfcParameterizedProfileDef are used which are only singly symmetric or are asymmetric, an explicit translation by IfcParameterizedProfileDef.Position.Location is required then.

If the profile is inserted at its geometric centroid, IfcMaterialProfileSetUsage.CardinalPoint shall be set to 10.

Otherwise, the profile is inserted eccentrically and a different cardinal point should be set accordingly.

NOTE  Another eccentricity model is available independently of eccentric profile specification: The reference curve of the member may be located eccentrically relative to the reference points of the connected IfcStructuralPointConnections. The connection relationship is then established by IfcRelConnectsWithEccentricity. Whether one or the other or both eccentricity models may be used is subject to information requirements and local agreements.
Reference Topology\IfcProduct.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcTopologyRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

Direct instances of IfcStructuralCurveMember shall have a topology representation which consists of one instance of IfcEdge or a subtype, representing the reference curve of the curve member. See definitions at IfcStructuralItem for further specifications.

Informal Propositions:

  1. The reference curve must not be parallel with Axis at any point within the curve member's domain.

The local coordinate system is established by the reference curve given by topology representation and by the attribute Axis. The local x axis is parallel with the tangent on the reference curve. The local z axis is located in the surface which is created by sweeping Axis along the reference curve and is directed according to Axis. The local y axis is directed such that x,y,z form a right-handed Cartesian coordinate system.

FieldMappingDefinition
(Query)\IfcStructuralCurveReaction
Structural Activity\IfcStructuralActivity.AppliedLoad
\IfcStructuralLoad
Load or result resource object which defines the load type, direction, and load values.

In case of activities which are variably distributed over curves or surfaces, IfcStructuralLoadConfiguration is used which provides a list of load samples and their locations within the load distribution, measured in local coordinates of the curve or surface on which this activity acts. The contents of this load or result distribution may be further restricted by definitions at subtypes of IfcStructuralActivity.

FieldMappingDefinition
(Query)\IfcStructuralLoadCase
Group Assignment\IfcGroup.IsGroupedBy[*]
\IfcRelAssignsToGroup.RelatedObjects[*]
\IfcProduct
Related objects, which are assigned to a single object. The type of the single (or relating) object is defined in the subtypes of IfcRelAssigns.
FieldMappingDefinition
(Query)\IfcStructuralLoadGroup
Group Assignment\IfcGroup.IsGroupedBy[*]
\IfcRelAssignsToGroup.RelatedObjects[*]
\IfcProduct
Related objects, which are assigned to a single object. The type of the single (or relating) object is defined in the subtypes of IfcRelAssigns.
FieldMappingDefinition
(Query)\IfcStructuralPointAction
Structural Activity\IfcStructuralActivity.AppliedLoad
\IfcStructuralLoad
Load or result resource object which defines the load type, direction, and load values.

In case of activities which are variably distributed over curves or surfaces, IfcStructuralLoadConfiguration is used which provides a list of load samples and their locations within the load distribution, measured in local coordinates of the curve or surface on which this activity acts. The contents of this load or result distribution may be further restricted by definitions at subtypes of IfcStructuralActivity.

FieldMappingDefinition
(Query)\IfcStructuralPointConnection
Reference Topology\IfcProduct.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcTopologyRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

Instances of IfcStructuralPointConnection shall have a topology representation which consists of one IfcVertexPoint, representing the reference point of the point connection. See definitions at IfcStructuralItem for further specifications.

FieldMappingDefinition
(Query)\IfcStructuralPointReaction
Structural Activity\IfcStructuralActivity.AppliedLoad
\IfcStructuralLoad
Load or result resource object which defines the load type, direction, and load values.

In case of activities which are variably distributed over curves or surfaces, IfcStructuralLoadConfiguration is used which provides a list of load samples and their locations within the load distribution, measured in local coordinates of the curve or surface on which this activity acts. The contents of this load or result distribution may be further restricted by definitions at subtypes of IfcStructuralActivity.

FieldMappingDefinition
(Query)\IfcStructuralResultGroup
Group Assignment\IfcGroup.IsGroupedBy[*]
\IfcRelAssignsToGroup.RelatedObjects[*]
\IfcProduct
Related objects, which are assigned to a single object. The type of the single (or relating) object is defined in the subtypes of IfcRelAssigns.
FieldMappingDefinition
(Query)\IfcStructuralSurfaceAction
Structural Activity\IfcStructuralActivity.AppliedLoad
\IfcStructuralLoad
Load or result resource object which defines the load type, direction, and load values.

In case of activities which are variably distributed over curves or surfaces, IfcStructuralLoadConfiguration is used which provides a list of load samples and their locations within the load distribution, measured in local coordinates of the curve or surface on which this activity acts. The contents of this load or result distribution may be further restricted by definitions at subtypes of IfcStructuralActivity.

FieldMappingDefinition
(Query)\IfcStructuralSurfaceMember
Material Layer Set Usage\IfcProduct.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialLayerSetUsage.ForLayerSet
\IfcMaterialLayerSet.MaterialLayers[*]
\IfcMaterialLayer.Name

The material of direct instances IfcStructuralSurfaceMember (in contrast to instances of the subtype IfcStructuralSurfaceMemberVarying) is defined by IfcMaterialLayerSetUsage and attached by the IfcRelAssociatesMaterial.RelatingMaterial. It is accessible by the inverse HasAssociations relationship.

The material is specified minimally by a name which corresponds with an agreed upon standardized structural material designation. An external reference to the source which specifies the material designation should be provided. Alternatively, structural material properties may be provided by means of IfcMaterialProperties.

In the absense of material layer set usage, direct instances of IfcStructuralSurfaceMember are assumed to be located centrically relative to their reference surface. Their depth is provided in the attribute Thickness.

Reference Topology\IfcProduct.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcTopologyRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

Direct instances of IfcStructuralSurfaceMember shall have a topology representation which consists of one IfcFaceSurface, representing the reference surface of the surface member. See definitions at IfcStructuralItem for further specifications.

The local coordinate system is established by the reference surface given by topology representation.

Structural Connectivity\IfcStructuralMember.ConnectedBy[*]
\IfcRelConnectsStructuralMember.RelatedStructuralConnection
\IfcStructuralConnection
Reference to an instance of IfcStructuralConnection (or its subclasses) which is connected to the specified structural member.
FieldMappingDefinition
(Query)\IfcStructuralSurfaceMemberVarying
\IfcObject
The IFC class identifier indicating the subtype of object.
FieldMappingDefinition
(Query)\IfcStructuralSurfaceReaction
Structural Activity\IfcStructuralActivity.AppliedLoad
\IfcStructuralLoad
Load or result resource object which defines the load type, direction, and load values.

In case of activities which are variably distributed over curves or surfaces, IfcStructuralLoadConfiguration is used which provides a list of load samples and their locations within the load distribution, measured in local coordinates of the curve or surface on which this activity acts. The contents of this load or result distribution may be further restricted by definitions at subtypes of IfcStructuralActivity.

FieldMappingDefinition
(Query)\IfcSubContractResource
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
Resource Assignment\IfcResource.ResourceOf[*]
\IfcRelAssignsToResource.RelatedObjects[*]
\IfcActor
Related objects, which are assigned to a single object. The type of the single (or relating) object is defined in the subtypes of IfcRelAssigns.
FieldMappingDefinition
(Query)\IfcSurfaceFeature
Property Sets\IfcObject
The IFC class identifier indicating the subtype of object.
Placement\IfcProduct.ObjectPlacement
\IfcLocalPlacement.RelativePlacement
\IfcAxis2Placement3D

The local placement for IfcSurfaceFeatureElement is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations.

  • In case of features which are part of an element type, absolute placement into the type object's implied coordinate system shall be used.
  • In case of features which are voiding an element occurrence, the PlacementRelTo relationship of IfcLocalPlacement shall point to the local placement of the respective element.
Body Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations['Body']
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext
Definition of the representation context for which the different subtypes of representation are valid.
FieldMappingDefinition
(Query)\IfcSwitchingDevice
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialConstituentSet.MaterialConstituents[*]
\IfcMaterialConstituent.Name
\IfcLabel
The name by which the material constituent is known.
Port\IfcDistributionElement
The IFC class identifier indicating the subtype of object.
FieldMappingDefinition
(Query)\IfcSystem
Property Sets\IfcObject
The IFC class identifier indicating the subtype of object.
FieldMappingDefinition
(Query)\IfcSystemFurnitureElement
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
Material Constituents\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialConstituentSet.MaterialConstituents[*]
\IfcMaterialConstituent.Name
\IfcLabel
The name by which the material constituent is known.
FieldMappingDefinition
(Query)\IfcTank
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialConstituentSet.MaterialConstituents[*]
\IfcMaterialConstituent.Name
\IfcLabel
The name by which the material constituent is known.
Port\IfcDistributionElement
The IFC class identifier indicating the subtype of object.
FieldMappingDefinition
(Query)\IfcTask
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name

The IfcTask defines the anticipated or actual occurrence of any task; common information about task types is handled by IfcTaskType.

EXAMPLE  It includes fixed duration, fixed unit or fixed work. An IfcTask can be aggregated to a task type in order to specify a task sequence or any time related information, e.g. the duration of a task. Please see the documentation of IfcTaskType for further information.
Property Sets\IfcObject
The IFC class identifier indicating the subtype of object.
Nesting\IfcObjectDefinition.IsNestedBy[*]
\IfcRelNests.RelatedObjects[*]
\IfcObject

IfcTask may be contained within an IfcTask using the IfcRelNests relationship. An IfcTask may in turn nest other IfcTask, IfcProcedure or IfcEvent entities. Such nesting indicates decomposed level of detail. From IFC4 onwards it is required to have a summary task (root of all tasks), which is used to define a link to the work plan or work schedule. All subtasks of the summary tasks are then implicitly linked to this work plan or work schedule. Please note that the summary task is used for data organization and not meant to store typical task information as defined by the user. It is therefore recommended that the summary task is hidden from the user to avoid confusion. Please also note that IfcRelNests is used to show the dependency between regular tasks and recurring task definitions (please see the section about time and duration use definitions).

As shown in Figure 142, the installation of a number of items of equipment within a particular space may be the subject of a single task which is identified as 'fix equipment in space 123'. IfcTask represents the occurrence of a work performance of a type of process in a construction plan.

task example

Figure 142 — Task visualization

A task may nest other tasks as sub-items; the nesting relationship is modeled by IfcRelNests as shown in Figure 143. For example, the construction of a stud wall may be designated as a nesting task named 'install wall #1' including other tasks such as 'install dry wall', 'install studs', 'wall taping', and 'erect wall' as sub-processes. A value that indicates the relative tree view position of the task (in comparison to the tree view position of other tasks and the task hierarchy defined by IfcRelNests).

The task order information that is used for viewing purposes is derived from the order defined by the IfcRelNests relationship and thus is independent of the logical task order defined through IfcRelSequence. The hierarchy and order defined through IfcRelNests enables to order the tasks in a tree view or list view structure.

task instantiation diagram

Figure 143 — Task nesting relationships

A top-level task is declared within the IfcProject using the IfcRelDeclares relationship.

Sequential Connectivity\IfcProcess.IsPredecessorTo[*]
\IfcRelSequence.RelatedProcess
\IfcProcess

The relationship IfcRelSequence is used to indicate control flow. An IfcTask as a successor to an IfcTask indicates logical sequence how these tasks should be performed. IfcTask's can be triggered or can trigger IfcEvent's, which is also defined through the relationship IfcRelSequence.

Control Assignment\IfcControl.Controls[*]
\IfcRelAssignsToControl.RelatedObjects[*]
\IfcObject

Occurrences of IfcTask may be assigned to an IfcWorkControl (either a work plan or a work schedule) through IfcRelAssignsToControl. Please note that the IfcRelAssignsTasks relationship class has been removed in IFC4 and is no longer available.

Process Assignment\IfcProcess.OperatesOn[*]
\IfcRelAssignsToProcess.RelatedObjects[*]
\IfcResource

It is suggested to use the 'summary task' (root element of the task hierarchy that is required for task management purposes) to assign all subtask to a work plan or work schedule. Resources used by tasks are assigned by IfcRelAssignsToProcess.

Product Assignment\IfcProduct.ReferencedBy[*]
\IfcRelAssignsToProduct.RelatedObjects[*]
\IfcObject
Related objects, which are assigned to a single object. The type of the single (or relating) object is defined in the subtypes of IfcRelAssigns.
Classification\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesClassification.RelatingClassification
\IfcClassificationReference.Identification
\IfcIdentifier

An IfcTask may be assigned a Work Breakdown Structure (WBS) code. A WBS code is dealt with as a classification of task and is associated to a task occurrence using the IfcRelAssociatesClassification relationship class. As well as being to designate the code, the classification structure also enables the source of the work breakdown structure classification to be identified.

Constraint\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesConstraint.RelatingConstraint
\IfcObjective.BenchmarkValues[*]
\IfcMetric.DataValue
\IfcMetricValueSelect

Constraints may be applied to a task to indicate fixed task duration, fixed start or fixed finish, where IfcMetric.ReferencePath is set to the corresponding attribute on the IfcTaskTime entity.

FieldMappingDefinition
(Query)\IfcTaskType
Nesting\IfcObjectDefinition.IsNestedBy[*]
\IfcRelNests.RelatedObjects[*]
\IfcObject

IfcTaskType may nest other IfcTaskType or IfcTask entities using the IfcRelNests relationship. Such nesting indicates decomposed level of detail. Nesting of IfcTask entities is used if a task type shall be detailed by a sequence of tasks or if there is a need to include additional time information such as the duration of subtasks. Please note that IfcTask entities being contained within an IfcTaskType are linked with their task occurrences via IfcRelDefinesByObject relationships. It is also possible to define a task type for these IfcTask entities via IfcRelDefinesByType relationships. For further information please see the documentation of IfcRelDefinesByObject.

FieldMappingDefinition
(Query)\IfcTendonAnchor
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
Property Sets\IfcObject
The IFC class identifier indicating the subtype of object.
Quantity Sets\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Placement\IfcProduct.ObjectPlacement
\IfcLocalPlacement.RelativePlacement
\IfcAxis2Placement3D
Geometric placement that defines the transformation from the related coordinate system into the relating. The placement can be either 2D or 3D, depending on the dimension count of the coordinate system.
Body Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations['Body']
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext
Definition of the representation context for which the different subtypes of representation are valid.
FieldMappingDefinition
(Query)\IfcTendon
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
Property Sets\IfcObject
The IFC class identifier indicating the subtype of object.
Quantity Sets\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Placement\IfcProduct.ObjectPlacement
\IfcLocalPlacement.RelativePlacement
\IfcAxis2Placement3D
Geometric placement that defines the transformation from the related coordinate system into the relating. The placement can be either 2D or 3D, depending on the dimension count of the coordinate system.
Body Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations['Body']
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext
See supertype IfcElementComponent. This method of representation allows for several tendons represented by a single instance of IfcTendon. The representation map should contain one IfcSweptDiskSolid.

FieldMappingDefinition
(Query)\IfcTransformer
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialConstituentSet.MaterialConstituents[*]
\IfcMaterialConstituent.Name
\IfcLabel
The name by which the material constituent is known.
Port\IfcDistributionElement
The IFC class identifier indicating the subtype of object.
FieldMappingDefinition
(Query)\IfcTransportElement
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name

IfcTransportElement defines the occuurence of any transportation device, common information about transportation device types (or styles) is handled by IfcTransportElementType. The IfcTransportElementType (if present) may establish the common type name, usage (or predefined) type, common material layer set, common set of properties and common shape representations (using IfcRepresentationMap). The IfcTransportElementType is attached using the IfcRelDefinedByType.RelatingType objectified relationship and is accessible by the inverse IsTypedBy attribute.

If no IfcTransportElementType is attached (i.e. if only occurrence information is given) the PredefinedType should be provided. If set to .USERDEFINED. a user defined value can be provided by the ObjectType attribute.

\IfcObject
The IFC class identifier indicating the subtype of object.
Spatial Containment\IfcElement.ContainedInStructure[*]
\IfcRelContainedInSpatialStructure.RelatingStructure
\IfcSpatialElement.Name
\IfcLabel
FieldMappingDefinition
(Query)\IfcTubeBundle
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialConstituentSet.MaterialConstituents[*]
\IfcMaterialConstituent.Name
\IfcLabel
The name by which the material constituent is known.
Port\IfcDistributionElement
The IFC class identifier indicating the subtype of object.
FieldMappingDefinition
(Query)\IfcTypeProduct
Product Type Shape\IfcTypeProduct.RepresentationMaps[*]
\IfcRepresentationMap

The RepresentationMaps define the type product shape and multiple geometric representations can be assigned. If a product occurrence is assigned to the type by using the IfcRelDefinesByType relationship, then these occurrences have to reference the representation maps. The reference is created by one or multiple IfcShapeRepresentation's having an IfcMappedItem as Items, that places the IfcRepresentationMap of the type product into the spatial contexts, i.e. by using an Cartesian transformation operator to transform the IfcRepresentationMap into the object coordinate system of the product occurrence.

Figure 139 illustrates an example of referencing a representation map by the shape representation of a product occurrence. Here the Cartesian transformation operator only uses translation, but no rotation, mirroring, or scaling.

representation map

Figure 139 — Product type geometry with single placement

Figure 140 illustrates an example of referencing a representation multiple times map by the shape representation of a product occurrence. Here the Cartesian transformation operator only uses translation, but no rotation, mirroring, or scaling. The different translation values determine the pattern of the multiple placement.

representation map

Figure 140 — Product type geometry with multiple placement

FieldMappingDefinition
(Query)\IfcUnitaryControlElement
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialConstituentSet.MaterialConstituents[*]
\IfcMaterialConstituent.Name
\IfcLabel
The name by which the material constituent is known.
Port\IfcDistributionElement
The IFC class identifier indicating the subtype of object.
FieldMappingDefinition
(Query)\IfcUnitaryEquipment
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialConstituentSet.MaterialConstituents[*]
\IfcMaterialConstituent.Name
\IfcLabel
The name by which the material constituent is known.
Composition
Port\IfcDistributionElement
The IFC class identifier indicating the subtype of object.
FieldMappingDefinition
(Query)\IfcValve
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialConstituentSet.MaterialConstituents[*]
\IfcMaterialConstituent.Name
\IfcLabel
The name by which the material constituent is known.
Connection
Port\IfcDistributionElement
The IFC class identifier indicating the subtype of object.
FieldMappingDefinition
(Query)\IfcVibrationIsolator
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialConstituentSet.MaterialConstituents[*]
\IfcMaterialConstituent.Name
\IfcLabel
The name by which the material constituent is known.
FieldMappingDefinition
(Query)\IfcVirtualElement
Footprint Geometry\IfcProduct.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.RepresentationIdentifier
\IfcLabel
The optional identifier of the representation as used within a project.
Surface Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

The 3D geometric representation of IfcVirtualElement is d efined using a surface geometry. The following constraints apply to the 3D surface representation:

FieldMappingDefinition
(Query)\IfcVoidingFeature
Property Sets for Objects\IfcObject
The IFC class identifier indicating the subtype of object.
Product Local Placement\IfcProduct.ObjectPlacement
\IfcLocalPlacement.RelativePlacement
\IfcAxis2Placement3D

The local placement for IfcVoidingFeatureElement is defined in its supertype IfcProduct. It is defined by the IfcLocalPlacement, which defines the local coordinate system that is referenced by all geometric representations.

  • In case of features which are part of an element type, absolute placement into the type object's implied coordinate system shall be used.
  • In case of features which are voiding an element occurrence, the PlacementRelTo relationship of IfcLocalPlacement shall point to the local placement of the respective element.
\IfcElement.Representation
\IfcProductDefinitionShape.Representations['Body']
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext
Definition of the representation context for which the different subtypes of representation are valid.
FieldMappingDefinition
(Query)\IfcWall
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material Layer Set\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialLayerSet.MaterialLayers[*]
\IfcMaterialLayer.Name
\IfcLabel

The material of the IfcWall is defined by IfcMaterialLayerSet, or as fallback by IfcMaterial, and it is attached either directly or at the IfcWallType.

NOTE  It is illegal to assign an IfcMaterialLayerSetUsage to an IfcWall. Only the subtype IfcWallStandardCase supports this concept.
Path Connectivity\IfcElement.ConnectedFrom[*]
\IfcRelConnectsPathElements.RelatedElement
\IfcElement
Reference to a subtype of IfcElement that is connected by the connection relationship in the role of RelatedElement.
Spatial Containment\IfcElement.ContainedInStructure[*]
\IfcRelContainedInSpatialStructure.RelatingStructure
\IfcSpatialElement.Name
\IfcLabel

The IfcWall, as any subtype of IfcBuildingElement, may participate alternatively in one of the two different containment relationships:

  • the Spatial Containment (defined here), or
  • the Element Composition.
Axis 2D Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations['Axis']
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext
NOTE  The 'Axis' is not used to locate the material layer set, only the subtype IfcWallStandardCase provides this capability.
Surface Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext
NOTE  The 'Surface' can be used to define a surfacic model of the building (e.g. for analytical purposes, or for reduced Level of Detail representation).
Body SweptSolid Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

The following additional constraints apply to the 'SweptSolid' representation:

NOTE  If the wall body can be described by a vertical extrusion of a polygonal footprint with constant thickness along the axis (where vertical = into the direction of the global Z axis), the subtype IfcWallStandardCase should be used. If the extrusion is not equal to global Z, then the IfcWall should be used.
Body Clipping Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext
Definition of the representation context for which the different subtypes of representation are valid.
Voiding\IfcElement.HasOpenings[*]
\IfcRelVoidsElement.RelatedOpeningElement
\IfcOpeningElement.PredefinedType
\IfcOpeningElementTypeEnum
Predefined generic type for an opening that is specified in an enumeration. There may be a property set given specificly for the predefined types.
Product Assignment\IfcProduct.ReferencedBy[*]
\IfcRelAssignsToProduct.RelatedObjects[*]
\IfcObject
Related objects, which are assigned to a single object. The type of the single (or relating) object is defined in the subtypes of IfcRelAssigns.
FieldMappingDefinition
(Query)\IfcWallElementedCase
Product Local Placement\IfcProduct.ObjectPlacement
\IfcLocalPlacement.RelativePlacement
\IfcAxis2Placement3D

The use of local placement is defined at the supertype IfcWall. The local placement of the IfcWallElementedCase defines the parent coordinate systems for the parts within the decomposition. All parts shall be positioned relative to the IfcWallElementedCase.

Surface Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

The 'Surface Geometry' shape representation can be used to define a surfacic model of the building (e.g. for analytical purposes, or for reduced Level of Detail representation). It could suppress the geometric details of the parts in the decomposition.

NOTE  It is invalid to exchange a 'Body' shape representation of an IfcWallElementedCase. The body geometry is defined by the parts within the decomposition.
Element Decomposition\IfcElement.IsDecomposedBy[*]
\IfcRelAggregates.RelatedObjects[*]
\IfcElement.Name
\IfcLabel

An elemented wall is decomposed into parts for particular components such as framing and panels on each side. There must be an object corresponding to each type of part, however there may be single object instance indicating multiple placements (via mapping geometry) for each part, or multiple instances corresponding to each placement. For minimizing file size, it is recommended to use a single object with multiple placement unless there are specific connectivity relationships indicated (e.g. a junction box connected to a specific stud).

Element Voiding\IfcElement.HasOpenings[*]
\IfcRelVoidsElement.RelatedOpeningElement
\IfcOpeningElement.PredefinedType
\IfcOpeningElementTypeEnum

As shown in Figure 256, openings within the composite wall are directly assigned to IfcWallElementedCase using IfcRelVoidsElement pointing to IfcOpeningElement and apply to all aggregated parts. If individual parts have cutting and other voiding features, then the decomposed parts have a separate voiding relationship IfcRelVoidsElement pointing to IfcVoidingFeature.

voiding

Figure 256 — Wall elemented voiding

FieldMappingDefinition
(Query)\IfcWallStandardCase
Material Layer Set Usage\IfcProduct.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialLayerSetUsage.ForLayerSet
\IfcMaterialLayerSet.MaterialLayers[*]
\IfcMaterialLayer.Name

Multi-layer walls can be represented by refering to several IfcMaterialLayer's within the IfcMaterialLayerSet that is referenced from the IfcMaterialLayerSetUsage

Material information can also be given at the IfcWallType, defining the common attribute data for all occurrences of the same type. It is then accessible by the inverse IsDefinedBy relationship pointing to IfcSlabType.HasAssociations and via IfcRelAssociatesMaterial.RelatingMaterial.

The IfcWallType should then have a unique IfcMaterialLayerSet, that is referenced by the IfcMaterialLayerSetUsage assigned to all occurrences of this IfcWallType.

 

Material layer set and usage
EXAMPLE  Figure 258 illustrates assignment of IfcMaterialLayerSetUsage and IfcMaterialLayerSet to the wall type and the wall occurrence.

Figure 258 — Wall Standard Object Typing

 

Figure 259 illustrates material layer usage, where the following conventions shall be met:

  • The reference coordinate system is the local coordinate system established by the ObjectPlacement of the IfcWallStandardCase.
  • The reference axis is the axis defined by the IfcShapeRepresentation with RepresentationType='Axis' as one of the Representation.Representations of the IfcWallStandardCase.
  • The IfcMaterialLayerSetUsage.OffsetFromReferenceLine is given as a distance from this axis.
  • The IfcMaterialLayerSetUsage.OffsetFromReferenceLine is the distance parallel to the reference axis and always within the base (XY) plane of the reference coordinate system. A positve value of IfcMaterialLayerSetUsage.OffsetFromReferenceLine would then point into the positive y-axis of the reference coordinate system.
  • The IfcMaterialLayerSetUsage.DirectionSense defines how the IfcMaterialLayer's are assigned to the reference axis. POSITIVE means in direction to the positive y-axis of the reference coordinate system.
  • The Thickness of each IfcMaterialLayer is provided starting from the OffsetFromReferenceLine and in the direction given by DirectionSense. It is applied without any gap or overlap between two consecutive layers. The TotalThickness of the IfcMaterialLayerSet is the sum of all layer thicknesses.
  • The IfcMaterialLayerSetUsage.LayerSetDirection is always AXIS2.
roof slab material layer set

Figure 259 — Wall material layers

Product Placement\IfcProduct.ObjectPlacement
\IfcLocalPlacement.RelativePlacement
\IfcAxis2Placement3D

The following restriction is imposed:

  • The local placement shall provide the location and directions for the standard wall, the x/y plane is the plane for the profile, and the z-axis is the extrusion axis for the wall body.
Axis 2D Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations['Axis']
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

The wall axis is represented by a two-dimensional open curve within a particular shape representation. The wall axis is used to apply the material layer set usage parameter to the wall geometry.

 

straight wall axis
EXAMPLE  Figure 260 illustrates an axis representation for a straight wall. In case of a straight wall, the set of items shall include a single geometric representation item of type IfcPolyline or IfcTrimmedCurve with the BasisCurve being an IfcLine. The IfcPolyline or IfcTrimmedCurve shall be parallel (here in a special case co-linear) to the x-axis of the object coordinate system. The direction shall be identical to the direction of the x-axis.

Figure 260 — Wall axis straight

 
curved wall axis
EXAMPLE  Figure 261 illustrates an axis representation for a curved wall. In case of a curved wall, the set of items shall include a single geometric representation item of type IfcTrimmedCurve. The curve shall have a BasisCurve of type IfcCircle. The tangent of the IfcTrimmedCurve shall be parallel at start to the x-axis of the object coordinate system. The direction shall be identical to the direction of the x-axis.

Figure 261 — Wall axis curved

 
Body SweptSolid Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

The following additional constraints apply to the 'SweptSolid' representation:

  • Solid: IfcExtrudedAreaSolid is required,
  • Profile: IfcArbitraryClosedProfileDef and IfcRectangleProfileDef shall be supported.
  • Extrusion: The profile shall be extruded vertically, i.e., in the direction of the z-axis of the co-ordinate system of the referred spatial structure element. It might be further constraint to be in the direction of the global z-axis in implementers agreements. The extrusion axis shall be perpendicular to the swept profile, i.e. pointing into the direction of the z-axis of the Position of the IfcExtrudedAreaSolid.

The profile of a wall is described in the ground view and extruded vertically. The profile (also identical with the foot print of the wall) is defined by the IfcArbitraryClosedProfileDef (excluding its subtypes). The profile is given with all wall connections already resolved.

Figure 262 illustrates a body representation for a straight wall. In case of a straight wall, the two sides of the profile shall be parallel to the wall axis, that is, the wall has a single unchanged thickness.

Figure 263 illustrates a body representation for a curved wall. In case of a curved wall, the two sides of the profile shall be parallel (with defined offset) to the wall axis, that is, the wall has a single unchanged thickness.

straight wall body curved wall body

Figure 262 — Wall body extrusion straight

Figure 263 — Wall body extrusion curved

Body Clipping Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

The following constraints apply to the 'Clipping' representation:

  • Solid: see standard geometric representation
  • Profile: see standard geometric representation
  • Extrusion: see standard geometric representation
  • Boolean result: The IfcBooleanClippingResult shall be supported, allowing for Boolean differences between the swept solid (here IfcExtrudedAreaSolid) and one or several IfcHalfSpaceSolid (or subtypes).

Figure 264 illustrates a clipping for a straight wall using an IfcPolygonalBoundedHalfSpace as SecondOperand in the IfcBooleanClippingResult.

Figure 265 illustrates a clipping for a curved wall using an IfcHalfSpaceSolid as SecondOperand in the IfcBooleanClippingResult.

straight wall clipping curved wall clipping

Figure 264 — Wall body clipping straight

Figure 265 — Wall body clipping curved

FieldMappingDefinition
(Query)\IfcWallType
Material Layer Set\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialLayerSet.MaterialLayers[*]
\IfcMaterialLayer.Name
\IfcLabel

The material of the IfcWallType is defined by the IfcMaterialLayerSet or as fall back by IfcMaterial and attached by the IfcRelAssociatesMaterial.RelatingMaterial. It is accessible by the inverse HasAssociations relationship.

NOTE  It is illegal to assign an IfcMaterial to an IfcWallType, if there is at least one occurrences. of IfcWallStandardCase for this type.

The shared material layer set definition is defined by assigning an IfcMaterialLayerSet (see material use definition above). The IfcMaterialLayer refers to one or several of IfcMaterialLayer that is the common for all wall occurrence, if used. It is only applicable if the IfcWallType has only occurrences of type IfcWallStandardCase (see definition of IfcWallStandardCase for further information).

NOTE  Since each individual instance of IfcWallStandardCase defines its own IfcMaterialLayerSetUsage including the offset from the wall axis, the same IfcWallType can be used independently of the axis alignment of its occurrences.
Body Geometry\IfcTypeProduct.RepresentationMaps[*]
\IfcRepresentationMap.MappedRepresentation
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext
Definition of the representation context for which the different subtypes of representation are valid.
FieldMappingDefinition
(Query)\IfcWasteTerminal
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject
The IFC class identifier indicating the subtype of object.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialConstituentSet.MaterialConstituents[*]
\IfcMaterialConstituent.Name
\IfcLabel
The name by which the material constituent is known.
Port\IfcDistributionElement
The IFC class identifier indicating the subtype of object.
FieldMappingDefinition
(Query)\IfcWindow
Door Attributes\IfcDoor.Tag
\IfcIdentifier
The tag (or label) identifier at the particular instance of a product, e.g. the serial number, or the position number. It is the identifier at the occurrence level.
\IfcObject
The IFC class identifier indicating the subtype of object.
Object Typing\IfcObject.IsTypedBy[*]
\IfcRelDefinesByType.RelatingType
\IfcTypeObject.Name
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.
\IfcObject.IsDefinedBy[*]
\IfcRelDefinesByProperties.RelatingPropertyDefinition
\IfcElementQuantity.Name
\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.
Material Constituent Set\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialConstituentSet.MaterialConstituents[*]
\IfcMaterialConstituent.Name
\IfcLabel

The material of the IfcWindow is defined by the IfcMaterialConstituentSet or as fall back by IfcMaterial and attached by the IfcRelAssociatesMaterial.RelatingMaterial. It is accessible by the inverse HasAssociations relationship.

If the fall back single IfcMaterial is referenced, it applies to the lining and framing of the window.

Spatial Containment\IfcElement.ContainedInStructure[*]
\IfcRelContainedInSpatialStructure.RelatingStructure
\IfcSpatialElement.Name
\IfcLabel

The IfcWindow, as any subtype of IfcBuildingElement, may participate alternatively in one of the two different containment relationships:

  • the Spatial Containment (defined here), or
  • the Element Composition.

The IfcWindow may also be connected to the IfcOpeningElement in which it is placed as a filler. In this case, the spatial containment relationship shall be provided, see Figure 268.

Containment
NOTE  The containment shall be defined independently of the filling relationship, that is, even if the IfcWindow is a filling of an opening established by IfcRelFillsElement, it is also contained in the spatial structure by an IfcRelContainedInSpatialStructure.

Figure 268 — Window spatial containment

 
Product Local Placement\IfcProduct.ObjectPlacement
\IfcLocalPlacement.RelativePlacement
\IfcAxis2Placement3D

The following restriction is imposed:

  1. The PlacementRelTo relationship of IfcLocalPlacement shall point to the local placement of the same element (if given), in which the IfcWindow is used as a filling (normally an IfcOpeningElement), as provided by the IfcRelFillsElement relationship.
  2. If the IfcWindow is not inserted into an IfcOpeningElement, then the PlacementRelTo relationship of IfcLocalPlacement shall point (if given) to the local placement of the same IfcSpatialStructureElement that is used in the ContainedInStructure inverse attribute or to a referenced spatial structure element at a higher level.
  3. If the relative placement is not used, the absolute placement is defined within the world coordinate system.
NOTE  The product placement is used to determine the opening direction of the window.
Profile 3D Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

The window profile is represented by a three-dimensional closed curve within a particular shape representation. The profile is used to apply the parameter of the parametric window representation. The following attribute values for the IfcShapeRepresentation holding this geometric representation shall be used:

  • RepresentationIdentifier : 'Profile'
  • RepresentationType : 'Curve3D', only a single closed curve shall be contained in the set of IfcShapeRepresentation.Items.

A 'Profile' representation has to be provided if:

  • a parametric representation shall be applied to the window AND
    • the window is 'free standing', or
    • the opening into which the window is inserted is not extruded horizontally (i.e. where the opening profile does not match the window profile)
FieldMappingDefinition
(Query)\IfcWindowStandardCase
Profile Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

The following additional constraints apply to the 'Profile' representation type:

  • Curve: being an IfcPolyline defining a rectangle.
  • Position: The curve shall lie in the xz plane of the object placement coordinate (the y coordinate values of the IfcCartesianPoint's shall be 0.).

As shown in Figure 269, the profile defines the outer boundary to which the window lining parameters relate as:

  • IfcWindowLiningProperties.LiningDepth starting at distance defined by LiningOffset going into the positive y direction.
  • IfcWindowLiningProperties.LiningThickness offset into the inner side of the rectangle.
  • IfcWindowLiningProperties.LiningOffset distance along the positive y direction to where the LiningDepth applies.
  • IfcWindowLiningProperties.FirstTransomOffset starting at the bottom edge of the rectangle (along local x axis) into the inner side of the rectangle, distance provided as percentage of overall height. Distance to the centre line of the transom. SecondTransomOffset defined accordingly.
  • IfcWindowLiningProperties.FirstMullionOffset starting at the left edge of the rectangle (along local z-axis) into the inner side of the rectangle, distance provided as percentage of overall width. Distance to the centre line of the mullion. SecondMullionOffset defined accordingly.
standard window

Figure 269 — Window profile

FieldMappingDefinition
(Query)\IfcWindowType
Body Geometry\IfcTypeProduct.RepresentationMaps[*]
\IfcRepresentationMap.MappedRepresentation
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext
Definition of the representation context for which the different subtypes of representation are valid.
Property Sets for Types\IfcTypeObject.HasPropertySets[*]
\IfcPropertySet.Name

Two subtypes of IfcPreDefinedPropertySet are applicable to IfcWindowType:

FieldMappingDefinition
(Query)\IfcWorkCalendar
Control Assignment\IfcControl.Controls[*]
\IfcRelAssignsToControl.RelatedObjects[*]
\IfcObject

The base calendar of a work calendar is defined by IfcRelAssignsToControl, where IfcRelAssignsToControl.RelatingControl is linked with the base calendar and IfcRelAssignsToControl.RelatedObjects is linked with work calendars that are derived from the base calendar. Although not restricted by the IfcRelAssignsToControl relationship it is only allowed to have one base calendar.

FieldMappingDefinition
(Query)\IfcWorkControl
\IfcObject
The IFC class identifier indicating the subtype of object.
Control Assignment\IfcControl.Controls[*]
\IfcRelAssignsToControl.RelatedObjects[*]
\IfcObject

From IFC4 onwards the assignment of tasks to the work control is handled by the IfcRelAssignsToControl relationship. IfcRelAssignsTasks as used in previous IFC releases has been deleted and can not be used any longer. Another change in IFC4 is that it is not necessary to assign each task to a work control as it is regarded to be sufficient if the summary task (root task in the task hierarchy defined through IfcRelNests relationships) is assigned to a work control.

FieldMappingDefinition
(Query)\IfcWorkPlan
Property Sets\IfcObject
The IFC class identifier indicating the subtype of object.
FieldMappingDefinition
(Query)\IfcWorkSchedule
Property Sets\IfcObject
The IFC class identifier indicating the subtype of object.
Document\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesDocument.Name
\IfcLabel

The documents of the IfcWorkSchedule can be referenced by the IfcRelAssociatesDocuments relationship.

Control Assignment\IfcControl.Controls[*]
\IfcRelAssignsToControl.RelatedObjects[*]
\IfcObject

An IfcWorkSchedule controls a set of tasks and resources defined through IfcRelAssignsToControl. Additionally, through the IfcWorkControl abstract supertype, the actors creating the schedule can be specified and schedule time information such as start time, finish time, and total float of the schedule can also be specified.

Nesting\IfcObjectDefinition.IsNestedBy[*]
\IfcRelNests.RelatedObjects[*]
\IfcObject

A work schedule can include other work schedules as sub-items through IfcRelNests relationship.

Aggregation

A work schedule can include other work schedules as sub-items. If not included in another work schedule it might be a part of a work plan (IfcWorkPlan) defined through IfcRelAggregates relationship.

FieldMappingDefinition
(Query)\IfcZone
\IfcObject
The IFC class identifier indicating the subtype of object.
Group Assignment\IfcGroup.IsGroupedBy[*]
\IfcRelAssignsToGroup.RelatedObjects[*]
\IfcProduct

An IfcZone is a spatial system under which individual IfcSpace's (and other IfcZone's) are grouped. In contrary to the IfcSpatialZone entity, IfcZone is a mere grouping, it can not define an own geometric representation and placement. Therefore it cannot be used for spatial zones having a different shape and size compared to the shape and size of aggregated spaces.

NOTE  The IfcZone is regarded as the spatial system (as compared to the building service, electrical, or analytical system), the name remains IfcZone for compatibility reasons, instead of using a proper naming convention, like IfcSpatialSystem.
NOTE  One of the purposes of a zone is to define a fire compartmentation. In this case it defines the geometric information about the fire compartment (through the contained spaces) and information, whether this compartment is ventilated or sprinkler protected. In addition the fire risk code and the hazard type can be added, the coding is normally defined within a national fire regulation. All that information is available within the relevant property sets. Again, if an independent shape has to be provided to the fire compartment, then the entity IfcSpatialZone shall be used.

In case of a zone denoting a (fire) compartment, the following types should be used, if applicable, as values of the ObjectType attribute:

  • 'FireCompartment': a zone of spaces, collected to represent a single fire compartment.
  • 'ElevatorShaft': a collection of spaces within an elevator, potentially going through many storeys.
  • 'RisingDuct': A collection of vertical airspaces.
  • 'RunningDuct': A collection of horizontal airspaces.