4.8.1 Product Geometric Representation

The shape of products may be represented in multiple ways for different purposes. Each representation has a well-known string identifier and a particular representation context. There may be multiple representation contexts to describe a shape at various levels of detail. Most building elements have a 'Body' representation which defines or approximates the physical shape and volume. In addition to physical building elements, non-physical elements may have representations such as spaces and openings.

Figure 81 illustrates an instance diagram.

Product Geometric RepresentationIfcProductIfcProductDefinitionShapeIfcShapeRepresentationIfcGeometricRepresentationContextIfcLabelIfcLabel

Figure 81 — Product Geometric Representation

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="13f96914-1ad4-41d4-ba99-411a9ecbf567" name="Product Geometric Representation" applicableSchema="IFC4" applicableEntity="IfcProduct">
  <Rules>
    <AttributeRule AttributeName="Representation">
      <EntityRules>
        <EntityRule EntityName="IfcProductDefinitionShape">
          <AttributeRules>
            <AttributeRule AttributeName="Name" />
            <AttributeRule AttributeName="Description" />
            <AttributeRule AttributeName="Representations">
              <EntityRules>
                <EntityRule EntityName="IfcShapeRepresentation">
                  <AttributeRules>
                    <AttributeRule AttributeName="ContextOfItems">
                      <EntityRules>
                        <EntityRule EntityName="IfcGeometricRepresentationContext" />
                      </EntityRules>
                    </AttributeRule>
                    <AttributeRule RuleID="Identifier" AttributeName="RepresentationIdentifier">
                      <EntityRules>
                        <EntityRule EntityName="IfcLabel" />
                      </EntityRules>
                    </AttributeRule>
                    <AttributeRule RuleID="Type" AttributeName="RepresentationType">
                      <EntityRules>
                        <EntityRule EntityName="IfcLabel" />
                      </EntityRules>
                    </AttributeRule>
                  </AttributeRules>
                </EntityRule>
              </EntityRules>
            </AttributeRule>
          </AttributeRules>
        </EntityRule>
      </EntityRules>
    </AttributeRule>
  </Rules>
  <SubTemplates>
    <ConceptTemplate uuid="903fb653-05cc-471e-a58e-6b58b9c76f68" name="Annotation Geometry" applicableSchema="IFC4" applicableEntity="IfcAnnotation">
      <Rules>
        <AttributeRule AttributeName="Representation">
          <EntityRules>
            <EntityRule EntityName="IfcProductDefinitionShape">
              <AttributeRules>
                <AttributeRule AttributeName="Representations">
                  <EntityRules>
                    <EntityRule EntityName="IfcShapeRepresentation">
                      <AttributeRules>
                        <AttributeRule AttributeName="ContextOfItems">
                          <EntityRules>
                            <EntityRule EntityName="IfcGeometricRepresentationContext" />
                          </EntityRules>
                        </AttributeRule>
                        <AttributeRule RuleID="Identifier" AttributeName="RepresentationIdentifier">
                          <EntityRules>
                            <EntityRule EntityName="IfcLabel">
                              <Constraints>
                                <Constraint Expression="Identifier[Value] = 'Annotation'" />
                              </Constraints>
                            </EntityRule>
                          </EntityRules>
                        </AttributeRule>
                        <AttributeRule RuleID="Type" AttributeName="RepresentationType">
                          <EntityRules>
                            <EntityRule EntityName="IfcLabel" />
                          </EntityRules>
                        </AttributeRule>
                        <AttributeRule RuleID="Items" AttributeName="Items" />
                      </AttributeRules>
                    </EntityRule>
                  </EntityRules>
                </AttributeRule>
                <AttributeRule AttributeName="Name" />
                <AttributeRule AttributeName="Description" />
              </AttributeRules>
            </EntityRule>
          </EntityRules>
        </AttributeRule>
      </Rules>
      <SubTemplates>
        <ConceptTemplate uuid="014166a7-ef2b-4818-bfcb-1128a691cf9f" name="Annotation 2D Geometry" applicableSchema="IFC4" applicableEntity="IfcAnnotation">
          <Rules>
            <AttributeRule AttributeName="Representation">
              <EntityRules>
                <EntityRule EntityName="IfcProductDefinitionShape">
                  <AttributeRules>
                    <AttributeRule AttributeName="Representations">
                      <EntityRules>
                        <EntityRule EntityName="IfcShapeRepresentation">
                          <AttributeRules>
                            <AttributeRule AttributeName="ContextOfItems">
                              <EntityRules>
                                <EntityRule EntityName="IfcGeometricRepresentationContext" />
                              </EntityRules>
                            </AttributeRule>
                            <AttributeRule RuleID="Identifier" AttributeName="RepresentationIdentifier">
                              <EntityRules>
                                <EntityRule EntityName="IfcLabel">
                                  <Constraints>
                                    <Constraint Expression="Identifier[Value] = 'Annotation'" />
                                  </Constraints>
                                </EntityRule>
                              </EntityRules>
                            </AttributeRule>
                            <AttributeRule RuleID="Type" AttributeName="RepresentationType">
                              <EntityRules>
                                <EntityRule EntityName="IfcLabel">
                                  <Constraints>
                                    <Constraint Expression="Type[Value] = 'Annotation2D'" />
                                  </Constraints>
                                </EntityRule>
                              </EntityRules>
                            </AttributeRule>
                            <AttributeRule RuleID="Items" AttributeName="Items">
                              <EntityRules>
                                <EntityRule EntityName="IfcAnnotationFillArea">
                                  <AttributeRules>
                                    <AttributeRule AttributeName="OuterBoundary">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcIndexedPolyCurve">
                                          <AttributeRules>
                                            <AttributeRule AttributeName="Points">
                                              <EntityRules>
                                                <EntityRule EntityName="IfcCartesianPointList2D" />
                                              </EntityRules>
                                            </AttributeRule>
                                            <AttributeRule AttributeName="Segments">
                                              <EntityRules>
                                                <EntityRule EntityName="IfcArcIndex" />
                                                <EntityRule EntityName="IfcLineIndex" />
                                              </EntityRules>
                                            </AttributeRule>
                                          </AttributeRules>
                                        </EntityRule>
                                      </EntityRules>
                                    </AttributeRule>
                                    <AttributeRule AttributeName="InnerBoundaries">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcIndexedPolyCurve">
                                          <AttributeRules>
                                            <AttributeRule AttributeName="Points">
                                              <EntityRules>
                                                <EntityRule EntityName="IfcCartesianPointList2D" />
                                              </EntityRules>
                                            </AttributeRule>
                                            <AttributeRule AttributeName="Segments">
                                              <EntityRules>
                                                <EntityRule EntityName="IfcArcIndex" />
                                                <EntityRule EntityName="IfcLineIndex" />
                                              </EntityRules>
                                            </AttributeRule>
                                          </AttributeRules>
                                        </EntityRule>
                                      </EntityRules>
                                    </AttributeRule>
                                    <AttributeRule AttributeName="StyledByItem">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcStyledItem">
                                          <AttributeRules>
                                            <AttributeRule AttributeName="Styles">
                                              <EntityRules>
                                                <EntityRule EntityName="IfcFillAreaStyle">
                                                  <References>
                                                    <Template ref="6bfda9d9-5e6e-4920-bd86-9c7b6f6dea5c" />
                                                  </References>
                                                </EntityRule>
                                              </EntityRules>
                                            </AttributeRule>
                                          </AttributeRules>
                                        </EntityRule>
                                      </EntityRules>
                                    </AttributeRule>
                                  </AttributeRules>
                                </EntityRule>
                                <EntityRule EntityName="IfcIndexedPolyCurve">
                                  <AttributeRules>
                                    <AttributeRule AttributeName="Points">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcCartesianPointList2D">
                                          <AttributeRules>
                                            <AttributeRule AttributeName="CoordList">
                                              <EntityRules>
                                                <EntityRule EntityName="IfcLengthMeasure" />
                                              </EntityRules>
                                            </AttributeRule>
                                          </AttributeRules>
                                        </EntityRule>
                                      </EntityRules>
                                    </AttributeRule>
                                    <AttributeRule AttributeName="Segments" />
                                    <AttributeRule AttributeName="SelfIntersect" />
                                    <AttributeRule AttributeName="StyledByItem">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcStyledItem">
                                          <AttributeRules>
                                            <AttributeRule AttributeName="Styles">
                                              <EntityRules>
                                                <EntityRule EntityName="IfcCurveStyle">
                                                  <References>
                                                    <Template ref="cc12f789-67d8-4077-a451-141ba86744d8" />
                                                  </References>
                                                </EntityRule>
                                              </EntityRules>
                                            </AttributeRule>
                                          </AttributeRules>
                                        </EntityRule>
                                      </EntityRules>
                                    </AttributeRule>
                                  </AttributeRules>
                                </EntityRule>
                                <EntityRule EntityName="IfcCartesianPoint">
                                  <AttributeRules>
                                    <AttributeRule AttributeName="Coordinates" />
                                  </AttributeRules>
                                </EntityRule>
                                <EntityRule EntityName="IfcTextLiteral">
                                  <AttributeRules>
                                    <AttributeRule AttributeName="Literal">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcPresentableText" />
                                      </EntityRules>
                                    </AttributeRule>
                                    <AttributeRule AttributeName="Placement">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcAxis2Placement2D" />
                                      </EntityRules>
                                    </AttributeRule>
                                    <AttributeRule AttributeName="Path">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcTextPath" />
                                      </EntityRules>
                                    </AttributeRule>
                                    <AttributeRule AttributeName="StyledByItem">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcStyledItem">
                                          <AttributeRules>
                                            <AttributeRule AttributeName="Styles">
                                              <EntityRules>
                                                <EntityRule EntityName="IfcTextStyle">
                                                  <References>
                                                    <Template ref="34dc32fa-175d-4387-9de5-3400b68c0a6c" />
                                                  </References>
                                                </EntityRule>
                                              </EntityRules>
                                            </AttributeRule>
                                          </AttributeRules>
                                        </EntityRule>
                                      </EntityRules>
                                    </AttributeRule>
                                  </AttributeRules>
                                </EntityRule>
                              </EntityRules>
                            </AttributeRule>
                          </AttributeRules>
                        </EntityRule>
                      </EntityRules>
                    </AttributeRule>
                    <AttributeRule AttributeName="Name" />
                    <AttributeRule AttributeName="Description" />
                  </AttributeRules>
                </EntityRule>
              </EntityRules>
            </AttributeRule>
          </Rules>
        </ConceptTemplate>
        <ConceptTemplate uuid="0f213846-fe15-4607-a66a-b33e98cb5887" name="Annotation 3D Geometry" applicableSchema="IFC4" applicableEntity="IfcAnnotation">
          <Rules>
            <AttributeRule AttributeName="Representation">
              <EntityRules>
                <EntityRule EntityName="IfcProductDefinitionShape">
                  <AttributeRules>
                    <AttributeRule AttributeName="Representations">
                      <EntityRules>
                        <EntityRule EntityName="IfcShapeRepresentation">
                          <AttributeRules>
                            <AttributeRule AttributeName="ContextOfItems">
                              <EntityRules>
                                <EntityRule EntityName="IfcGeometricRepresentationContext" />
                              </EntityRules>
                            </AttributeRule>
                            <AttributeRule RuleID="Identifier" AttributeName="RepresentationIdentifier">
                              <EntityRules>
                                <EntityRule EntityName="IfcLabel">
                                  <Constraints>
                                    <Constraint Expression="Identifier[Value] = 'Annotation'" />
                                  </Constraints>
                                </EntityRule>
                              </EntityRules>
                            </AttributeRule>
                            <AttributeRule RuleID="Type" AttributeName="RepresentationType">
                              <EntityRules>
                                <EntityRule EntityName="IfcLabel">
                                  <Constraints>
                                    <Constraint Expression="Type[Value] = 'GeometricSet'" />
                                  </Constraints>
                                </EntityRule>
                              </EntityRules>
                            </AttributeRule>
                            <AttributeRule RuleID="Items" AttributeName="Items">
                              <EntityRules>
                                <EntityRule EntityName="IfcPoint" />
                                <EntityRule EntityName="IfcCurve" />
                                <EntityRule EntityName="IfcSurface" />
                              </EntityRules>
                            </AttributeRule>
                          </AttributeRules>
                        </EntityRule>
                      </EntityRules>
                    </AttributeRule>
                    <AttributeRule AttributeName="Name" />
                    <AttributeRule AttributeName="Description" />
                  </AttributeRules>
                </EntityRule>
              </EntityRules>
            </AttributeRule>
          </Rules>
        </ConceptTemplate>
      </SubTemplates>
    </ConceptTemplate>
    <ConceptTemplate uuid="3bf716df-3990-4bfc-8045-9e4011c9b622" name="Axis Geometry" applicableSchema="IFC4" applicableEntity="IfcElement">
      <Rules>
        <AttributeRule AttributeName="Representation">
          <EntityRules>
            <EntityRule EntityName="IfcProductDefinitionShape">
              <AttributeRules>
                <AttributeRule AttributeName="Representations">
                  <EntityRules>
                    <EntityRule EntityName="IfcShapeRepresentation">
                      <AttributeRules>
                        <AttributeRule AttributeName="ContextOfItems">
                          <EntityRules>
                            <EntityRule EntityName="IfcGeometricRepresentationContext" />
                          </EntityRules>
                        </AttributeRule>
                        <AttributeRule RuleID="Identifier" AttributeName="RepresentationIdentifier">
                          <EntityRules>
                            <EntityRule EntityName="IfcLabel">
                              <Constraints>
                                <Constraint Expression="Identifier[Value] = 'Axis'" />
                              </Constraints>
                            </EntityRule>
                          </EntityRules>
                        </AttributeRule>
                        <AttributeRule RuleID="Type" AttributeName="RepresentationType">
                          <EntityRules>
                            <EntityRule EntityName="IfcLabel" />
                          </EntityRules>
                        </AttributeRule>
                        <AttributeRule RuleID="Items" AttributeName="Items" />
                      </AttributeRules>
                    </EntityRule>
                  </EntityRules>
                </AttributeRule>
                <AttributeRule AttributeName="Name" />
                <AttributeRule AttributeName="Description" />
              </AttributeRules>
            </EntityRule>
          </EntityRules>
        </AttributeRule>
      </Rules>
      <SubTemplates>
        <ConceptTemplate uuid="782444e8-d681-475a-9034-a9e7f53c6d65" name="Axis 2D Geometry" applicableSchema="IFC4" applicableEntity="IfcElement">
          <Rules>
            <AttributeRule AttributeName="Representation">
              <EntityRules>
                <EntityRule EntityName="IfcProductDefinitionShape">
                  <AttributeRules>
                    <AttributeRule AttributeName="Representations">
                      <EntityRules>
                        <EntityRule EntityName="IfcShapeRepresentation">
                          <AttributeRules>
                            <AttributeRule AttributeName="ContextOfItems">
                              <EntityRules>
                                <EntityRule EntityName="IfcGeometricRepresentationContext" />
                              </EntityRules>
                            </AttributeRule>
                            <AttributeRule RuleID="Identifier" AttributeName="RepresentationIdentifier">
                              <EntityRules>
                                <EntityRule EntityName="IfcLabel">
                                  <Constraints>
                                    <Constraint Expression="Identifier[Value] = 'Axis'" />
                                  </Constraints>
                                </EntityRule>
                              </EntityRules>
                            </AttributeRule>
                            <AttributeRule RuleID="Type" AttributeName="RepresentationType">
                              <EntityRules>
                                <EntityRule EntityName="IfcLabel">
                                  <Constraints>
                                    <Constraint Expression="Type[Value] = 'Curve2D'" />
                                  </Constraints>
                                </EntityRule>
                              </EntityRules>
                            </AttributeRule>
                            <AttributeRule RuleID="Items" AttributeName="Items">
                              <EntityRules>
                                <EntityRule EntityName="IfcBoundedCurve" />
                              </EntityRules>
                            </AttributeRule>
                          </AttributeRules>
                        </EntityRule>
                      </EntityRules>
                    </AttributeRule>
                    <AttributeRule AttributeName="Name" />
                    <AttributeRule AttributeName="Description" />
                  </AttributeRules>
                </EntityRule>
              </EntityRules>
            </AttributeRule>
          </Rules>
        </ConceptTemplate>
        <ConceptTemplate uuid="b894d8cb-fb41-45ec-ba18-72cac6baff34" name="Axis 3D Geometry" applicableSchema="IFC4" applicableEntity="IfcElement">
          <Rules>
            <AttributeRule AttributeName="Representation">
              <EntityRules>
                <EntityRule EntityName="IfcProductDefinitionShape">
                  <AttributeRules>
                    <AttributeRule AttributeName="Representations">
                      <EntityRules>
                        <EntityRule EntityName="IfcShapeRepresentation">
                          <AttributeRules>
                            <AttributeRule AttributeName="ContextOfItems">
                              <EntityRules>
                                <EntityRule EntityName="IfcGeometricRepresentationContext" />
                              </EntityRules>
                            </AttributeRule>
                            <AttributeRule RuleID="Identifier" AttributeName="RepresentationIdentifier">
                              <EntityRules>
                                <EntityRule EntityName="IfcLabel">
                                  <Constraints>
                                    <Constraint Expression="Identifier[Value] = 'Axis'" />
                                  </Constraints>
                                </EntityRule>
                              </EntityRules>
                            </AttributeRule>
                            <AttributeRule RuleID="Type" AttributeName="RepresentationType">
                              <EntityRules>
                                <EntityRule EntityName="IfcLabel">
                                  <Constraints>
                                    <Constraint Expression="Type[Value] = 'Curve3D'" />
                                  </Constraints>
                                </EntityRule>
                              </EntityRules>
                            </AttributeRule>
                            <AttributeRule RuleID="Items" AttributeName="Items">
                              <EntityRules>
                                <EntityRule EntityName="IfcBoundedCurve" />
                              </EntityRules>
                            </AttributeRule>
                          </AttributeRules>
                        </EntityRule>
                      </EntityRules>
                    </AttributeRule>
                    <AttributeRule AttributeName="Name" />
                    <AttributeRule AttributeName="Description" />
                  </AttributeRules>
                </EntityRule>
              </EntityRules>
            </AttributeRule>
          </Rules>
        </ConceptTemplate>
      </SubTemplates>
    </ConceptTemplate>
    <ConceptTemplate uuid="c446bd16-2de3-4b97-b34f-4446ac0badc2" name="Body Geometry" applicableSchema="IFC4" applicableEntity="IfcElement">
      <Rules>
        <AttributeRule AttributeName="Representation">
          <EntityRules>
            <EntityRule EntityName="IfcProductDefinitionShape">
              <AttributeRules>
                <AttributeRule AttributeName="Representations">
                  <EntityRules>
                    <EntityRule EntityName="IfcShapeRepresentation">
                      <AttributeRules>
                        <AttributeRule AttributeName="ContextOfItems">
                          <EntityRules>
                            <EntityRule EntityName="IfcGeometricRepresentationContext" />
                          </EntityRules>
                        </AttributeRule>
                        <AttributeRule RuleID="Identifier" AttributeName="RepresentationIdentifier">
                          <EntityRules>
                            <EntityRule EntityName="IfcLabel">
                              <Constraints>
                                <Constraint Expression="Identifier[Value] = 'Body'" />
                              </Constraints>
                            </EntityRule>
                          </EntityRules>
                        </AttributeRule>
                        <AttributeRule RuleID="Type" AttributeName="RepresentationType">
                          <EntityRules>
                            <EntityRule EntityName="IfcLabel" />
                          </EntityRules>
                        </AttributeRule>
                      </AttributeRules>
                    </EntityRule>
                  </EntityRules>
                </AttributeRule>
                <AttributeRule AttributeName="Name" />
                <AttributeRule AttributeName="Description" />
              </AttributeRules>
            </EntityRule>
          </EntityRules>
        </AttributeRule>
      </Rules>
      <SubTemplates>
        <ConceptTemplate uuid="fc763575-50f1-4bc0-bbf2-382380152047" name="Body AdvancedBrep Geometry" applicableSchema="IFC4" applicableEntity="IfcElement">
          <Rules>
            <AttributeRule AttributeName="Representation">
              <EntityRules>
                <EntityRule EntityName="IfcProductDefinitionShape">
                  <AttributeRules>
                    <AttributeRule AttributeName="Representations">
                      <EntityRules>
                        <EntityRule EntityName="IfcShapeRepresentation">
                          <AttributeRules>
                            <AttributeRule AttributeName="ContextOfItems">
                              <EntityRules>
                                <EntityRule EntityName="IfcGeometricRepresentationContext" />
                              </EntityRules>
                            </AttributeRule>
                            <AttributeRule RuleID="Identifier" AttributeName="RepresentationIdentifier">
                              <EntityRules>
                                <EntityRule EntityName="IfcLabel" />
                              </EntityRules>
                            </AttributeRule>
                            <AttributeRule RuleID="Type" AttributeName="RepresentationType">
                              <EntityRules>
                                <EntityRule EntityName="IfcLabel">
                                  <Constraints>
                                    <Constraint Expression="Type[Value] = 'AdvancedBrep'" />
                                  </Constraints>
                                </EntityRule>
                              </EntityRules>
                            </AttributeRule>
                            <AttributeRule RuleID="Items" AttributeName="Items">
                              <EntityRules>
                                <EntityRule EntityName="IfcAdvancedBrep">
                                  <References>
                                    <Template ref="3b6904cd-5852-4d29-b39e-64b326a74db0" />
                                  </References>
                                </EntityRule>
                                <EntityRule EntityName="IfcFacetedBrep">
                                  <References>
                                    <Template ref="bb55a495-9092-4230-afc6-fb0360d7d452" />
                                  </References>
                                </EntityRule>
                              </EntityRules>
                            </AttributeRule>
                          </AttributeRules>
                        </EntityRule>
                      </EntityRules>
                    </AttributeRule>
                    <AttributeRule AttributeName="Name" />
                    <AttributeRule AttributeName="Description" />
                  </AttributeRules>
                </EntityRule>
              </EntityRules>
            </AttributeRule>
          </Rules>
        </ConceptTemplate>
        <ConceptTemplate uuid="5464785d-e5d1-4f75-9ecc-6cb39214705e" name="Body AdvancedSweptSolid Geometry" applicableSchema="IFC4" applicableEntity="IfcElement">
          <Rules>
            <AttributeRule AttributeName="Representation">
              <EntityRules>
                <EntityRule EntityName="IfcProductDefinitionShape">
                  <AttributeRules>
                    <AttributeRule AttributeName="Representations">
                      <EntityRules>
                        <EntityRule EntityName="IfcShapeRepresentation">
                          <AttributeRules>
                            <AttributeRule AttributeName="ContextOfItems">
                              <EntityRules>
                                <EntityRule EntityName="IfcGeometricRepresentationContext" />
                              </EntityRules>
                            </AttributeRule>
                            <AttributeRule RuleID="Identifier" AttributeName="RepresentationIdentifier">
                              <EntityRules>
                                <EntityRule EntityName="IfcLabel" />
                              </EntityRules>
                            </AttributeRule>
                            <AttributeRule RuleID="Type" AttributeName="RepresentationType">
                              <EntityRules>
                                <EntityRule EntityName="IfcLabel">
                                  <Constraints>
                                    <Constraint Expression="Type[Value] = 'AdvancedSweptSolid'" />
                                  </Constraints>
                                </EntityRule>
                              </EntityRules>
                            </AttributeRule>
                            <AttributeRule RuleID="Items" AttributeName="Items" />
                          </AttributeRules>
                        </EntityRule>
                      </EntityRules>
                    </AttributeRule>
                    <AttributeRule AttributeName="Name" />
                    <AttributeRule AttributeName="Description" />
                  </AttributeRules>
                </EntityRule>
              </EntityRules>
            </AttributeRule>
          </Rules>
        </ConceptTemplate>
        <ConceptTemplate uuid="8fb923f5-b82d-48d2-ad29-d678ca473fda" name="Body Brep Geometry" applicableSchema="IFC4" applicableEntity="IfcElement">
          <Rules>
            <AttributeRule AttributeName="Representation">
              <EntityRules>
                <EntityRule EntityName="IfcProductDefinitionShape">
                  <AttributeRules>
                    <AttributeRule AttributeName="Representations">
                      <EntityRules>
                        <EntityRule EntityName="IfcShapeRepresentation">
                          <AttributeRules>
                            <AttributeRule AttributeName="ContextOfItems">
                              <EntityRules>
                                <EntityRule EntityName="IfcGeometricRepresentationContext" />
                              </EntityRules>
                            </AttributeRule>
                            <AttributeRule RuleID="Identifier" AttributeName="RepresentationIdentifier">
                              <EntityRules>
                                <EntityRule EntityName="IfcLabel" />
                              </EntityRules>
                            </AttributeRule>
                            <AttributeRule RuleID="Type" AttributeName="RepresentationType">
                              <EntityRules>
                                <EntityRule EntityName="IfcLabel">
                                  <Constraints>
                                    <Constraint Expression="Type[Value] = 'Brep'" />
                                  </Constraints>
                                </EntityRule>
                              </EntityRules>
                            </AttributeRule>
                            <AttributeRule RuleID="Items" AttributeName="Items">
                              <EntityRules>
                                <EntityRule EntityName="IfcFacetedBrep" />
                              </EntityRules>
                            </AttributeRule>
                          </AttributeRules>
                        </EntityRule>
                      </EntityRules>
                    </AttributeRule>
                    <AttributeRule AttributeName="Name" />
                    <AttributeRule AttributeName="Description" />
                  </AttributeRules>
                </EntityRule>
              </EntityRules>
            </AttributeRule>
          </Rules>
        </ConceptTemplate>
        <ConceptTemplate uuid="2cdbc2f5-9b0c-43ea-9d2a-9d72d0147e00" name="Body Clipping Geometry" applicableSchema="IFC4" applicableEntity="IfcElement">
          <Rules>
            <AttributeRule AttributeName="Representation">
              <EntityRules>
                <EntityRule EntityName="IfcProductDefinitionShape">
                  <AttributeRules>
                    <AttributeRule AttributeName="Representations">
                      <EntityRules>
                        <EntityRule EntityName="IfcShapeRepresentation">
                          <AttributeRules>
                            <AttributeRule AttributeName="ContextOfItems">
                              <EntityRules>
                                <EntityRule EntityName="IfcGeometricRepresentationContext" />
                              </EntityRules>
                            </AttributeRule>
                            <AttributeRule RuleID="Identifier" AttributeName="RepresentationIdentifier">
                              <EntityRules>
                                <EntityRule EntityName="IfcLabel" />
                              </EntityRules>
                            </AttributeRule>
                            <AttributeRule RuleID="Type" AttributeName="RepresentationType">
                              <EntityRules>
                                <EntityRule EntityName="IfcLabel">
                                  <Constraints>
                                    <Constraint Expression="Type[Value] = 'Clipping'" />
                                  </Constraints>
                                </EntityRule>
                              </EntityRules>
                            </AttributeRule>
                            <AttributeRule RuleID="Items" AttributeName="Items">
                              <EntityRules>
                                <EntityRule EntityName="IfcBooleanClippingResult">
                                  <AttributeRules>
                                    <AttributeRule AttributeName="Operator">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcBooleanOperator" />
                                      </EntityRules>
                                    </AttributeRule>
                                    <AttributeRule AttributeName="FirstOperand">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcCsgPrimitive3D" />
                                        <EntityRule EntityName="IfcSolidModel" />
                                        <EntityRule EntityName="IfcBooleanClippingResult" />
                                      </EntityRules>
                                    </AttributeRule>
                                    <AttributeRule AttributeName="SecondOperand">
                                      <EntityRules>
                                        <EntityRule EntityName="IfcHalfSpaceSolid" />
                                        <EntityRule EntityName="IfcPolygonalBoundedHalfSpace">
                                          <AttributeRules>
                                            <AttributeRule AttributeName="BaseSurface">
                                              <EntityRules>
                                                <EntityRule EntityName="IfcPlane" />
                                              </EntityRules>
                                            </AttributeRule>
                                            <AttributeRule AttributeName="AgreementFlag">
                                              <EntityRules>
                                                <EntityRule EntityName="IfcBoolean" />
                                              </EntityRules>
                                            </AttributeRule>
                                            <AttributeRule AttributeName="Position">
                                              <EntityRules>
                                                <EntityRule EntityName="IfcAxis2Placement3D" />
                                              </EntityRules>
                                            </AttributeRule>
                                            <AttributeRule AttributeName="PolygonalBoundary">
                                              <EntityRules>
                                                <EntityRule EntityName="IfcIndexedPolyCurve" />
                                              </EntityRules>
                                            </AttributeRule>
                                          </AttributeRules>
                                        </EntityRule>
                                      </EntityRules>
                                    </AttributeRule>
                                  </AttributeRules>
                                </EntityRule>
                              </EntityRules>
                            </AttributeRule>
                          </AttributeRules>
                        </EntityRule>
                      </EntityRules>
                    </AttributeRule>
                    <AttributeRule AttributeName="Name" />
                    <AttributeRule AttributeName="Description" />
                  </AttributeRules>
                </EntityRule>
              </EntityRules>
            </AttributeRule>
          </Rules>
        </ConceptTemplate>
        <ConceptTemplate uuid="a0ab7630-6965-495e-be8f-d106fd2599c2" name="Body CSG Geometry" applicableSchema="IFC4" applicableEntity="IfcElement">
          <Rules>
            <AttributeRule AttributeName="Representation">
              <EntityRules>
                <EntityRule EntityName="IfcProductDefinitionShape">
                  <AttributeRules>
                    <AttributeRule AttributeName="Representations">
                      <EntityRules>
                        <EntityRule EntityName="IfcShapeRepresentation">
                          <AttributeRules>
                            <AttributeRule AttributeName="ContextOfItems">
                              <EntityRules>
                                <EntityRule EntityName="IfcGeometricRepresentationContext" />
                              </EntityRules>
                            </AttributeRule>
                            <AttributeRule RuleID="Identifier" AttributeName="RepresentationIdentifier">
                              <EntityRules>
                                <EntityRule EntityName="IfcLabel" />
                              </EntityRules>
                            </AttributeRule>
                            <AttributeRule RuleID="Type" AttributeName="RepresentationType">
                              <EntityRules>
                                <EntityRule EntityName="IfcLabel">
                                  <Constraints>
                                    <Constraint Expression="Type[Value] = 'CSG'" />
                                  </Constraints>
                                </EntityRule>
                              </EntityRules>
                            </AttributeRule>
                            <AttributeRule AttributeName="Items">
                              <EntityRules>
                                <EntityRule EntityName="IfcCsgSolid">
                                  <AttributeRules>
                                    <AttributeRule AttributeName="TreeRootExpression" />
                                  </AttributeRules>
                                </EntityRule>
                              </EntityRules>
                            </AttributeRule>
                          </AttributeRules>
                        </EntityRule>
                      </EntityRules>
                    </AttributeRule>
                    <AttributeRule AttributeName="Name" />
                    <AttributeRule AttributeName="Description" />
                  </AttributeRules>
                </EntityRule>
              </EntityRules>
            </AttributeRule>
          </Rules>
        </ConceptTemplate>
        <ConceptTemplate uuid="17d34a12-9403-40f4-bf82-65399be23c55" name="Body SurfaceModel Geometry" applicableSchema="IFC4" applicableEntity="IfcElement">
          <Rules>
            <AttributeRule AttributeName="Representation">
              <EntityRules>
                <EntityRule EntityName="IfcProductDefinitionShape">
                  <AttributeRules>
                    <AttributeRule AttributeName="Representations">
                      <EntityRules>
                        <EntityRule EntityName="IfcShapeRepresentation">
                          <AttributeRules>
                            <AttributeRule AttributeName="ContextOfItems">
                              <EntityRules>
                                <EntityRule EntityName="IfcGeometricRepresentationContext" />
                              </EntityRules>
                            </AttributeRule>
                            <AttributeRule RuleID="Identifier" AttributeName="RepresentationIdentifier">
                              <EntityRules>
                                <EntityRule EntityName="IfcLabel" />
                              </EntityRules>
                            </AttributeRule>
                            <AttributeRule RuleID="Type" AttributeName="RepresentationType">
                              <EntityRules>
                                <EntityRule EntityName="IfcLabel">
                                  <Constraints>
                                    <Constraint Expression="Type[Value] = 'SurfaceModel'" />
                                  </Constraints>
                                </EntityRule>
                              </EntityRules>
                            </AttributeRule>
                            <AttributeRule RuleID="Items" AttributeName="Items">
                              <EntityRules>
                                <EntityRule EntityName="IfcTessellatedFaceSet" />
                              </EntityRules>
                            </AttributeRule>
                          </AttributeRules>
                        </EntityRule>
                      </EntityRules>
                    </AttributeRule>
                    <AttributeRule AttributeName="Name" />
                    <AttributeRule AttributeName="Description" />
                  </AttributeRules>
                </EntityRule>
              </EntityRules>
            </AttributeRule>
          </Rules>
        </ConceptTemplate>
        <ConceptTemplate uuid="fbbb70d8-52ee-4d90-972e-9ddb4c0a11ab" name="Body SurfaceOrSolidModel Geometry" applicableSchema="IFC4" applicableEntity="IfcElement">
          <Rules>
            <AttributeRule AttributeName="Representation">
              <EntityRules>
                <EntityRule EntityName="IfcProductDefinitionShape">
                  <AttributeRules>
                    <AttributeRule AttributeName="Representations">
                      <EntityRules>
                        <EntityRule EntityName="IfcShapeRepresentation">
                          <AttributeRules>
                            <AttributeRule AttributeName="ContextOfItems">
                              <EntityRules>
                                <EntityRule EntityName="IfcGeometricRepresentationContext" />
                              </EntityRules>
                            </AttributeRule>
                            <AttributeRule RuleID="Identifier" AttributeName="RepresentationIdentifier">
                              <EntityRules>
                                <EntityRule EntityName="IfcLabel" />
                              </EntityRules>
                            </AttributeRule>
                            <AttributeRule RuleID="Type" AttributeName="RepresentationType">
                              <EntityRules>
                                <EntityRule EntityName="IfcLabel">
                                  <Constraints>
                                    <Constraint Expression="Type[Value] = 'SurfaceOrSolidModel'" />
                                  </Constraints>
                                </EntityRule>
                              </EntityRules>
                            </AttributeRule>
                            <AttributeRule RuleID="Items" AttributeName="Items">
                              <EntityRules>
                                <EntityRule EntityName="IfcSolidModel" />
                                <EntityRule EntityName="IfcTessellatedFaceSet" />
                              </EntityRules>
                            </AttributeRule>
                          </AttributeRules>
                        </EntityRule>
                      </EntityRules>
                    </AttributeRule>
                    <AttributeRule AttributeName="Name" />
                    <AttributeRule AttributeName="Description" />
                  </AttributeRules>
                </EntityRule>
              </EntityRules>
            </AttributeRule>
          </Rules>
        </ConceptTemplate>
        <ConceptTemplate uuid="cb7c18fa-cf83-4db1-be1b-c013ba4ed672" name="Body SweptSolid Geometry" applicableSchema="IFC4" applicableEntity="IfcElement">
          <Rules>
            <AttributeRule AttributeName="Representation">
              <EntityRules>
                <EntityRule EntityName="IfcProductDefinitionShape">
                  <AttributeRules>
                    <AttributeRule AttributeName="Representations">
                      <EntityRules>
                        <EntityRule EntityName="IfcShapeRepresentation">
                          <AttributeRules>
                            <AttributeRule AttributeName="ContextOfItems">
                              <EntityRules>
                                <EntityRule EntityName="IfcGeometricRepresentationContext" />
                              </EntityRules>
                            </AttributeRule>
                            <AttributeRule RuleID="Identifier" AttributeName="RepresentationIdentifier">
                              <EntityRules>
                                <EntityRule EntityName="IfcLabel" />
                              </EntityRules>
                            </AttributeRule>
                            <AttributeRule RuleID="Type" AttributeName="RepresentationType">
                              <EntityRules>
                                <EntityRule EntityName="IfcLabel" />
                              </EntityRules>
                            </AttributeRule>
                            <AttributeRule RuleID="Geometry" AttributeName="Items">
                              <EntityRules>
                                <EntityRule EntityName="IfcSweptAreaSolid" />
                              </EntityRules>
                            </AttributeRule>
                          </AttributeRules>
                        </EntityRule>
                      </EntityRules>
                    </AttributeRule>
                    <AttributeRule AttributeName="Name" />
                    <AttributeRule AttributeName="Description" />
                  </AttributeRules>
                </EntityRule>
              </EntityRules>
            </AttributeRule>
          </Rules>
        </ConceptTemplate>
        <ConceptTemplate uuid="5cfd4403-6545-4c6d-bc27-0a95a3d09950" name="Body Tessellation Geometry" applicableSchema="IFC4" applicableEntity="IfcElement">
          <Rules>
            <AttributeRule AttributeName="Representation">
              <EntityRules>
                <EntityRule EntityName="IfcProductDefinitionShape">
                  <AttributeRules>
                    <AttributeRule AttributeName="Representations">
                      <EntityRules>
                        <EntityRule EntityName="IfcShapeRepresentation">
                          <AttributeRules>
                            <AttributeRule AttributeName="ContextOfItems">
                              <EntityRules>
                                <EntityRule EntityName="IfcGeometricRepresentationContext" />
                              </EntityRules>
                            </AttributeRule>
                            <AttributeRule RuleID="Identifier" AttributeName="RepresentationIdentifier">
                              <EntityRules>
                                <EntityRule EntityName="IfcLabel" />
                              </EntityRules>
                            </AttributeRule>
                            <AttributeRule RuleID="Type" AttributeName="RepresentationType">
                              <EntityRules>
                                <EntityRule EntityName="IfcLabel">
                                  <Constraints>
                                    <Constraint Expression="Type[Value] = 'Tessellation'" />
                                  </Constraints>
                                </EntityRule>
                              </EntityRules>
                            </AttributeRule>
                            <AttributeRule RuleID="Items" AttributeName="Items">
                              <EntityRules>
                                <EntityRule EntityName="IfcTriangulatedFaceSet">
                                  <References>
                                    <Template ref="8a96e670-c72c-4dde-933a-b8e9bffd6983" />
                                  </References>
                                </EntityRule>
                                <EntityRule EntityName="IfcPolygonalFaceSet">
                                  <References>
                                    <Template ref="72c0b316-6b48-478d-91fa-6e4b5a781b07" />
                                  </References>
                                </EntityRule>
                              </EntityRules>
                            </AttributeRule>
                          </AttributeRules>
                        </EntityRule>
                      </EntityRules>
                    </AttributeRule>
                    <AttributeRule AttributeName="Name" />
                    <AttributeRule AttributeName="Description" />
                  </AttributeRules>
                </EntityRule>
              </EntityRules>
            </AttributeRule>
          </Rules>
        </ConceptTemplate>
      </SubTemplates>
    </ConceptTemplate>
    <ConceptTemplate uuid="b942ceb1-b818-4683-871b-9c979fa34dd5" name="Box Geometry" applicableSchema="IFC4" applicableEntity="IfcProduct">
      <Rules>
        <AttributeRule AttributeName="Representation">
          <EntityRules>
            <EntityRule EntityName="IfcProductDefinitionShape">
              <AttributeRules>
                <AttributeRule AttributeName="Representations">
                  <EntityRules>
                    <EntityRule EntityName="IfcShapeRepresentation">
                      <AttributeRules>
                        <AttributeRule AttributeName="ContextOfItems">
                          <EntityRules>
                            <EntityRule EntityName="IfcGeometricRepresentationContext" />
                          </EntityRules>
                        </AttributeRule>
                        <AttributeRule RuleID="Identifier" AttributeName="RepresentationIdentifier">
                          <EntityRules>
                            <EntityRule EntityName="IfcLabel">
                              <Constraints>
                                <Constraint Expression="Identifier[Value] = 'Box'" />
                              </Constraints>
                            </EntityRule>
                          </EntityRules>
                        </AttributeRule>
                        <AttributeRule RuleID="Type" AttributeName="RepresentationType">
                          <EntityRules>
                            <EntityRule EntityName="IfcLabel">
                              <Constraints>
                                <Constraint Expression="Type[Value] = 'BoundingBox'" />
                              </Constraints>
                            </EntityRule>
                          </EntityRules>
                        </AttributeRule>
                        <AttributeRule AttributeName="Items">
                          <EntityRules>
                            <EntityRule EntityName="IfcBoundingBox" />
                          </EntityRules>
                        </AttributeRule>
                      </AttributeRules>
                    </EntityRule>
                  </EntityRules>
                </AttributeRule>
                <AttributeRule AttributeName="Name" />
                <AttributeRule AttributeName="Description" />
              </AttributeRules>
            </EntityRule>
          </EntityRules>
        </AttributeRule>
      </Rules>
    </ConceptTemplate>
    <ConceptTemplate uuid="0fdc2380-9ef0-41e9-b0dc-f01fd2f77e6c" name="Clearance Geometry" applicableSchema="IFC4" applicableEntity="IfcElement">
      <Rules>
        <AttributeRule AttributeName="Representation">
          <EntityRules>
            <EntityRule EntityName="IfcProductDefinitionShape">
              <AttributeRules>
                <AttributeRule AttributeName="Representations">
                  <EntityRules>
                    <EntityRule EntityName="IfcShapeRepresentation">
                      <AttributeRules>
                        <AttributeRule AttributeName="ContextOfItems">
                          <EntityRules>
                            <EntityRule EntityName="IfcGeometricRepresentationContext" />
                          </EntityRules>
                        </AttributeRule>
                        <AttributeRule RuleID="Identifier" AttributeName="RepresentationIdentifier">
                          <EntityRules>
                            <EntityRule EntityName="IfcLabel">
                              <AttributeRules>
                                <AttributeRule Description="Value=Clearance" AttributeName="Value=Clearance" />
                              </AttributeRules>
                            </EntityRule>
                          </EntityRules>
                        </AttributeRule>
                        <AttributeRule RuleID="Type" AttributeName="RepresentationType">
                          <EntityRules>
                            <EntityRule EntityName="IfcLabel" />
                          </EntityRules>
                        </AttributeRule>
                        <AttributeRule RuleID="Items" AttributeName="Items" />
                      </AttributeRules>
                    </EntityRule>
                  </EntityRules>
                </AttributeRule>
                <AttributeRule AttributeName="Name" />
                <AttributeRule AttributeName="Description" />
              </AttributeRules>
            </EntityRule>
          </EntityRules>
        </AttributeRule>
      </Rules>
    </ConceptTemplate>
    <ConceptTemplate uuid="a13f0eca-6c45-4a95-bfa6-03cc7da6a6cf" name="CoG Geometry" applicableSchema="IFC4" applicableEntity="IfcProduct">
      <Rules>
        <AttributeRule AttributeName="Representation">
          <EntityRules>
            <EntityRule EntityName="IfcProductDefinitionShape">
              <AttributeRules>
                <AttributeRule AttributeName="Name" />
                <AttributeRule AttributeName="Description" />
                <AttributeRule AttributeName="Representations">
                  <EntityRules>
                    <EntityRule EntityName="IfcShapeRepresentation">
                      <AttributeRules>
                        <AttributeRule AttributeName="ContextOfItems">
                          <EntityRules>
                            <EntityRule EntityName="IfcGeometricRepresentationContext" />
                          </EntityRules>
                        </AttributeRule>
                        <AttributeRule RuleID="Identifier" AttributeName="RepresentationIdentifier">
                          <EntityRules>
                            <EntityRule EntityName="IfcLabel" />
                          </EntityRules>
                        </AttributeRule>
                        <AttributeRule RuleID="Type" AttributeName="RepresentationType">
                          <EntityRules>
                            <EntityRule EntityName="IfcLabel" />
                          </EntityRules>
                        </AttributeRule>
                        <AttributeRule AttributeName="Items">
                          <EntityRules>
                            <EntityRule EntityName="IfcCartesianPoint" />
                          </EntityRules>
                        </AttributeRule>
                      </AttributeRules>
                    </EntityRule>
                  </EntityRules>
                </AttributeRule>
              </AttributeRules>
            </EntityRule>
          </EntityRules>
        </AttributeRule>
      </Rules>
    </ConceptTemplate>
    <ConceptTemplate uuid="4f5777d7-68e9-459c-aa2c-46adf3e88d31" name="FootPrint Geometry" applicableSchema="IFC4" applicableEntity="IfcProduct">
      <Rules>
        <AttributeRule AttributeName="Representation">
          <EntityRules>
            <EntityRule EntityName="IfcProductDefinitionShape">
              <AttributeRules>
                <AttributeRule AttributeName="Representations">
                  <EntityRules>
                    <EntityRule EntityName="IfcShapeRepresentation">
                      <AttributeRules>
                        <AttributeRule RuleID="Identifier" AttributeName="RepresentationIdentifier">
                          <EntityRules>
                            <EntityRule EntityName="IfcLabel">
                              <Constraints>
                                <Constraint Expression="Identifier[Value] = 'FootPrint'" />
                              </Constraints>
                            </EntityRule>
                          </EntityRules>
                        </AttributeRule>
                        <AttributeRule AttributeName="ContextOfItems">
                          <EntityRules>
                            <EntityRule EntityName="IfcGeometricRepresentationContext" />
                          </EntityRules>
                        </AttributeRule>
                        <AttributeRule RuleID="Type" AttributeName="RepresentationType">
                          <EntityRules>
                            <EntityRule EntityName="IfcLabel" />
                          </EntityRules>
                        </AttributeRule>
                        <AttributeRule RuleID="Items" AttributeName="Items" />
                      </AttributeRules>
                    </EntityRule>
                  </EntityRules>
                </AttributeRule>
                <AttributeRule AttributeName="Name" />
                <AttributeRule AttributeName="Description" />
              </AttributeRules>
            </EntityRule>
          </EntityRules>
        </AttributeRule>
      </Rules>
      <SubTemplates>
        <ConceptTemplate uuid="9456d6d6-a62a-48b4-baff-be2e38baac9c" name="FootPrint GeomSet Geometry" applicableSchema="IFC4" applicableEntity="IfcProduct">
          <Rules>
            <AttributeRule AttributeName="Representation">
              <EntityRules>
                <EntityRule EntityName="IfcProductDefinitionShape">
                  <AttributeRules>
                    <AttributeRule AttributeName="Representations">
                      <EntityRules>
                        <EntityRule EntityName="IfcShapeRepresentation">
                          <AttributeRules>
                            <AttributeRule RuleID="Identifier" AttributeName="RepresentationIdentifier">
                              <EntityRules>
                                <EntityRule EntityName="IfcLabel">
                                  <Constraints>
                                    <Constraint Expression="Identifier[Value] = 'FootPrint'" />
                                  </Constraints>
                                </EntityRule>
                              </EntityRules>
                            </AttributeRule>
                            <AttributeRule AttributeName="ContextOfItems">
                              <EntityRules>
                                <EntityRule EntityName="IfcGeometricRepresentationContext" />
                              </EntityRules>
                            </AttributeRule>
                            <AttributeRule RuleID="Type" AttributeName="RepresentationType">
                              <EntityRules>
                                <EntityRule EntityName="IfcLabel">
                                  <Constraints>
                                    <Constraint Expression="Type[Value] = 'GeometricCurveSet'" />
                                  </Constraints>
                                </EntityRule>
                              </EntityRules>
                            </AttributeRule>
                            <AttributeRule RuleID="Items" AttributeName="Items">
                              <EntityRules>
                                <EntityRule EntityName="IfcGeometricCurveSet" />
                              </EntityRules>
                            </AttributeRule>
                          </AttributeRules>
                        </EntityRule>
                      </EntityRules>
                    </AttributeRule>
                    <AttributeRule AttributeName="Name" />
                    <AttributeRule AttributeName="Description" />
                  </AttributeRules>
                </EntityRule>
              </EntityRules>
            </AttributeRule>
          </Rules>
        </ConceptTemplate>
      </SubTemplates>
    </ConceptTemplate>
    <ConceptTemplate uuid="a0002f8b-7b38-44ff-9bbb-862d6ccd54b1" name="Lighting Geometry" applicableSchema="IFC4" applicableEntity="IfcElement">
      <Rules>
        <AttributeRule AttributeName="Representation">
          <EntityRules>
            <EntityRule EntityName="IfcProductDefinitionShape">
              <AttributeRules>
                <AttributeRule AttributeName="Representations">
                  <EntityRules>
                    <EntityRule EntityName="IfcShapeRepresentation">
                      <AttributeRules>
                        <AttributeRule AttributeName="ContextOfItems">
                          <EntityRules>
                            <EntityRule EntityName="IfcGeometricRepresentationContext" />
                          </EntityRules>
                        </AttributeRule>
                        <AttributeRule RuleID="Identifier" AttributeName="RepresentationIdentifier">
                          <EntityRules>
                            <EntityRule EntityName="IfcLabel">
                              <AttributeRules>
                                <AttributeRule Description="Value=Lighting" AttributeName="Value=Lighting" />
                              </AttributeRules>
                            </EntityRule>
                          </EntityRules>
                        </AttributeRule>
                        <AttributeRule RuleID="Type" AttributeName="RepresentationType">
                          <EntityRules>
                            <EntityRule EntityName="IfcLabel">
                              <AttributeRules>
                                <AttributeRule Description="Value=LightSource" AttributeName="Value=LightSource" />
                              </AttributeRules>
                            </EntityRule>
                          </EntityRules>
                        </AttributeRule>
                        <AttributeRule RuleID="Items" AttributeName="Items">
                          <EntityRules>
                            <EntityRule EntityName="IfcLightSource">
                              <AttributeRules>
                                <AttributeRule AttributeName="LightColour">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcColourRgb" />
                                  </EntityRules>
                                </AttributeRule>
                              </AttributeRules>
                            </EntityRule>
                          </EntityRules>
                        </AttributeRule>
                      </AttributeRules>
                    </EntityRule>
                  </EntityRules>
                </AttributeRule>
                <AttributeRule AttributeName="Name" />
                <AttributeRule AttributeName="Description" />
              </AttributeRules>
            </EntityRule>
          </EntityRules>
        </AttributeRule>
      </Rules>
    </ConceptTemplate>
    <ConceptTemplate uuid="ecfdd7c8-71d5-449f-bf20-e63a25dcb9ba" name="Mapped Geometry" applicableSchema="IFC4" applicableEntity="IfcProduct">
      <Rules>
        <AttributeRule AttributeName="Representation">
          <EntityRules>
            <EntityRule EntityName="IfcProductDefinitionShape">
              <AttributeRules>
                <AttributeRule AttributeName="Representations">
                  <EntityRules>
                    <EntityRule EntityName="IfcShapeRepresentation">
                      <AttributeRules>
                        <AttributeRule AttributeName="ContextOfItems">
                          <EntityRules>
                            <EntityRule EntityName="IfcGeometricRepresentationContext" />
                          </EntityRules>
                        </AttributeRule>
                        <AttributeRule RuleID="Identifier" AttributeName="RepresentationIdentifier">
                          <EntityRules>
                            <EntityRule EntityName="IfcLabel" />
                          </EntityRules>
                        </AttributeRule>
                        <AttributeRule RuleID="Type" AttributeName="RepresentationType">
                          <EntityRules>
                            <EntityRule EntityName="IfcLabel" />
                          </EntityRules>
                        </AttributeRule>
                        <AttributeRule AttributeName="Items">
                          <EntityRules>
                            <EntityRule EntityName="IfcMappedItem">
                              <AttributeRules>
                                <AttributeRule AttributeName="MappingSource">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcRepresentationMap">
                                      <AttributeRules>
                                        <AttributeRule AttributeName="MappingOrigin">
                                          <EntityRules>
                                            <EntityRule EntityName="IfcAxis2Placement3D">
                                              <AttributeRules>
                                                <AttributeRule AttributeName="Location">
                                                  <EntityRules>
                                                    <EntityRule EntityName="IfcCartesianPoint" />
                                                  </EntityRules>
                                                </AttributeRule>
                                                <AttributeRule AttributeName="Axis">
                                                  <EntityRules>
                                                    <EntityRule EntityName="IfcDirection" />
                                                  </EntityRules>
                                                </AttributeRule>
                                                <AttributeRule AttributeName="RefDirection">
                                                  <EntityRules>
                                                    <EntityRule EntityName="IfcDirection" />
                                                  </EntityRules>
                                                </AttributeRule>
                                              </AttributeRules>
                                            </EntityRule>
                                          </EntityRules>
                                        </AttributeRule>
                                        <AttributeRule AttributeName="MappedRepresentation">
                                          <EntityRules>
                                            <EntityRule EntityName="IfcShapeRepresentation" />
                                          </EntityRules>
                                        </AttributeRule>
                                      </AttributeRules>
                                    </EntityRule>
                                  </EntityRules>
                                </AttributeRule>
                                <AttributeRule AttributeName="MappingTarget">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcCartesianTransformationOperator3D">
                                      <AttributeRules>
                                        <AttributeRule AttributeName="Axis1">
                                          <EntityRules>
                                            <EntityRule EntityName="IfcDirection" />
                                          </EntityRules>
                                        </AttributeRule>
                                        <AttributeRule AttributeName="Axis2">
                                          <EntityRules>
                                            <EntityRule EntityName="IfcDirection" />
                                          </EntityRules>
                                        </AttributeRule>
                                        <AttributeRule AttributeName="LocalOrigin">
                                          <EntityRules>
                                            <EntityRule EntityName="IfcCartesianPoint" />
                                          </EntityRules>
                                        </AttributeRule>
                                        <AttributeRule AttributeName="Axis3">
                                          <EntityRules>
                                            <EntityRule EntityName="IfcDirection" />
                                          </EntityRules>
                                        </AttributeRule>
                                        <AttributeRule AttributeName="Scale" />
                                      </AttributeRules>
                                    </EntityRule>
                                    <EntityRule EntityName="IfcCartesianTransformationOperator3DnonUniform">
                                      <AttributeRules>
                                        <AttributeRule AttributeName="Scale2" />
                                        <AttributeRule AttributeName="Scale3" />
                                      </AttributeRules>
                                    </EntityRule>
                                  </EntityRules>
                                </AttributeRule>
                              </AttributeRules>
                            </EntityRule>
                          </EntityRules>
                        </AttributeRule>
                      </AttributeRules>
                    </EntityRule>
                  </EntityRules>
                </AttributeRule>
                <AttributeRule AttributeName="Name" />
                <AttributeRule AttributeName="Description" />
              </AttributeRules>
            </EntityRule>
          </EntityRules>
        </AttributeRule>
      </Rules>
    </ConceptTemplate>
    <ConceptTemplate uuid="f16eb3be-ff88-4f33-97df-d55aed3a0f95" name="Profile Geometry" applicableSchema="IFC4" applicableEntity="IfcElement">
      <Rules>
        <AttributeRule AttributeName="Representation">
          <EntityRules>
            <EntityRule EntityName="IfcProductDefinitionShape">
              <AttributeRules>
                <AttributeRule AttributeName="Representations">
                  <EntityRules>
                    <EntityRule EntityName="IfcShapeRepresentation">
                      <AttributeRules>
                        <AttributeRule AttributeName="ContextOfItems">
                          <EntityRules>
                            <EntityRule EntityName="IfcGeometricRepresentationContext" />
                          </EntityRules>
                        </AttributeRule>
                        <AttributeRule RuleID="Identifier" AttributeName="RepresentationIdentifier">
                          <EntityRules>
                            <EntityRule EntityName="IfcLabel">
                              <AttributeRules>
                                <AttributeRule Description="Value=Profile" AttributeName="Value=Profile" />
                              </AttributeRules>
                            </EntityRule>
                          </EntityRules>
                        </AttributeRule>
                        <AttributeRule RuleID="Type" AttributeName="RepresentationType">
                          <EntityRules>
                            <EntityRule EntityName="IfcLabel" />
                          </EntityRules>
                        </AttributeRule>
                        <AttributeRule RuleID="Items" AttributeName="Items" />
                      </AttributeRules>
                    </EntityRule>
                  </EntityRules>
                </AttributeRule>
                <AttributeRule AttributeName="Name" />
                <AttributeRule AttributeName="Description" />
              </AttributeRules>
            </EntityRule>
          </EntityRules>
        </AttributeRule>
      </Rules>
      <SubTemplates>
        <ConceptTemplate uuid="1d897220-740d-4793-9a8d-5d2774c7bc00" name="Profile 3D Geometry" applicableSchema="IFC4" applicableEntity="IfcElement">
          <Rules>
            <AttributeRule AttributeName="Representation">
              <EntityRules>
                <EntityRule EntityName="IfcProductDefinitionShape">
                  <AttributeRules>
                    <AttributeRule AttributeName="Representations">
                      <EntityRules>
                        <EntityRule EntityName="IfcShapeRepresentation">
                          <AttributeRules>
                            <AttributeRule AttributeName="ContextOfItems">
                              <EntityRules>
                                <EntityRule EntityName="IfcGeometricRepresentationContext" />
                              </EntityRules>
                            </AttributeRule>
                            <AttributeRule RuleID="Identifier" AttributeName="RepresentationIdentifier">
                              <EntityRules>
                                <EntityRule EntityName="IfcLabel">
                                  <AttributeRules>
                                    <AttributeRule Description="Value=Profile" AttributeName="Value=Profile" />
                                  </AttributeRules>
                                </EntityRule>
                              </EntityRules>
                            </AttributeRule>
                            <AttributeRule RuleID="Type" AttributeName="RepresentationType">
                              <EntityRules>
                                <EntityRule EntityName="IfcLabel">
                                  <Constraints>
                                    <Constraint Expression="Type[Value] = 'Curve3D'" />
                                  </Constraints>
                                </EntityRule>
                              </EntityRules>
                            </AttributeRule>
                            <AttributeRule RuleID="Items" AttributeName="Items">
                              <EntityRules>
                                <EntityRule EntityName="IfcBoundedCurve" />
                              </EntityRules>
                            </AttributeRule>
                          </AttributeRules>
                        </EntityRule>
                      </EntityRules>
                    </AttributeRule>
                    <AttributeRule AttributeName="Name" />
                    <AttributeRule AttributeName="Description" />
                  </AttributeRules>
                </EntityRule>
              </EntityRules>
            </AttributeRule>
          </Rules>
        </ConceptTemplate>
      </SubTemplates>
    </ConceptTemplate>
    <ConceptTemplate uuid="d68f9f1b-223a-4a8a-912b-b83f032a74f2" name="Reference Geometry" applicableSchema="IFC4" applicableEntity="IfcProduct">
      <Rules>
        <AttributeRule AttributeName="Representation">
          <EntityRules>
            <EntityRule EntityName="IfcProductDefinitionShape">
              <AttributeRules>
                <AttributeRule AttributeName="Name" />
                <AttributeRule AttributeName="Description" />
                <AttributeRule AttributeName="Representations">
                  <EntityRules>
                    <EntityRule EntityName="IfcShapeRepresentation">
                      <AttributeRules>
                        <AttributeRule AttributeName="ContextOfItems">
                          <EntityRules>
                            <EntityRule EntityName="IfcGeometricRepresentationContext" />
                          </EntityRules>
                        </AttributeRule>
                        <AttributeRule RuleID="Identifier" AttributeName="RepresentationIdentifier">
                          <EntityRules>
                            <EntityRule EntityName="IfcLabel">
                              <Constraints>
                                <Constraint Expression="Identifier[Value] = 'Reference'" />
                              </Constraints>
                            </EntityRule>
                          </EntityRules>
                        </AttributeRule>
                        <AttributeRule RuleID="Type" AttributeName="RepresentationType">
                          <EntityRules>
                            <EntityRule EntityName="IfcLabel" />
                          </EntityRules>
                        </AttributeRule>
                      </AttributeRules>
                    </EntityRule>
                  </EntityRules>
                </AttributeRule>
              </AttributeRules>
            </EntityRule>
          </EntityRules>
        </AttributeRule>
      </Rules>
    </ConceptTemplate>
    <ConceptTemplate uuid="2e99de70-fb73-478f-9bca-4fedfdeb4ea5" name="Surface Geometry" applicableSchema="IFC4" applicableEntity="IfcElement">
      <Rules>
        <AttributeRule AttributeName="Representation">
          <EntityRules>
            <EntityRule EntityName="IfcProductDefinitionShape">
              <AttributeRules>
                <AttributeRule AttributeName="Representations">
                  <EntityRules>
                    <EntityRule EntityName="IfcShapeRepresentation">
                      <AttributeRules>
                        <AttributeRule AttributeName="ContextOfItems">
                          <EntityRules>
                            <EntityRule EntityName="IfcGeometricRepresentationContext" />
                          </EntityRules>
                        </AttributeRule>
                        <AttributeRule RuleID="Identifier" AttributeName="RepresentationIdentifier">
                          <EntityRules>
                            <EntityRule EntityName="IfcLabel">
                              <AttributeRules>
                                <AttributeRule Description="Value=Surface" AttributeName="Value=Surface" />
                              </AttributeRules>
                            </EntityRule>
                          </EntityRules>
                        </AttributeRule>
                        <AttributeRule RuleID="Type" AttributeName="RepresentationType">
                          <EntityRules>
                            <EntityRule EntityName="IfcLabel" />
                          </EntityRules>
                        </AttributeRule>
                        <AttributeRule RuleID="Items" AttributeName="Items" />
                      </AttributeRules>
                    </EntityRule>
                  </EntityRules>
                </AttributeRule>
                <AttributeRule AttributeName="Name" />
                <AttributeRule AttributeName="Description" />
              </AttributeRules>
            </EntityRule>
          </EntityRules>
        </AttributeRule>
      </Rules>
      <SubTemplates>
        <ConceptTemplate uuid="bd82983d-39d5-41b2-9ee8-f3bd8777d315" name="Surface 3D Geometry" applicableSchema="IFC4" applicableEntity="IfcElement">
          <Rules>
            <AttributeRule AttributeName="Representation">
              <EntityRules>
                <EntityRule EntityName="IfcProductDefinitionShape">
                  <AttributeRules>
                    <AttributeRule AttributeName="Representations">
                      <EntityRules>
                        <EntityRule EntityName="IfcShapeRepresentation">
                          <AttributeRules>
                            <AttributeRule AttributeName="ContextOfItems">
                              <EntityRules>
                                <EntityRule EntityName="IfcGeometricRepresentationContext" />
                              </EntityRules>
                            </AttributeRule>
                            <AttributeRule RuleID="Identifier" AttributeName="RepresentationIdentifier">
                              <EntityRules>
                                <EntityRule EntityName="IfcLabel">
                                  <AttributeRules>
                                    <AttributeRule Description="Value=Surface" AttributeName="Value=Surface" />
                                  </AttributeRules>
                                </EntityRule>
                              </EntityRules>
                            </AttributeRule>
                            <AttributeRule RuleID="Type" AttributeName="RepresentationType">
                              <EntityRules>
                                <EntityRule EntityName="IfcLabel">
                                  <Constraints>
                                    <Constraint Expression="Type[Value] = 'Surface3D'" />
                                  </Constraints>
                                </EntityRule>
                              </EntityRules>
                            </AttributeRule>
                            <AttributeRule RuleID="Items" AttributeName="Items">
                              <EntityRules>
                                <EntityRule EntityName="IfcBoundedSurface" />
                                <EntityRule EntityName="IfcSweptSurface" />
                              </EntityRules>
                            </AttributeRule>
                          </AttributeRules>
                        </EntityRule>
                      </EntityRules>
                    </AttributeRule>
                    <AttributeRule AttributeName="Name" />
                    <AttributeRule AttributeName="Description" />
                  </AttributeRules>
                </EntityRule>
              </EntityRules>
            </AttributeRule>
          </Rules>
        </ConceptTemplate>
      </SubTemplates>
    </ConceptTemplate>
    <ConceptTemplate uuid="2a90f52f-7961-4dbd-8560-546e2d0b73bb" name="Survey Points Geometry" applicableSchema="IFC4" applicableEntity="IfcSite">
      <Rules>
        <AttributeRule AttributeName="Representation">
          <EntityRules>
            <EntityRule EntityName="IfcProductDefinitionShape">
              <AttributeRules>
                <AttributeRule AttributeName="Representations">
                  <EntityRules>
                    <EntityRule EntityName="IfcShapeRepresentation">
                      <AttributeRules>
                        <AttributeRule AttributeName="ContextOfItems">
                          <EntityRules>
                            <EntityRule EntityName="IfcGeometricRepresentationContext" />
                          </EntityRules>
                        </AttributeRule>
                        <AttributeRule RuleID="Identifier" AttributeName="RepresentationIdentifier">
                          <EntityRules>
                            <EntityRule EntityName="IfcLabel">
                              <AttributeRules>
                                <AttributeRule Description="Value=SurveyPoints" AttributeName="Value=SurveyPoints" />
                              </AttributeRules>
                            </EntityRule>
                          </EntityRules>
                        </AttributeRule>
                        <AttributeRule RuleID="Type" AttributeName="RepresentationType">
                          <EntityRules>
                            <EntityRule EntityName="IfcLabel">
                              <AttributeRules>
                                <AttributeRule Description="Value=GeometricCurveSet" AttributeName="Value=GeometricCurveSet" />
                              </AttributeRules>
                            </EntityRule>
                          </EntityRules>
                        </AttributeRule>
                        <AttributeRule RuleID="Items" AttributeName="Items">
                          <EntityRules>
                            <EntityRule EntityName="IfcGeometricCurveSet">
                              <AttributeRules>
                                <AttributeRule AttributeName="Elements">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcCartesianPoint" />
                                    <EntityRule EntityName="IfcPolyline" />
                                  </EntityRules>
                                </AttributeRule>
                              </AttributeRules>
                            </EntityRule>
                          </EntityRules>
                        </AttributeRule>
                      </AttributeRules>
                    </EntityRule>
                  </EntityRules>
                </AttributeRule>
                <AttributeRule AttributeName="Name" />
                <AttributeRule AttributeName="Description" />
              </AttributeRules>
            </EntityRule>
          </EntityRules>
        </AttributeRule>
      </Rules>
    </ConceptTemplate>
  </SubTemplates>
</ConceptTemplate>

Link to this page  Link to this page