• IfcBSplineCurve


    ifcbsprinecurve是由样条函数参数化的样条曲线。

    下图所示为B样条曲线。

    注:图中引用了ISO 10303-42。

    注:定义根据ISO/CD 10303-42:1992

    B样条曲线是用控制点和基函数描述的分段参数多项式或有理曲线。选择B样条曲线作为最稳定的形式来表示所有类型的多项式或有理参数曲线。通过适当的属性值,它能够表示显式多项式、有理、Bezier或B样条曲线的单跨或样条曲线。

    数据解释如下:

    1、所有重量应为正,曲线由

    k+1 = number of control points
    Pi = control points
    wi = weights
    d = degree

    结数组是一个(k+d+2)实数的数组。。。uk+1],因此对于[-d,k]中的所有指数j,uj<=uj+1。该数组是通过根据多重性重复每个多个节点从节点数据列表中获得的。在[ui-d。。。,此数组的ui+1]。

    2、让L表示结数组中d+k+2结中不同值的数目;L将被称为“结上索引”。设mj表示第j个不同结的多重性(重复次数)。那么

    除第一个和最后一个外,所有结的多重数应在1。。。度;第一个和最后一个最大值可能为度+1。在计算基函数时,例如重数3的结u被解释为结数组中的字符串u,u,u。B样条曲线有3种特殊的子类型(注:只有1种Bezier曲线,包含在这个IFC版本中),其中结和结的多重性是为了提供简单的默认功能而派生的。

    3、提供逻辑标志以指示曲线是否自交。

    注:实体改编自ISO10303-42中定义的b_样条曲线。

    IFC2x2中的历史新实体。

    Formal Propositions

    RuleDescription
    SameDim All control points shall have the same dimensionality.
     

    #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
    IfcCurve
      Dim
    :=IfcCurveDim(SELF)
    IfcDimensionCount [1:1] The space dimensionality of this abstract class, defined differently for all subtypes, i.e. for IfcLine, IfcConic and IfcBoundedCurve. X
    IfcBoundedCurve
    IfcBSplineCurve
    1 Degree IfcInteger [1:1] The algebraic degree of the basis functions. X
    2 ControlPointsList IfcCartesianPoint L[2:?] The list of control points for the curve. X
    3 CurveForm IfcBSplineCurveForm [1:1] Used to identify particular types of curve; it is for information only. X
    4 ClosedCurve IfcLogical [1:1] Indication of whether the curve is closed; it is for information only. X
    5 SelfIntersect IfcLogical [1:1] Indication whether the curve self-intersects or not; it is for information only. X
      UpperIndexOnControlPoints
    :=(SIZEOF(ControlPointsList) - 1)
    IfcInteger [1:1] The upper index on the array of control points; the lower index is 0. This value is derived from the control points list. X
      ControlPoints
    :=IfcListToArray(ControlPointsList,0,UpperIndexOnControlPoints)
    IfcCartesianPoint A[0:UpperIndexOnControlPoints] The array of control points used to define the geometry of the curve. This is derived from the list of control points. X
     

    EXPRESS Specification

    ENTITY IfcBSplineCurve
     ABSTRACT SUPERTYPE OF(IfcBSplineCurveWithKnots)
     SUBTYPE OF (IfcBoundedCurve);
      Degree : IfcInteger;
      ControlPointsList : LIST [2:?] OF IfcCartesianPoint;
      CurveForm : IfcBSplineCurveForm;
      ClosedCurve : IfcLogical;
      SelfIntersect : IfcLogical;
     DERIVE
      UpperIndexOnControlPoints : IfcInteger := (SIZEOF(ControlPointsList) - 1);
      ControlPoints : ARRAY [0:UpperIndexOnControlPoints] OF IfcCartesianPoint := IfcListToArray(ControlPointsList,0,UpperIndexOnControlPoints);
     WHERE
      SameDim : SIZEOF(QUERY(Temp <* ControlPointsList | Temp.Dim <> ControlPointsList[1].Dim)) = 0;
    END_ENTITY;
  • 相关阅读:
    一、Dapper基本操作
    Javascript基础--函数(Function对象)
    【Selenium专题】FAQ_浏览器_ChromeDriver版本导致报错
    mvn install 报错Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2 错误: 找不到符号
    Eclipse中mvn install 报错error in opening zip file
    Maven项目编译时报错缺少tools.jar
    maven-compiler-plugin 版本错误解决方法
    【QTP专题-优化】VBS脚本启动QTP并运行测试
    QTP 场景恢复– 函数调用
    达梦数据库(DaMeng)如何删除IDENTITY自增属性字段
  • 原文地址:https://www.cnblogs.com/herd/p/13208100.html
Copyright © 2020-2023  润新知