8.9.3.13 IfcCartesianTransformationOperator(笛卡尔变换算子)
抽象 该定义不能被实例化。
8.9.3.13.1 语义定义
IfcCartesianTransformationOperator 定义了几何变换不同类型的一个抽象超类型。
对于位置向量为 P 的点的变换定义为
P -> A + _S_TP 对于方向 d 的变换定义为
d -> Td 对于方向为 d、大小为 k 的向量的变换定义为
d -> Td,以及 k -> Sk 对于那些特性包含 axis2 放置的实体,变换在派生后应用于定义放置坐标方向的派生特性 p。对于变换后的曲面,任意点处曲面法线的方向通过将原始曲面上对应点处的法线变换得到。对于具有长度量纲特性(例如圆的半径)的几何实体,其值将乘以 S。
对于曲面上的曲线,p 曲线对曲线的引用将不受任何变换的影响。笛卡尔变换算子应仅应用于在一致单位系统中定义的几何,且每个轴上的单位相同。如果所有可选特性均被省略,则变换默认为恒等变换。笛卡尔变换算子应仅作为其子类型之一进行实例化。
8.9.3.13.2 实体继承
- IfcCartesianTransformationOperator
- IfcAnnotationFillArea
- IfcBooleanResult
- IfcBoundingBox
- IfcCartesianPointList
- IfcCsgPrimitive3D
- IfcCurve
- IfcDirection
- IfcFaceBasedSurfaceModel
- IfcFillAreaStyleHatching
- IfcFillAreaStyleTiles
- IfcGeometricSet
- IfcHalfSpaceSolid
- IfcLightSource
- IfcPlacement
- IfcPlanarExtent
- IfcPoint
- IfcSectionedSpine
- IfcSegment
- IfcShellBasedSurfaceModel
- IfcSolidModel
- IfcSurface
- IfcTessellatedItem
- IfcTextLiteral
- IfcVector
8.9.3.13.3 特性
# 特性 类型 描述 IfcRepresentationItem (2) LayerAssignment SET [0:1] OF IfcPresentationLayerAssignment FOR AssignedItems 将表示项分配给单个或多个层。LayerAssignments 可覆盖其所在的 IfcRepresentation 的 Items 列表中的 LayerAssignments。
StyledByItem SET [0:1] OF IfcStyledItem FOR Item 引用为表示提供表现信息的 IfcStyledItem,例如,为几何曲线提供曲线样式,包括颜色和厚度。
点击显示 2 个隐藏的继承特性 点击隐藏 2 个继承特性 IfcCartesianTransformationOperator (6) 1 Axis1 OPTIONAL IfcDirection 用于确定 U[1](派生 X 轴方向)的方向。
2 Axis2 OPTIONAL IfcDirection 用于确定 U[2](派生 Y 轴方向)的方向。
3 LocalOrigin IfcCartesianPoint 所需的平移,指定为笛卡尔点。变换中包含的实际平移是从几何原点到局部原点。
4 Scale OPTIONAL IfcReal 为变换指定的缩放值。
* Scl IfcReal 此特性是形式化派生的
NVL(Scale, 1.0)变换的派生缩放 S,如果存在 scale 则等于 scale,否则为 1.0。
* Dim IfcDimensionCount 此特性是形式化派生的
LocalOrigin.Dim此类的空间维度,由局部原点的空间维度确定。
表 8.9.3.13.A 8.9.3.13.4 形式化命题
8.9.3.13.5 形式化表示
ENTITY IfcCartesianTransformationOperator ABSTRACT SUPERTYPE OF (ONEOF (IfcCartesianTransformationOperator2D ,IfcCartesianTransformationOperator3D)) SUBTYPE OF (IfcGeometricRepresentationItem); Axis1 : OPTIONAL IfcDirection; Axis2 : OPTIONAL IfcDirection; LocalOrigin : IfcCartesianPoint; Scale : OPTIONAL IfcReal; DERIVE Scl : IfcReal := NVL(Scale, 1.0); Dim : IfcDimensionCount := LocalOrigin.Dim; WHERE ScaleGreaterZero : Scl > 0.0; END_ENTITY;8.9.3.13.6 参考