IfcCompositeCurveOnSurface

Natural language names
deZusammengesetzte Kurve auf einer Fläche
enComposite Curve On Surface
frCourbe composite sur surface
Change log
ItemSPFXMLChangeDescription
IFC2x3 to IFC4
    IfcCompositeCurveOnSurfaceADDED
IFC4 Addendum 1
    IfcCompositeCurveOnSurface
      SelfIntersectMODIFIEDType changed from LOGICAL to IfcLogical.
Semantic definitions at the entity
Entity definition

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 0 to l1, and, for i ≥ 2, the ith segment is parameterized from

formula

where lk is the parametric length (that is, the difference between maximum and minimum parameter values) of the kth curve segment.

Entity adapted from composite_curve_on_surface defined in ISO 10303-42.
HISTORY  New entity in IFC4.
Attribute definitions
#AttributeTypeCardinalityDescription C
BasisSurface
:=IfcGetBasisSurface(SELF)
IfcSurfaceS[0:1]The surface on which the composite curve is defined. X
Formal Propositions
RuleDescription
SameSurfaceThe BasisSurface shall contain at least one surface (and exactly one surface). This ensures that all segments reference curves on the same surface.
Inherited definitions from supertypes
Entity inheritance IfcBoundaryCurve IfcCompositeCurve IfcBoundedCurve IfcCurve IfcGeometricRepresentationItem IfcRepresentationItem
Attribute inheritance
#AttributeTypeCardinalityDescriptionC
IfcRepresentationItem
LayerAssignmentIfcPresentationLayerAssignment
@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. X
StyledByItemIfcStyledItem
@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. X
IfcGeometricRepresentationItem
IfcCurve
Dim
:=IfcCurveDim(SELF)
IfcDimensionCount[1:1]The space dimensionality of this abstract class, defined differently for all subtypes, i.e. for IfcLine, IfcConic and IfcBoundedCurve. X
IfcBoundedCurve
IfcCompositeCurve
1SegmentsIfcCompositeCurveSegmentL[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
2SelfIntersectIfcLogical[1:1] Indication of whether the curve intersects itself or not; this is for information only. X
NSegments
:=SIZEOF(Segments)
IfcInteger[1:1]The number of component curves. X
ClosedCurve
:=Segments[NSegments].Transition <> Discontinuous
IfcLogical[1:1]Indication whether the curve is closed or not; this is derived from the transition code of the last segment. X
IfcCompositeCurveOnSurface
BasisSurface
:=IfcGetBasisSurface(SELF)
IfcSurfaceS[0:1]The surface on which the composite curve is defined. X
Formal representations
XSD Specification
 <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>
EXPRESS Specification
ENTITY IfcCompositeCurveOnSurface
 SUPERTYPE OF(IfcBoundaryCurve)
 SUBTYPE OF (IfcCompositeCurve);
 DERIVE
  BasisSurface : SET [0:1] OF IfcSurface := IfcGetBasisSurface(SELF);
 WHERE
  SameSurface : SIZEOF(BasisSurface) > 0;
END_ENTITY;

Link to EXPRESS-G diagram EXPRESS-G diagram

Link to this page  Link to this page