IfcBSplineSurface是有理或多项式参数曲面的一般形式。
b_样条曲面是有理或多项式参数曲面的一般形式,它由控制点、基函数和可能的权重来表示。与相应的曲线实体一样,它有一些特殊的子类型,其中一些数据可以从中派生出来。
The symbology used here is:
K1 | = upper_index_on_u_control_points |
K2 | = upper_index_on_v_control_points |
Pij | = control_points |
wij | = weights |
d1 | = u_degree |
d2 | = v_degree |
# | Attribute | Type | Cardinality | Description | C |
---|---|---|---|---|---|
IfcRepresentationItem | |||||
LayerAssignment | IfcPresentationLayerAssignment @AssignedItems |
S[0:1] | 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. | X | |
StyledByItem | IfcStyledItem @Item |
S[0:1] | Reference to the IfcStyledItem that provides presentation information to the representation, e.g. a curve style, including colour and thickness to a geometric curve. | X | |
IfcGeometricRepresentationItem | |||||
IfcSurface | |||||
Dim :=3 |
IfcDimensionCount | [1:1] | The space dimensionality of IfcSurface. It is always a three-dimensional geometric representation item. | X | |
IfcBoundedSurface | |||||
IfcBSplineSurface | |||||
1 | UDegree | IfcInteger | [1:1] | Algebraic degree of basis functions in u. | X |
2 | VDegree | IfcInteger | [1:1] | Algebraic degree of basis functions in v. | X |
3 | ControlPointsList | IfcCartesianPoint | L[2:?]L[2:?] | This is a list of lists of control points. | X |
4 | SurfaceForm | IfcBSplineSurfaceForm | [1:1] | Indicator of special surface types. | X |
5 | UClosed | IfcLogical | [1:1] | Indication of whether the surface is closed in the u direction; this is for information only. | X |
6 | VClosed | IfcLogical | [1:1] | Indication of whether the surface is closed in the v direction; this is for information only. | X |
7 | SelfIntersect | IfcLogical | [1:1] | Flag to indicate whether, or not, surface is self-intersecting; this is for information only. | X |
UUpper :=SIZEOF(ControlPointsList) - 1 |
IfcInteger | [1:1] | Upper index on control points in u direction. | X | |
VUpper :=SIZEOF(ControlPointsList[1]) - 1 |
IfcInteger | [1:1] | Upper index on control points in v direction. | X | |
ControlPoints :=IfcMakeArrayOfArray(ControlPointsList, 0,UUpper,0,VUpper) |
IfcCartesianPoint | A[0:UUpper]A[0:VUpper] | Array (two-dimensional) of control points defining surface geometry. This array is constructed from the control points list. | X |