#### IfcCompositeCurveSegment

Natural language names

##### Semantic definitions at the entity

Entity definition

Definition from ISO/CD 10303-42:1992: A composite curve segment (IfcCompositeCurveSegment) is a bounded curve together with transition information which is used to construct a composite curve (IfcCompositeCurve).

The derived attribute Dim has been added (see also note at IfcGeometricRepresentationItem). The IfcCompositeCurveSegment is a subtype of IfcGeometricRepresentationItem (whereas in STEP P42 composite_curve_segment is not a subtype of geometric_representation_item, the proposed 2nd edition of P42 however proposes the subtype relationship).

> NOTE Corresponding STEP entity: composite_curve_segment. Please refer to ISO/IS 10303-42:1994, p.57 for the final definition of the formal standard.

> HISTORY New class in IFC Release 1.0

Attribute definitions

# | Attribute | Type | Cardinality | Description | A
--- | --- | --- | --- | --- | ---
1 | Transition | IfcTransitionCode | [1:1] | The state of transition (i.e., geometric continuity from the last point of this segment to the first point of the next segment) in a composite curve. | X
2 | SameSense | BOOLEAN | [1:1] | An indicator of whether or not the sense of the segment agrees with, or opposes, that of the parent curve. If SameSense is false, the point with highest parameter value is taken as the first point of the segment. | X
3 | ParentCurve | IfcCurve | [1:1] | The bounded curve which defines the geometry of the segment. | X
| UsingCurves | IfcCompositeCurve @Segments | S[1:?] | The set of composite curves which use this composite curve segment as a segment. This set shall not be empty. |
| Dim :=ParentCurve.Dim | IfcDimensionCount | [1:1] | The space dimensionality of this class, defined by the dimensionality of the first ParentCurve. | X

Formal Propositions

Rule | Description
--- | ---
WR1 | The parent curve shall be a bounded curve.

##### Inherited definitions from supertypes

Entity inheritance
Attribute inheritance

# | Attribute | Type | Cardinality | Description | A
--- | --- | --- | --- | --- | ---
IfcRepresentationItem
IfcGeometricRepresentationItem
IfcCompositeCurveSegment
1 | Transition | IfcTransitionCode | [1:1] | The state of transition (i.e., geometric continuity from the last point of this segment to the first point of the next segment) in a composite curve. | X
2 | SameSense | BOOLEAN | [1:1] | An indicator of whether or not the sense of the segment agrees with, or opposes, that of the parent curve. If SameSense is false, the point with highest parameter value is taken as the first point of the segment. | X
3 | ParentCurve | IfcCurve | [1:1] | The bounded curve which defines the geometry of the segment. | X
| UsingCurves | IfcCompositeCurve @Segments | S[1:?] | The set of composite curves which use this composite curve segment as a segment. This set shall not be empty. |
| Dim :=ParentCurve.Dim | IfcDimensionCount | [1:1] | The space dimensionality of this class, defined by the dimensionality of the first ParentCurve. | X

##### Formal representations

XSD Specification
`<xs:element name="IfcCompositeCurveSegment" type="ifc:IfcCompositeCurveSegment" substitutionGroup="ifc:IfcGeometricRepresentationItem" nillable="true"/>
<xs:complexType name="IfcCompositeCurveSegment">
<xs:complexContent>
<xs:extension base="ifc:IfcGeometricRepresentationItem">
<xs:sequence>
<xs:element name="ParentCurve" type="ifc:IfcCurve" nillable="true"/>
</xs:sequence>
<xs:attribute name="Transition" type="ifc:IfcTransitionCode" use="optional"/>
<xs:attribute name="SameSense" type="xs:boolean" use="optional"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
`
EXPRESS Specification
`ENTITY IfcCompositeCurveSegment
SUBTYPE OF (IfcGeometricRepresentationItem);
Transition : IfcTransitionCode;
SameSense : BOOLEAN;
ParentCurve : IfcCurve;
INVERSE
UsingCurves : SET [1:?] OF IfcCompositeCurve FOR Segments;
DERIVE
Dim : IfcDimensionCount := ParentCurve.Dim;
WHERE
WR1 : ('IFCGEOMETRYRESOURCE.IFCBOUNDEDCURVE' IN TYPEOF(ParentCurve));
END_ENTITY;

EXPRESS-G diagram

`

Link to this page