8.9.3.8 IfcBSplineSurfaceWithKnots
8.9.3.8.1 Semantic definition
The IfcBSplineSurfaceWithKnots is a general form of rational or polynomial parametric surface in which the knot values are explicitly given.
8.9.3.8.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.8.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. |
|
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. |
|
IfcSurface (1) | |||
* | Dim | IfcDimensionCount |
This attribute is formally derived.
The space dimensionality of IfcSurface. It is always a three-dimensional geometric representation item. |
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. |
Click to show 13 hidden inherited attributes Click to hide 13 inherited attributes | |||
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. |
8.9.3.8.4 Formal propositions
Name | Description |
---|---|
CorrespondingULists |
The number of UMultiplicities shall be the same as the number of UKnots. |
|
|
CorrespondingVLists |
The number of VMultiplicities shall be the same as the number of VKnots. |
|
|
UDirectionConstraints |
The function returns TRUE when the parameter constraints are verified for the u direction. |
|
|
VDirectionConstraints |
The function returns TRUE when the parameter constraints are verified for the v direction. |
|
8.9.3.8.5 Examples
8.9.3.8.6 Formal representation
ENTITY IfcBSplineSurfaceWithKnots
SUPERTYPE OF (ONEOF
(IfcRationalBSplineSurfaceWithKnots))
SUBTYPE OF (IfcBSplineSurface);
UMultiplicities : LIST [2:?] OF IfcInteger;
VMultiplicities : LIST [2:?] OF IfcInteger;
UKnots : LIST [2:?] OF IfcParameterValue;
VKnots : LIST [2:?] OF IfcParameterValue;
KnotSpec : IfcKnotType;
DERIVE
KnotVUpper : IfcInteger := SIZEOF(VKnots);
KnotUUpper : IfcInteger := SIZEOF(UKnots);
WHERE
CorrespondingULists : SIZEOF(UMultiplicities) = KnotUUpper;
CorrespondingVLists : SIZEOF(VMultiplicities) = KnotVUpper;
UDirectionConstraints : IfcConstraintsParamBSpline (
SELF\IfcBSplineSurface.UDegree, KnotUUpper,
SELF\IfcBSplineSurface.UUpper, UMultiplicities, UKnots);
VDirectionConstraints : IfcConstraintsParamBSpline (
SELF\IfcBSplineSurface.VDegree, KnotVUpper,
SELF\IfcBSplineSurface.VUpper, VMultiplicities, VKnots);
END_ENTITY;