Material layer set usage defines layout at occurrences to indicate a direction and offset from the 'Axis' reference curve, and a reference extent such as for a default wall height.
The concept of Material Layer Set Usage is only applicable to certain product subtypes, refered to as "Standard case" elements. It supports a certain range of parametric definitions for those element configurations.
The material of those standard case elements is defined by IfcMaterialLayerSetUsage and is attached by the IfcRelAssociatesMaterial.RelatingMaterial. It is accessible by the inverse HasAssociations relationship. Standard case elements with multiple layers can be represented by refering to several IfcMaterialLayer's within the IfcMaterialLayerSet that is referenced from the IfcMaterialLayerUsage.
Figure 29 illustrates an instance diagram.
Figure 29 — Material Layer Set Usage |
<?xml version="1.0"?>
<ConceptTemplate xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" uuid="6d5fb86f-3f2d-49fb-9528-077855ddcc47" name="Material Layer Set Usage" status="sample" applicableSchema="IFC4" applicableEntity="IfcProduct">
<Rules>
<AttributeRule AttributeName="HasAssociations">
<EntityRules>
<EntityRule EntityName="IfcRelAssociatesMaterial">
<AttributeRules>
<AttributeRule AttributeName="RelatingMaterial">
<EntityRules>
<EntityRule EntityName="IfcMaterialLayerSetUsage">
<AttributeRules>
<AttributeRule AttributeName="ForLayerSet">
<EntityRules>
<EntityRule EntityName="IfcMaterialLayerSet">
<AttributeRules>
<AttributeRule AttributeName="MaterialLayers">
<EntityRules>
<EntityRule EntityName="IfcMaterialLayer">
<AttributeRules>
<AttributeRule RuleID="Name" AttributeName="Name" />
<AttributeRule AttributeName="Material">
<EntityRules>
<EntityRule EntityName="IfcMaterial">
<AttributeRules>
<AttributeRule AttributeName="HasRepresentation">
<EntityRules>
<EntityRule EntityName="IfcMaterialDefinitionRepresentation">
<References>
<Template ref="6e4e5d36-ea3c-46d5-a490-99abffb4e317" />
</References>
</EntityRule>
</EntityRules>
</AttributeRule>
</AttributeRules>
</EntityRule>
</EntityRules>
</AttributeRule>
<AttributeRule AttributeName="LayerThickness">
<EntityRules>
<EntityRule EntityName="IfcNonNegativeLengthMeasure" />
</EntityRules>
</AttributeRule>
</AttributeRules>
</EntityRule>
<EntityRule EntityName="IfcMaterialLayerWithOffsets">
<AttributeRules>
<AttributeRule AttributeName="OffsetDirection">
<EntityRules>
<EntityRule EntityName="IfcLayerSetDirectionEnum" />
</EntityRules>
</AttributeRule>
<AttributeRule AttributeName="OffsetValues">
<EntityRules>
<EntityRule EntityName="IfcLengthMeasure" />
</EntityRules>
</AttributeRule>
</AttributeRules>
</EntityRule>
</EntityRules>
</AttributeRule>
</AttributeRules>
</EntityRule>
</EntityRules>
</AttributeRule>
<AttributeRule AttributeName="LayerSetDirection">
<EntityRules>
<EntityRule EntityName="IfcLayerSetDirectionEnum" />
</EntityRules>
</AttributeRule>
<AttributeRule AttributeName="DirectionSense">
<EntityRules>
<EntityRule EntityName="IfcDirectionSenseEnum" />
</EntityRules>
</AttributeRule>
<AttributeRule AttributeName="OffsetFromReferenceLine">
<EntityRules>
<EntityRule EntityName="IfcLengthMeasure" />
</EntityRules>
</AttributeRule>
<AttributeRule AttributeName="ReferenceExtent">
<EntityRules>
<EntityRule EntityName="IfcPositiveLengthMeasure" />
</EntityRules>
</AttributeRule>
</AttributeRules>
</EntityRule>
</EntityRules>
</AttributeRule>
</AttributeRules>
</EntityRule>
</EntityRules>
</AttributeRule>
</Rules>
</ConceptTemplate>
Examples: