IFC 4.3.0.1 (IFC4X3_TC1)

4.7.7.1.2 CompositeCurve Profile Definition

Composite curve profile definitions define the closed two-dimensional curve used for the cross-section by a composite curve, consisting of multiple composite curve segments. Each composite curve segment has a parent curve, being either a polyline or a trimmed curve. Trimmed curves have basis curves of type line, circle or ellipse.

The following diagram shows the generic classes and relationships used when applying this concept.

G IfcArbitraryProfileDefWithVoids IfcArbitraryProfileDefWithVoids 1. ProfileType [1:1] 2. ProfileName [0:1]      HasExternalReference [0:?]      HasProperties [0:?] 3. OuterCurve [1:1] 4. InnerCurves [1:?] IfcProfileTypeEnum IfcProfileTypeEnum IfcArbitraryProfileDefWithVoids:ProfileType1->IfcProfileTypeEnum:IfcProfileTypeEnum0 IfcLabel IfcLabel IfcArbitraryProfileDefWithVoids:ProfileName1->IfcLabel:IfcLabel0 IfcCompositeCurve_0 IfcCompositeCurve      LayerAssignment [0:1]      StyledByItem [0:1] 1. Segments [1:?] 2. SelfIntersect [1:1] IfcArbitraryProfileDefWithVoids:OuterCurve1->IfcCompositeCurve_0:IfcCompositeCurve0 IfcCompositeCurve_1 IfcCompositeCurve      LayerAssignment [0:1]      StyledByItem [0:1] 1. Segments [1:?] 2. SelfIntersect [1:1] IfcArbitraryProfileDefWithVoids:InnerCurves1->IfcCompositeCurve_1:IfcCompositeCurve0 IfcCompositeCurveSegment IfcCompositeCurveSegment      LayerAssignment [0:1]      StyledByItem [0:1] 1. Transition [1:1]      UsingCurves [1:?] 2. SameSense [1:1] 3. ParentCurve [1:1] IfcCompositeCurve_0:Segments1->IfcCompositeCurveSegment:IfcCompositeCurveSegment0 IfcTransitionCode IfcTransitionCode IfcCompositeCurveSegment:Transition1->IfcTransitionCode:IfcTransitionCode0 IfcBoolean_0 IfcBoolean IfcCompositeCurveSegment:SameSense1->IfcBoolean_0:IfcBoolean0 IfcTrimmedCurve IfcTrimmedCurve      LayerAssignment [0:1]      StyledByItem [0:1] 1. BasisCurve [1:1] 2. Trim1 [1:2] 3. Trim2 [1:2] 4. SenseAgreement [1:1] 5. MasterRepresentation [1:1] IfcCompositeCurveSegment:ParentCurve1->IfcTrimmedCurve:IfcTrimmedCurve0 IfcPolyline IfcPolyline      LayerAssignment [0:1]      StyledByItem [0:1] 1. Points [2:?] IfcTrimmedCurve:BasisCurve1->IfcPolyline:IfcPolyline0 IfcCircle IfcCircle      LayerAssignment [0:1]      StyledByItem [0:1] 1. Position [1:1] 2. Radius [1:1] IfcTrimmedCurve:BasisCurve1->IfcCircle:IfcCircle0 IfcEllipse IfcEllipse      LayerAssignment [0:1]      StyledByItem [0:1] 1. Position [1:1] 2. SemiAxis1 [1:1] 3. SemiAxis2 [1:1] IfcTrimmedCurve:BasisCurve1->IfcEllipse:IfcEllipse0 IfcCartesianPoint_1 IfcCartesianPoint      LayerAssignment [0:1]      StyledByItem [0:1] 1. Coordinates [1:3] IfcTrimmedCurve:Trim11->IfcCartesianPoint_1:IfcCartesianPoint0 IfcParameterValue_0 IfcParameterValue IfcTrimmedCurve:Trim11->IfcParameterValue_0:IfcParameterValue0 IfcCartesianPoint_2 IfcCartesianPoint      LayerAssignment [0:1]      StyledByItem [0:1] 1. Coordinates [1:3] IfcTrimmedCurve:Trim21->IfcCartesianPoint_2:IfcCartesianPoint0 IfcParameterValue_1 IfcParameterValue IfcTrimmedCurve:Trim21->IfcParameterValue_1:IfcParameterValue0 IfcBoolean_1 IfcBoolean IfcTrimmedCurve:SenseAgreement1->IfcBoolean_1:IfcBoolean0 IfcTrimmingPreference IfcTrimmingPreference IfcTrimmedCurve:MasterRepresentation1->IfcTrimmingPreference:IfcTrimmingPreference0 IfcCartesianPoint_0 IfcCartesianPoint      LayerAssignment [0:1]      StyledByItem [0:1] 1. Coordinates [1:3] IfcPolyline:Points1->IfcCartesianPoint_0:IfcCartesianPoint0 IfcAxis2Placement2D_0 IfcAxis2Placement2D      LayerAssignment [0:1]      StyledByItem [0:1] 1. Location [1:1] 2. RefDirection [0:1] IfcCircle:Position1->IfcAxis2Placement2D_0:IfcAxis2Placement2D0 IfcPositiveLengthMeasure_0 IfcPositiveLengthMeasure IfcCircle:Radius1->IfcPositiveLengthMeasure_0:IfcPositiveLengthMeasure0 IfcAxis2Placement2D_1 IfcAxis2Placement2D      LayerAssignment [0:1]      StyledByItem [0:1] 1. Location [1:1] 2. RefDirection [0:1] IfcEllipse:Position1->IfcAxis2Placement2D_1:IfcAxis2Placement2D0 IfcPositiveLengthMeasure_1 IfcPositiveLengthMeasure IfcEllipse:SemiAxis11->IfcPositiveLengthMeasure_1:IfcPositiveLengthMeasure0 IfcPositiveLengthMeasure_2 IfcPositiveLengthMeasure IfcEllipse:SemiAxis21->IfcPositiveLengthMeasure_2:IfcPositiveLengthMeasure0
Figure 4.7.7.1.2.A