zoukankan      html  css  js  c++  java
  • IfcGeometryResource(几何资源)

    IfcGeometryResource(几何资源) 定义用于几何表示的资源。此资源的主要应用是表示元素的形状或几何形式。这里定义的几何表示项还用于描述模式IfcGeometricModelResource中的几何模型。

    以下是几何资源的范围:

    ①直接通过坐标值和曲线曲面上的参数值定义点

    ②方向、向量和轴位置的定义

    ③一致和非一致变换算子的定义

    ④参数曲线的定义

    ⑤圆锥曲线的定义

    ⑥参数曲面上定义的曲线的定义

    ⑦偏移曲线的定义

    ⑧初等曲面的定义

    ⑨扫描曲面的定义

    ⑩参数化样条曲线曲面的定义

    ⑪使用转换运算符定义映射源表示的映射项

    注:该模式的许多定义都改编自ISO 10303-42中定义的定义。IfcGeometryResource引用标准的第4条“几何”。当引用ISO 10303-42时,几何和拓扑表示的定义明确排除在本规范的版权范围之外。

    根据标准:ISO 10303-42

    安置协调系统

    与空间几何整体的位置相关的矩形卡特琳娜坐标系统,用于描述属性的解释并与曲线和表面整体相关联的唯一参数。”

    根据标准:ISO 10303-42

    空间尺寸

    所有几何形状应在一个右手持矩形卡特琳娜坐标系统中确定,每一轴上的单位相同。一个共同的方案已经被用于两个尺寸和三个尺寸几何的定义。2.Points and directions exists in both a two-dimensional and a three-dimensional form,these forms are solely distincted by the presence,or disposition,of a third coordinate value.复合几何实体是用点和方向确定的,它们的空间尺寸可以被解调。

    根据标准:ISO 10303-42

    分析曲线和表面参数化

    这里的表面特异曲线都有一个明确的参数化。In some instances the definitions are in parametric terms.在其他方面,圆锥曲线和基础表面的定义在几何术语中。在此处,以一种安置协调系统为例,用于确定参数化。几何定义含有一些,但并非所有,因为数据要求为这一目的。在与个体曲线和表面实体相关联的轴向2安置中,含有确定这种安置协调系统的相关数据。

    根据标准:ISO 10303-42

    曲线

    The curve entities include lines,some elementary conics,and some referentially or procedurally defined curves.所有曲线都有一个很好的参数化参数化,使得可以通过参数值来选择曲线上的曲线或标识点。对于圆锥曲线,使用了一种表示方法,该方法将其几何形状与空间的定位和位置分开。在每一种情况下,位置和方位信息都是通过一个轴向2来传递的。一种复合曲线整体,包括在曲线向曲线转变点上用于通信连续信息的设施,提供了更多复合曲线的构建。偏移曲线类型是一种曲线定义,参照其他几何学。二维和三维应用分离胶版曲线实体的存在。

    根据标准:ISO 10303-42

    表面

    简单的表面是平面、旋转表面和线性挤压表面。如曲线,所有表面都有相关的标准参数。In many cases the surfaces,as defined,are unbounded;it is assumed that they will be bounded either explicitly or implicitly.解释界限是用边界表面实现的;隐含界限要求附加拓扑信息的组合来确定一个面积。

    Types
    1 IfcArcIndex
    2 IfcDimensionCount
    3 IfcLineIndex
    4 IfcBSplineCurveForm
    5 IfcBSplineSurfaceForm
    6 IfcKnotType
    7 IfcTransitionCode
    8 IfcTrimmingPreference
    9 IfcAxis2Placement
    10 IfcCurveOnSurface
    11 IfcSegmentIndexSelect
    12 IfcTrimmingSelect
    13 IfcVectorOrDirection

    Entities
    1 IfcAxis1Placement
    2 IfcAxis2Placement2D
    3 IfcAxis2Placement3D
    4 IfcBoundaryCurve
    5 IfcBoundedCurve
    6 IfcBoundedSurface
    7 IfcBSplineCurve
    8 IfcBSplineCurveWithKnots
    9 IfcBSplineSurface
    10 IfcBSplineSurfaceWithKnots
    11 IfcCartesianPoint
    12 IfcCartesianTransformationOperator
    13 IfcCartesianTransformationOperator2D
    14 IfcCartesianTransformationOperator2DnonUniform
    15 IfcCartesianTransformationOperator3D
    16 IfcCartesianTransformationOperator3DnonUniform
    17 IfcCircle
    18 IfcCompositeCurve
    19 IfcCompositeCurveOnSurface
    20 IfcCompositeCurveSegment
    21 IfcConic
    22 IfcCurve
    23 IfcCurveBoundedPlane
    24 IfcCurveBoundedSurface
    25 IfcCylindricalSurface
    26 IfcDirection
    27 IfcElementarySurface
    28 IfcEllipse
    29 IfcGeometricRepresentationItem
    30 IfcIndexedPolyCurve
    31 IfcLine
    32 IfcMappedItem
    33 IfcOffsetCurve2D
    34 IfcOffsetCurve3D
    35 IfcOuterBoundaryCurve
    36 IfcPcurve
    37 IfcPlacement
    38 IfcPlane
    39 IfcPoint
    40 IfcPointOnCurve
    41 IfcPointOnSurface
    42 IfcPolyline
    43 IfcRationalBSplineCurveWithKnots
    44 IfcRationalBSplineSurfaceWithKnots
    45 IfcRectangularTrimmedSurface
    46 IfcReparametrisedCompositeCurveSegment
    47 IfcRepresentationItem
    48 IfcRepresentationMap
    49 IfcSurface
    50 IfcSurfaceOfLinearExtrusion
    51 IfcSurfaceOfRevolution
    52 IfcSweptSurface
    53 IfcTrimmedCurve
    54 IfcVector

    Functions
    1 IfcBaseAxis
    2 IfcBuild2Axes
    3 IfcBuildAxes
    4 IfcConstraintsParamBSpline
    5 IfcCrossProduct
    6 IfcCurveDim
    7 IfcCurveWeightsPositive
    8 IfcDotProduct
    9 IfcFirstProjAxis
    10 IfcGetBasisSurface
    11 IfcListToArray
    12 IfcMakeArrayOfArray
    13 IfcNormalise
    14 IfcOrthogonalComplement
    15 IfcSameAxis2Placement
    16 IfcSameCartesianPoint
    17 IfcSameDirection
    18 IfcSameValue
    19 IfcScalarTimesVector
    20 IfcSecondProjAxis
    21 IfcSurfaceWeightsPositive
    22 IfcVectorDifference
    23 IfcVectorSum
    24 IfcConsecutiveSegments

    类型:
    1 IfcArcIndex (建筑编号)
    2 IfcDimensionCount  (维度计数)
    3 IfcLineIndex  (线路索引)
    4 IfcBSplineCurveForm  (样条曲线形类型
    5 IfcBSplineSurfaceForm  (样条曲面类型)
    6 IfcKnotType  (结类型)
    7 IfcTransitionCode  (转换码)
    8 IfcTrimmingPreference  (修剪首选项)
    9 IfcAxis2Placement  (坐标放置)
    10 IfcCurveOnSurface  (曲面上的曲线)
    11 IfcSegmentIndexSelect  (段索引选择类型)
    12 IfcTrimmingSelect  (修建选择类型)
    13 IfcVectorOrDirection (矢量或方向)

    实体:
    1 IfcAxis1Placement (轴位置)
    2 IfcAxis2Placement2D (轴二维布置)

    IFCAXIS2PaltEn2D提供位置和方向来将项目放置在二维空间中。属性重定向定义X轴,导出y轴。如果没有给出属性重定向,则放置默认为p [ 1 ](x轴)为[1,0 ]和p[2 ](y轴)为[0,1。]。

    3 IfcAxis2Placement3D (轴三维布置)

    IFCAXIS2PaltEn3d提供将物品放置在三维空间中的位置和方向。属性轴定义Z方向,重定向X方向。得到Y方向。

    如果没有给出轴和反方向的属性值,则放置默认为p [ 1 ](x轴)为[1,0,0,],p [ 2 ](y轴)为[0,1,0,]和p[3 ](z轴)为[0,0,1。]。

    Attribute definitions

    #AttributeTypeCardinalityDescriptionC
    2 Axis IfcDirection [0:1] The exact direction of the local Z Axis. X
    3 RefDirection IfcDirection [0:1] The direction used to determine the direction of the local X Axis. If necessary an adjustment is made to maintain orthogonality to the Axis direction. If Axis and/or RefDirection is omitted, these directions are taken from the geometric coordinate system. X
      P
    :=IfcBuildAxes(Axis, RefDirection)
    IfcDirection L[3:3] The normalized directions of the placement X Axis (P[1]) and the placement Y Axis (P[2]) and the placement Z Axis (P[3]). X

    Formal Propositions

    RuleDescription
    LocationIs3D The dimensionality of the placement location shall be 3.
    AxisIs3D The Axis when given should only reference a three-dimensional IfcDirection.
    RefDirIs3D The RefDirection when given should only reference a three-dimensional IfcDirection.
    AxisToRefDirPosition The Axis and RefDirection shall not be parallel or anti-parallel.
    AxisAndRefDirProvision Either both, Axis and RefDirection are not given and therefore defaulted, or both shall be given.
     


    4 IfcBoundaryCurve (边界曲线)
    5 IfcBoundedCurve (有界曲线)
    6 IfcBoundedSurface (有界曲面)
    7 IfcBSplineCurve (样条曲线)
    8 IfcBSplineCurveWithKnots (带节点的样条曲线)
    9 IfcBSplineSurface (样条曲面)
    10 IfcBSplineSurfaceWithKnots (带节点的样条曲面)
    11 IfcCartesianPoint (笛卡尔点)
    12 IfcCartesianTransformationOperator (笛卡尔变换算子)
    13 IfcCartesianTransformationOperator2D (二维笛卡尔变换算子)
    14 IfcCartesianTransformationOperator2DnonUniform (不一致的二维笛卡尔变换算子)
    15 IfcCartesianTransformationOperator3D (三维笛卡尔变换算子)
    16 IfcCartesianTransformationOperator3DnonUniform (不一致的三维笛卡尔变换算子)
    17 IfcCircle (圆)

    单圆是由一组与中心距离相等的点组成的曲线。

    注:圆弧段通过使用ifctrimedcurve定义,其中BasisCurve是IfcCircle。

    注释定义符合ISO/CD 10303-42:1992

    圆由半径、圆的位置和方向定义。数据解释如下:

    C = SELFIfcConic.Position.Location
    x = SELFIfcConic.Position.P[1]
    y = SELFIfcConic.Position.P[2]
    z = SELFIfcConic.Position.P[3]
    R = Radius

    这个圆被参数化为:

    参数化范围为0≤u≤2π(0≤u≤360度)。

    在上面定义的放置坐标系中,圆是方程式C=0,其中

    圆在任何点上的正方向是切线方向,T,到该点的曲线,其中

    18 IfcCompositeCurve (复合曲线)

    IfcCompositeCurve是由曲线段组成的连续曲线。


    19 IfcCompositeCurveOnSurface (面上的复合曲线)
    20 IfcCompositeCurveSegment (复合曲线段)
    21 IfcConic (圆锥曲线)
    22 IfcCurve (曲线)
    23 IfcCurveBoundedPlane (曲线有界平面)
    24 IfcCurveBoundedSurface (曲线有界曲面)
    25 IfcCylindricalSurface (圆柱面)
    26 IfcDirection (方向)
    27 IfcElementarySurface (元素表面)
    28 IfcEllipse (椭圆)
    29 IfcGeometricRepresentationItem (几何表象)
    30 IfcIndexedPolyCurve (指数曲线)
    31 IfcLine (线)
    32 IfcMappedItem (映射项)
    33 IfcOffsetCurve2D (二维偏移曲线)
    34 IfcOffsetCurve3D (三维偏移曲线)
    35 IfcOuterBoundaryCurve (外边界曲线)
    36 IfcPcurve (曲线)
    37 IfcPlacement (位置)
    38 IfcPlane (平面)
    39 IfcPoint (点)
    40 IfcPointOnCurve (曲线上的点)
    41 IfcPointOnSurface (曲面上的点)
    42 IfcPolyline (折线)

    IfcPolyline是一条有界曲线,只有由笛卡尔点列表定义的直线段。如果列表中的第一个和最后一个笛卡尔点相同,则多段线为闭合曲线,否则为开放曲线。

    下图是有界IfcPolyline,并显示了每条线段和整个多段线的参数长度。

    多段线是由n-1条直线段组成的有界曲线,由n个点、P1、P2。。。请注意。曲线的第i段参数化如下:

    式中,i-1≤u≤i,参数范围为0<u≤n-1。

    43 IfcRationalBSplineCurveWithKnots (有节点的样条曲线)
    44 IfcRationalBSplineSurfaceWithKnots (有节点的样条曲面)
    45 IfcRectangularTrimmedSurface (矩形贴面)
    46 IfcReparametrisedCompositeCurveSegment (复合曲线段)
    47 IfcRepresentationItem (表示项)
    48 IfcRepresentationMap (表示图)
    49 IfcSurface (面)
    50 IfcSurfaceOfLinearExtrusion (线性挤压表面)
    51 IfcSurfaceOfRevolution (旋转面)
    52 IfcSweptSurface (扫描面)
    53 IfcTrimmedCurve (裁剪曲线)
    54 IfcVector (集合)

    函数:
    1 IfcBaseAxis (基本轴)
    2 IfcBuild2Axes (构件二维轴坐标)

    此函数返回两个正交方向。u[1]在ref_方向,u[2]垂直于u[1]。如果输入数据不完整,则为ref_方向提供默认值(1.0,0.0,0.0)。

    FUNCTION IfcBuild2Axes
      (RefDirection : IfcDirection)
        : LIST [2:2] OF IfcDirection;
    LOCAL
      D : IfcDirection := NVL(IfcNormalise(RefDirection),
          IfcRepresentationItem() || IfcGeometricRepresentationItem () || IfcDirection([1.0,0.0]));
    END_LOCAL;
      RETURN([D, IfcOrthogonalComplement(D)]); 
    END_FUNCTION;

    3 IfcBuildAxes (构件轴坐标)
    4 IfcConstraintsParamBSpline (约束参数样条曲线)
    5 IfcCrossProduct (交叉积)
    6 IfcCurveDim (曲线尺寸)
    7 IfcCurveWeightsPositive (曲线权重)
    8 IfcDotProduct (点积)
    9 IfcFirstProjAxis (正向轴)
    10 IfcGetBasisSurface (获取基面)

    此函数将曲线的基曲面作为一组曲面返回。对于不是面上曲线的曲线,将返回空集。

    FUNCTION IfcGetBasisSurface
    (C : IfcCurveOnSurface) : SET[0:2] OF IfcSurface;
    
      LOCAL
        Surfs : SET[0:2] OF IfcSurface;
        N : INTEGER;
      END_LOCAL;
    
      Surfs := [];
      IF 'IFCGEOMETRYRESOURCE.IFCPCURVE' IN TYPEOF (C) THEN
        Surfs := [CIfcPCurve.BasisSurface];
      ELSE
        IF 'IFCGEOMETRYRESOURCE.IFCCOMPOSITECURVEONSURFACE' IN TYPEOF (C) THEN
    
        (* For an IfcCompositeCurveOnSurface the BasisSurface is the intersection
           of the BasisSurface of all the segments. *)
    
        N := SIZEOF(CIfcCompositeCurve.Segments);
        Surfs := IfcGetBasisSurface(CIfcCompositeCurve.Segments[1].ParentCurve);
        
          IF N > 1 THEN
            REPEAT i := 2 TO N;
              Surfs := Surfs * IfcGetBasisSurface(CIfcCompositeCurve.Segments[1].ParentCurve);
            END_REPEAT;
          END_IF;
        END_IF;
      END_IF;
      RETURN(Surfs); 
    END_FUNCTION;

    11 IfcListToArray (list转array)
    12 IfcMakeArrayOfArray (创建数组)
    13 IfcNormalise (正常化)
    14 IfcOrthogonalComplement ()
    15 IfcSameAxis2Placement ()
    16 IfcSameCartesianPoint ()
    17 IfcSameDirection ()
    18 IfcSameValue ()
    19 IfcScalarTimesVector ()
    20 IfcSecondProjAxis ()
    21 IfcSurfaceWeightsPositive (表面权重)
    22 IfcVectorDifference (矢量差分)
    23 IfcVectorSum (向量和)
    24 IfcConsecutiveSegments (连续线段)

  • 相关阅读:
    分布式架构高可用架构篇_activemq高可用集群(zookeeper+leveldb)安装、配置、高可用测试
    @interface [SpringMVC+redis]自定义aop注解实现控制器访问次数限制
    ActiveMQ安装与持久化消息
    activemq 5.13.2 jdbc 数据库持久化 异常 找不到驱动程序
    java通过Comparable接口实现字符串比较大小排序的简单实例
    微信小程序--火车票查询
    【调试】如何使用javascript的debugger命令进行调试(重要)
    【调试】js调试console.log使用总结图解(重要)
    ajax提交表单
    一个项目的404错误处理页面
  • 原文地址:https://www.cnblogs.com/herd/p/12166567.html
Copyright © 2011-2022 走看看