4.1.4.3.2 Element Openings
Elements may have openings (geometric voids) defined, which may be a partial recess or extend the full depth. Openings may optionally be filled by another element such as a door or window.
The 'Body' representation of an element does not account for voids upon export, for which CSG operations are required at import to produce the resulting shape.
The 'Reference' representation of an element does account for voids at export, such that no additional operations are required at import.
The following diagram shows the generic classes and relationships used when applying this concept.
In addition, concepts may have particular importance to common or standardised industry practices and scenarios. For these specific usage scenarios, the table below shows a recommended list of general usage patterns that users may adopt.
G
IfcElement
IfcElement
1. GlobalId
[1:1]
2. OwnerHistory
[0:1]
3. Name
[0:1]
4. Description
[0:1]
HasAssignments
[0:?]
Nests
[0:1]
IsNestedBy
[0:?]
HasContext
[0:1]
IsDecomposedBy
[0:?]
Decomposes
[0:1]
HasAssociations
[0:?]
5. ObjectType
[0:1]
IsDeclaredBy
[0:1]
Declares
[0:?]
IsTypedBy
[0:1]
IsDefinedBy
[0:?]
6. ObjectPlacement
[0:1]
7. Representation
[0:1]
ReferencedBy
[0:?]
PositionedRelativeTo
[0:?]
ReferencedInStructures
[0:?]
8. Tag
[0:1]
FillsVoids
[0:1]
ConnectedTo
[0:?]
IsInterferedByElements
[0:?]
InterferesElements
[0:?]
HasProjections
[0:?]
HasOpenings
[0:?]
IsConnectionRealization
[0:?]
ProvidesBoundaries
[0:?]
ConnectedFrom
[0:?]
ContainedInStructure
[0:1]
HasCoverings
[0:?]
HasSurfaceFeatures
[0:?]
IfcRelVoidsElement
IfcRelVoidsElement
1. GlobalId
[1:1]
2. OwnerHistory
[0:1]
3. Name
[0:1]
4. Description
[0:1]
5. RelatingBuildingElement
[1:1]
RelatedOpeningElement
6. RelatedOpeningElement
[1:1]
IfcElement :HasOpenings1->IfcRelVoidsElement :RelatingBuildingElement0
IfcOpeningElement
IfcOpeningElement
1. GlobalId
[1:1]
2. OwnerHistory
[0:1]
3. Name
[0:1]
4. Description
[0:1]
HasAssignments
[0:?]
Nests
[0:1]
IsNestedBy
[0:?]
HasContext
[0:1]
IsDecomposedBy
[0:?]
Decomposes
[0:1]
HasAssociations
[0:?]
5. ObjectType
[0:1]
IsDeclaredBy
[0:1]
Declares
[0:?]
IsTypedBy
[0:1]
IsDefinedBy
[0:?]
6. ObjectPlacement
[0:1]
7. Representation
[0:1]
ReferencedBy
[0:?]
PositionedRelativeTo
[0:?]
ReferencedInStructures
[0:?]
8. Tag
[0:1]
FillsVoids
[0:1]
ConnectedTo
[0:?]
IsInterferedByElements
[0:?]
InterferesElements
[0:?]
HasProjections
[0:?]
HasOpenings
[0:?]
IsConnectionRealization
[0:?]
ProvidesBoundaries
[0:?]
ConnectedFrom
[0:?]
ContainedInStructure
[0:1]
HasCoverings
[0:?]
HasSurfaceFeatures
[0:?]
VoidsElements
[1:1]
OpeningElementType
9. PredefinedType
[0:1]
HasFillings
HasFillings
[0:?]
IfcRelVoidsElement :RelatedOpeningElement1->IfcOpeningElement :VoidsElements0
IfcOpeningElementTypeEnum
IfcOpeningElementTypeEnum
IfcOpeningElement :PredefinedType1->IfcOpeningElementTypeEnum :IfcOpeningElementTypeEnum0
IfcRelFillsElement
IfcRelFillsElement
1. GlobalId
[1:1]
2. OwnerHistory
[0:1]
3. Name
[0:1]
4. Description
[0:1]
5. RelatingOpeningElement
[1:1]
RelatedBuiltElement
6. RelatedBuildingElement
[1:1]
IfcOpeningElement :HasFillings1->IfcRelFillsElement :RelatingOpeningElement0
IfcElement_1
IfcElement
1. GlobalId
[1:1]
2. OwnerHistory
[0:1]
3. Name
[0:1]
4. Description
[0:1]
HasAssignments
[0:?]
Nests
[0:1]
IsNestedBy
[0:?]
HasContext
[0:1]
IsDecomposedBy
[0:?]
Decomposes
[0:1]
HasAssociations
[0:?]
5. ObjectType
[0:1]
IsDeclaredBy
[0:1]
Declares
[0:?]
IsTypedBy
[0:1]
IsDefinedBy
[0:?]
6. ObjectPlacement
[0:1]
7. Representation
[0:1]
ReferencedBy
[0:?]
PositionedRelativeTo
[0:?]
ReferencedInStructures
[0:?]
8. Tag
[0:1]
FillsVoids
FillsVoids
[0:1]
ConnectedTo
[0:?]
IsInterferedByElements
[0:?]
InterferesElements
[0:?]
HasProjections
[0:?]
HasOpenings
[0:?]
IsConnectionRealization
[0:?]
ProvidesBoundaries
[0:?]
ConnectedFrom
[0:?]
ContainedInStructure
[0:1]
HasCoverings
[0:?]
HasSurfaceFeatures
[0:?]
IfcRelFillsElement :RelatedBuildingElement1->IfcElement_1:FillsVoids0
Figure 4.1.4.3.2.A
General UsageTable 4.1.4.3.2.B