4.1.2.6.2 Material Layer Set Usage 
A material layer set can be used to model the material of a product as a set of homogeneous layers with constant thickness.
Material layer set usage defines layout at occurrences to indicate a direction and offset from the 'Axis' reference curve or the coordinate system established by the IfcExtrudedAreaSolid .Position (provided by its representation).
When the occurrence has an associated IfcObjectType, that object type may define the material layer set (no usage). In this scenario, all occurrences of that type must use that layer set.
EXAMPLE  A wall type may define multiple layers of material (e.g brick - insulation - brick). A wall occurrence of that wall type will then have a geometry with a thickness that corresponds with the layers in the wall type.EXAMPLE  A wall type may define multiple layers of material. A wall of that wall type will then have a geometry with a thickness that corresponds with the layers in the wall type. 
The usage may parametrically define an 'Axis' reference curve, and a direction, offset, and extent of the layers to extend along the axis. This allows layers to slope or only extend up to a particular height.
    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 
 
IfcProduct  
 
 
IfcProduct  
 
 
 
 
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:?] 
 
IfcRelAssociatesMaterial  
 
 
IfcRelAssociatesMaterial  
 
 
 
 
1. GlobalId 
 
 
[1:1] 
 
 
2. OwnerHistory 
 
 
[0:1] 
 
 
3. Name 
 
 
[0:1] 
 
 
4. Description 
 
 
[0:1] 
 
 
5. RelatedObjects 
 
 
[1:?] 
 
 
6. RelatingMaterial 
 
 
[1:1] 
 
IfcProduct :HasAssociations1->IfcRelAssociatesMaterial :RelatedObjects0 
 
 
 
IfcRelDefinesByType  
 
 
IfcRelDefinesByType  
 
 
 
 
1. GlobalId 
 
 
[1:1] 
 
 
2. OwnerHistory 
 
 
[0:1] 
 
 
3. Name 
 
 
[0:1] 
 
 
4. Description 
 
 
[0:1] 
 
 
5. RelatedObjects 
 
 
[1:?] 
 
 
6. RelatingType 
 
 
[1:1] 
 
IfcProduct :IsTypedBy1->IfcRelDefinesByType :RelatedObjects0 
 
 
 
IfcMaterialLayerSetUsage  
 
 
IfcMaterialLayerSetUsage  
 
 
 
 
      AssociatedTo 
 
 
[1:?] 
 
 
1. ForLayerSet 
 
 
[1:1] 
 
 
2. LayerSetDirection 
 
 
[1:1] 
 
 
3. DirectionSense 
 
 
[1:1] 
 
 
4. OffsetFromReferenceLine 
 
 
[1:1] 
 
 
5. ReferenceExtent 
 
 
[0:1] 
 
IfcRelAssociatesMaterial :RelatingMaterial1->IfcMaterialLayerSetUsage :IfcMaterialLayerSetUsage0 
 
 
 
IfcTypeProduct  
 
 
IfcTypeProduct  
 
 
 
 
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. ApplicableOccurrence 
 
 
[0:1] 
 
 
6. HasPropertySets 
 
 
[1:?] 
 
 
      Types 
 
 
[0:1] 
 
 
7. RepresentationMaps 
 
 
[1:?] 
 
 
8. Tag 
 
 
[0:1] 
 
 
      ReferencedBy 
 
 
[0:?] 
 
IfcRelDefinesByType :RelatingType1->IfcTypeProduct :IfcTypeProduct0 
 
 
 
IfcRelAssociatesMaterial_1 
 
 
IfcRelAssociatesMaterial  
 
 
 
 
1. GlobalId 
 
 
[1:1] 
 
 
2. OwnerHistory 
 
 
[0:1] 
 
 
3. Name 
 
 
[0:1] 
 
 
4. Description 
 
 
[0:1] 
 
 
5. RelatedObjects 
 
 
[1:?] 
 
 
6. RelatingMaterial 
 
 
[1:1] 
 
