1.1 General Usage

CodeVersionStatusAuthorCopyright
IFC4x34.3.0.0Draft© 1996-2021 buildingSMART International Ltd.

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

* BIM exchange format definitions that are required during the life cycle phases of buildings: * demonstrating the need; * conception of need; * outline feasibility; * substantive feasibility study and outline financial authority; * outline conceptual design; * full conceptual design; * coordinated design; * procurement and full financial authority; * production information; * construction; * operation and maintenance. * BIM exchange format definitions that are required by the various disciplines involved within the life cycle phases: * architecture; * building service; * structural engineering; * procurement; * construction planning; * facility management; * project management; * client requirement management; * building authority for permits and approval. * BIM exchange format definitions including: * project structure; * physical components; * spatial components; * analysis items; * processes; * resources; * controls; * actors; * context definition.

* exchange format definitions outside of the domain of construction and facility maintenance; 
* full project structure and component breakdown structures outside of building engineering, but providing a baseline for civil engineering to be extended in future releases; 
* behavioral aspects of components and other information items.
IfcActionRequest
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 1, an IfcActionRequest may be aggregated into components.

"Composition Use Definition"

Figure 1 — Action request composition

Cost schedules may indicate the costs projected or incurred for the request.

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

A request may be nested into follow-up requests, in order of issue

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

As shown in Figure 1, 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 1 — Action request assignment

IfcActor
FieldMappingDefinition
(Query)\IfcActor
\IfcObject
The IFC class identifier indicating the subtype of object.
Actor Assignment\IfcActor.IsActingUpon[*]
\IfcRelAssignsToActor.RelatedObjects[*]
\IfcControl

Indicates project directives issued by the actor.

Indicates groups for which the actor is responsible.

Indicates products for which the actor is responsible.

Indicates processes for which the actor is responsible.

Indicates resources for which the actor is responsible.

IfcActuator
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

Material from which the casing is constructed.

Port\IfcDistributionElement

Receives signal.

Control Flow\IfcDistributionControlElement.AssignedToFlowElement[*]
\IfcRelFlowControlElements.RelatingFlowElement
\IfcDistributionFlowElement

Indicates a connected valve, damper, or switch controlled by the actuator.

IfcAirTerminal
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

Material from which the casing is constructed.

Port\IfcDistributionElement

Supply air, typically connected from a duct segment or fitting.

Return air, typically connected to a duct segment or fitting.

Supply air, typically connected from a duct segment or fitting.

IfcAirTerminalBox
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

Material from which the casing is constructed.

Port\IfcDistributionElement

Incoming air.

Outgoing regulated air.

IfcAirToAirHeatRecovery
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

Material from which the casing is constructed.

The primary media material used for heat transfer.

Port\IfcDistributionElement

Conditioned air in.

Conditioned air out.

Exhausted air in.

Exhausted air out.

IfcAlarm
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

Material from which the casing is constructed.

Port\IfcDistributionElement

Receives signal.

IfcAlignment
FieldMappingDefinition
(Query)\IfcAlignment
Alignment Layout\IfcAlignment.IsNestedBy[*]
\IfcRelNests.RelatedObjects[*]
\IfcAlignmentHorizontal.IsNestedBy[*]
\IfcRelNests.RelatedObjects[*]
\IfcAlignmentSegment.DesignParameters
\IfcAlignmentHorizontalSegment
The design parameters of the alignmnent segment.
Alignment Geometry Gradient\IfcAlignment.Representation
\IfcProductDefinitionShape.Name
The word or group of words by which the product representation is known.
Referent 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_. { .change-ifc2x4} > IFC4 CHANGE  The attribute has been demoted from the supertype _IfcRelDecomposes_ and defines the ordered set of parts within the nest.
Alignment Geometry Cant\IfcAlignment.Representation
\IfcProductDefinitionShape.Name
The word or group of words by which the product representation is known.
Alignment Aggregation To Project\IfcAlignment.Decomposes[*]
\IfcRelAggregates.RelatingObject
\IfcProject
The object definition, either an object type or an object occurrence, that represents the aggregation. It is the whole within the whole/part relationship. { .change-ifc2x4} > IFC4 CHANGE  The attribute has been demoted from the supertype _IfcRelDecomposes_ and defines the non-ordered aggregation relationship.
Alignment Layout - Horizontal, Vertical and Cant \IfcAlignment.IsNestedBy[*]
\IfcRelNests.RelatedObjects[*]
\IfcAlignmentHorizontal.IsNestedBy[*]
\IfcRelNests.RelatedObjects[*]
\IfcAlignmentSegment.DesignParameters
\IfcAlignmentHorizontalSegment
The design parameters of the alignmnent segment.
Alignment Layout - Reusing Horizontal Layout\IfcAlignment.IsNestedBy[*]
\IfcRelNests.RelatedObjects[*]
\IfcAlignmentHorizontal.IsNestedBy[*]
\IfcRelNests.RelatedObjects[*]
\IfcAlignmentSegment.DesignParameters
\IfcAlignmentHorizontalSegment
The design parameters of the alignmnent segment.
Alignment Geometry - Horizontal\IfcAlignment.Representation
\IfcProductDefinitionShape.Representations[' 'Curve2D'']
\IfcShapeRepresentation.RepresentationIdentifier
\IfcLabel
The optional identifier of the representation as used within a project.
Alignment Geometry - Horizontal and Vertical\IfcAlignment.Representation
\IfcProductDefinitionShape.Representations[' 'Curve2D'']
\IfcShapeRepresentation.RepresentationIdentifier
\IfcLabel
The optional identifier of the representation as used within a project.
Alignment Geometry - Horizontal, Vertical and Cant \IfcAlignment.Representation
\IfcProductDefinitionShape.Representations[' 'Curve2D'']
\IfcShapeRepresentation.RepresentationIdentifier
\IfcLabel
The optional identifier of the representation as used within a project.
Alignment Spatial Reference\IfcAlignment.ReferencedInStructures[*]
\IfcRelReferencedInSpatialStructure.RelatingStructure
\IfcSpatialElement
Alignment Grouping\IfcAlignment.HasAssignments[*]
\IfcRelAssignsToGroup.RelatingGroup
\IfcGroup
Reference to group that contains all assigned group members.
Property Sets for Objects\IfcObject
The IFC class identifier indicating the subtype of object.
IfcAlignmentCant
FieldMappingDefinition
(Query)\IfcAlignmentCant
Alignment Cant Attributes\IfcAlignmentCant
Tag to annotate the start point of the alignment segment.
IfcAlignmentHorizontal
FieldMappingDefinition
(Query)\IfcAlignmentHorizontal
Alignment Horizontal Attributes\IfcAlignmentHorizontal
Tag to annotate the start point of the alignment segment.
IfcAlignmentSegment
FieldMappingDefinition
(Query)\IfcAlignmentSegment
\IfcAlignmentSegment.Representation
\IfcProductDefinitionShape.Representations[' 'Segment'']
\IfcShapeRepresentation.RepresentationIdentifier
\IfcLabel
The optional identifier of the representation as used within a project.
IfcAlignmentVertical
FieldMappingDefinition
(Query)\IfcAlignmentVertical
Alignment Vertical Attributes\IfcAlignmentVertical
Tag to annotate the start point of the alignment segment.
IfcAnnotation
FieldMappingDefinition
(Query)\IfcAnnotation
\IfcObject
The IFC class identifier indicating the subtype of object.
Annotation 2D Geometry\IfcAnnotation.Representation
\IfcProductDefinitionShape.Representations['Annotation']
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

Any point or curve

Area for hatching

Text literal for applying text

Annotation 3D Geometry\IfcAnnotation.Representation
\IfcProductDefinitionShape.Representations['Annotation']
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

Any point, curve or surface representing the annotation.

Single Survey Point\IfcAnnotation.Representation
\IfcProductDefinitionShape.Representations[' 'Annotation'']
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext
Definition of the representation context for which the different subtypes of representation are valid.
Single Survey Point Linearly Placed\IfcAnnotation.Representation
\IfcProductDefinitionShape.Representations[' 'Annotation'']
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext
Definition of the representation context for which the different subtypes of representation are valid.
Set Of Survey Points\IfcAnnotation.Representation
\IfcProductDefinitionShape.Representations[' 'Annotation'']
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext
Definition of the representation context for which the different subtypes of representation are valid.
Single Survey Line\IfcAnnotation.Representation
\IfcProductDefinitionShape.Representations[' 'Annotation'']
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext
Definition of the representation context for which the different subtypes of representation are valid.
Survey Elements Grouping\IfcAnnotation.HasAssignments[*]
\IfcRelAssignsToGroup.RelatingGroup
\IfcGroup.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.
Survey Elements Nesting\IfcAnnotation.IsNestedBy[*]
\IfcRelNests.RelatedObjects[*]
\IfcAnnotation.PredefinedType
\IfcAnnotationTypeEnum
Property Sets for Objects\IfcObject
The IFC class identifier indicating the subtype of object.
IfcAsset
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

Physical elements that comprise the asset.

IfcAudioVisualAppliance
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

Material from which the casing is constructed.

Composition

May contain IfcAudioVisualAppliance components.

Port\IfcDistributionElement

Receives electrical power.

Input audio.

Audio speaker(s), which may be aggregated for separate speaker channels.

Receives electrical power.

Receives control signal.

Network access.

Captured video.

Receives electrical power.

Receives control signal.

Input audio/video source.

Input audio/video source.

Input audio/video source.

Input audio/video source.

Input audio/video source.

Input audio/video source.

Input audio/video source.

Input audio/video source.

Receives electrical power.

Captured audio.

Receives electrical power.

Receives control signal.

Rendered media content.

Receives electrical power.

Receives control signal.

Input audio/video source.

Receives electrical power.

Receives control signal.

Network access.

Input audio/video source.

Input audio/video source.

Input audio/video source.

Input audio/video source.

Input audio/video source.

Input audio/video source.

Input audio/video source.

Input audio/video source.

Output audio/video zone.

Output audio/video zone.

Audio speaker(s), which may be aggregated for separate speaker channels.

Audio speaker(s), which may be aggregated for separate speaker channels.

Amplified audio input.

Receives electrical power.

Receives control signal.

Network access.

Input audio/video source.

Input audio/video source.

Input audio/video source.

Input audio/video source.

Input audio/video source.

Input audio/video source.

Input audio/video source.

Input audio/video source.

Output audio/video zone.

Output audio/video zone.

Output audio/video zone.

Output audio/video zone.

Output audio/video zone.

Output audio/video zone.

Output audio/video zone.

Output audio/video zone.

Receives electrical power.

Telecommunications network.

Receives electrical power.

Receives control signal.

Receives modulated data feed such as satellite, cable, or over-the-air.

Rendered media content.

IfcBeam
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.

Default spatial container

Spatial container for the element if it cannot be assigned to a building storey

Spatial container for the element in case that it is placed on site (outside of building)

Element Composition\IfcElement.Decomposes[*]
\IfcRelAggregates.RelatingObject
\IfcElement.Name
\IfcLabel

Special purpose composite entity

Any building element can be a composite

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\IfcProduct.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.

Three-dimensional reference curve for the beam.

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

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

Figure 1 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 1 — Beam swept solid

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

"non-perpendicular extrusion"

Figure 2 — Beam non-perpendicular extrusion

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

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

NOTE  View definitions and implementer agreement can further constrain the allowed swept solid types.

  • Profile: see 'SweptSolid' geometric representation
  • Extrusion: not applicable
Body Clipping Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations['Body']
\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 1 illustrates use of IfcBooleanClippingResult between an IfcExtrudedAreaSolid and an IfcHalfSpaceSolid to create a clipped body.

"clipped beam"

Figure 1 — Beam clipping

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

An idealized structural member corresponding to the beam.

IfcBeamStandardCase
FieldMappingDefinition
(Query)\
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 1 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 1 — Beam profile usage

 
Cardinal point usage
<blockquote class="example">EXAMPLE&nbsp; Figure 2 illustrates alignment of cardinal points.</blockquote>
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 2 — Beam cardinal points

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

Figure 3 — 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\IfcProduct.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 1 — 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 2 — Beam axis cardinal point

 
Body SweptSolid Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations['Body']
\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 1 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 1 — Beam body extrusion

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

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

NOTE  View definitions and implementer agreement can further constrain the allowed swept solid types.

  • Solid Position : see 'SweptSolid' geometric representation
  • Profile: see 'SweptSolid' geometric representation
  • Profile Position : see 'SweptSolid' geometric representation
  • Extrusion: not applicable
Body Clipping Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations['Body']
\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 1 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 1 — Beam body clipping

IfcBeamType
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

