4.1.6.1 Arbitrary Profile Definition

Arbitrary profile defintions are used to describe cross-sections of swept solid geometry using curve segments defined by closed two-dimensional curves.

Figure 49 illustrates an instance diagram.

Arbitrary Profile DefinitionIfcProfileDefIfcProfileTypeEnumIfcLabel

Figure 49 — Arbitrary Profile Definition

mvdXML Specification
<?xml version="1.0" encoding="utf-8"?>
<ConceptTemplate xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" uuid="c375c12b-7e67-435f-8b70-b581db356991" name="Arbitrary Profile Definition" applicableSchema="IFC4" applicableEntity="IfcProfileDef">
  <Rules>
    <AttributeRule AttributeName="ProfileType">
      <EntityRules>
        <EntityRule EntityName="IfcProfileTypeEnum" />
      </EntityRules>
    </AttributeRule>
    <AttributeRule AttributeName="ProfileName">
      <EntityRules>
        <EntityRule EntityName="IfcLabel" />
      </EntityRules>
    </AttributeRule>
  </Rules>
  <SubTemplates>
    <ConceptTemplate uuid="63832052-221d-4c41-95d4-a56ee5d69e88" name="CompositeCurve Profile Definition" applicableSchema="IFC4" applicableEntity="IfcArbitraryProfileDefWithVoids">
      <Rules>
        <AttributeRule AttributeName="ProfileType">
          <EntityRules>
            <EntityRule EntityName="IfcProfileTypeEnum" />
          </EntityRules>
        </AttributeRule>
        <AttributeRule AttributeName="ProfileName">
          <EntityRules>
            <EntityRule EntityName="IfcLabel" />
          </EntityRules>
        </AttributeRule>
        <AttributeRule AttributeName="OuterCurve">
          <EntityRules>
            <EntityRule EntityName="IfcCompositeCurve">
              <AttributeRules>
                <AttributeRule AttributeName="Segments">
                  <EntityRules>
                    <EntityRule EntityName="IfcCompositeCurveSegment">
                      <AttributeRules>
                        <AttributeRule AttributeName="Transition">
                          <EntityRules>
                            <EntityRule EntityName="IfcTransitionCode" />
                          </EntityRules>
                        </AttributeRule>
                        <AttributeRule AttributeName="SameSense">
                          <EntityRules>
                            <EntityRule EntityName="IfcBoolean" />
                          </EntityRules>
                        </AttributeRule>
                        <AttributeRule AttributeName="ParentCurve">
                          <EntityRules>
                            <EntityRule EntityName="IfcTrimmedCurve">
                              <AttributeRules>
                                <AttributeRule AttributeName="BasisCurve">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcPolyline">
                                      <AttributeRules>
                                        <AttributeRule AttributeName="Points">
                                          <EntityRules>
                                            <EntityRule EntityName="IfcCartesianPoint" />
                                          </EntityRules>
                                        </AttributeRule>
                                      </AttributeRules>
                                    </EntityRule>
                                    <EntityRule EntityName="IfcCircle">
                                      <AttributeRules>
                                        <AttributeRule AttributeName="Position">
                                          <EntityRules>
                                            <EntityRule EntityName="IfcAxis2Placement2D" />
                                          </EntityRules>
                                        </AttributeRule>
                                        <AttributeRule AttributeName="Radius">
                                          <EntityRules>
                                            <EntityRule EntityName="IfcPositiveLengthMeasure" />
                                          </EntityRules>
                                        </AttributeRule>
                                      </AttributeRules>
                                    </EntityRule>
                                    <EntityRule EntityName="IfcEllipse">
                                      <AttributeRules>
                                        <AttributeRule AttributeName="Position">
                                          <EntityRules>
                                            <EntityRule EntityName="IfcAxis2Placement2D" />
                                          </EntityRules>
                                        </AttributeRule>
                                        <AttributeRule AttributeName="SemiAxis1">
                                          <EntityRules>
                                            <EntityRule EntityName="IfcPositiveLengthMeasure" />
                                          </EntityRules>
                                        </AttributeRule>
                                        <AttributeRule AttributeName="SemiAxis2">
                                          <EntityRules>
                                            <EntityRule EntityName="IfcPositiveLengthMeasure" />
                                          </EntityRules>
                                        </AttributeRule>
                                      </AttributeRules>
                                    </EntityRule>
                                  </EntityRules>
                                </AttributeRule>
                                <AttributeRule AttributeName="Trim1">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcCartesianPoint" />
                                    <EntityRule EntityName="IfcParameterValue" />
                                  </EntityRules>
                                </AttributeRule>
                                <AttributeRule AttributeName="Trim2">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcCartesianPoint" />
                                    <EntityRule EntityName="IfcParameterValue" />
                                  </EntityRules>
                                </AttributeRule>
                                <AttributeRule AttributeName="SenseAgreement">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcBoolean" />
                                  </EntityRules>
                                </AttributeRule>
                                <AttributeRule AttributeName="MasterRepresentation">
                                  <EntityRules>
                                    <EntityRule EntityName="IfcTrimmingPreference" />
                                  </EntityRules>
                                </AttributeRule>
                              </AttributeRules>
                            </EntityRule>
                          </EntityRules>
                        </AttributeRule>
                      </AttributeRules>
                    </EntityRule>
                  </EntityRules>
                </AttributeRule>
              </AttributeRules>
            </EntityRule>
          </EntityRules>
        </AttributeRule>
        <AttributeRule AttributeName="InnerCurves">
          <EntityRules>
            <EntityRule EntityName="IfcCompositeCurve" />
          </EntityRules>
        </AttributeRule>
      </Rules>
    </ConceptTemplate>
    <ConceptTemplate uuid="0373a86a-1387-45bd-bf09-bb3cc39092d9" name="PolyCurve Profile Definition" applicableSchema="IFC4" applicableEntity="IfcArbitraryClosedProfileDef">
      <Rules>
        <AttributeRule AttributeName="ProfileType">
          <EntityRules>
            <EntityRule EntityName="IfcProfileTypeEnum" />
          </EntityRules>
        </AttributeRule>
        <AttributeRule AttributeName="ProfileName">
          <EntityRules>
            <EntityRule EntityName="IfcLabel" />
          </EntityRules>
        </AttributeRule>
        <AttributeRule AttributeName="OuterCurve">
          <EntityRules>
            <EntityRule EntityName="IfcIndexedPolyCurve">
              <AttributeRules>
                <AttributeRule AttributeName="Points">
                  <EntityRules>
                    <EntityRule EntityName="IfcCartesianPointList2D" />
                  </EntityRules>
                </AttributeRule>
                <AttributeRule AttributeName="Segments">
                  <EntityRules>
                    <EntityRule EntityName="IfcLineIndex" />
                    <EntityRule EntityName="IfcArcIndex" />
                  </EntityRules>
                </AttributeRule>
                <AttributeRule AttributeName="SelfIntersect">
                  <EntityRules>
                    <EntityRule EntityName="IfcBoolean" />
                  </EntityRules>
                </AttributeRule>
              </AttributeRules>
            </EntityRule>
          </EntityRules>
        </AttributeRule>
      </Rules>
    </ConceptTemplate>
    <ConceptTemplate uuid="d3b8661b-e65b-4077-adc7-c6742d219691" name="PolyCurve with Voids Profile Definition" applicableSchema="IFC4" applicableEntity="IfcArbitraryProfileDefWithVoids">
      <Rules>
        <AttributeRule AttributeName="ProfileType">
          <EntityRules>
            <EntityRule EntityName="IfcProfileTypeEnum" />
          </EntityRules>
        </AttributeRule>
        <AttributeRule AttributeName="ProfileName">
          <EntityRules>
            <EntityRule EntityName="IfcLabel" />
          </EntityRules>
        </AttributeRule>
        <AttributeRule AttributeName="OuterCurve">
          <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>
                <AttributeRule AttributeName="SelfIntersect">
                  <EntityRules>
                    <EntityRule EntityName="IfcBoolean" />
                  </EntityRules>
                </AttributeRule>
              </AttributeRules>
            </EntityRule>
          </EntityRules>
        </AttributeRule>
        <AttributeRule AttributeName="InnerCurves">
          <EntityRules>
            <EntityRule EntityName="IfcIndexedPolyCurve" />
          </EntityRules>
        </AttributeRule>
      </Rules>
    </ConceptTemplate>
  </SubTemplates>
</ConceptTemplate>

Link to this page  Link to this page