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, for which CSG operations are required to produce the resulting shape.
The 'Mesh' representation of an element does account for voids, such that no additional operations are required.
Figure 156 illustrates an instance diagram.
Figure 156 — Element Openings |
<?xml version="1.0" encoding="utf-8"?>
<ConceptTemplate xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" uuid="e2d1e67a-b584-476c-878e-132af9f8e2b8" name="Element Openings" applicableSchema="IFC4" applicableEntity="IfcElement">
<Rules>
<AttributeRule RuleID="HasOpenings" AttributeName="HasOpenings">
<EntityRules>
<EntityRule EntityName="IfcRelVoidsElement">
<AttributeRules>
<AttributeRule RuleID="RelatedOpeningElement" AttributeName="RelatedOpeningElement">
<EntityRules>
<EntityRule EntityName="IfcOpeningElement">
<AttributeRules>
<AttributeRule RuleID="OpeningElementType" AttributeName="PredefinedType">
<EntityRules>
<EntityRule EntityName="IfcOpeningElementTypeEnum" />
</EntityRules>
</AttributeRule>
<AttributeRule RuleID="FillsVoids" AttributeName="FillsVoids">
<EntityRules>
<EntityRule EntityName="IfcRelFillsElement">
<AttributeRules>
<AttributeRule RuleID="RelatedBuiltElement" AttributeName="RelatedBuildingElement">
<EntityRules>
<EntityRule EntityName="IfcDoor" />
<EntityRule EntityName="IfcWindow" />
</EntityRules>
</AttributeRule>
</AttributeRules>
</EntityRule>
</EntityRules>
</AttributeRule>
</AttributeRules>
</EntityRule>
</EntityRules>
</AttributeRule>
</AttributeRules>
</EntityRule>
</EntityRules>
</AttributeRule>
</Rules>
</ConceptTemplate>