IFC (IFC4X3_ADD2) under development IfcCompositeCurveOnSurface Semantic 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.

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 l~1~, and, for i ≥ 2, the i^th^ segment is parameterized from

formula where l~k~ is the parametric length (that is, the difference between maximum and minimum parameter values) of the k^th^ curve segment.

Entity adapted from composite_curve_on_surface defined in ISO 10303-42. Entity inheritance Attributes

# Attribute Type Description
IfcRepresentationItem (2)
LayerAssignment SET [0:1] OF IfcPresentationLayerAssignment FOR AssignedItems

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.

StyledByItem SET [0:1] OF IfcStyledItem FOR Item

Reference to the IfcStyledItem that provides presentation information to the representation, e.g. a curve style, including colour and thickness to a geometric curve.

IfcCurve (1)
* Dim IfcDimensionCount

This attribute is formally derived.


The space dimensionality of this abstract class, defined differently for all subtypes, i.e. for IfcLine, IfcConic and IfcBoundedCurve.

IfcCompositeCurve (4)
1 Segments LIST [1:?] OF IfcSegment

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.

2 SelfIntersect IfcLogical

Indication of whether the curve intersects itself or not; this is for information only.

* NSegments IfcInteger

This attribute is formally derived.


The number of component curves.

* ClosedCurve IfcLogical

This attribute is formally derived.

Segments[NSegments].Transition <> Discontinuous

Indication whether the curve is closed or not; this is derived from the transition code of the last segment.

Click to show 7 hidden inherited attributes Click to hide 7 inherited attributes
IfcCompositeCurveOnSurface (1)
* BasisSurface SET [0:1] OF IfcSurface

This attribute is formally derived.


The surface on which the composite curve is defined.

Table Formal propositions

Name Description

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

SIZEOF(BasisSurface) > 0
Table Formal representation

ENTITY IfcCompositeCurveOnSurface
 SUBTYPE OF (IfcCompositeCurve);
	 BasisSurface : SET [0:1] OF IfcSurface := IfcGetBasisSurface(SELF);
	SameSurface : SIZEOF(BasisSurface) > 0;
END_ENTITY; References

Edit on Github

Is this page difficult to understand? Let us know! Changelog IFC4

  • New resource