IfcBearing
FieldMappingDefinition
(Query)\IfcBearing
Property Sets for Objects\IfcObject
The IFC class identifier indicating the subtype of object.
IfcBoiler
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

Material from which the casing is constructed.

Port\IfcDistributionElement

Gas inlet for burner.

Exhaust sent to outside.

Water feed such as from condenser.

Steam sent to heating coils and space heaters.

Gas inlet for burner.

Exhaust sent to outside.

Cold water to be heated.

Hot water heated.

IfcBorehole
FieldMappingDefinition
(Query)\IfcBorehole
Axis 3D Geometry\IfcProduct.Representation
\IfcProductDefinitionShape.Representations['Axis']
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

An IfcBorehole may be represented by a curve in 3D space representing the drilling axis.

Body Swept Solid Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations['Body']
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

An IfcBorehole may be represented by a swept solid.

IfcBridge
FieldMappingDefinition
(Query)\IfcBridge
Spatial Composition\IfcSpatialElement.Decomposes[*]
\IfcRelAggregates.RelatingObject
\IfcProject.Name
\IfcLabel

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

Direct assignment to project, if the bridgeis the outermost spatial container, and no site information is provided for bridge projects

Assignment to site, if the bridge is the spatial container for the bridge project with site information

Assignment to another bridge as spatial container, e.g. if this bridge represents a bridge section.

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

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

Spatial decomposition into bridge parts

Spatial decomposition into other bridges, e.g. if this bridge represents a complex bridge that is subdivided into bridge sections.

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

NOTE  If there are building elements and/or other elements directly related to the IfcBridge, they are associated with the IfcBridge by using the objectified relationship IfcRelContainedInSpatialStructure. The IfcBridge references them by its inverse relationship: > * IfcBridge.ContainsElements -- referencing any subtype of IfcProduct (with the exception of other spatial structure element) by IfcRelContainedInSpatialStructure.RelatedElements.

Physical elements that are directly related to the building.

Annotations that are directly related to the building.

Positioning elements that are directly related to the building.

Bridge Systems\IfcSpatialElement.ReferencedInStructures[*]
\IfcRelReferencedInSpatialStructure.RelatedElements[*]
\IfcSystem.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.
Property Sets for Objects\IfcObject
The IFC class identifier indicating the subtype of object.
\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.
Placement\IfcProduct.ObjectPlacement
\IfcLocalPlacement.RelativePlacement
\IfcAxis2Placement3D

The local placement for IfcBridge is defined in its supertype IfcProduct. It is defined by IfcLocalPlacement or by IfcLinearPlacement>/em> 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.
Property Sets for Objects\IfcObject
The IFC class identifier indicating the subtype of object.
Body Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations['Body']
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

The body (or solid model) geometric representation (if the bridge has an independent geometric representation) of IfcBridge is defined using faceted B-Rep capabilities (with or without voids), based on the IfcFacetedBrep or on the IfcFacetedBrepWithVoids. In the case of alignment based infrastructure, the geometric representation can be defined using IfcSectionedSolidHorizontal optionally IfcSweptAreaSolid.

NOTE  Since the bridge shape is usually described by the exterior building elements, an independent shape representation shall only be given, if the bridge is exposed independently from its constituting elements and such independent geometric representation may be prohibited in model view definitions.

IfcBridgePart
FieldMappingDefinition
(Query)\IfcBridgePart
Spatial Composition\IfcSpatialElement.Decomposes[*]
\IfcRelAggregates.RelatingObject
\IfcProject.Name
\IfcLabel

NOTE  By using the inverse relationship IfcBridgePart.Decomposes it references (IfcBridge || IfcBridgePart) through IfcRelAggregates.RelatingObject_IfcBridgePart, the referenced IfcBridgePart needs to have a different and higher CompositionType, i.e. COMPLEX (if the other IfcBridgePart has ELEMENT), or ELEMENT (if the other IfcBridgePart has PARTIAL)._

Assignment to the bridge, where the bridge part is a part of.

Assignment to another bridge part, e.g. if this bridge part is a part that refers to another bridge part.

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

NOTE  By using the inverse relationship IfcBridgePart.IsDecomposedBy it references IfcBridgePart through IfcRelAggregates.RelatedObjects. If it refers to another instance of IfcBridgePart, the referenced IfcBridgePart 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 decomposition into bridge parts, if this bridge part is a main bridge part having subdivisions.

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

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

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

Elements can also be referenced in an IfcBridgePart, 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 IfcBridgePart by using the objectified relationship IfcRelServicesBuildings.

\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.
Placement\IfcProduct.ObjectPlacement
\IfcLocalPlacement.RelativePlacement
\IfcAxis2Placement3D

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

  • The PlacementRelTo relationship of IfcLocalPlacement or IfcLinearPlacement shall point (if relative placement is used) to the IfcSpatialStructureElement of type IfcBridge, or of type IfcBridgePart (e.g. to position a bridge part relative to a bridge part complex, or a partial bridge part to a bridge part).
  • If the relative placement is not used, the absolute placement is defined within the world coordinate system.
Body Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations['Body']
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

The body (or solid model) geometric representation (if the bridge part has an independent geometric representation) of IfcBridgePart is defined using faceted B-Rep capabilities (with or without voids), based on the IfcFacetedBrep or on the IfcFacetedBrepWithVoids. In the case of alignment based infrastructure, the geometric representation can be defined using IfcSectionedSolidHorizontal optionally IfcSweptAreaSolid.

NOTE  Since the bridge part shape is usually described by the exterior building elements, an independent shape representation shall only be given, if the bridge part is exposed independently from its constituting elements and such independent geometric representation may be prohibited in model view definitions.

IfcBuilding
FieldMappingDefinition
(Query)\IfcBuilding
Spatial Composition\IfcSpatialElement.Decomposes[*]
\IfcRelAggregates.RelatingObject
\IfcProject.Name
\IfcLabel

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).

Direct assignment to project, if the building is the outermost spatial container, and no site information is provided for building projects

Assignment to site, if the building is the spatial container for the building project with site information

Assignment to another building as spatial container, e.g. if this building represents a building section.

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 decomposition into building stories.

Spatial decomposition into other buildings, e.g. if this building represents a complex building that is subdivided into building sections.

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.

Physical elements contained in the building.

Annotations that are directly related to the building.

Grids that are directly related to the building.

\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.

Building Identity\IfcBuilding.LongName
\IfcLabel

The usage of building address, elevation measures and composition type is governed by this concept.

IfcBuildingElementPart
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.
IfcBuildingElementProxy
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.

Default spatial container

Spatial container for the element if it cannot be assigned to a building storey

Spatial container for the element in case that it is placed on site (outside of building)

IfcBuildingElementProxyType
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.
IfcBuildingStorey
FieldMappingDefinition
(Query)\IfcBuildingStorey
Storey Identity\IfcBuildingStorey.LongName
\IfcLabel
Long name for a spatial structure element, used for informal purposes. It should be used, if available, in conjunction with the inherited _Name_ attribute. > NOTE  In many scenarios the _Name_ attribute refers to the short name or number of a spacial element, and the _LongName_ refers to the full descriptive name.
Spatial Composition\IfcSpatialElement.Decomposes[*]
\IfcRelAggregates.RelatingObject
\IfcProject.Name
\IfcLabel

NOTE  By using the inverse relationship IfcBuildingStorey.Decomposes it references (IfcBuilding || IfcBuildingStorey) through IfcRelAggregates.RelatingObject_IfcBuildingStorey, 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)._

Assignment to the building, where the building storey is a part of.

Assignment to another building storey, e.g. if this building storey is a partial storey that refer to another storey.

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.

Reference to the spaces that are assigned to this storey.

Spatial decomposition into partial stories, if this storey is a main storey having subdivisions.

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.

IfcBuildingSystem
FieldMappingDefinition
(Query)\IfcBuildingSystem
Property Sets for Objects\IfcObject
The IFC class identifier indicating the subtype of object.
Aggregation

Building systems may be aggregated into subsystems.

Group Assignment\IfcGroup.IsGroupedBy[*]
\IfcRelAssignsToGroup.RelatedObjects[*]
\IfcProduct

Building elements participating in the building system.

IfcBuiltElement
FieldMappingDefinition
(Query)\IfcBuiltElement
\IfcObject
The IFC class identifier indicating the subtype of object.
Product Assignment\IfcProduct.ReferencedBy[*]
\IfcRelAssignsToProduct.RelatedObjects[*]
\IfcObject

Task for operating upon the building element.

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['Surface']
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

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

Material Set\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialLayerSet.MaterialLayers[*]
\IfcMaterialLayer.Name
\IfcLabel
The name by which the material layer is known.
IfcBurner
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

Material from which the casing is constructed.

Material designed to be burned.

Port\IfcDistributionElement

Gas inlet for burner.

IfcCableCarrierFitting
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

Material from which the casing is constructed.

Port\IfcDistributionElement

Head connection.

Tail connection.

Head connection.

Tail connection.

Left connection.

Right connection.

Head connection.

Tail connection.

Head connection.

Left connection.

Right connection.

IfcCableCarrierSegment
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

Material from which the casing is constructed.

Port\IfcDistributionElement

Head connection.

Tail connection.

IfcCableFitting
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

Material from which the casing is constructed.

Material from which the conductors are constructed, such as Aluminium or Copper.

Connection

For equipotential bonding, may represent a clamp that is attached from a pipe or other conducting element of an earthing system.

For equipotential bonding, may represent a clamp that is attached from a pipe or other conducting element of an earthing system.

Port\IfcDistributionElement

The input of the connector.

The output of the connector.

The output of the connector.

The input of the connector.

The input of the connector.

An output of the connector.

An output of the connector.

The input of the connector.

The output of the connector.

IfcCableSegment
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

Material from which the conductors are constructed, such as Aluminium or Copper.

The material from which the insulation is constructed such as PVC, PEX, or EPR.

The material from which the screen that covers the sheath is constructed (mantel) such as Aluminium, Copper, Steel, or Lead.

The outer sheathing of the cable which may be color-coded.

Composition

Cable segments may be aggregated into cable cores.

Cable cores may be aggregated into cable conductors.

Port\IfcDistributionElement

The input end of the cable. While many cables may be bidirectional, port direction is indicated for connectivity purposes.

The output end of the cable. While many cables may be bidirectional, port direction is indicated for connectivity purposes.

IfcChiller
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

Material from which the casing is constructed.

Refrigerant material.

Composition

Chillers may aggregate distribution flow elements forming a refrigeration cycle (compressor, condenser, valve, evaporator), as well as control elements.

Port\IfcDistributionElement

Receives electrical power.

Control unit accessing internal sensors and actuators.

Chilled water return.

Chilled water supply.

Incoming cooler air.

Outgoing hotter air.

Receives electrical power.

Control unit accessing internal sensors and actuators.

Chilled water return.

Chilled water supply.

Incoming cooler condenser water.

Outgoing hotter condenser water.

IfcChimney
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.

Default spatial container (in most cases the storey where the base of the chimney is placed)

Spatial container for the element if it cannot be assigned to a building storey

Spatial container for the element in case that it is placed on site (outside of building)

IfcChimneyType
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.
IfcCivilElement
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). { .change-ifc2x4} > IFC4 CHANGE Attribute renamed from _ItemReference_ for consistency. >
IfcCoil
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

Material from which the casing is constructed.

Port\IfcDistributionElement

Refrigerant entering the coil.

Refrigerant leaving the coil.

Air entering the surface of the coil.

Air leaving the surface of the coil.

Chilled water entering the coil.

Chilled water leaving the coil.

Air entering the surface of the coil.

Air leaving the surface of the coil.

Heated water entering the coil.

Heated water leaving the coil.

Air entering the surface of the coil.

Air leaving the surface of the coil.

IfcColumn
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.

Default spatial container

Spatial container for the element if it cannot be assigned to a building storey

Spatial container for the element in case that it is placed on site (outside of building)

Axis 3D Geometry\IfcProduct.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.

Three-dimensional reference curve for the column.

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

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

Figure 1 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 1 — Column swept solid

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

"advanced column"

Figure 2 — Column extrusion of I-Shape

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

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

NOTE  View definitions and implementer agreements can further constrain the allowed swept solid types.

  • Profile: see 'SweptSolid' geometric representation
  • Extrusion: not applicable
Body Clipping Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations['Body']
\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 1 illustrates a 'Clipping' geometric representation with use of IfcBooleanClippingResult between an IfcExtrudedAreaSolid and an IfcHalfSpaceSolid to create a clipped body.

"advanced column"

Figure 1 — Column clipping

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

An idealized structural member corresponding to the column.

A task for operating on the column.

IfcColumnStandardCase
FieldMappingDefinition
(Query)\
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 1 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 1 — Column profile usage

