4.2.8.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
<a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcArbitraryProfileDefWithVoids.htm'>IfcArbitraryProfileDefWithVoids</a>
IfcArbitraryProfileDefWithVoids
1. ProfileType
[1:1]
2. ProfileName
[0:1]
HasExternalReference
[0:?]
HasProperties
[0:?]
3. OuterCurve
[1:1]
4. InnerCurves
[1:?]
<a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcProfileTypeEnum.htm'>IfcProfileTypeEnum</a>
IfcProfileTypeEnum
<a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcArbitraryProfileDefWithVoids.htm'>IfcArbitraryProfileDefWithVoids</a>:ProfileType1-><a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcProfileTypeEnum.htm'>IfcProfileTypeEnum</a>:IfcProfileTypeEnum0
<a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcLabel.htm'>IfcLabel</a>
IfcLabel
<a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcArbitraryProfileDefWithVoids.htm'>IfcArbitraryProfileDefWithVoids</a>:ProfileName1-><a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcLabel.htm'>IfcLabel</a>:IfcLabel0
IfcCompositeCurve_0
IfcCompositeCurve
LayerAssignment
[0:1]
StyledByItem
[0:1]
1. Segments
[1:?]
2. SelfIntersect
[1:1]
<a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcArbitraryProfileDefWithVoids.htm'>IfcArbitraryProfileDefWithVoids</a>:OuterCurve1->IfcCompositeCurve_0:IfcCompositeCurve0
IfcCompositeCurve_1
IfcCompositeCurve
LayerAssignment
[0:1]
StyledByItem
[0:1]
1. Segments
[1:?]
2. SelfIntersect
[1:1]
<a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcArbitraryProfileDefWithVoids.htm'>IfcArbitraryProfileDefWithVoids</a>:InnerCurves1->IfcCompositeCurve_1:IfcCompositeCurve0
<a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCompositeCurveSegment.htm'>IfcCompositeCurveSegment</a>
IfcCompositeCurveSegment
LayerAssignment
[0:1]
StyledByItem
[0:1]
1. Transition
[1:1]
UsingCurves
[1:?]
2. SameSense
[1:1]
3. ParentCurve
[1:1]
IfcCompositeCurve_0:Segments1-><a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCompositeCurveSegment.htm'>IfcCompositeCurveSegment</a>:IfcCompositeCurveSegment0
<a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTransitionCode.htm'>IfcTransitionCode</a>
IfcTransitionCode
<a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCompositeCurveSegment.htm'>IfcCompositeCurveSegment</a>:Transition1-><a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTransitionCode.htm'>IfcTransitionCode</a>:IfcTransitionCode0
IfcBoolean_0
IfcBoolean
<a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCompositeCurveSegment.htm'>IfcCompositeCurveSegment</a>:SameSense1->IfcBoolean_0:IfcBoolean0
<a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTrimmedCurve.htm'>IfcTrimmedCurve</a>
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]
<a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCompositeCurveSegment.htm'>IfcCompositeCurveSegment</a>:ParentCurve1-><a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTrimmedCurve.htm'>IfcTrimmedCurve</a>:IfcTrimmedCurve0
<a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcPolyline.htm'>IfcPolyline</a>
IfcPolyline
LayerAssignment
[0:1]
StyledByItem
[0:1]
1. Points
[2:?]
<a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTrimmedCurve.htm'>IfcTrimmedCurve</a>:BasisCurve1-><a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcPolyline.htm'>IfcPolyline</a>:IfcPolyline0
<a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCircle.htm'>IfcCircle</a>
IfcCircle
LayerAssignment
[0:1]
StyledByItem
[0:1]
1. Position
[1:1]
2. Radius
[1:1]
<a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTrimmedCurve.htm'>IfcTrimmedCurve</a>:BasisCurve1-><a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCircle.htm'>IfcCircle</a>:IfcCircle0
<a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcEllipse.htm'>IfcEllipse</a>
IfcEllipse
LayerAssignment
[0:1]
StyledByItem
[0:1]
1. Position
[1:1]
2. SemiAxis1
[1:1]
3. SemiAxis2
[1:1]
<a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTrimmedCurve.htm'>IfcTrimmedCurve</a>:BasisCurve1-><a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcEllipse.htm'>IfcEllipse</a>:IfcEllipse0
IfcCartesianPoint_1
IfcCartesianPoint
LayerAssignment
[0:1]
StyledByItem
[0:1]
1. Coordinates
[1:3]
<a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTrimmedCurve.htm'>IfcTrimmedCurve</a>:Trim11->IfcCartesianPoint_1:IfcCartesianPoint0
IfcParameterValue_0
IfcParameterValue
<a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTrimmedCurve.htm'>IfcTrimmedCurve</a>:Trim11->IfcParameterValue_0:IfcParameterValue0
IfcCartesianPoint_2
IfcCartesianPoint
LayerAssignment
[0:1]
StyledByItem
[0:1]
1. Coordinates
[1:3]
<a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTrimmedCurve.htm'>IfcTrimmedCurve</a>:Trim21->IfcCartesianPoint_2:IfcCartesianPoint0
IfcParameterValue_1
IfcParameterValue
<a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTrimmedCurve.htm'>IfcTrimmedCurve</a>:Trim21->IfcParameterValue_1:IfcParameterValue0
IfcBoolean_1
IfcBoolean
<a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTrimmedCurve.htm'>IfcTrimmedCurve</a>:SenseAgreement1->IfcBoolean_1:IfcBoolean0
<a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTrimmingPreference.htm'>IfcTrimmingPreference</a>
IfcTrimmingPreference
<a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTrimmedCurve.htm'>IfcTrimmedCurve</a>:MasterRepresentation1-><a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcTrimmingPreference.htm'>IfcTrimmingPreference</a>:IfcTrimmingPreference0
IfcCartesianPoint_0
IfcCartesianPoint
LayerAssignment
[0:1]
StyledByItem
[0:1]
1. Coordinates
[1:3]
<a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcPolyline.htm'>IfcPolyline</a>:Points1->IfcCartesianPoint_0:IfcCartesianPoint0
IfcAxis2Placement2D_0
IfcAxis2Placement2D
LayerAssignment
[0:1]
StyledByItem
[0:1]
1. Location
[1:1]
2. RefDirection
[0:1]
<a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCircle.htm'>IfcCircle</a>:Position1->IfcAxis2Placement2D_0:IfcAxis2Placement2D0
IfcPositiveLengthMeasure_0
IfcPositiveLengthMeasure
<a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcCircle.htm'>IfcCircle</a>:Radius1->IfcPositiveLengthMeasure_0:IfcPositiveLengthMeasure0
IfcAxis2Placement2D_1
IfcAxis2Placement2D
LayerAssignment
[0:1]
StyledByItem
[0:1]
1. Location
[1:1]
2. RefDirection
[0:1]
<a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcEllipse.htm'>IfcEllipse</a>:Position1->IfcAxis2Placement2D_1:IfcAxis2Placement2D0
IfcPositiveLengthMeasure_1
IfcPositiveLengthMeasure
<a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcEllipse.htm'>IfcEllipse</a>:SemiAxis11->IfcPositiveLengthMeasure_1:IfcPositiveLengthMeasure0
IfcPositiveLengthMeasure_2
IfcPositiveLengthMeasure
<a href='/IFC/RELEASE/IFC4x3/HTML/lexical/IfcEllipse.htm'>IfcEllipse</a>:SemiAxis21->IfcPositiveLengthMeasure_2:IfcPositiveLengthMeasure0
Figure 4.2.8.1.2.A