IFC 4.3.2.20250219 (IFC4X3_ADD2) under development

8.9.3.21 IfcCompositeCurveOnSurface

8.9.3.21.1 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.
Figure 8.9.3.21.A

Entity adapted from composite_curve_on_surface defined in ISO 10303-42.

8.9.3.21.2 Entity inheritance

8.9.3.21.3 Attributes

# Attribute Type Description
IfcRepresentationItem (2)
IfcCurve (1)
IfcCompositeCurve (4)
Click to show 7 hidden inherited attributes
IfcCompositeCurveOnSurface (1)
* BasisSurface SET [0:1] OF IfcSurface

This attribute is formally derived.

IfcGetBasisSurface(SELF)

The surface on which the composite curve is defined.

Table 8.9.3.21.B

8.9.3.21.4 Formal propositions

Name 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.

SIZEOF(BasisSurface) > 0
Table 8.9.3.21.C

8.9.3.21.5 Formal representation

ENTITY IfcCompositeCurveOnSurface
SUPERTYPE OF (ONEOF
(IfcBoundaryCurve))
SUBTYPE OF (IfcCompositeCurve);
DERIVE
BasisSurface : SET [0:1] OF IfcSurface := IfcGetBasisSurface(SELF);
WHERE
SameSurface : SIZEOF(BasisSurface) > 0;
END_ENTITY;

8.9.3.21.6 References

Edit on Github

3 contributor(s):
Last change: Improve definition split (#876) * bring back headers headers were previously removed by mistake, now bringing them back * add new lines and rename the tag add the word 'short' in it * unify newlines make exactly one newline before and two after the tag * resolving typos Because bringing back headers required to go back in time to previous version, I'm now re-resolving the issues: #861, #860, #856 by ArturTomczak on 7/16/2024, 2:07:28 PM

Is this page difficult to understand? Let us know!

8.9.3.21.7 Changelog

8.9.3.21.7.1 IFC4

  • New resource