IFC 4.3.2.20250327 (IFC4X3_ADD2) under development

8.9.3.53 IfcRationalBSplineCurveWithKnots

8.9.3.53.1 Semantic definition

A rational B-spline curve with knots is a B-spline curve described in terms of control points and basic functions. It describes weights in addition to the control points defined at the supertype IfcBSplineCurve.

All weights shall be positive and the curve is given by:

Math
Figure 8.9.3.53.A

where:

Variable Definition
k+1 number of control points
Pi control points
wi weights
d degree
Table 8.9.3.53.B

8.9.3.53.2 Entity inheritance

8.9.3.53.3 Attributes

# Attribute Type Description
IfcRepresentationItem (2)
IfcCurve (1)
IfcBSplineCurve (7)
IfcBSplineCurveWithKnots (4)
Click to show 14 hidden inherited attributes
IfcRationalBSplineCurveWithKnots (2)
9 WeightsData LIST [2:?] OF IfcReal

The supplied values of the weights.

* Weights ARRAY [0:UpperIndexOnControlPoints] OF IfcReal

This attribute is formally derived.

IfcListToArray(WeightsData,0,SELF\IfcBSplineCurve.UpperIndexOnControlPoints)

The array of weights associated with the control points. This is derived from the weights data.

Table 8.9.3.53.C

8.9.3.53.4 Formal propositions

Name Description
SameNumOfWeightsAndPoints

There shall be the same number of weights as control points.

SIZEOF(WeightsData) = SIZEOF(SELF\IfcBSplineCurve.ControlPointsList)
WeightsGreaterZero

All the weights shall have values greater than 0.0.

IfcCurveWeightsPositive(SELF)
Table 8.9.3.53.D

8.9.3.53.5 Formal representation

ENTITY IfcRationalBSplineCurveWithKnots
SUBTYPE OF (IfcBSplineCurveWithKnots);
WeightsData : LIST [2:?] OF IfcReal;
DERIVE
Weights : ARRAY [0:UpperIndexOnControlPoints] OF IfcReal := IfcListToArray(WeightsData,0,SELF\IfcBSplineCurve.UpperIndexOnControlPoints);
WHERE
SameNumOfWeightsAndPoints : SIZEOF(WeightsData) = SIZEOF(SELF\IfcBSplineCurve.ControlPointsList);
WeightsGreaterZero : IfcCurveWeightsPositive(SELF);
END_ENTITY;

8.9.3.53.6 References

Edit on Github


Is this page difficult to understand? Let us know!

8.9.3.53.7 Changelog

8.9.3.53.7.1 IFC4

  • New resource