IfcTypeProduct :HasAssociations1->IfcRelAssociatesMaterial_1:RelatedObjects0 
 
 
 
IfcMaterialLayerSet  
 
 
IfcMaterialLayerSet  
 
 
 
 
      AssociatedTo 
 
 
[0:?] 
 
 
      HasExternalReferences 
 
 
[0:?] 
 
 
      HasProperties 
 
 
[0:?] 
 
 
1. MaterialLayers 
 
 
[1:?] 
 
 
2. LayerSetName 
 
 
[0:1] 
 
 
3. Description 
 
 
[0:1] 
 
IfcRelAssociatesMaterial_1:RelatingMaterial1->IfcMaterialLayerSet :IfcMaterialLayerSet0 
 
 
 
IfcMaterialLayer  
 
 
IfcMaterialLayer  
 
 
 
 
      AssociatedTo 
 
 
[0:?] 
 
 
      HasExternalReferences 
 
 
[0:?] 
 
 
      HasProperties 
 
 
[0:?] 
 
 
1. Material 
 
 
[0:1] 
 
 
2. LayerThickness 
 
 
[1:1] 
 
 
3. IsVentilated 
 
 
[0:1] 
 
 
Name 
 
 
 
 
4. Name 
 
 
[0:1] 
 
 
5. Description 
 
 
[0:1] 
 
 
6. Category 
 
 
[0:1] 
 
 
7. Priority 
 
 
[0:1] 
 
 
      ToMaterialLayerSet 
 
 
[1:1] 
 
IfcMaterialLayerSet :MaterialLayers1->IfcMaterialLayer :IfcMaterialLayer0 
 
 
 
IfcMaterialLayerSetUsage :ForLayerSet1->IfcMaterialLayerSet :IfcMaterialLayerSet0 
 
 
 
IfcLayerSetDirectionEnum_1 
 
 
IfcLayerSetDirectionEnum  
 
 
 
IfcMaterialLayerSetUsage :LayerSetDirection1->IfcLayerSetDirectionEnum_1:IfcLayerSetDirectionEnum0 
 
 
 
IfcDirectionSenseEnum  
 
 
IfcDirectionSenseEnum  
 
 
 
IfcMaterialLayerSetUsage :DirectionSense1->IfcDirectionSenseEnum :IfcDirectionSenseEnum0 
 
 
 
IfcLengthMeasure_1 
 
 
IfcLengthMeasure  
 
 
 
IfcMaterialLayerSetUsage :OffsetFromReferenceLine1->IfcLengthMeasure_1:IfcLengthMeasure0 
 
 
 
IfcPositiveLengthMeasure  
 
 
IfcPositiveLengthMeasure  
 
 
 
IfcMaterialLayerSetUsage :ReferenceExtent1->IfcPositiveLengthMeasure :IfcPositiveLengthMeasure0 
 
 
 
IfcMaterial  
 
 
IfcMaterial  
 
 
 
 
      AssociatedTo 
 
 
[0:?] 
 
 
      HasExternalReferences 
 
 
[0:?] 
 
 
      HasProperties 
 
 
[0:?] 
 
 
1. Name 
 
 
[1:1] 
 
 
2. Description 
 
 
[0:1] 
 
 
3. Category 
 
 
[0:1] 
 
 
      HasRepresentation 
 
 
[0:1] 
 
 
      IsRelatedWith 
 
 
[0:?] 
 
 
      RelatesTo 
 
 
[0:1] 
 
IfcMaterialLayer :Material1->IfcMaterial :IfcMaterial0 
 
 
 
IfcNonNegativeLengthMeasure  
 
 
IfcNonNegativeLengthMeasure  
 
 
 
IfcMaterialLayer :LayerThickness1->IfcNonNegativeLengthMeasure :IfcNonNegativeLengthMeasure0 
 
 
 
 
 Figure 4.1.2.6.2.A  
 General UsageTable 4.1.2.6.2.B