笛卡尔变换算子3d-non-uniform定义了由平移、旋转、镜像和非均匀缩放组成的三维空间中的几何变换。非均匀缩放由三个不同的缩放因子给出:

①自我\IfcCartesianTransformationOperator.Scale:x轴比例因子

②Scale2:y轴比例因子

③Scale3:z轴比例因子

如果忽略比例因子(在超级类型IfcCartesianTransformationOperator处),则默认为1.0。如果省略Scale2或Scale3因子,则默认为Scale的值(x轴比例因子)。

注意,在超级类型IfcCartesianTransformationOperator中定义的比例因子(Scl)用于表示计算的比例因子(通常为x轴比例因子)。

在IFC2x中记录新实体。

Formal Propositions


Rule

Description

Scale2GreaterZero

The derived scaling Scl2 shall be greater than zero.

Scale3GreaterZero

The derived scaling Scl3 shall be greater than zero.


 

 

 

IfcCartesianTransformationOperator3DnonUniform_ide

 

 


#

Attribute

Type

Cardinality

Description

C

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]

The space dimensionality of this class, determined by the space dimensionality of the local origin.

X

​IfcCartesianTransformationOperator3D​

5

Axis3

​IfcDirection​

[0:1]

The exact direction of U[3], the derived Z axis direction.

X

 

U

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

​IfcDirection​

L[3:3]

The list of mutually orthogonal, normalized vectors defining the transformation matrix T. They are derived from the explicit attributes Axis3, Axis1, and Axis2 in that order.

X

​IfcCartesianTransformationOperator3DnonUniform​

6

Scale2

​IfcReal​

[0:1]

The scaling value specified for the transformation along the axis 2. This is normally the y scale factor.

X

7

Scale3

​IfcReal​

[0:1]

The scaling value specified for the transformation along the axis 3. This is normally the z scale factor.

X

 

Scl2

:=NVL(Scale2, SELF\IfcCartesianTransformationOperator.Scl)

​IfcReal​

[1:1]

The derived scale S(2) of the transformation along the axis 2 (normally the y axis), equal to Scale2 if that exists, or equal to the derived Scl1 (normally the x axis scale factor) otherwise.

X

 

Scl3

:=NVL(Scale3, SELF\IfcCartesianTransformationOperator.Scl)

​IfcReal​

[1:1]

The derived scale S(3) of the transformation along the axis 3 (normally the z axis), equal to Scale3 if that exists, or equal to the derived Scl1 (normally the x axis scale factor) otherwise.

X


EXPRESS Specification



ENTITY IfcCartesianTransformationOperator3DnonUniform
SUBTYPE OF (IfcCartesianTransformationOperator3D);
Scale2 : OPTIONAL IfcReal;
Scale3 : OPTIONAL IfcReal;
DERIVE
Scl2 : IfcReal := NVL(Scale2, SELF\IfcCartesianTransformationOperator.Scl);
Scl3 : IfcReal := NVL(Scale3, SELF\IfcCartesianTransformationOperator.Scl);
WHERE
Scale2GreaterZero : Scl2 > 0.0;
Scale3GreaterZero : Scl3 > 0.0;
END_ENTITY;