IFC 4.3.x development

8.9.3.57 IfcRationalBSplineSurfaceWithKnots

Change log

IFC4

added

8.9.3.57.1 Semantic definitions at the entity

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:

σformula

NOTE  Entity adapted from rational_b_spline_surface in ISO 10303-42.

HISTORY  New entity in IFC4.

8.9.3.57.1 Attributes

# Attribute Type Description
IfcRepresentationItem
LayerAssignment SET [0:1] OF IfcPresentationLayerAssignment FOR AssignedItemsAssignment 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.

> IFC2x3 CHANGE  The inverse attribute LayerAssignments has been added.

> IFC4 CHANGE  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.



> IFC2x3 CHANGE  The inverse attribute StyledByItem has been added.
IfcGeometricRepresentationItem
IfcSurface
Dim INVALID The space dimensionality of IfcSurface. It is always a three-dimensional geometric representation item.

> IFC4 CHANGE Derived attribute promoted from subtypes.
IfcBoundedSurface
IfcBSplineSurface
1 UDegree IfcInteger Algebraic degree of basis functions in u.
2 VDegree IfcInteger Algebraic degree of basis functions in v.
3 ControlPointsListLIST [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 INVALID Upper index on control points in u direction.
VUpper INVALID Upper index on control points in v direction.
ControlPoints INVALID Array (two-dimensional) of control points defining surface geometry. This array is constructed from the control points list.
IfcBSplineSurfaceWithKnots
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 INVALID The number of distinct knots in the v parameter direction.
KnotUUpper INVALID The number of distinct knots in the u parameter direction.
IfcRationalBSplineSurfaceWithKnots
13 WeightsData LIST [2:?] OF LIST [2:?] OF IfcReal The weights associated with the control points in the rational case.
Weights INVALID Array (two-dimensional) of weight values constructed from the WeightsData.

8.9.3.57.2 Entity inheritance

dot_inheritance IfcRationalBSplineSurfaceWithKnots IfcRationalBSplineSurfaceWithKnots IfcBSplineSurfaceWithKnots IfcBSplineSurfaceWithKnots IfcRationalBSplineSurfaceWithKnots->IfcBSplineSurfaceWithKnots IfcBSplineSurface IfcBSplineSurface IfcBSplineSurfaceWithKnots->IfcBSplineSurface IfcBoundedSurface IfcBoundedSurface IfcBSplineSurface->IfcBoundedSurface IfcBoundedSurface_children 3 more... IfcBoundedSurface_children->IfcBoundedSurface IfcSurface IfcSurface IfcBoundedSurface->IfcSurface IfcSurface_children 3 more... IfcSurface_children->IfcSurface IfcGeometricRepresentationItem IfcGeometricRepresentationItem IfcSurface->IfcGeometricRepresentationItem IfcGeometricRepresentationItem_children 24 more... IfcGeometricRepresentationItem_children->IfcGeometricRepresentationItem IfcRepresentationItem IfcRepresentationItem IfcGeometricRepresentationItem->IfcRepresentationItem IfcRepresentationItem_children 3 more... IfcRepresentationItem_children->IfcRepresentationItem

8.9.3.57.3 Formal representations

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;