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