Navigation
Navigate Navigate Navigate Navigate Navigate Navigate Navigate Navigate

IfcCartesianTransformationOperator3DnonUniform

Definition from IAI: A Cartesian transformation operator 3d non uniform defines a geometric transformation in three-dimensional space composed of translation, rotation, mirroring and non uniform scaling. Non uniform scaling is given by three different scaling factors:

If the Scale factor (at supertype IfcCartesianTransformationOperator) is omited, it defaults to 1.0. If the Scale2 or the Scale3 factor is omited, it defaults to the value of Scale (the x axis scale factor).

NOTE: The scale factor (Scl) defined at the supertype IfcCartesianTransformationOperator is used to express the calculated Scale factor (normally x axis scale factor).

HISTORY: New entity in IFC Release 2x.

EXPRESS specification:

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

Attribute definitions:

Scale2  :  The scaling value specified for the transformation along the axis 2. This is normally the y scale factor.
Scale3  :  The scaling value specified for the transformation along the axis 3. This is normally the z scale factor.
Scl2  :  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.
Scl3  :  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.

Formal Propositions:

WR1  :  The derived scaling Scl2 shall be greater than zero.
WR2  :  The derived scaling Scl3 shall be greater than zero.

Inheritance graph

ENTITY IfcCartesianTransformationOperator3DnonUniform;
ENTITY IfcRepresentationItem;
INVERSE
LayerAssignments  :  SET OF IfcPresentationLayerAssignment FOR AssignedItems;
StyledByItem  :  SET [0:1] OF IfcStyledItem FOR Item;
ENTITY IfcGeometricRepresentationItem;
ENTITY IfcCartesianTransformationOperator;
Axis1  :  OPTIONAL IfcDirection;
Axis2  :  OPTIONAL IfcDirection;
LocalOrigin  :  IfcCartesianPoint;
Scale  :  OPTIONAL REAL;
DERIVE
Scl  :  REAL :=  NVL(Scale, 1.0);
Dim  :  IfcDimensionCount :=  LocalOrigin.Dim;
ENTITY IfcCartesianTransformationOperator3D;
Axis3  :  OPTIONAL IfcDirection;
DERIVE
U  :  LIST [3:3] OF IfcDirection :=  IfcBaseAxis(3,SELF\IfcCartesianTransformationOperator.Axis1,
SELF\IfcCartesianTransformationOperator.Axis2,Axis3);
ENTITY IfcCartesianTransformationOperator3DnonUniform;
Scale2  :  OPTIONAL REAL;
Scale3  :  OPTIONAL REAL;
DERIVE
Scl2  :  REAL :=  NVL(Scale2, SELF\IfcCartesianTransformationOperator.Scl);
Scl3  :  REAL :=  NVL(Scale3, SELF\IfcCartesianTransformationOperator.Scl);
END_ENTITY;