IfcRationalBSplineSurfaceWithKnots

 

改变的历史记录:

ItemSPFXMLChangeDescription
IFC2x3 to IFC4
    IfcRationalBSplineSurfaceWithKnots     ADDED  
IFC4 Addendum 1
    IfcRationalBSplineSurfaceWithKnots        
      UDegree     MODIFIED Type changed from INTEGER to IfcInteger.
      VDegree     MODIFIED Type changed from INTEGER to IfcInteger.
      UClosed     MODIFIED Type changed from LOGICAL to IfcLogical.
      VClosed     MODIFIED Type changed from LOGICAL to IfcLogical.
      SelfIntersect     MODIFIED Type changed from LOGICAL to IfcLogical.
      UMultiplicities     MODIFIED Type changed from INTEGER to IfcInteger.
      VMultiplicities     MODIFIED Type changed from INTEGER to IfcInteger.
      WeightsData     MODIFIED Type changed from REAL to IfcReal.
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

实体定义


带结有理B样条曲面是用控制点和相关的权值描述的分段参数有理曲面。


表面解释如下:

 

 

 

注:实体改编自ISO 10303-42中的有理b样条曲面。

 

IFC4中增加的新实体。

 

Attribute definitions

#AttributeTypeCardinalityDescriptionC
13 WeightsData IfcReal L[2:?]L[2:?] The weights associated with the control points in the rational case. X
  Weights
:=IfcMakeArrayOfArray(WeightsData,0,UUpper,0,VUpper)
IfcReal A[0:UUpper]A[0:VUpper] Array (two-dimensional) of weight values constructed from the WeightsData. X

 

 

 

 

 

 

Formal Propositions

RuleDescription
CorrespondingWeightsDataLists The array dimensions for the weights shall be consistent with the control points data.
WeightValuesGreaterZero The weight value associated with each control point shall be greater than zero.
 

 

 

 

 

 

#AttributeTypeCardinalityDescriptionC
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
IfcBSplineSurfaceWithKnots
8 UMultiplicities IfcInteger L[2:?] The multiplicities of the knots in the u parameter direction. X
9 VMultiplicities IfcInteger L[2:?] The multiplicities of the knots in the v parameter direction. X
10 UKnots IfcParameterValue L[2:?] The list of the distinct knots in the u parameter direction. X
11 VKnots IfcParameterValue L[2:?] The list of the distinct knots in the v parameter direction. X
12 KnotSpec IfcKnotType [1:1] The description of the knot type. X
  KnotVUpper
:=SIZEOF(VKnots)
IfcInteger [1:1] The number of distinct knots in the v parameter direction. X
  KnotUUpper
:=SIZEOF(UKnots)
IfcInteger [1:1] The number of distinct knots in the u parameter direction. X
IfcRationalBSplineSurfaceWithKnots
13 WeightsData IfcReal L[2:?]L[2:?] The weights associated with the control points in the rational case. X
  Weights
:=IfcMakeArrayOfArray(WeightsData,0,UUpper,0,VUpper)
IfcReal A[0:UUpper]A[0:VUpper] Array (two-dimensional) of weight values constructed from the WeightsData. X
 

 

EXPRESS Specification

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;

 

posted @ 2020-11-05 20:05  西北逍遥  阅读(122)  评论(0编辑  收藏  举报