# 8.10.3.7 IfcMaterialLayerSet

AbRV ⓘ
RV ⓘ

## 8.10.3.7.1 Semantic definition

The IfcMaterialLayerSet is a designation by which materials of an element constructed of a number of material layers is known and through which the relative positioning of individual layers can be expressed.

The Material Layer Set Base (MlsBase) describes the imaginary axis along which the material layers are positioned.

• In case of assigning the IfcMaterialLayerSet directly to an element or element type, the individual layers are stacked according to their position within the list of MaterialLayers without providing information on how to spatially relate the material layer information to the shape representation of the element or element type.
• In case of assigning the IfcMaterialLayerSet through an IfcMaterialLayerSetUsage to an element, the MlsBase is positioned along the reference axis or reference plane of the element. An offset from the reference axis or plane to MlsBase is supported by IfcMaterialLayerSetUsage which combines layers and an offset. Offsets from element edges are supported by the subtype IfcMaterialLayerWithOffsets. The positive LayerSetDirection (MlsDirection) describes the direction by which the individual material layers are stacked. The IfcMaterialLayer's are stacked with no gap. Gaps within a material layer set are expressed as layers by themselves.

Attribute use definition

As shown in Figure 8.10.3.7.A, each IfcMaterialLayerSet implicitly defines a material layer set base line (MlsBase), to which the start of the first IfcMaterialLayer is aligned. The total thickness of a layer set is calculated from the individual layer thicknesses, the first layer starting from the MlsBase and following layers being placed on top of the previous (no gaps or overlaps).

## 8.10.3.7.4 Formal representation

ENTITY IfcMaterialLayerSet
SUBTYPE OF (IfcMaterialDefinition);
MaterialLayers : LIST [1:?] OF IfcMaterialLayer;
LayerSetName : OPTIONAL IfcLabel;
Description : OPTIONAL IfcText;
DERIVE
TotalThickness : IfcLengthMeasure := IfcMlsTotalThickness(SELF);
END_ENTITY;