Figure 2 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 2 — Column cardinal points

Figure 3 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 3 — 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\IfcProduct.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 1, 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 1 — Column axis representation

 
Axis
EXAMPLE  As shown in Figure 2, 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 2 — Column axis cardinal point

 
Body SweptSolid Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations['Body']
\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 1 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 1 — Column body extrusion

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

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

NOTE  View definitions and implementer agreement can further constrain the allowed swept solid types.

  • Profile: see 'SweptSolid' geometric representation
  • Profile Position : see 'SweptSolid' geometric representation
  • Extrusion: not applicable
Body Clipping Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations['Body']
\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 1 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 1 — Column body clipping

IfcColumnType
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

IfcCommunicationsAppliance
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

Material from which the casing is constructed.

Composition

Computers may be aggregated into audio-visual components such as displays, cameras, speakers, or microphones.

Port\IfcDistributionElement

Receives electrical power.

Electromagnetic waves.

The modulated analog signal in a circuit, such as a cable connected to a modem.

Receives electrical power.

A network connection, may be wired or wireless (implicit antenna), such as a cable connected from a data outlet jack or from a router communications appliance. While communication is bidirectional, the router-end is considered to be the source.

A device connection such as USB or serial, which may connect to equipment such as a building automation controller.

Audio/video output, such as a cable connected to a display, which may be aggregated into separate channels.

Receives electrical power.

Telephone connection.

Receives electrical power.

Modulated analog signal, typically a cable connecting from a communications junction box or an antenna.

Internet data network.

Television modulated signal.

Telephone communications.

Receives electrical power.

A network connection, may be wired or wireless.

Telephone connection for fax support.

Receives electrical power.

The receiving signal.

The transmitted amplified signal.

Receives electrical power.

Uplink from another network, such as a cable connected to another router or modem accessing the Internet.

A wireless access point.

A network link to a routed device such as a cable connecting to a computer.

A network link to a routed device such as a cable connecting to a computer.

A network link to a routed device such as a cable connecting to a computer.

A network link to a routed device such as a cable connecting to a computer.

A network link to a routed device such as a cable connecting to a computer.

A network link to a routed device such as a cable connecting to a computer.

A network link to a routed device such as a cable connecting to a computer.

A network link to a routed device such as a cable connecting to a computer.

IfcCompressor
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

Material from which the casing is constructed.

Refrigerant material.

Port\IfcDistributionElement

Uncompressed vapor refrigerant entering the compressor.

Compressed vapor refrigerant leaving the compressor.

IfcCondenser
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

Material from which the casing is constructed.

Refrigerant material.

Port\IfcDistributionElement

Vapor refrigerant entering the condenser.

Liquid refrigerant leaving the condenser.

Cooler air entering the condenser.

Warmer air leaving the condenser.

Vapor refrigerant entering the condenser.

Liquid refrigerant leaving the condenser.

Makeup water entering the condenser.

Purged water leaving the condenser.

Air entering the condenser.

Air leaving the condenser.

Vapor refrigerant entering the condenser.

Liquid refrigerant leaving the condenser.

Cooler water entering the condenser, optionally from cooling tower.

Warmer water leaving the condenser, optionally to cooling tower.

IfcConstructionEquipmentResource
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

Indicates a physical element manifesting the resource such as a crane.

Resource Cost\IfcConstructionResource.BaseCosts[*]
\IfcAppliedValue.Name
\IfcLabel

The amount incurred for acquiring the equipment, such as rental fees or depreciation.

The amount incurred for operating the equipment, such as fuel and maintenance.

The amount incurred for mobilizing and decomissioning the equipment.

Resource Quantity\IfcConstructionResource.BaseQuantity
\IfcPhysicalSimpleQuantity.Name
\IfcLabel

The unit basis for operating the equipment, such as an hour.

IfcConstructionMaterialResource
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

Indicates a physical element manifesting the resource such as a pile of sand.

Resource Cost\IfcConstructionResource.BaseCosts[*]
\IfcAppliedValue.Name
\IfcLabel

The amount incurred per unit volume of the material.

Resource Quantity\IfcConstructionResource.BaseQuantity
\IfcPhysicalSimpleQuantity.Name
\IfcLabel

The unit volume of material used, such as cubic meters of concrete.

IfcConstructionProductResource
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

Indicates a physical element manifesting the resource such as nails (in bulk).

Resource Cost\IfcConstructionResource.BaseCosts[*]
\IfcAppliedValue.Name
\IfcLabel

The unit cost for purchasing the product.

The unit cost for transporting the product.

Resource Quantity\IfcConstructionResource.BaseQuantity
\IfcPhysicalSimpleQuantity.Name
\IfcLabel

The unit count of the product used such as 1 for each or 12 for a dozen.

IfcConstructionResource
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 1 — 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).

Indicate fixed usage (such as simultaneous workers) such that changes to ScheduleWork should impact the assigned IfcTask.TaskTime.ScheduleDuration and vice-versa.

Indicate fixed work (such as total person-hours) such that changes to ScheduleUsage should impact the assigned IfcTask.TaskTime.ScheduleDuration and vice-versa.

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 1 — 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 1 — 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 1 — Construction resource composition use

IfcControl
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.

IfcController
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 1 illustrates controller composition use.

"Composition Use Definition"

Figure 1 — Controller composition use

May contain IfcController components. Programmable Logic Controllers may be decomposed into logical elements for values and operations.

Material\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialConstituentSet.MaterialConstituents[*]
\IfcMaterialConstituent.Name
\IfcLabel

Material from which the casing is constructed.

Port\IfcDistributionElement

Receives the first parameter.

Receives the second parameter (if applicable).

Sets the output value.

Receives the first parameter.

Receives the second parameter (if applicable).

Sets the output value.

Receives electrical power.

Direct communication to the device (e.g. serial port).

Network communication to the device (e.g. TCP/IP network).

Analog or digital inputs.

Analog or digital outputs.

Receives the first parameter.

Receives the second parameter (if applicable).

Sets the output value.

Receives the first parameter.

Receives the second parameter (if applicable).

Sets the output value.

IfcCooledBeam
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

Material from which the casing is constructed.

Port\IfcDistributionElement

Chilled water entering.

Chilled water leaving.

IfcCoolingTower
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

Material from which the casing is constructed.

Fill material.

Composition

May contain fan components for forcing air into the cooling tower.

May contain fan components for inducing air into the cooling tower.

Port\IfcDistributionElement

Warmer water entering the cooling tower.

Cooler water leaving the cooling tower.

IfcCostItem
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 1 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 1 — 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 1 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 1 — Cost assignment

For quantity-based costs based on product occurrences, spatial structures, or other physical artifacts.

For quantity-based costs based on tasks, procedures, or events.

For quantity-based costs based on resource allocations.

For cost rates based on product models.

For cost rates based on process models of historical or projected duration.

For cost rates based on resource models of historical or projected productivity.

IfcCostSchedule
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.
IfcCovering
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.

Optional front-facing material of layer-based coverings such as drywall paper.

The solid material of layer-based coverings such as drywall gypsum.

Optional back-facing material of layer-based coverings such as drywall paper.

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.

Profile of trim such as crown molding or base molding.

Surface Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations['Surface']
\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 1 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 1 — Covering surface planar

standard cylindrical covering
EXAMPLE  Figure 2 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 2 — Covering surface cylindrical

 
Body SweptSolid Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations['Body']
\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 1 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 1 — Covering body planar

 
advanced solid covering
EXAMPLE  Figure 2 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 2 — Covering body circular

 
IfcCoveringType
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.

IfcCrewResource
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.
IfcCurtainWall
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

Default spatial container

Spatial container for the element if it cannot be assigned to a building storey - curtain wall facades may be assigned directly to the building

Spatial container for the element in case that it is placed on site (outside of building)

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\IfcProduct.Representation
\IfcProductDefinitionShape.Representations['Axis']
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

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

IfcCurtainWallType
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.
IfcDamper
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 material from which the damper blades are constructed.

The material from which the damper frame is constructed.

The material from which the damper seals are constructed.

Port\IfcDistributionElement

Air entering damper.

Air leaving damper, with flow regulated according to position of damper.

IfcDiscreteAccessory
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.
IfcDistributionChamberElement
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.

The material from which the base of the duct is constructed.

The material from which the access cover to the chamber is constructed.

The material that is used to fill the duct (where used).

The material from which the wall of the duct is constructed.

IfcDistributionControlElement
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 1 illustrates classification usage.

"Classification Use Definition"

Figure 1 — Distribution control classification

