Zusammengesetzte Kurve auf einer Fläche | |

Composite Curve On Surface | |

Courbe composite sur surface |

Item | SPF | XML | Change | Description |
---|---|---|---|---|

IFC2x3 to IFC4 |
||||

IfcCompositeCurveOnSurface | ADDED | |||

IFC4 Addendum 1 |
||||

IfcCompositeCurveOnSurface | ||||

SelfIntersect | MODIFIED | Type changed from LOGICAL to IfcLogical. |

The IfcCompositeCurveOnSurface is a collection of segments, based on p-curves. i.e. a curve which lies on the basis of a surface and is defined in the parameter space of that surface. The p-curve segment is a special type of a composite curve segment and shall only be used to bound a surface.

NOTE Definition according to ISO/CD 10303-42:1992

A composite curve on surface is a collection of segments which are curves on a surface. Each segment shall lie on the basis surface.There shall be at least positional continuity between adjacent segments. The parameterization of the composite curve is obtained from the accumulation of the parametric ranges of the segments. The first segment is parameterized from

0tol, and, for_{1}i ≥ 2, theisegment is parameterized from^{th}where

lis the parametric length (that is, the difference between maximum and minimum parameter values) of the_{k}kcurve segment.^{th}

Entity adapted fromcomposite_curve_on_surfacedefined in ISO 10303-42.

HISTORY New entity in IFC4.

# | Attribute | Type | Cardinality | Description | G |
---|---|---|---|---|---|

BasisSurface :=IfcGetBasisSurface(SELF) | IfcSurface | S[0:1] | The surface on which the composite curve is defined. | X |

Rule | Description |
---|---|

SameSurface | The BasisSurface shall contain at least one surface (and exactly one surface). This ensures that all segments reference curves on the same surface. |

# | Attribute | Type | Cardinality | Description | G |
---|---|---|---|---|---|

IfcRepresentationItem | |||||

LayerAssignment | IfcPresentationLayerAssignment @AssignedItems | S[0:1] | Assignment of the representation item to a single or multiple layer(s). The LayerAssignments can override a LayerAssignments of the IfcRepresentation it is used within the list of Items.
IFC2x3 CHANGE The inverse attribute IFC4 CHANGE The inverse attribute | X | |

StyledByItem | IfcStyledItem @Item | S[0:1] | Reference to the IfcStyledItem that provides presentation information to the representation, e.g. a curve style, including colour and thickness to a geometric curve.
IFC2x3 CHANGE The inverse attribute | X | |

IfcGeometricRepresentationItem | |||||

IfcCurve | |||||

Dim :=IfcCurveDim(SELF) | IfcDimensionCount | The space dimensionality of this abstract class, defined differently for all subtypes, i.e. for IfcLine, IfcConic and IfcBoundedCurve. | X | ||

IfcBoundedCurve | |||||

IfcCompositeCurve | |||||

1 | Segments | IfcCompositeCurveSegment | L[1:?] | The component bounded curves, their transitions and senses. The transition attribute for the last segment defines the transition between the end of the last segment and the start of the first; this transition attribute may take the value discontinuous, which indicates an open curve. | X |

2 | SelfIntersect | IfcLogical | Indication of whether the curve intersects itself or not; this is for information only. | X | |

NSegments :=SIZEOF(Segments) | IfcInteger | The number of component curves. | X | ||

ClosedCurve :=Segments[NSegments].Transition <> Discontinuous | IfcLogical | Indication whether the curve is closed or not; this is derived from the transition code of the last segment. | X | ||

IfcCompositeCurveOnSurface | |||||

BasisSurface :=IfcGetBasisSurface(SELF) | IfcSurface | S[0:1] | The surface on which the composite curve is defined. | X |

` <xs:element name="IfcCompositeCurveOnSurface" type="ifc:IfcCompositeCurveOnSurface" substitutionGroup="ifc:IfcCompositeCurve" nillable="true"/>`

<xs:complexType name="IfcCompositeCurveOnSurface">

<xs:complexContent>

<xs:extension base="ifc:IfcCompositeCurve"/>

</xs:complexContent>

</xs:complexType>

```
ENTITY IfcCompositeCurveOnSurface
```

SUPERTYPE OF(IfcBoundaryCurve)

SUBTYPE OF (IfcCompositeCurve)**;**

DERIVE

BasisSurface : SET [0:1] OF IfcSurface := IfcGetBasisSurface(SELF);

WHERE

SameSurface : SIZEOF(BasisSurface) > 0;

END_ENTITY;

References: IfcCurveOnSurface