4.4.5 Material Association

Any product or product type can have associated materials indicating the physical composition of an object.

EXAMPLE  An object can be comprised of a single material or a set of materials with a particular layout. Several examples include:

Materials can have representations for surface styles indicating colors, textures, and light reflectance for 3D rendering. Materials can have representations for fill styles indicating colors, tiles, and hatch patterns for 2D rendering. Materials can have properties such as density, elasticity, thermal resistance, and others as defined in this specification. Materials can also be classified according to a referenced industry standard.

EXAMPLE  Material information can also be given at object type, defining the common material data for all occurrences of the same type. It is then accessible by the inverse IsTypedBy relationship pointing via HasAssociations and via IfcRelAssociatesMaterial.RelatingMaterial to the material information. If both are given, then the material directly assigned to object occurrence overrides the material assigned to object type.

Figure 26 illustrates an instance diagram.

Material AssociationIfcObjectDefinitionIfcRelAssociatesMaterial

Figure 26 — Material Association

mvdXML Specification
<?xml version="1.0"?>
<ConceptTemplate xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" uuid="ea2a63be-fd0d-426d-863b-52c3970ca585" name="Material Association" status="sample" applicableSchema="IFC4" applicableEntity="IfcObjectDefinition">
  <Rules>
    <AttributeRule AttributeName="HasAssociations">
      <EntityRules>
        <EntityRule EntityName="IfcRelAssociatesMaterial">
          <AttributeRules>
            <AttributeRule AttributeName="RelatingMaterial" />
          </AttributeRules>
        </EntityRule>
      </EntityRules>
    </AttributeRule>
  </Rules>
  <SubTemplates>
    <ConceptTemplate uuid="5f39a814-44a0-4fb3-8dc6-ddaa0560fc54" name="Material Single" status="sample" applicableSchema="IFC4" applicableEntity="IfcObjectDefinition">
      <Rules>
        <AttributeRule AttributeName="HasAssociations">
          <EntityRules>
            <EntityRule EntityName="IfcRelAssociatesMaterial">
              <AttributeRules>
                <AttributeRule AttributeName="RelatingMaterial">
                  <EntityRules>
                    <EntityRule EntityName="IfcMaterial">
                      <References>
                        <Template ref="5986b61a-b79f-44e0-a93f-9fddf470a4e1" />
                      </References>
                    </EntityRule>
                  </EntityRules>
                </AttributeRule>
              </AttributeRules>
            </EntityRule>
          </EntityRules>
        </AttributeRule>
      </Rules>
    </ConceptTemplate>
    <ConceptTemplate uuid="dfb5b3a9-50e3-46e2-8518-1f03e7cfd886" name="Material Layer Set" status="sample" applicableSchema="IFC4" applicableEntity="IfcObjectDefinition">
      <Rules>
        <AttributeRule AttributeName="HasAssociations">
          <EntityRules>
            <EntityRule EntityName="IfcRelAssociatesMaterial">
              <AttributeRules>
                <AttributeRule AttributeName="RelatingMaterial">
                  <EntityRules>
                    <EntityRule EntityName="IfcMaterialLayerSet">
                      <AttributeRules>
                        <AttributeRule RuleID="HasLayer" AttributeName="MaterialLayers">
                          <EntityRules>
                            <EntityRule EntityName="IfcMaterialLayer">
                              <AttributeRules>
                                <AttributeRule RuleID="LayerName" AttributeName="Name">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcLabel" />
                                  </EntityRules>
                                </AttributeRule>
                                <AttributeRule AttributeName="Description">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcText" />
                                  </EntityRules>
                                </AttributeRule>
                                <AttributeRule AttributeName="Material">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcMaterial">
                                      <References>
                                        <Template ref="5986b61a-b79f-44e0-a93f-9fddf470a4e1" />
                                      </References>
                                    </EntityRule>
                                  </EntityRules>
                                </AttributeRule>
                                <AttributeRule RuleID="LayerThickness" AttributeName="LayerThickness">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcNonNegativeLengthMeasure" />
                                  </EntityRules>
                                </AttributeRule>
                                <AttributeRule RuleID="AirGap" AttributeName="IsVentilated">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcLogical" />
                                  </EntityRules>
                                </AttributeRule>
                                <AttributeRule RuleID="Category" AttributeName="Category">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcLabel" />
                                  </EntityRules>
                                </AttributeRule>
                                <AttributeRule AttributeName="Priority">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcNormalisedRatioMeasure" />
                                  </EntityRules>
                                </AttributeRule>
                              </AttributeRules>
                            </EntityRule>
                          </EntityRules>
                        </AttributeRule>
                        <AttributeRule AttributeName="LayerSetName">
                          <EntityRules>
                            <EntityRule EntityName="IfcLabel" />
                          </EntityRules>
                        </AttributeRule>
                        <AttributeRule AttributeName="Description">
                          <EntityRules>
                            <EntityRule EntityName="IfcText" />
                          </EntityRules>
                        </AttributeRule>
                      </AttributeRules>
                    </EntityRule>
                  </EntityRules>
                </AttributeRule>
              </AttributeRules>
            </EntityRule>
          </EntityRules>
        </AttributeRule>
      </Rules>
    </ConceptTemplate>
    <ConceptTemplate 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>
    <ConceptTemplate uuid="427ac055-2a71-42c2-a423-71689fa75c59" name="Material Profile Set" status="sample" applicableSchema="IFC4" applicableEntity="IfcObjectDefinition">
      <Rules>
        <AttributeRule AttributeName="HasAssociations">
          <EntityRules>
            <EntityRule EntityName="IfcRelAssociatesMaterial">
              <AttributeRules>
                <AttributeRule AttributeName="RelatingMaterial">
                  <EntityRules>
                    <EntityRule EntityName="IfcMaterialProfileSet">
                      <AttributeRules>
                        <AttributeRule RuleID="HasProfiles" AttributeName="MaterialProfiles">
                          <EntityRules>
                            <EntityRule EntityName="IfcMaterialProfile">
                              <AttributeRules>
                                <AttributeRule AttributeName="Name">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcLabel" />
                                  </EntityRules>
                                </AttributeRule>
                                <AttributeRule AttributeName="Description">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcText" />
                                  </EntityRules>
                                </AttributeRule>
                                <AttributeRule AttributeName="Material">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcMaterial">
                                      <References>
                                        <Template ref="5986b61a-b79f-44e0-a93f-9fddf470a4e1" />
                                      </References>
                                    </EntityRule>
                                  </EntityRules>
                                </AttributeRule>
                                <AttributeRule AttributeName="Profile">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcProfileDef">
                                      <AttributeRules>
                                        <AttributeRule AttributeName="ProfileType">
                                          <EntityRules>
                                            <EntityRule EntityName="IfcProfileTypeEnum" />
                                          </EntityRules>
                                        </AttributeRule>
                                        <AttributeRule RuleID="ProfileName" AttributeName="ProfileName">
                                          <EntityRules>
                                            <EntityRule EntityName="IfcLabel" />
                                          </EntityRules>
                                        </AttributeRule>
                                      </AttributeRules>
                                    </EntityRule>
                                  </EntityRules>
                                </AttributeRule>
                                <AttributeRule RuleID="Category" AttributeName="Category">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcLabel" />
                                  </EntityRules>
                                </AttributeRule>
                                <AttributeRule AttributeName="Priority">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcInteger" />
                                  </EntityRules>
                                </AttributeRule>
                              </AttributeRules>
                            </EntityRule>
                          </EntityRules>
                        </AttributeRule>
                        <AttributeRule AttributeName="Name">
                          <EntityRules>
                            <EntityRule EntityName="IfcLabel" />
                          </EntityRules>
                        </AttributeRule>
                        <AttributeRule AttributeName="Description">
                          <EntityRules>
                            <EntityRule EntityName="IfcText" />
                          </EntityRules>
                        </AttributeRule>
                      </AttributeRules>
                    </EntityRule>
                  </EntityRules>
                </AttributeRule>
              </AttributeRules>
            </EntityRule>
          </EntityRules>
        </AttributeRule>
      </Rules>
    </ConceptTemplate>
    <ConceptTemplate uuid="6aa01429-b566-4b36-875a-3162088a9831" name="Material Profile Set Usage" status="sample" applicableSchema="IFC4" applicableEntity="IfcProduct">
      <Rules>
        <AttributeRule AttributeName="HasAssociations">
          <EntityRules>
            <EntityRule EntityName="IfcRelAssociatesMaterial">
              <AttributeRules>
                <AttributeRule AttributeName="RelatingMaterial">
                  <EntityRules>
                    <EntityRule EntityName="IfcMaterialProfileSetUsage">
                      <AttributeRules>
                        <AttributeRule AttributeName="ForProfileSet">
                          <EntityRules>
                            <EntityRule EntityName="IfcMaterialProfileSet">
                              <AttributeRules>
                                <AttributeRule AttributeName="MaterialProfiles">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcMaterialProfile">
                                      <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="Profile">
                                          <EntityRules>
                                            <EntityRule EntityName="IfcProfileDef" />
                                          </EntityRules>
                                        </AttributeRule>
                                      </AttributeRules>
                                    </EntityRule>
                                    <EntityRule EntityName="IfcMaterialProfileWithOffsets">
                                      <AttributeRules>
                                        <AttributeRule AttributeName="OffsetValues">
                                          <EntityRules>
                                            <EntityRule EntityName="IfcLengthMeasure" />
                                          </EntityRules>
                                        </AttributeRule>
                                      </AttributeRules>
                                    </EntityRule>
                                  </EntityRules>
                                </AttributeRule>
                              </AttributeRules>
                            </EntityRule>
                          </EntityRules>
                        </AttributeRule>
                        <AttributeRule AttributeName="CardinalPoint">
                          <EntityRules>
                            <EntityRule EntityName="IfcCardinalPointReference" />
                          </EntityRules>
                        </AttributeRule>
                        <AttributeRule AttributeName="ReferenceExtent">
                          <EntityRules>
                            <EntityRule EntityName="IfcPositiveLengthMeasure" />
                          </EntityRules>
                        </AttributeRule>
                      </AttributeRules>
                    </EntityRule>
                    <EntityRule EntityName="IfcMaterialProfileSetUsageTapering">
                      <AttributeRules>
                        <AttributeRule AttributeName="ForProfileEndSet">
                          <EntityRules>
                            <EntityRule EntityName="IfcMaterialProfileSet" />
                          </EntityRules>
                        </AttributeRule>
                        <AttributeRule AttributeName="CardinalEndPoint">
                          <EntityRules>
                            <EntityRule EntityName="IfcCardinalPointReference" />
                          </EntityRules>
                        </AttributeRule>
                      </AttributeRules>
                    </EntityRule>
                  </EntityRules>
                </AttributeRule>
              </AttributeRules>
            </EntityRule>
          </EntityRules>
        </AttributeRule>
      </Rules>
    </ConceptTemplate>
    <ConceptTemplate uuid="d96f7f7d-e742-4db8-9b5d-18a36a6df884" name="Material Constituent Set" status="sample" applicableSchema="IFC4" applicableEntity="IfcObjectDefinition">
      <Rules>
        <AttributeRule AttributeName="HasAssociations">
          <EntityRules>
            <EntityRule EntityName="IfcRelAssociatesMaterial">
              <AttributeRules>
                <AttributeRule AttributeName="RelatingMaterial">
                  <EntityRules>
                    <EntityRule EntityName="IfcMaterialConstituentSet">
                      <AttributeRules>
                        <AttributeRule AttributeName="MaterialConstituents">
                          <EntityRules>
                            <EntityRule EntityName="IfcMaterialConstituent">
                              <AttributeRules>
                                <AttributeRule RuleID="ConstituentName" AttributeName="Name">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcLabel" />
                                  </EntityRules>
                                </AttributeRule>
                                <AttributeRule AttributeName="Description">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcText" />
                                  </EntityRules>
                                </AttributeRule>
                                <AttributeRule AttributeName="Material">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcMaterial">
                                      <References>
                                        <Template ref="5986b61a-b79f-44e0-a93f-9fddf470a4e1" />
                                      </References>
                                    </EntityRule>
                                  </EntityRules>
                                </AttributeRule>
                                <AttributeRule AttributeName="Category">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcLabel" />
                                  </EntityRules>
                                </AttributeRule>
                                <AttributeRule AttributeName="Fraction">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcNormalisedRatioMeasure" />
                                  </EntityRules>
                                </AttributeRule>
                              </AttributeRules>
                            </EntityRule>
                          </EntityRules>
                        </AttributeRule>
                        <AttributeRule AttributeName="Name">
                          <EntityRules>
                            <EntityRule EntityName="IfcLabel" />
                          </EntityRules>
                        </AttributeRule>
                        <AttributeRule AttributeName="Description">
                          <EntityRules>
                            <EntityRule EntityName="IfcText" />
                          </EntityRules>
                        </AttributeRule>
                      </AttributeRules>
                    </EntityRule>
                  </EntityRules>
                </AttributeRule>
              </AttributeRules>
            </EntityRule>
          </EntityRules>
        </AttributeRule>
      </Rules>
    </ConceptTemplate>
  </SubTemplates>
</ConceptTemplate>

Link to this page  Link to this page