8.9.3.6 IfcBSplineCurveWithKnots(带节点B样条曲线)
8.9.3.6.1 语义定义(Semantic definition)
IfcBSplineCurveWithKnots 是一种通过样条函数参数化的样条曲线,其节点值被明确给出。
Figure 8.9.3.6.A 除第一个和最后一个节点外,所有节点的重数应在范围 1,...,d 内;第一个和最后一个节点的最大重数可为 d + 1。在计算基函数时,例如重数为3的节点 u 在节点数组中解释为序列 u, u, u。
8.9.3.6.2 实体继承(Entity inheritance)
-
- IfcCurve
- IfcAnnotationFillArea
- IfcBooleanResult
- IfcBoundingBox
- IfcCartesianPointList
- IfcCartesianTransformationOperator
- IfcCsgPrimitive3D
- IfcDirection
- IfcFaceBasedSurfaceModel
- IfcFillAreaStyleHatching
- IfcFillAreaStyleTiles
- IfcGeometricSet
- IfcHalfSpaceSolid
- IfcLightSource
- IfcPlacement
- IfcPlanarExtent
- IfcPoint
- IfcSectionedSpine
- IfcSegment
- IfcShellBasedSurfaceModel
- IfcSolidModel
- IfcSurface
- IfcTessellatedItem
- IfcTextLiteral
- IfcVector
8.9.3.6.3 特性(Attributes)
| # | 特性(Attributes) | 类型 | 描述 |
|---|---|---|---|
| IfcRepresentationItem (2) | |||
| LayerAssignment | SET [0:1] OF IfcPresentationLayerAssignment FOR AssignedItems |
将表示项分配给单个或多个层。LayerAssignments 可以覆盖其所在的 IfcRepresentation 的 Items 列表中的 LayerAssignments。 |
|
| StyledByItem | SET [0:1] OF IfcStyledItem FOR Item |
引用为表示提供表现信息的 IfcStyledItem,例如,为几何曲线提供曲线样式,包括颜色和厚度。 |
|
| IfcCurve (1) | |||
| * | Dim | IfcDimensionCount |
此属性是形式化派生的
此抽象类的空间维度,所有子类(如 IfcLine、IfcConic 和 IfcBoundedCurve)的定义各不相同。 |
| IfcBSplineCurve (7) | |||
| 1 | Degree | IfcInteger |
The algebraic degree of the basis functions. |
| 2 | ControlPointsList | LIST [2:?] OF IfcCartesianPoint |
The list of control points for the curve. |
| 3 | CurveForm | IfcBSplineCurveForm |
Used to identify particular types of curve; it is for information only. |
| 4 | ClosedCurve | IfcLogical |
Indication of whether the curve is closed; it is for information only. |
| 5 | SelfIntersect | IfcLogical |
Indication whether the curve self-intersects or not; it is for information only. |
| * | UpperIndexOnControlPoints | IfcInteger |
此属性是形式化派生的
The upper index on the array of control points; the lower index is 0. This value is derived from the control points list. |
| * | ControlPoints | ARRAY [0:UpperIndexOnControlPoints] OF IfcCartesianPoint |
此属性是形式化派生的
The array of control points used to define the geometry of the curve. This is derived from the list of control points. |
| 点击显示 10 个隐藏的继承特性 点击隐藏 10 个继承特性 | |||
| IfcBSplineCurveWithKnots (4) | |||
| 6 | KnotMultiplicities | LIST [2:?] OF IfcInteger |
节点的重数。此列表定义了在构建节点数组时,节点列表中每个节点需要重复的次数。 |
| 7 | Knots | LIST [2:?] OF IfcParameterValue |
用于定义B样条基函数的不同节点列表。 |
| 8 | KnotSpec | IfcKnotType |
节点类型的描述。此信息仅供参考。 |
| * | UpperIndexOnKnots | IfcInteger |
此属性是形式化派生的
节点数组的上索引;下索引为1。 |
8.9.3.6.4 形式化命题(Formal propositions)
| 名称 | 描述 |
|---|---|
| ConsistentBSpline |
如果未发现B样条参数化中的不一致之处,则函数 IfcConstraintsParamBSpline 返回 TRUE。 |
|
|
| CorrespondingKnotLists |
节点重数列表中的元素数量应等于节点列表中的元素数量。 |
|
|
8.9.3.6.5 形式化表示(Formal representation)
ENTITY IfcBSplineCurveWithKnots
SUPERTYPE OF (ONEOF
(IfcRationalBSplineCurveWithKnots))
SUBTYPE OF (IfcBSplineCurve);
KnotMultiplicities : LIST [2:?] OF IfcInteger;
Knots : LIST [2:?] OF IfcParameterValue;
KnotSpec : IfcKnotType;
DERIVE
UpperIndexOnKnots : IfcInteger := SIZEOF(Knots);
WHERE
ConsistentBSpline : IfcConstraintsParamBSpline(Degree, UpperIndexOnKnots,
UpperIndexOnControlPoints, KnotMultiplicities, Knots);
CorrespondingKnotLists : SIZEOF(KnotMultiplicities) = UpperIndexOnKnots;
END_ENTITY;
