IfcCartesianTransformationOperator

IfcCartesianTransformationOperator定义了不同类型几何变换的抽象超类型。

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

笛卡尔变换算子定义了由平移、旋转、镜像和均匀缩放组成的几何变换。规范化向量u的列表定义正交矩阵T的列。这些向量由基轴函数从方向属性axis1、axis2和在笛卡尔变换运算符3d中的axis3计算。如果| T |=-1,则转换包括镜像。局部原点A、标度值S和矩阵T共同定义变换。

位置向量为P的点的变换定义为

 

P -> A + STP

方向d的变换由

 

d -> Td

具有方向d和大小k的向量的变换定义为

d -> Td, and
k -> Sk

对于其属性包括axis2放置的那些实体,在派生之后,将转换应用于定义放置坐标方向的派生属性p。对于变换后的曲面,通过将对应点处的法线变换到原始曲面,可获得任意点处曲面法线的方向。对于具有长度维度的属性(例如圆的半径)的几何实体,该值将乘以S。

对于面上曲线,p曲线参考到曲线将不受任何转换的影响。笛卡尔变换运算符只能应用于在每个轴上具有相同单位的一致单位系统中定义的几何图形。省略所有可选属性后,转换默认为标识转换。笛卡尔转换运算符只能作为其子类型之一实例化。

注:实体改编自ISO10303-42中定义的笛卡尔变换算子。

在IFC2x中增加的新实体。

 

 

#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
IfcCartesianTransformationOperator
1 Axis1 IfcDirection [0:1] The direction used to determine U[1], the derived X axis direction. X
2 Axis2 IfcDirection [0:1] The direction used to determine U[2], the derived Y axis direction. X
3 LocalOrigin IfcCartesianPoint [1:1] The required translation, specified as a cartesian point. The actual translation included in the transformation is from the geometric origin to the local origin. X
4 Scale IfcReal [0:1] The scaling value specified for the transformation. X
  Scl
:=NVL(Scale, 1.0)
IfcReal [1:1] The derived scale S of the transformation, equal to scale if that exists, or 1.0 otherwise. X
  Dim
:=LocalOrigin.Dim
IfcDimensionCount [1:1] 这一类的空间维数,由局部原点的空间维数决定。 X
 

EXPRESS Specification

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;

 

posted @ 2020-06-21 06:48  西北逍遥  阅读(297)  评论(0编辑  收藏  举报