Elements may have voids defined, which may be partial recess or extending full depth. Voids for openings may optionally be filled by another element such as a door or window, or may represent a voiding feature without fillings.
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 32 illustrates an instance diagram.
Figure 32 — Element Voiding |
<?xml version="1.0"?>
<ConceptTemplate xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" uuid="b9005e79-b5c5-4c0b-9d86-046c21ad420d" name="Element Voiding" applicableSchema="IFC4" applicableEntity="IfcElement">
<Rules>
<AttributeRule RuleID="HasOpenings" AttributeName="HasOpenings">
<EntityRules>
<EntityRule EntityName="IfcRelVoidsElement">
<AttributeRules>
<AttributeRule AttributeName="RelatedOpeningElement">
<EntityRules>
<EntityRule EntityName="IfcOpeningElement">
<AttributeRules>
<AttributeRule AttributeName="PredefinedType">
<EntityRules>
<EntityRule EntityName="IfcOpeningElementTypeEnum" />
</EntityRules>
</AttributeRule>
<AttributeRule RuleID="HasFillings" AttributeName="HasFillings">
<EntityRules>
<EntityRule EntityName="IfcRelFillsElement">
<AttributeRules>
<AttributeRule RuleID="RelatedFillings" AttributeName="RelatedBuildingElement">
<EntityRules>
<EntityRule RuleID="ElementName" EntityName="IfcDoor" />
<EntityRule RuleID="ElementName" EntityName="IfcWindow" />
</EntityRules>
</AttributeRule>
</AttributeRules>
</EntityRule>
</EntityRules>
</AttributeRule>
</AttributeRules>
</EntityRule>
</EntityRules>
</AttributeRule>
</AttributeRules>
</EntityRule>
</EntityRules>
</AttributeRule>
</Rules>
</ConceptTemplate>