32-bit decimal BACnetObjectIdentifier indicating type ID and instance ID (e.g.'12.15' for Digital Input #15).

32-bit decimal address for an IPv4 network (e.g.'192.168.1.1').

128-bit hexadecimal address for an IPv6 network.

48-bit hexadecimal form of MAC address.

Hierarchical ItemID in alphanumeric form (i.e. 'B204.Tank2.Temperature)

24-bit hexadecimal instance address.

48-bit hexadecimal neuron ID.

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

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

Indicates tasks used to purchase, install, renovate, demolish, operate, or otherwise act upon the element. If the element has a type, available task types are assigned to the element type.

Indicates procedures used to operate the element. If the element has a type, available procedure types are assigned to the element type.

Indicates events to be handled by the element, sequenced by procedures to be followed. If the element has a type, available event types are assigned to the element type.

IfcDistributionControlElementType
FieldMappingDefinition
(Query)\IfcDistributionControlElementType
Product Type Assignment\IfcTypeProduct.ReferencedBy[*]
\IfcRelAssignsToProduct.RelatedObjects[*]
\IfcTypeProcess

Indicates task types available to purchase, install, renovate, demolish, operate, or otherwise act upon occurrences of the element type. Such task types may be instantiated as task occurrences assigned to occurrences of the element type. Prices (such as for purchasing or shipping) may be established by resource types assigned to task types.

Indicates procedure types available to operate occurrences of the element type. Such procedure types may be instantiated as procedure occurrences assigned to occurrences of the element type.

Indicates event types available to be raised by occurrences of the element type, sequenced by procedures to be followed. Such event types may be instantiated as event occurrences assigned to occurrences of the element type.

IfcDistributionElement
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.

The container for distribution elements spanning through two or more spaces.

The default container for distribution elements,

Component to Distribution System\IfcDistributionElement.HasAssignments[*]
\IfcRelAssignsToGroup.RelatingGroup
\IfcDistributionSystem.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 Set\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialLayerSet.MaterialLayers[*]
\IfcMaterialLayer.Name
\IfcLabel
The name by which the material layer is known.
IfcDistributionFlowElement
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\IfcProduct.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['Clearance']
\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.

IfcDistributionFlowElementType
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.

IfcDistributionPort
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 1 illustrates distribution port connectivity.

"Connection Use Definition"

Figure 1 — Distribution port connectivity

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

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

Indicates a system that is hosted by the port, as the origination.

Indicates a circuit that is switched by the port, as the origination.

Port to Distribution System\IfcDistributionPort.HasAssignments[*]
\IfcRelAssignsToGroup.RelatingGroup
\IfcDistributionSystem.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.
IfcDistributionSystem
FieldMappingDefinition
(Query)\IfcDistributionSystem
\IfcObject
The IFC class identifier indicating the subtype of object.
Aggregation

Indicates electrical subsystems within the system.

Indicates electrical circuits within the system.

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 1 illustrates a distribution system for an electrical circuit.

"Instance diagram for electrical circuit"

Figure 1 — Distribution system assignment

Indicates devices that are part of the system, where any ports of the same PredefinedType are considered part of the system implicitly.

Indicates port that is explicitly part of the system, which overrides any system assignment of the containing device.

IfcDoor
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 1.

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 1 — Door swing

NOTE  The OverallWidth and OverallHeight parameters are for informational purpose only.

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

NOTE This type is deprecated

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.

Indicates that the material constituent applies to the door lining.

Indicates that the material constituent applies to the door panel(s); if not provided, the 'Lining' material information applies to panel(s) as well.

Indicates that the material constituent applies to the glazing part.

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['Profile']
\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 1.

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 1 — Door spatial containment

 

Default spatial container

Spatial container for the element if it cannot be assigned to a building storey

Spatial container for the element in case that it is placed on site (outside of building)

In particular use cases, a door maybe assigned directly to space

IfcDoorStandardCase
FieldMappingDefinition
(Query)\
Profile 3D Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations['Profile']
\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 1 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:
    <li class="small"><em>IfcDoorLiningProperties.LiningDepth</em> starting at distance
    

    defined by LiningOffset going into the positive y direction.

    <li class="small"><em>IfcDoorLiningProperties.LiningThickness</em> 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
  • <li class="small"><em>IfcDoorLiningProperties.ThresholdDepth</em> starting at
    

    distance defined by LiningOffset going into the positive y direction.

    <li class="small"><em>IfcDoorLiningProperties.TransomOffset</em> 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 1 — Door profile

 
IfcDoorType
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:

Door Type Attributes\IfcDoorType.OperationType
\IfcDoorTypeOperationEnum
Type defining the general layout and operation of the door type in terms of the partitioning of panels and panel operations.
IfcDuctFitting
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

Material from which the duct fitting is constructed.

The outer coating, if applicable.

The insulating wrapping, if applicable.

The inner lining, if applicable.

Port\IfcDistributionElement

The flow inlet.

The flow outlet.

The flow inlet.

The flow outlet.

The flow outlet.

The flow inlet.

The flow inlet.

The left flow outlet.

The right flow outlet.

The flow inlet.

The flow outlet.

IfcDuctSegment
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

Material from which the duct fitting is constructed.

The outer coating, if applicable.

The insulating wrapping, if applicable.

The inner lining, if applicable.

Port\IfcDistributionElement

The flow inlet.

The flow outlet.

IfcDuctSilencer
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

Material from which the casing is constructed.

Port\IfcDistributionElement

The flow inlet.

The flow outlet.

IfcElectricAppliance
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

Material from which the casing is constructed.

Port\IfcDistributionElement

Receives electrical power.

Hot water used for washing dishes.

Drainage from used water.

Receives electrical power.

Receives electrical power.

Receives electrical power.

Cold water used for icemaking and/or drinking water.

Receives electrical power.

Receives electrical power.

Receives electrical power.

Receives electrical power.

Gas source if applicable.

Exhaust air.

Receives electrical power.

Cold water used for washing.

Hot water used for washing.

Drainage from used water.

IfcElectricDistributionBoard
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

Material from which the casing is constructed.

Port\IfcDistributionElement

Incoming power, such as a cable connecting from the electrical utility or another distribution board.

Grounding connection, such as a cable connecting to a cable fitting connected to a cold water pipe segment coming from the ground.

A downstream circuit, typically connected to a circuit breaker protective device.

A downstream circuit, typically connected to a circuit breaker protective device.

A downstream circuit, typically connected to a circuit breaker protective device.

A downstream circuit, typically connected to a circuit breaker protective device.

A downstream circuit, typically connected to a circuit breaker protective device.

A downstream circuit, typically connected to a circuit breaker protective device.

A downstream circuit, typically connected to a circuit breaker protective device.

A downstream circuit, typically connected to a circuit breaker protective device.

IfcElectricFlowStorageDevice
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

Material from which the casing is constructed.

Port\IfcDistributionElement

Incoming power used to charge the flow storage device.

Outgoing power backed by the flow storage device.

IfcElectricGenerator
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

Material from which the casing is constructed.

Composition

Engine-Generator sets may optionally include an engine to indicate specific detail.

Port\IfcDistributionElement

Outgoing power from generator.

IfcElectricMotor
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

Material from which the casing is constructed.

Port\IfcDistributionElement

Receives electrical power.

Motor connection to a driven device.

IfcElectricTimeControl
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

Material from which the casing is constructed.

Port\IfcDistributionElement

Receives electrical power.

Transmits electrical power according to time.

IfcElement
FieldMappingDefinition
(Query)\IfcElement
Element Interference\IfcElement.IsInterferedByElements[*]
\IfcRelInterferesElements.RelatingElement
\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.

Relative placement according to position and rotation relative to container.

Absolute placement according to position and rotation of world coordinate system.

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 1, the bounding box representation is given by an IfcShapeRepresentation that includes a single item, an IfcBoundingBox.

Figure 1 — Building element box representation

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

Any collection of points and curves representing the floor plan projection.

Any collection of points and curves, and additional hatching and text representing the floor plan projection.

Body SurfaceOrSolidModel Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations['Body']
\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['Body']
\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 1, 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 1 — Element surface model representation

 
Body Tessellation Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations['Body']
\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['Body']
\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 1, 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 1 — Building element body boundary representation

 
Body AdvancedBrep Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations['Body']
\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['Body']
\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 Openings\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. { .change-ifc2x4} > IFC4 CHANGE The attribute has been added at the end of the entity definition.
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. { .change-ifc2x4} > IFC4 CHANGE The attribute has been added at the end of the entity definition.
Linear Placement\IfcProduct.ObjectPlacement
\IfcLinearPlacement.RelativePlacement
\IfcAxis2PlacementLinear

Product placement with a Product Linear Placement template. It defines the local coordinate system based on the curve which is referenced by IfcLinearPlacement.RelativePlacement which is an IfcAxis2PlacementLinear.Location using an IfcPointByDistanceExpression.BasisCurve. The local coordinate system is based on the tangent of the curve at Location, its normal in the global Z plane and the cross product of the aforementioned vectors.

Distance can be measured along any physical element that has a representation featuring an IfcBoundedCurve that can be used as an Axis in IfcLinearPositioningElement.

Element Voiding Features\IfcElement.HasOpenings[*]
\IfcRelVoidsElement.RelatedOpeningElement
\IfcVoidingFeature.PredefinedType
\IfcVoidingFeatureTypeEnum
Qualifies the feature regarding its shape and configuration relative to the voided element.
Surface Feature Adherence\IfcElement.HasSurfaceFeatures[*]
\IfcRelAdheresToElement.RelatedSurfaceFeatures[*]
\IfcSurfaceFeature.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 AdvancedSwept Directrix Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations['Body']
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext
Definition of the representation context for which the different subtypes of representation are valid.
Body AdvancedSwept DiskSolid PolyCurve Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations['Body']
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext
Definition of the representation context for which the different subtypes of representation are valid.
Body AdvancedSwept Tapered Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations['Body']
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext
Definition of the representation context for which the different subtypes of representation are valid.
Body SectionedSolidHorizontal\IfcElement.Representation
\IfcProductDefinitionShape.Representations['Body']
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext
Definition of the representation context for which the different subtypes of representation are valid.
Body SweptSolid Composite Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations['Body']
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext
Definition of the representation context for which the different subtypes of representation are valid.
Body SweptSolid ParameterizedProfile Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations['Body']
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext
Definition of the representation context for which the different subtypes of representation are valid.
Body SweptSolid CompositeCurve Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations['Body']
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext
Definition of the representation context for which the different subtypes of representation are valid.
Body SweptSolid PolyCurve Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations['Body']
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext
Definition of the representation context for which the different subtypes of representation are valid.
FootPrint Annotation Geometry\IfcProduct.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.RepresentationIdentifier
\IfcLabel
The optional identifier of the representation as used within a project.
FootPrint GeomSet PolyCurve Geometry\IfcProduct.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.RepresentationIdentifier
\IfcLabel
The optional identifier of the representation as used within a project.
Surface Sectioned Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations['Surface']
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext
Definition of the representation context for which the different subtypes of representation are valid.
Surface Tessellation Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations['Surface']
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext
Definition of the representation context for which the different subtypes of representation are valid.
Product Grid Placement\IfcProduct.ObjectPlacement
\IfcGridPlacement.PlacementLocation
\IfcVirtualGridIntersection.OffsetDistances[*]
\IfcLengthMeasure
Offset distances to the grid axes. If given, it defines virtual offset curves to the grid axes. The intersection of the offset curves specify the virtual grid intersection.
IfcElementAssembly
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 1 illustrates spatial containment and element aggregation relationships.

"containment relationships"

Figure 1 — Element assembly containment

Members within the assembly.

Plates within the assembly.

Components within the assembly.

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.

Default spatial container

Spatial container for element assemblies not assignable to a building storey

Spatial container for element assemblies that are placed on site (outside of building)

IfcElementComponent
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 1 illustrates multiple components modeled as a single occurrence object (here: IfcFastener)

Figure 1 — 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.

IfcElementType
FieldMappingDefinition
(Query)\IfcElementType
Type Body CSG Geometry\IfcTypeProduct.RepresentationMaps[*]
\IfcRepresentationMap.MappedRepresentation
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext
Definition of the representation context for which the different subtypes of representation are valid.
Type Body Brep Geometry\IfcTypeProduct.RepresentationMaps[*]
\IfcRepresentationMap.MappedRepresentation
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext
Definition of the representation context for which the different subtypes of representation are valid.
Type Body AdvancedBrep Geometry\IfcTypeProduct.RepresentationMaps[*]
\IfcRepresentationMap.MappedRepresentation
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext
Definition of the representation context for which the different subtypes of representation are valid.
Type Element Aggregation\IfcElementType
The IFC class identifier indicating the subtype of object.
Type Body Tessellated Geometry\IfcElementType.RepresentationMaps[*]
\IfcRepresentationMap.MappedRepresentation
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext
Definition of the representation context for which the different subtypes of representation are valid.
Element Type Predefined Type\IfcElementType
The IFC class identifier indicating the subtype of object.
IfcEngine
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

Material from which the casing is constructed.

Port\IfcDistributionElement

The fuel inlet.

Connection to the driven source.

IfcEvaporativeCooler
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

Material from which the casing is constructed.

Heat exchanger media material.

Port\IfcDistributionElement

Incoming water.

Incoming air.

Outgoing air saturated with vapor.

IfcEvaporator
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

Material from which the casing is constructed.

Refrigerant material.

Port\IfcDistributionElement

Liquid refrigerant entering the evaporator.

Liquid refrigerant entering the evaporator.

Air return entering the evaporator.

Air supply leaving the evaporator.

Liquid refrigerant entering the evaporator.

Liquid refrigerant entering the evaporator.

Chilled water return entering the evaporator.

Chilled water supply leaving the evaporator.

Liquid refrigerant entering the evaporator.

Vapor refrigerant leaving the evaporator.

Chilled water return entering the evaporator.

Chilled water supply leaving the evaporator.

IfcEvent
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.

IfcExcavation
FieldMappingDefinition
(Query)\IfcExcavation
Guiding Curves Geometry\IfcProduct.Representation
\IfcProductDefinitionShape.Name

Accompanying geometry to the Body geometry of Sectioned Solid Horizontal Geometry. The curves connect the control points of the cross sections in Sectioned Solid Horinzontal Geometry.

Sectioned Solid Horizontal Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations['Body']
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

The main Body geometry of IfcExcavation. Goes hand-in-hand with Guiding Curves Geometry. The parametric cross sections are placed along the Directrix. Between the control points the interpolation is related to the curve type used on the underlying segment where the rate of curvature change is the basis.

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

Whenever parametric geometry with cross sections (Sectioned Solid Horizontal Geometry) and guiding curves (Guiding Curves Geometry) is not possible, the segment shall be represented with Body Tessellation Geometry.

IfcFacility
FieldMappingDefinition
(Query)\IfcFacility
Spatial Composition\IfcSpatialElement.Decomposes[*]
\IfcRelAggregates.RelatingObject
\IfcProject.Name
\IfcLabel

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

Direct assignment to project, if the facility is the outermost spatial container, and no site information is provided for the building projects

Assignment to site, if the facility is the spatial container for the building project with site information

Assignment to another facility as spatial container, e.g. if this facility represents a facility section.

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

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

Spatial decomposition into facility parts.

Spatial decomposition into other buildings, e.g. if this building represents a complex facilities that is subdivided into facility sections.

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

NOTE  If there are building elements and/or other elements directly related to the IfcFacility (like a curtain wall spanning several stories), they are associated with the IfcFacility by using the objectified relationship IfcRelContainedInSpatialStructure. The IfcFacility references them by its inverse relationship: > * IfcFacility.ContainsElements -- referencing any subtype of IfcProduct (with the exception of other spatial structure element) by IfcRelContainedInSpatialStructure.RelatedElements.

Physical elements contained in the facility.

Annotations that are directly related to the facility.

Positioning elements that are directly related to the facility.

Placement\IfcProduct.ObjectPlacement
\IfcLocalPlacement.RelativePlacement
\IfcAxis2Placement3D

The placement for IfcFacility is defined in its supertype IfcProduct. It is defined by either IfcLocalPlacement or by IfcLinearPlacement>/em> which define the local coordinate system that is referenced by all geometric representations.

  • The PlacementRelTo relationship of IfcObjectPlacement shall point (if relative placement is used) to the IfcSpatialStructureElement of type IfcSite, or of type IfcFacility (e.g. to position a facility relative to a facility complex, or a facility section to a facility).
  • If the relative placement is not used, the absolute placement is defined within the world coordinate system.
Body Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations['Body']
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

The body (or solid model) geometric representation (if the facility has an independent geometric representation) of IfcFacility is defined using faceted B-Rep capabilities (with or without voids), based on the IfcFacetedBrep or on the IfcFacetedBrepWithVoids. In the case of alignment based infrastructure, the geometric representation can be defined using IfcSectionedSolidHorizontal optionally IfcSweptAreaSolid.

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.

IfcFacilityPart
FieldMappingDefinition
(Query)\IfcFacilityPart
Spatial Composition\IfcSpatialElement.Decomposes[*]
\IfcRelAggregates.RelatingObject
\IfcProject.Name
\IfcLabel

NOTE  By using the inverse relationship IfcFacilityPart.Decomposes it references (IfcFacility || IfcFacilityPart) through IfcRelAggregates.RelatingObject_IfcFacilityPart, the referenced IfcFacilityPart needs to have a different and higher CompositionType, i.e. COMPLEX (if the other IfcFacilityPart has ELEMENT), or ELEMENT (if the other IfcFacilityPart has PARTIAL)._

Assignment to the building, where the building storey is a part of.

Assignment to another building storey, e.g. if this building storey is a partial storey that refer to another storey.

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

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

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

Elements can also be referenced in an IfcFacilityPart, 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 IfcFacilityPart by using the objectified relationship IfcRelServicesBuildings.

Placement\IfcProduct.ObjectPlacement
\IfcLocalPlacement.RelativePlacement
\IfcAxis2Placement3D

The local placement for IfcFacilityPart 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 or by IfcLinearPlacement which measures along a linear positioning element.

  • The PlacementRelTo attribute of IfcObjectPlacement shall point (if relative placement is used) to the IfcSpatialStructureElement of type IfcFacility, or of type IfcFacilityPart (e.g. to position a facility relative to a facility part complex, or a partial facility part to a facility part).
  • If the relative placement is not used, the absolute placement is defined within the world coordinate system.
Body Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations['Body']
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

The body (or solid model) geometric representation (if the facility part has an independent geometric representation) of IfcFacilityPart is defined using faceted B-Rep capabilities (with or without voids), based on the IfcFacetedBrep or on the IfcFacetedBrepWithVoids or in the case of alignment based infrastructure using IfcSectionedSolidHorizontal optionally IfcSweptAreaSolid.

NOTE  Since the facility part shape is usually described by the exterior facility elements, an independent shape representation shall only be given, if the facility part is exposed independently from its constituting elements and such independent geometric representation may be prohibited in model view definitions.

IfcFan
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

Material from which the casing is constructed.

Material from which the fan wheel is constructed.

Port\IfcDistributionElement

Incoming air.

Outgoing air.

IfcFastener
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.
IfcFeatureElement
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.
IfcFilter
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

Material from which the casing is constructed.

Material used for filtering particulates.

Port\IfcDistributionElement

Incoming fluid.

Outgoing fluid.

Incoming fluid.

Outgoing fluid.

Incoming fluid.

Outgoing fluid.

Incoming fluid.

Outgoing fluid.

Incoming fluid.

Outgoing fluid.

Incoming fluid.

Outgoing fluid.

IfcFireSuppressionTerminal
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

Material from which the casing is constructed.

The material used to construct the deflector plate.

Port\IfcDistributionElement

Supply line.

Connection to hose.

Supply line.

IfcFlowInstrument
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

Material from which the casing is constructed.

Port\IfcDistributionElement

Receives signal.

IfcFlowMeter
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

Material from which the casing is constructed.

Port\IfcDistributionElement

Inlet from utility.

Measured use.

Inlet from utility.

Measured use.

Inlet from utility.

Measured use.

Inlet from utility.

Measured use.

IfcFlowSegment
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\IfcProduct.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.

IfcFooting
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\IfcProduct.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.
IfcFurnishingElement
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.
IfcFurniture
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 finish, typically at visible aspects of the furniture.

The frame from which the object is constructed.

Finiish hardware such as knobs or handles.

Padding such as cushions.

Panels such as glass.

Aggregation

Modular furniture may be aggregated into components.

IfcGeographicElement
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

Assignment to a site within a building project context

Assignment to any spatial structure

IfcGeoScienceElement
FieldMappingDefinition
(Query)\IfcGeoScienceElement
Excavation Cuttings\IfcElement.HasOpenings[*]
\IfcRelVoidsElement.RelatedOpeningElement
\IfcExcavation.FillsVoids[*]
\IfcRelFillsElement.RelatedBuildingElement
\IfcCourse

An IfcGeoScienceElement may be voided (cut) by an IfcExcavation.

Document Association\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesDocument.Name
\IfcLabel

Documents may be associated with any type of IfcGeoScienceElement.

Dataset Association\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesDataset.Name
\IfcLabel

Datasets may be associated with any type of IfcGeoScienceElement.

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

Body Brep Geometry may be associated to any IfcGeoScienceElement.

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

Surface Tesselation Geometry may be associated to any IfcGeoScienceElement.

Voxel Geometry\IfcProduct.Representation
\IfcProductDefinitionShape.Name

An IfcGeoScienceElement may be represented by an IfcVoxelGrid.

Borehole Assignment\IfcObjectDefinition.HasAssignments[*]
\IfcRelAssignsToProduct.RelatingProduct
\IfcProduct

An IfcGeoScienceFeature may be assigned to an IfcBorehole where each IfcGeoScienceFeature represents one interpreted homogeneous unit (e.g. an interpreted material) in the IfcBorehole.

IfcGeoScienceObservation
FieldMappingDefinition
(Query)\IfcGeoScienceObservation
Observation Composition\IfcComplementaryData.Decomposes[*]
\IfcRelAggregates.RelatingObject
\IfcComplementaryData.Name
\IfcLabel

An IfcGeoScienceObservation may decompose another IfcGeoScienceObservation. This may be the case e.g. when several different types of tests have been performed in an IfcBorehole at different depths and each type of test is decomposed into sub-tests at different depth ranges.

Observation Decomposition\IfcComplementaryData.IsDecomposedBy[*]
\IfcRelAggregates.RelatedObjects[*]
\IfcComplementaryData.Name
\IfcLabel

An IfcGeoScienceObservation may be decomposed by other IfcGeoScienceObservation. This may be the case e.g. when several different types of tests have been performed in an IfcBorehole at different depths and each type of test is decomposed into sub-tests at different depth ranges.

Observation Assignment\IfcObjectDefinition.HasAssignments[*]
\IfcRelAssignsToProduct.RelatingProduct
\IfcProduct

An IfcGeoScienceObservation may be assigned to IfcBorehole, IfcSpatialZone or IfcSensor.

Axis 3D Geometry\IfcProduct.Representation
\IfcProductDefinitionShape.Representations['Axis']
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext

An IfcGeoScienceObservation may be represented by a curve in 3D space.

Body Voxel Geometry\IfcProduct.Representation
\IfcProductDefinitionShape.Name

An IfcGeoScienceObservation may be represented by an IfcVoxelGrid_.

Dataset Association\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesDataset.Name
\IfcLabel

Datasets may be associated with any type of IfcGeoScienceObservation.

Document Association\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesDocument.Name
\IfcLabel

Documents may be associated with any type of IfcGeoScienceObservation.

IfcGeotechnicalElement
FieldMappingDefinition
(Query)\IfcGeotechnicalElement
Earthworks Cuttings\IfcElement.HasOpenings[*]
\IfcRelVoidsElement.RelatedOpeningElement
\IfcExcavation.FillsVoids[*]
\IfcRelFillsElement.RelatedBuildingElement
\IfcCourse
Reference to ~~building~~ element that occupies fully or partially the associated opening. { .change-ifc2x} > IFC2x CHANGE  The data type has been changed from _IfcBuildingElement_ to _IfcElement_ with upward compatibility for file based exchange.
IfcGrid
FieldMappingDefinition
(Query)\IfcGrid
Grid Attributes\IfcGrid.PredefinedType
\IfcGridTypeEnum
Predefined types to define the particular type of the grid. { .change-ifc4} > IFC4 Change  New attribute.
IfcGroup
FieldMappingDefinition
(Query)\IfcGroup
Group Assignment\IfcGroup.IsGroupedBy[*]
\IfcRelAssignsToGroup.RelatedObjects[*]
\IfcProduct

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

IfcHeatExchanger
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

Material from which the casing is constructed.

Port\IfcDistributionElement

Inlet of substance to be heated.

Outlet of substance to be heated.

Inlet of substance to be cooled.

Outlet of substance to be cooled.

IfcHumidifier
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

Material from which the casing is constructed.

Port\IfcDistributionElement

Incoming water.

Incoming air.

Outgoing air saturated with vapor.

IfcImprovedGround
FieldMappingDefinition
(Query)\IfcImprovedGround
Material\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesMaterial.RelatingMaterial
\IfcMaterialConstituentSet.MaterialConstituents[*]
\IfcMaterialConstituent.Name
\IfcLabel

Material used for improved ground elements.

IfcInterceptor
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

Material from which the casing is constructed.

Material from which the cover or grating is constructed.

Material from which the strainer is constructed.

Port\IfcDistributionElement

Inlet drainage.

Outlet drainage.

IfcInventory
FieldMappingDefinition
(Query)\IfcInventory
Group Assignment\IfcGroup.IsGroupedBy[*]
\IfcRelAssignsToGroup.RelatedObjects[*]
\IfcProduct

Assets included in the inventory.

Elements such as furniture included in the inventory.

Spaces included in the inventory.

IfcJunctionBox
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

Material from which the casing is constructed.

Element Connectivity\IfcElement.ConnectedFrom[*]

Indicates a cover plate for the junction box, having ObjectType 'JunctionBoxCoverPlate'.

Filling\IfcElement.FillsVoids[*]
\IfcRelFillsElement.RelatingOpeningElement
\IfcOpeningElement.VoidsElements
\IfcRelVoidsElement

Covering such as drywall applied to a wall or ceiling, for which the junction box fills.

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.

A switch, outlet, light fixture, or other component that may fit within one of the gangs of the junction box. Property sets may further define compatible objects based on form factor, voltage, and current.

IfcLaborResource
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

Indicates specific people manifesting the resource such as laborers.

Resource Cost\IfcConstructionResource.BaseCosts[*]
\IfcAppliedValue.Name
\IfcLabel

Wages incurred for work during standard hours.

Wages incurred for work during overtime hours.

Resource Quantity\IfcConstructionResource.BaseQuantity
\IfcPhysicalSimpleQuantity.Name
\IfcLabel

Quantity of labor, typically per hour.

IfcLamp
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

Material from which the bulb is constructed such as glass.

Material from which the conductor is constructed.

Material from which the filament is constructed.

Port\IfcDistributionElement

The socket providing electricity to the lamp.

IfcLightFixture
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

Material from which the casing is constructed.

Connection

Indicates a suspended ceiling anchoring the light fixture.

Indicates embedding the light fixture in a building element such as a suspended ceiling.

Port\IfcDistributionElement

The power supply line, typically a cable connected to a switch.

A socket providing electricity to a lamp with one terminal.

The power supply line, typically a cable connected to a switch.

A socket providing electricity to a lamp with two terminals.

A socket providing electricity to a lamp with two terminals.

A socket providing electricity to a lamp with two terminals.

A socket providing electricity to a lamp with two terminals.

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

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

IfcLinearZone
FieldMappingDefinition
(Query)\IfcLinearZone
Product Span Positioning\IfcProduct.PositionedRelativeTo[*]
\IfcRelPositions.RelatingPositioningElement
\IfcReferent.PredefinedType
\IfcReferentTypeEnum

An IfcLinearZone shall be defined using product span positioning, i.e. spanning a longitudinal subsection of an alignment.

IfcMaterial
FieldMappingDefinition
(Query)\IfcMaterial
\IfcObject
The IFC class identifier indicating the subtype of object.
IfcMechanicalFastener
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.
Mechanical Fastener Attributes\IfcMechanicalFastener.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.
IfcMechanicalFastenerType
FieldMappingDefinition
(Query)\IfcMechanicalFastenerType
Mechanical Fastener Type Attributes\IfcMechanicalFastenerType.NominalDiameter
\IfcPositiveLengthMeasure
The nominal diameter describing the cross-section size of the fastener type.
IfcMedicalDevice
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

Material from which the casing is constructed.

Port\IfcDistributionElement

Receives electrical power.

Provides suction.

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.
IfcMember
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.

Default spatial container

Spatial container for the element if it cannot be assigned to a building storey

Spatial container for the element in case that it is placed on site (outside of building)

Axis 3D Geometry\IfcProduct.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.

Three-dimensional reference curve for the member.

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

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

Figure 1 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 1 — Member swept solid

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

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

NOTE  View definitions and implementer agreements can further constrain the allowed swept solid types.

  • Profile: see 'SweptSolid' geometric representation
  • Extrusion: not applicable

MappedRepresentation Representation Type

Body Clipping Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations['Body']
\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 1 illustrates a 'Clipping' geometric representation with use of IfcBooleanClippingResult between an IfcExtrudedAreaSolid and an IfcHalfSpaceSolid to create a clipped body.

"clipped member"

Figure 1 — Member clipping

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

An idealized structural member corresponding to the member.

A task for operating on the member.

IfcMemberStandardCase
FieldMappingDefinition
(Query)\
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 1 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 1 — Member profile usage

Figure 2 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 2 — 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\IfcProduct.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 1 — 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 2 — Member axis cardinal point

 
Body SweptSolid Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations['Body']
\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 1 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 1 — Member body extrusion

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

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

NOTE  View definitions and implementer agreement can further constrain the allowed swept solid types. NOTE  Using IfcExtrudedAreaSolidTapered, or IfcRevolvedAreaSolidTapered requires the use of two IfcMaterialProfile's within the IfcMaterialProfileSet assinged to the IfcBeamStandardCase

  • Profile: see 'SweptSolid' geometric representation
  • Profile Position : see 'SweptSolid' geometric representation
  • Extrusion: not applicable
Body Clipping Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations['Body']
\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 1 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 1 — Member body clipping

IfcMemberType
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

IfcMotorConnection
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

Material from which the casing is constructed.

Port\IfcDistributionElement

Connection from the motor.

Connection to the driven device.

IfcObject
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.

IfcObjectDefinition
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.

Assignment to Product\IfcObjectDefinition.HasAssignments[*]
\IfcRelAssignsToProduct.RelatingProduct
\IfcProduct
Reference to the product or product type to which the objects are assigned to. { .change-ifc2x4} > IFC4 CHANGE Datatype expanded to include _IfcProduct_ and _IfcTypeProduct_.
IfcOccupant
FieldMappingDefinition
(Query)\IfcOccupant
Actor Assignment\IfcActor.IsActingUpon[*]
\IfcRelAssignsToActor.RelatedObjects[*]
\IfcControl

Indicates the property to be occupied. Particular details of the agreement relating to the occupancy of a property are dealt within the Pset_PropertyAgreement that is defined for the instance of IfcSpatialStructureElement. This means that an occupant may be related to a site, building, building storey or space through the IfcSpatialStructureElement.ElementComposition attribute. For instance, if the property concerned is several office spaces on a building storey, it might be appropriate to reference IfcBuildingStorey.ElementComposition=PARTIAL. Occupants of a property may be considered to be the parties to an agreement. The roles that the occupant may play in respect to an agreement are defined in the IfcOccupantTypeEnum enumeration. If the role is not specified by the predefined contents of this enumeration, the value USERDEFINED may be set and the ObjectType attribute asserted.

IfcOpeningElement
FieldMappingDefinition
(Query)\IfcOpeningElement
Reference Tessellation 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.

Reference SweptSolid PolyCurve 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.

\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 1 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 1 — Opening with full extrusion

Figure 2 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 2 — 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 3 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 3 — 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.

IfcOpeningStandardCase
FieldMappingDefinition
(Query)\
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 1 — Opening standard representation

IfcOutlet
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

Material from which the casing is constructed.

Material from which the conductors are constructed.

Material from which the outer plate is constructed.

Port\IfcDistributionElement

A data line, connecting to a cable commonly originating from a port on a router.

A data line, connecting to a cable commonly originating from a port on a router.

Jacks in order of layout, going to the right and then down, which may accept a cable.

Jacks in order of layout, going to the right and then down, which may accept a cable.

The source of power, which may refer to a port on a junction box.

Upper jack, accepting a plug from an appliance or fixture.

Lower jack, accepting a plug from an appliance or fixture.

A telephone line, connecting to a cable originating from a telecommunications distribution board.

A telephone line, connecting to a cable originating from a telecommunications distribution board.

Jacks in order of layout, going to the right and then down, which may accept a cable.

Jacks in order of layout, going to the right and then down, which may accept a cable.

IfcPerformanceHistory
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

A system or zone for which time-based system information is provided, such as overall status parameters of a building control system.

A building space, physical device, or port for which time-based information is provided, such as a chiller or an analog input within a device.

A process for which time-based information is provided, such as an alarm event being raised and acknowledged, or regular and overtime costs incurred for a task.

A resource for which usage is recorded or planned over time, such as wage rates and number of workers at particular times.

IfcPermit
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

A work calendar may indicate the time period of the permit and allowed times when work may be performed. Such work calendar may have assigned resources indicating equipment or labor permitted at various times.

A work schedule may indicate tasks and scheduled times where the work schedule type may designate whether tasks and/or times are planned or actual. Such work schedule may have assigned tasks indicating detail, where tasks may be assigned to products and may have assigned resources.

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

A permit may be nested to indicate permit amendments, in order of issue.

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

Figure 1 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 1 — Permit assignment

IfcPile
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\IfcProduct.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.
IfcPipeFitting
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

Material from which the casing is constructed.

The outer coating, if applicable.

The insulating wrapping, if applicable.

The inner lining, if applicable.

Port\IfcDistributionElement

The flow inlet.

The flow outlet.

The flow inlet.

The flow outlet.

The flow outlet.

The flow inlet.

The flow inlet.

The left flow outlet.

The right flow outlet.

The flow inlet.

The flow outlet.

IfcPipeSegment
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

Material from which the casing is constructed.

The outer coating, if applicable.

The insulating wrapping, if applicable.

The inner lining, if applicable.

Port\IfcDistributionElement

The flow inlet.

The flow outlet.

IfcPlate
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.

Default spatial container

Spatial container for the element if it cannot be assigned to a building storey

Spatial container for the element in case that it is placed on site (outside of building)

Surface 3D Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations['Surface']
\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['Body']
\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['Body']
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext
Definition of the representation context for which the different subtypes of representation are valid.
Product Assignment\IfcProduct.ReferencedBy[*]
\IfcRelAssignsToProduct.RelatedObjects[*]
\IfcObject

An idealized structural member corresponding to the plate.

A task for operating on the plate.

IfcPlateStandardCase
FieldMappingDefinition
(Query)\
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 1 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 1 — 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 2 — 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['Body']
\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 1 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 1 — Plate body extrusion

 
Body Clipping Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations['Body']
\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 1 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 1 — Plate body clipping

 
IfcPlateType
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.
IfcPositioningElement
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 1 — 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 2 — Grid representation

 
IfcProcedure
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.

IfcProcess
FieldMappingDefinition
(Query)\IfcProcess
\IfcObject
The IFC class identifier indicating the subtype of object.
IfcProduct
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.

Relative Position\IfcProduct.PositionedRelativeTo[*]
\IfcRelPositions.RelatingPositioningElement
\IfcPositioningElement

If the IfcProduct Product Placement is placed relative to an IfcPositioningElement this relationship covers the information on which IfcPositioningElement positions the IfcProduct.

Product Span Positioning\IfcProduct.PositionedRelativeTo[*]
\IfcRelPositions.RelatingPositioningElement
\IfcReferent.PredefinedType
\IfcReferentTypeEnum
Predefined types to define the particular type of the referent.
Product Geometry Colour\IfcProduct.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.Items[*]
\IfcSolidModel.StyledByItem[*]
\IfcStyledItem.Styles[*]
\IfcSurfaceStyle
Representation styles which are assigned, either to an geometric representation item, or to a material definition. { .change-ifc2x4} > IFC4 CHANGE The data type has been changed to _IfcStyleAssignmentSelect_ with upward compatibility for file based exchange. > NOTE  Only the select item _IfcPresentationStyle_ shall be used from IFC4 onwards, the _IfcPresentationStyleAssignment_ has been deprecated.
Product Geometry Layer\IfcProduct.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.LayerAssignments[*]
\IfcPresentationLayerAssignment
Assignment of the whole representation to a single or multiple layer(s). The _LayerAssigments_ can be overridden by _LayerAssigments_ of the _IfcRepresentationItem_'s within the list of _Items_. > NOTE  Implementation agreements can restrict the maximum number of layer assignments to 1. { .change-ifc2x3} > IFC2x3 CHANGE  The inverse attribute _LayerAssignments_ has been added
Product Relative Placement\IfcProduct.ObjectPlacement
\IfcObjectPlacement.PlacementRelTo
\IfcObjectPlacement.PlacesObject[*]
\IfcPositioningElement.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.
IfcProfileDef
FieldMappingDefinition
(Query)\IfcProfileDef
\IfcObject
The IFC class identifier indicating the subtype of object.
IfcProject
FieldMappingDefinition
(Query)\IfcProject
Project Type Definitions\IfcContext.Declares[*]
\IfcRelDeclares.RelatedDefinitions[*]
\IfcTypeObject
Set of object or property definitions that are assigned to a context and to which the unit and representation context definitions of that context apply.
Property Template Definitions\IfcContext.Declares[*]
\IfcRelDeclares.RelatedDefinitions[*]
\IfcPropertySetTemplate.TemplateType
\IfcPropertySetTemplateTypeEnum

If a project includes custom properties for which end users should be able to view and/or edit, then backing property templates must be defined. Such templates define applicable data types and values. Applications should not allow modification of any custom properties (other than those defined within this specification) for which no template is available.

Project Units\IfcContext.UnitsInContext
\IfcUnitAssignment.Units[*]
\IfcDerivedUnit.UnitType
\IfcDerivedUnitEnum

Length unit as meters, millimeters, or inches.

Angle unit as degrees or radians.

Project Representation Context\IfcContext.RepresentationContexts[*]
\IfcGeometricRepresentationContext.ContextIdentifier
\IfcLabel

Context for all 3D geometry.

Context for all 2D annotations.

Project Representation Context 3D\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. > NOTE  that the source of the classification means the person or organization that was the original author or the person or organization currently acting as the publisher.
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. { .change-ifc2x4} > IFC4 CHANGE  New attribute added at the place of the removed attribute _DocumentReferences_.
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 1 illustrates the use of IfcProject as context for work plans or work schedules.

"project relationships"

Figure 1 — Project spatial and work plan structure

Referenced projects incorporated into this project.

Property set templates defined by this project.

Type definition defined by this project.

Actors participating in this project.

Controls issued within this project.

Groups defined by this project.

Processes defined by this project.

Resources defined by this project.

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 1 illustrates project relationships with spatial structures, elements, and element type libraries.

"spatial decomposition relationships"

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

If referenced, the site is the root of the spatial structure.

If referenced, the building is the root of the spatial structure (no explicit site information included).

If referenced, the spatial zone is the root of the spatial structure (to be used as a stub for non-building related projects).

Project Representation Context 2D\IfcContext.RepresentationContexts[*]
\IfcGeometricRepresentationContext.ContextIdentifier
\IfcLabel
The optional identifier of the representation context as used within a project.
Project Dataset Information\IfcContext.HasAssociations[*]
\IfcRelAssociatesDataset.RelatingDataset
\IfcDatasetInformation.Identification
\IfcIdentifier
Identifier that uniquely identifies a document. { .change-ifc2x4} > IFC4 CHANGE  Attribute renamed from _DocumentId_.
Project Global Positioning Geographic\IfcProject.RepresentationContexts[*]
\IfcGeometricRepresentationContext.HasCoordinateOperation[*]
\IfcRigidOperation.TargetCRS
\IfcGeographicCRS
Target coordinate reference system for the operation.
Project Global Positioning Mapped\IfcProject.RepresentationContexts[*]
\IfcGeometricRepresentationContext.HasCoordinateOperation[*]
\IfcRigidOperation.TargetCRS
\IfcProjectedCRS

The representation context of the project refers to global positioning, i.e. the coordinate system of the project resides within the defined projected coordinate reference system (a map coordinate system) and is subject to a rigid transformation, e.g. to truncate coordinate values. The representation context inherits all properties of the projected coordinate reference system, in particular the distortions resulting in deviations between model dimensions/distances and real-world dimensions/distances.

IfcProjectionElement
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 1, 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: > * IfcCartesianPoint(XDim/2,YDim/2)

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

"projection"

Figure 1 — 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'
IfcProjectOrder
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 1 — Project order composition

A cost schedule may indicate costs and quantities where the cost schedule type may designate whether rates and/or quantities are estimated or final. Such cost schedule may have assigned cost items indicating detail, where each cost item may have assigned products, processes, or resources.

A work schedule may indicate tasks and scheduled times where the work schedule type may designate whether tasks and/or times are planned or actual. Such work schedule may have assigned tasks indicating detail, where tasks may be assigned to products and may have assigned resources.

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

May contain subordinate orders, particularly change orders indicating contract amendment in order of issue.

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

Figure 1 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 1 — Project order assignment

IfcProtectiveDevice
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

Material from which the casing is constructed.

Port\IfcDistributionElement

The supply line, typically connected from a slot in a distribution board.

The load protected by this device, typically a cable connected to a device or the first junction box of a circuit.

IfcProtectiveDeviceTrippingUnit
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

The corresponding breaker unit for breaking the circuit.

IfcPump
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

Material from which the casing is constructed.

Material from which the impeller of the pump is constructed. In the case of a positive displacement pump, the piston acts as the impeller.

Material from which the impeller shaft seal of the pump is constructed.

Port\IfcDistributionElement

Receives electrical power.

Fluid entering pump.

Fluid leaving pump.

IfcRailing
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.

Default spatial container

Spatial container for the element if it cannot be assigned to a building storey

Spatial container for the element in case that it is placed on site (outside of building)

Axis 2D Geometry\IfcProduct.Representation
\IfcProductDefinitionShape.Representations['Axis']
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext
Definition of the representation context for which the different subtypes of representation are valid.
IfcRailingType
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.
IfcRamp
FieldMappingDefinition
(Query)\IfcRamp
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 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.

Default spatial container

Spatial container for the element if it cannot be assigned to a building storey

Spatial container for the element in case that it is placed on site (outside of building)

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 1 illustrates IfcRamp defining the local placement for all components.

Figure 1 — Ramp placement

 

Ramps may be decomposed into ramp flights.

Ramps may be decomposed into ramp landing, represented by IfcSlab.PredefinedType=LANDING

Ramps may be decomposed into railings.

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\IfcProduct.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['Body']
\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['Body']
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext
Definition of the representation context for which the different subtypes of representation are valid.
IfcRampFlight
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.

Default spatial container, if the ramp flight is not used (by default) as a part within a ramp container.

Spatial container for the element if it cannot be assigned to a building storey

Spatial container for the element in case that it is placed on site (outside of building)

Axis 2D Geometry\IfcProduct.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 1 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 1 — 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 1 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 1 — Ramp flight footprint

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

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

Figure 1 illustrates the body representation.

"fig1"

Figure 1 — Ramp flight body

Body Clipping Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations['Body']
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext
Definition of the representation context for which the different subtypes of representation are valid.
IfcRampFlightType
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.
IfcRampType
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.
IfcReferent
FieldMappingDefinition
(Query)\IfcReferent
Station\IfcReferent.Positions[*]
\IfcRelPositions.RelatedProducts[*]
\IfcProduct.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.
IfcReinforcingBar
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

Material from which the rebar is constructed, such as steel.

Outer coating, if applicable.

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.

Reinforcing Bar Attributes\IfcReinforcingBar.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.
IfcReinforcingBarType
FieldMappingDefinition
(Query)\IfcReinforcingBarType
Reinforcing Bar Type Attributes\IfcReinforcingBarType.NominalDiameter
\IfcPositiveLengthMeasure
The nominal diameter defining the cross-section size of the reinforcing bar.
IfcReinforcingMesh
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.

Reinforcing Mesh Attributes\IfcReinforcingMesh.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.
IfcReinforcingMeshType
FieldMappingDefinition
(Query)\IfcReinforcingMeshType
Reinforcing Mesh Type Attributes\IfcReinforcingMeshType.MeshLength
\IfcPositiveLengthMeasure
The overall length of the mesh measured in its longitudinal direction.
IfcRoof
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

Default spatial container

Spatial container for the element if it cannot be assigned to a building storey

Spatial container for the element in case that it is placed on site (outside of building)

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 1 illustrates roof placement, with an IfcRoof defining the local placement for all aggregated elements.

"roof"

Figure 1 — Roof placement

A roof may be aggregated into slabs for each face.

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.
IfcRoofType
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.
IfcRoot
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.

IfcSanitaryTerminal
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

Material from which the casing is constructed.

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.

Faucet mounted to sink that provides cold and/or hot water.

Port\IfcDistributionElement

Drainage.

Cold water supply.

Hot water supply.

Drainage.

Cold water supply.

Hot water supply.

Drainage.

Cold water supply.

Hot water supply.

Drainage.

Drainage.

Drainage.

Cold water supply.

Drainage.

Cold water supply.

Drainage.

Cold water supply.

Hot water supply.

Drainage.

IfcSensor
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

Material from which the casing is constructed.

Port\IfcDistributionElement

Transmits signal.

Control Flow\IfcDistributionControlElement.AssignedToFlowElement[*]
\IfcRelFlowControlElements.RelatingFlowElement
\IfcDistributionFlowElement

Sensors may be connected to a flow element for which an aspect of the fluid or flow is measured.

IfcShadingDevice
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.

Default spatial container

Spatial container for the element if it cannot be assigned to a building storey

Spatial container for the element in case that it is placed on site (outside of building)

In particular use cases, a shading device maybe assigned directly to space

IfcShadingDeviceType
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.
IfcSite
FieldMappingDefinition
(Query)\IfcSite
Site Attributes\IfcSite.LongName
\IfcLabel
Long name for a spatial structure element, used for informal purposes. It should be used, if available, in conjunction with the inherited _Name_ attribute. > NOTE  In many scenarios the _Name_ attribute refers to the short name or number of a spacial element, and the _LongName_ refers to the full descriptive name.
Spatial Composition\IfcSpatialElement.Decomposes[*]
\IfcRelAggregates.RelatingObject
\IfcProject.Name
\IfcLabel

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['SurveyPoints']
\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 1 shows a set of survey points, given as 3D Cartesian points within the object coordinate system of the site. Figure 2 shows the result after facetation.

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

points only facetation of points

Figure 1 — Site survey points

Figure 2 — Site survey points facetation

Figure 3 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 4 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 3 — Site breaklines

Figure 4 — 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'
IfcSlab
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.

Default spatial container

Spatial container for the element if it cannot be assigned to a building storey

Spatial container for the element in case that it is placed on site (outside of building)

Surface Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations['Surface']
\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['Body']
\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 1 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 1 — Slab body extrusion

Body Clipping Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations['Body']
\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 1 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 1 — Slab body clipping

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

An idealized structural member corresponding to the slab.

A task for operating on the slab.

IfcSlabElementedCase
FieldMappingDefinition
(Query)\
Aggregation

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

Slabs may be aggregated into beams for joists.

Slabs may be aggregated into plates for decking.

Slabs may be aggregated into parts for other elements.

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['Surface']
\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.

IfcSlabStandardCase
FieldMappingDefinition
(Query)\
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 1 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 1 — Slab type definition

 

Figure 2 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 2 — 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['Body']
\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 1 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 1 — Slab body extrusion

 
Body Clipping Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations['Body']
\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 1 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 1 — Slab body clipping

 
IfcSlabType
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.
IfcSolarDevice
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

Material from which the casing is constructed.

Port\IfcDistributionElement

Incoming water.

Outgoing heated water.

Converted electrical power.

IfcSpace
FieldMappingDefinition
(Query)\IfcSpace
Space Attributes\IfcSpace.LongName
\IfcLabel
Long name for a spatial structure element, used for informal purposes. It should be used, if available, in conjunction with the inherited _Name_ attribute. > NOTE  In many scenarios the _Name_ attribute refers to the short name or number of a spacial element, and the _LongName_ refers to the full descriptive name.
Spatial Composition\IfcSpatialElement.Decomposes[*]
\IfcRelAggregates.RelatingObject
\IfcProject.Name
\IfcLabel

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. { .change-ifc2x} > IFC2x CHANGE  The data type has been changed from _IfcBuildingElement_ to _IfcElement_ with upward compatibility for file based exchange. { .change-ifc2x4} > IFC4 CHANGE  The attribute has been changed to be mandatory.
Space Boundaries 2nd Level\IfcSpace.BoundedBy[*]
\IfcRelSpaceBoundary2ndLevel.RelatedBuildingElement
\IfcElement
Reference to ~~Building~~ Element, that defines the Space Boundaries. { .change-ifc2x} > IFC2x CHANGE  The data type has been changed from _IfcBuildingElement_ to _IfcElement_ with upward compatibility for file based exchange. { .change-ifc2x4} > IFC4 CHANGE  The attribute has been changed to be mandatory.
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 1 shows a two-dimensional bounded curve representing the foot print of IfcSpace.

Figure 1 — Space footprint

 

A single curve defining the outer boundary

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

The following constraints apply to the standard representation:

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

"fig1"

Figure 1 — Space body swept solid

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

The following additional constraints apply to the advanced representation:

Figure 1 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 1 — Space body clipping

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

The space can be represented by a brep geometry representation

IfcSpaceHeater
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

Material from which the casing is constructed.

Port\IfcDistributionElement

Receives electrical power.

Water or steam supply.

Water or steam return.

IfcSpatialElement
FieldMappingDefinition
(Query)\IfcSpatialElement
\IfcObject
The IFC class identifier indicating the subtype of object.
FootPrint GeomSet Geometry\IfcProduct.Representation
\IfcProductDefinitionShape.Representations[*]
\IfcShapeRepresentation.RepresentationIdentifier
\IfcLabel

Set of curves (outer and inner) representing the floor projection,

Group Spatial Connectivity\IfcSpatialElement.ReferencedInStructures[*]
\IfcRelReferencedInSpatialStructure.RelatedElements[*]
\IfcGroup.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 Interference\IfcSpatialElement.InterferesElements[*]
\IfcRelInterferesElements.RelatedElement
\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.
Spatial Interference with Zones\IfcSpatialElement.InterferesElements[*]
\IfcRelInterferesElements.RelatedElement
\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.
IfcSpatialElementType
FieldMappingDefinition
(Query)\IfcSpatialElementType
Spatial Element Type Predefined Type\IfcSpatialElementType
The IFC class identifier indicating the subtype of object.
IfcSpatialStructureElement
FieldMappingDefinition
(Query)\IfcSpatialStructureElement
\IfcObject
The IFC class identifier indicating the subtype of object.
IfcSpatialZone
FieldMappingDefinition
(Query)\IfcSpatialZone
Spatial Zone Attributes\IfcSpatialZone.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.
IfcStackTerminal
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

Material from which the casing is constructed.

Port\IfcDistributionElement

Exhaust inlet.

Exhaust inlet.

Rainwater outlet.

IfcStair
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.

Default spatial container

Spatial container for the element if it cannot be assigned to a building storey

Spatial container for the element in case that it is placed on site (outside of building)

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 1 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 1 — Stair placement

Stairs may be decomposed into stair flights.

Stairs may be decomposed into stair landing, represented by IfcSlab.PredefinedType=LANDING

Stairs may be decomposed into railings for zero, one, or both sides.

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\IfcProduct.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['Body']
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext
Definition of the representation context for which the different subtypes of representation are valid.
IfcStairFlight
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.

Default spatial container, if the stair flight is not used (by default) as a part within a stair container.

Spatial container for the element if it cannot be assigned to a building storey.

Spatial container for the element in case that it is placed on site (outside of building)

Axis 2D Geometry\IfcProduct.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 1 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 1 — 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 1 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 1 — Stair flight footprint

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

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

"3D"

Figure 1 — Stair flight body

IfcStairFlightType
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.
IfcStairType
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.
IfcStructuralAnalysisModel
FieldMappingDefinition
(Query)\IfcStructuralAnalysisModel
Aggregation

This relationship provides the hierarchy between separate (partial) analysis models.

Group Assignment\IfcGroup.IsGroupedBy[*]
\IfcRelAssignsToGroup.RelatedObjects[*]
\IfcProduct

Structural members and connections assigned to the analysis model.

IfcStructuralCurveAction
FieldMappingDefinition
(Query)\IfcStructuralCurveAction
Structural Activity\IfcStructuralActivity.AppliedLoad
\IfcStructuralLoad

Linear force and moment along a curve member.

Linear force and moment positioned within a surface member.

IfcStructuralCurveConnection
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.
IfcStructuralCurveMember
FieldMappingDefinition
(Query)\IfcStructuralCurveMember
Structural Connectivity\IfcStructuralMember.ConnectedBy[*]
\IfcRelConnectsStructuralMember.RelatedStructuralConnection
\IfcStructuralConnection

Point connections at each end of the 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 _IfcMaterialProfile_s within the IfcMaterialProfileSet that is referenced from the IfcMaterialProfileSetUsage. In case of tapered members, the material profile usage subtype IfcMaterialProfileSetUsageDual is used which specifies _IfcMaterialProfileSet_s 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 _IfcStructuralPointConnection_s. 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.

IfcStructuralCurveReaction
FieldMappingDefinition
(Query)\IfcStructuralCurveReaction
Structural Activity\IfcStructuralActivity.AppliedLoad
\IfcStructuralLoad

Resulting shear and moment along a curve member.

IfcStructuralLoadCase
FieldMappingDefinition
(Query)\IfcStructuralLoadCase
Group Assignment\IfcGroup.IsGroupedBy[*]
\IfcRelAssignsToGroup.RelatedObjects[*]
\IfcProduct

Structural actions for the load case.

IfcStructuralLoadGroup
FieldMappingDefinition
(Query)\IfcStructuralLoadGroup
Group Assignment\IfcGroup.IsGroupedBy[*]
\IfcRelAssignsToGroup.RelatedObjects[*]
\IfcProduct

Structural load cases applicable to the load group.

IfcStructuralPointAction
FieldMappingDefinition
(Query)\IfcStructuralPointAction
Structural Activity\IfcStructuralActivity.AppliedLoad
\IfcStructuralLoad

Point force and moment at a point connection.

Point force and moment positioned within a curve member.

Point force and moment positioned within a surface member.

IfcStructuralPointConnection
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.

IfcStructuralPointReaction
FieldMappingDefinition
(Query)\IfcStructuralPointReaction
Structural Activity\IfcStructuralActivity.AppliedLoad
\IfcStructuralLoad

Force and moment reactions at supported point connections.

Translation and rotation at point connections.

IfcStructuralResultGroup
FieldMappingDefinition
(Query)\IfcStructuralResultGroup
Group Assignment\IfcGroup.IsGroupedBy[*]
\IfcRelAssignsToGroup.RelatedObjects[*]
\IfcProduct

Structural reactions of the result group.

IfcStructuralSurfaceAction
FieldMappingDefinition
(Query)\IfcStructuralSurfaceAction
Structural Activity\IfcStructuralActivity.AppliedLoad
\IfcStructuralLoad

Force and moment within a surface member.

IfcStructuralSurfaceMember
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

Connections to curve members along edge(s) of surface.

Connections to surface members within face(s) of surface.

IfcStructuralSurfaceMemberVarying
FieldMappingDefinition
(Query)\IfcStructuralSurfaceMemberVarying
\IfcObject
The IFC class identifier indicating the subtype of object.
IfcStructuralSurfaceReaction
FieldMappingDefinition
(Query)\IfcStructuralSurfaceReaction
Structural Activity\IfcStructuralActivity.AppliedLoad
\IfcStructuralLoad

Resulting stresses within a surface member.

IfcSubContractResource
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

Indicates a specific organization to be considered to fulfill the resource or invited to bid on the resource.

IfcSurfaceFeature
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

Surface representations of treated parts of the lement surface by means of IfcShellBasedSurfaceModel. The faces within the surface model may be included into a B-Rep model within a representation map of the parent element type.

IfcSwitchingDevice
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

Material from which the casing is constructed.

Material from which the conductors are constructed.

Material from which the switch surface is constructed.

Port\IfcDistributionElement

The supply line.

The load controlled by the switch.

IfcSystem
FieldMappingDefinition
(Query)\IfcSystem
Property Sets\IfcObject
The IFC class identifier indicating the subtype of object.
System Element Attributes\IfcSystem.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.
IfcSystemFurnitureElement
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 finish, typically at visible aspects of the furniture.

The frame from which the object is constructed.

Finish hardware such as knobs or handles.

Padding such as cushions.

Panels such as glass.

IfcTank
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

Material from which the casing is constructed.

Port\IfcDistributionElement

Inlet.

Uutlet.

IfcTask
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 1, 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 1 — Task visualization

A task may nest other tasks as sub-items; the nesting relationship is modeled by IfcRelNests as shown in Figure 2. 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 2 — 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.

Indicate fixed duration of task with ConstraintGrade=HARD and Benchmark=EQUALTO such that changes to an assigned IfcConstructionResource.ResourceTime.ScheduleWork should impact IfcConstructionResource.ResourceTime.ScheduleUsage, and vice-versa.

Indicate constrained start date with ConstraintGrade=HARD and Benchmark of EQUALTO, GREATERTHANOREQUALTO, or LESSTHANOREQUALTO to indicate "must start on", "start no earlier than" or "start no later than" respectively where IfcMetric.DataValue indicates the specific IfcDateTime. Use SOFT constraint having LESSTHAN benchmark to indicate "start as soon as possible".

Indicate constrained finish date with ConstraintGrade=HARD and Benchmark of EQUALTO, GREATERTHANOREQUALTO, or LESSTHANOREQUALTO to indicate "must finish on", "finish no earlier than" or "finish no later than" respectively where IfcMetric.DateValue indicates the specific IfcDateTime. Use SOFT constraint having GREATERTHAN benchmark to indicate "finish as late as possible".

IfcTaskType
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.

IfcTendon
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.

Tendon Attributes\IfcTendon.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.
IfcTendonAnchor
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.
IfcTendonType
FieldMappingDefinition
(Query)\IfcTendonType
Tendon Type Attributes\IfcTendonType.NominalDiameter
\IfcPositiveLengthMeasure
The nominal diameter defining the cross-section size of the prestressed part of the tendon.
IfcTransformer
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

Material from which the casing is constructed.

Port\IfcDistributionElement

Line to be transformed.

Transformed load.

IfcTransportElement
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
IfcTubeBundle
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

Material from which the casing is constructed.

Port\IfcDistributionElement

Inlet.

Uutlet.

IfcTypeProcess
FieldMappingDefinition
(Query)\IfcTypeProcess
Process Type Assignment\IfcTypeProcess.OperatesOn[*]
\IfcRelAssignsToProcess.RelatedObjects[*]
\IfcTypeResource
Related objects, which are assigned to a single object. The type of the single (or relating) object is defined in the subtypes of IfcRelAssigns.
IfcTypeProduct
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 1 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 1 — Product type geometry with single placement

Figure 2 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 2 — Product type geometry with multiple placement

Library Association\IfcObjectDefinition.HasAssociations[*]
\IfcRelAssociatesLibrary.RelatingLibrary
\IfcLibraryReference.Location
\IfcURIReference
Location, where the external source (classification, document or library) can be accessed by electronic means. The electronic location is provided as an URI, and would normally be given as an URL location string. { .change-ifc2x4} > IFC4 CHANGE  The data type has been changed from _IfcLabel_ to _IfcURIReference_ > .
IfcUnitaryControlElement
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

Material from which the casing is constructed.

Port\IfcDistributionElement

Receives power (typically 24V), and closes the circuit for Fan, Heat, and Cool. Port may be aggregated into sub-ports: 'Fan'(SIGNAL,SOURCE), 'Heat'(SIGNAL,SOURCE), and 'Cool'(SIGNAL,SOURCE)

IfcUnitaryEquipment
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

Material from which the casing is constructed.

Composition

Unitary equipment (air handlers in particular) may elaborate contained elements such as dampers, fans, coils, sensors, actuators, and controllers. Such breakdown provides access to component information and tracking of performance history for embedded elements.

Port\IfcDistributionElement

Return air entering mixture or exhausted.

Chilled supply air.

Outside air entering mixture.

Exhaust air leaving to outside.

Chilled water entering cooling coil.

Chilled water leaving cooling coil.

Steam entering heating coil.

Steam leaving heating coil.

Electrical power source.

Control system communication.

IfcValve
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

Material from which the casing is constructed.

Material from which the operating mechanism (such as gate, globe, plug, needle, or clack) of the valve is constructed.

Connection

Indicates an actuator operating on the valve.

Port\IfcDistributionElement

Incoming fluid.

Outgoing fluid.

Incoming fluid.

Switched outgoing fluid.

Switched outgoing fluid.

Incoming fluid.

Outgoing fluid.

Incoming fluid.

Outgoing fluid.

Incoming fluid.

Outgoing fluid.

Outgoing fluid.

Incoming fluid.

Outgoing fluid.

Incoming fluid.

Outgoing fluid.

Incoming fluid.

Incoming fluid.

Incoming fluid.

Outgoing fluid.

Incoming fluid.

Incoming fluid.

Incoming fluid.

Outgoing fluid.

Incoming fluid to be mixed.

Incoming fluid to be mixed.

Outgoing fluid.

Incoming fluid.

Outgoing fluid.

Incoming fluid.

Incoming fluid.

Outgoing fluid.

Incoming fluid.

Outgoing fluid.

Incoming fluid.

Outgoing fluid.

Incoming fluid.

IfcVibrationIsolator
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

Material from which the casing is constructed.

Material from which the damping element of the vibration isolator is constructed.

IfcVirtualElement
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['Surface']
\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:

IfcVoidingFeature
FieldMappingDefinition
(Query)\IfcVoidingFeature
Reference Tessellation Geometry\IfcProduct.Representation
\IfcProductDefinitionShape.Name
The word or group of words by which the product representation is known.
Reference SweptSolid PolyCurve Geometry\IfcProduct.Representation
\IfcProductDefinitionShape.Name
The word or group of words by which the product representation is known.
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

Volumetric representations may be used to semi-parametrically model the actual volume of the void created by the feature. Attributes in the shape model directly correspond with feature parameters, for example diameter of circular holes or length and width of cutouts. The objects within the shape model of the feature's shape representation can be included into a CSG model within a representation map of the parent element type.

Surface representations of cutting planes by means of IfcShellBasedSurfaceModel. The faces within the surface model may be included into a B-Rep model within a representation map of the parent element type.

IfcVoxelData
FieldMappingDefinition
(Query)\IfcVoxelData
Body Voxel Geometry

An IfcVoxelData instance requires exactly one Body Voxel Geometry. The IfcVoxelData instance shall be assigned (IfcRelAssignsToProduct) to a product that is represented by the same Body Voxel Geometry instance. IfcVoxelData is not part of direct project spatial and object decomposition i. e. spatial structure and element decomposition and shall therefore not itself be contained in spatial structure. It should be declared in the project.

IfcWall
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

Walls with equal or lower priority are connected at 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.

Default spatial container

Spatial container for the element if it cannot be assigned to a building storey

Spatial container for the element in case that it is placed on site (outside of building)

Axis 2D Geometry\IfcProduct.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.

The wall axis of the wall.

Surface Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations['Surface']
\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['Body']
\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['Body']
\IfcShapeRepresentation.ContextOfItems
\IfcGeometricRepresentationContext
Definition of the representation context for which the different subtypes of representation are valid.
Product Assignment\IfcProduct.ReferencedBy[*]
\IfcRelAssignsToProduct.RelatedObjects[*]
\IfcObject

An idealized structural member corresponding to the wall.

A task for operating on the wall.

IfcWallElementedCase
FieldMappingDefinition
(Query)\
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['Surface']
\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).

Frame containing studs, tracks, and possibly insulation

Panels on each side such as gypsum (drywall) or cement board (tile backing) with fasteners

IfcWallStandardCase
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 1 illustrates assignment of IfcMaterialLayerSetUsage and IfcMaterialLayerSet to the wall type and the wall occurrence.

Figure 1 — Wall Standard Object Typing

 

Figure 2 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 2 — 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\IfcProduct.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 1 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 1 — Wall axis straight

 
curved wall axis
EXAMPLE  Figure 2 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 2 — Wall axis curved

 
Body SweptSolid Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations['Body']
\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 1 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 2 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 1 — Wall body extrusion straight

Figure 2 — Wall body extrusion curved

Body Clipping Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations['Body']
\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 1 illustrates a clipping for a straight wall using an IfcPolygonalBoundedHalfSpace as SecondOperand in the IfcBooleanClippingResult.

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

straight wall clipping curved wall clipping

Figure 1 — Wall body clipping straight

Figure 2 — Wall body clipping curved

IfcWallType
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.
IfcWasteTerminal
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

Material from which the casing is constructed.

Material from which the cover or grating is constructed.

Port\IfcDistributionElement

Drainage inlet.

Drainage outlet.

Waste inlet.

Waste outlet.

Inlet.

Outlet.

Inlet.

Outlet.

Rainwater.

Inlet.

Outlet.

Inlet.

Outlet.

IfcWindow
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.

Indicates that the material constituent applies to the window lining.

Indicates that the material constituent applies to the windows panels(s); if not provided, the 'Lining' material information applies to panel(s) as well.

Indicates that the material constituent applies to the glazing part.

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 1.

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 1 — 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['Profile']
\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)
Window Attributes\IfcWindow.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.
IfcWindowStandardCase
FieldMappingDefinition
(Query)\
Profile Geometry\IfcElement.Representation
\IfcProductDefinitionShape.Representations['Profile']
\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 1, 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 1 — Window profile

IfcWindowType
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:

Window Type Attributes\IfcWindowType.PartitioningType
\IfcWindowTypePartitioningEnum
Type defining the general layout of the window type in terms of the partitioning of panels.
IfcWorkCalendar
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.

IfcWorkControl
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.

IfcWorkPlan
FieldMappingDefinition
(Query)\IfcWorkPlan
Property Sets\IfcObject
The IFC class identifier indicating the subtype of object.
IfcWorkSchedule
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.

IfcZone
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.