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) | |||
IfcSurface (1) | |||
IfcBSplineSurface (10) | |||
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;