IFC 4.3.2.20251031 (IFC4X3_ADD2) under development

8.9.3.16 IfcCartesianTransformationOperator3D(三维笛卡尔变换算子)

RV ⓘ
AbV ⓘ

8.9.3.16.1 语义定义(Semantic definition)

IfcCartesianTransformationOperator 定义三维空间中的几何变换。

8.9.3.16.2 实体继承(Entity inheritance)

8.9.3.16.3 特性(Attributes)

# 特性(Attributes) 类型 描述
IfcRepresentationItem (2)
LayerAssignment SET [0:1] OF IfcPresentationLayerAssignment FOR AssignedItems

将表示项分配给单个或多个层。LayerAssignments 可以覆盖其所在的 IfcRepresentationItems 列表中的 LayerAssignments

StyledByItem SET [0:1] OF IfcStyledItem FOR Item

引用为表示提供表现信息的 IfcStyledItem,例如,为几何曲线提供曲线样式,包括颜色和厚度。

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 个隐藏的继承特性 点击隐藏 8 个继承特性
IfcCartesianTransformationOperator3D (2)
5 Axis3 OPTIONAL IfcDirection

U[3] 的确切方向,即导出的 Z 轴方向。

* U LIST [3:3] OF IfcDirection

此属性是形式化派生的

IfcBaseAxis(3,SELF\IfcCartesianTransformationOperator.Axis1,
SELF\IfcCartesianTransformationOperator.Axis2,Axis3)

定义变换矩阵 T 的相互正交的归一化向量列表。它们按顺序从显式属性 Axis3、Axis1 和 Axis2 派生而来。

表 8.9.3.16.A

8.9.3.16.4 形式化命题(Formal propositions)

名称 描述
Axis1Is3D

继承的 Axis1(如果给出)应具有维度 3。

NOT(EXISTS(SELF\IfcCartesianTransformationOperator.Axis1)) OR 
(SELF\IfcCartesianTransformationOperator.Axis1.Dim = 3)
Axis2Is3D

继承的 Axis2(如果给出)应具有维度 3。

NOT(EXISTS(SELF\IfcCartesianTransformationOperator.Axis2)) OR 
(SELF\IfcCartesianTransformationOperator.Axis2.Dim = 3)
Axis3Is3D

Axis3(如果给出)应具有维度 3。

NOT(EXISTS(Axis3)) OR (Axis3.Dim = 3)
DimIs3D

此实体的坐标空间维度应为 3。

SELF\IfcCartesianTransformationOperator.Dim = 3
表 8.9.3.16.B

8.9.3.16.5 形式化表示(Formal representation)

ENTITY IfcCartesianTransformationOperator3D
 SUPERTYPE OF (ONEOF
	(IfcCartesianTransformationOperator3DnonUniform))
 SUBTYPE OF (IfcCartesianTransformationOperator);
	Axis3 : OPTIONAL IfcDirection;
 DERIVE
	 U : LIST [3:3] OF IfcDirection := IfcBaseAxis(3,SELF\IfcCartesianTransformationOperator.Axis1,
SELF\IfcCartesianTransformationOperator.Axis2,Axis3);
 WHERE
	Axis1Is3D : NOT(EXISTS(SELF\IfcCartesianTransformationOperator.Axis1)) OR 
(SELF\IfcCartesianTransformationOperator.Axis1.Dim = 3);
	Axis2Is3D : NOT(EXISTS(SELF\IfcCartesianTransformationOperator.Axis2)) OR 
(SELF\IfcCartesianTransformationOperator.Axis2.Dim = 3);
	Axis3Is3D : NOT(EXISTS(Axis3)) OR (Axis3.Dim = 3);
	DimIs3D : SELF\IfcCartesianTransformationOperator.Dim = 3;
END_ENTITY;