8.9.3.54 IfcRationalBSplineSurfaceWithKnots
8.9.3.54.1 Semantic definition
A rational B-spline surface with knots is a piecewise parametric rational surface described in terms of control points, and associated weight values.
The surface is to be interpreted as follows:
Entity adapted from rational_b_spline_surface in ISO 10303-42. New entity in IFC4.8.9.3.54.2 Entity inheritance
-
- IfcSurface
- IfcAnnotationFillArea
- IfcBooleanResult
- IfcBoundingBox
- IfcCartesianPointList
- IfcCartesianTransformationOperator
- IfcCsgPrimitive3D
- IfcCurve
- IfcDirection
- IfcFaceBasedSurfaceModel
- IfcFillAreaStyleHatching
- IfcFillAreaStyleTiles
- IfcGeometricSet
- IfcHalfSpaceSolid
- IfcLightSource
- IfcPlacement
- IfcPlanarExtent
- IfcPoint
- IfcSectionedSpine
- IfcSegment
- IfcShellBasedSurfaceModel
- IfcSolidModel
- IfcTessellatedItem
- IfcTextLiteral
- IfcVector
8.9.3.54.3 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. The inverse attribute LayerAssignments has been added. The inverse attribute LayerAssignment has been restricted to max 1. Upward compatibility for file based exchange is guaranteed. |
|
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. The inverse attribute StyledByItem has been added. |
|
IfcSurface (1) | |||
* | Dim | IfcDimensionCount |
This attribute is formally derived.
The space dimensionality of IfcSurface. It is always a three-dimensional geometric representation item. Derived attribute promoted from subtypes. |
IfcBSplineSurface (10) | |||
1 | UDegree | IfcInteger |
Algebraic degree of basis functions in u. |
2 | VDegree | IfcInteger |
Algebraic degree of basis functions in v. |
3 | ControlPointsList | LIST [2:?] OF LIST [2:?] OF IfcCartesianPoint |
This is a list of lists of control points. |
4 | SurfaceForm | IfcBSplineSurfaceForm |
Indicator of special surface types. |
5 | UClosed | IfcLogical |
Indication of whether the surface is closed in the u direction; this is for information only. |
6 | VClosed | IfcLogical |
Indication of whether the surface is closed in the v direction; this is for information only. |
7 | SelfIntersect | IfcLogical |
Flag to indicate whether, or not, surface is self-intersecting; this is for information only. |
* | UUpper | IfcInteger |
This attribute is formally derived.
Upper index on control points in u direction. |
* | VUpper | IfcInteger |
This attribute is formally derived.
Upper index on control points in v direction. |
* | ControlPoints | ARRAY [0:UUpper] OF ARRAY [0:VUpper] OF IfcCartesianPoint |
This attribute is formally derived.
Array (two-dimensional) of control points defining surface geometry. This array is constructed from the control points list. |
IfcBSplineSurfaceWithKnots (7) | |||
8 | UMultiplicities | LIST [2:?] OF IfcInteger |
The multiplicities of the knots in the u parameter direction. |
9 | VMultiplicities | LIST [2:?] OF IfcInteger |
The multiplicities of the knots in the v parameter direction. |
10 | UKnots | LIST [2:?] OF IfcParameterValue |
The list of the distinct knots in the u parameter direction. |
11 | VKnots | LIST [2:?] OF IfcParameterValue |
The list of the distinct knots in the v parameter direction. |
12 | KnotSpec | IfcKnotType |
The description of the knot type. |
* | KnotVUpper | IfcInteger |
This attribute is formally derived.
The number of distinct knots in the v parameter direction. |
* | KnotUUpper | IfcInteger |
This attribute is formally derived.
The number of distinct knots in the u parameter direction. |
Click to show 20 hidden inherited attributes Click to hide 20 inherited attributes | |||
IfcRationalBSplineSurfaceWithKnots (2) | |||
13 | WeightsData | LIST [2:?] OF LIST [2:?] OF IfcReal |
The weights associated with the control points in the rational case. |
* | Weights | ARRAY [0:UUpper] OF ARRAY [0:VUpper] OF IfcReal |
This attribute is formally derived.
Array (two-dimensional) of weight values constructed from the WeightsData. |
8.9.3.54.4 Formal propositions
Name | Description |
---|---|
CorrespondingWeightsDataLists |
The array dimensions for the weights shall be consistent with the control points data. |
|
|
WeightValuesGreaterZero |
The weight value associated with each control point shall be greater than zero. |
|
8.9.3.54.5 Formal representation
ENTITY IfcRationalBSplineSurfaceWithKnots
SUBTYPE OF (IfcBSplineSurfaceWithKnots);
WeightsData : LIST [2:?] OF LIST [2:?] OF IfcReal;
DERIVE
Weights : ARRAY [0:UUpper] OF ARRAY [0:VUpper] OF IfcReal := IfcMakeArrayOfArray(WeightsData,0,UUpper,0,VUpper);
WHERE
CorrespondingWeightsDataLists : (SIZEOF(WeightsData) = SIZEOF(SELF\IfcBSplineSurface.ControlPointsList))
AND
(SIZEOF(WeightsData[1]) = SIZEOF(SELF\IfcBSplineSurface.ControlPointsList[1]));
WeightValuesGreaterZero : IfcSurfaceWeightsPositive(SELF);
END_ENTITY;