KartesischeTransformation - dreidimensional nicht gleichmäßig (3D) | |

Cartesian Transformation Operator 3D Non-uniform | |

Opérateur 3D de transformation cartésienne non uniforme |

Item | SPF | XML | Change | Description |
---|---|---|---|---|

IFC4 Addendum 1 |
||||

IfcCartesianTransformationOperator3DnonUniform | ||||

Scale | MODIFIED | Type changed from REAL to IfcReal. | ||

Scale2 | MODIFIED | Type changed from REAL to IfcReal. | ||

Scale3 | MODIFIED | Type changed from REAL to IfcReal. |

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:

*SELF\IfcCartesianTransformationOperator.Scale*: the x axis scale factor*Scale2*: the y axis scale factor*Scale3*: the z axis scale factor

If the *Scale* factor (at supertype IfcCartesianTransformationOperator) is omitted, it defaults to 1.0. If the *Scale2* or the *Scale3* factor is omitted, 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 calculatedScalefactor (normally x axis scale factor).

HISTORY New entity in IFC2x.

# | Attribute | Type | Cardinality | Description | G |
---|---|---|---|---|---|

6 | Scale2 | IfcReal | ? | The scaling value specified for the transformation along the axis 2. This is normally the y scale factor. | X |

7 | Scale3 | IfcReal | ? | 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 | 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 | 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 |

Rule | Description |
---|---|

Scale2GreaterZero | The derived scaling Scl2 shall be greater than zero. |

Scale3GreaterZero | The derived scaling Scl3 shall be greater than zero. |

# | Attribute | Type | Cardinality | Description | G |
---|---|---|---|---|---|

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.
IFC2x3 CHANGE The inverse attribute IFC4 CHANGE The inverse attribute | 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.
IFC2x3 CHANGE The inverse attribute | X | |

IfcGeometricRepresentationItem | |||||

IfcCartesianTransformationOperator | |||||

1 | Axis1 | IfcDirection | ? | The direction used to determine U[1], the derived X axis direction. | X |

2 | Axis2 | IfcDirection | ? | The direction used to determine U[2], the derived Y axis direction. | X |

3 | LocalOrigin | IfcCartesianPoint | 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 | ? | The scaling value specified for the transformation. | X |

Scl :=NVL(Scale, 1.0) | IfcReal | The derived scale S of the transformation, equal to scale if that exists, or 1.0 otherwise. | X | ||

Dim :=LocalOrigin.Dim | IfcDimensionCount | The space dimensionality of this class, determined by the space dimensionality of the local origin. | X | ||

IfcCartesianTransformationOperator3D | |||||

5 | Axis3 | IfcDirection | ? | 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 | ? | The scaling value specified for the transformation along the axis 2. This is normally the y scale factor. | X |

7 | Scale3 | IfcReal | ? | 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 | 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 | 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 |

` <xs:element name="IfcCartesianTransformationOperator3DnonUniform" type="ifc:IfcCartesianTransformationOperator3DnonUniform" substitutionGroup="ifc:IfcCartesianTransformationOperator3D" nillable="true"/>`

<xs:complexType name="IfcCartesianTransformationOperator3DnonUniform">

<xs:complexContent>

<xs:extension base="ifc:IfcCartesianTransformationOperator3D">

<xs:attribute name="Scale2" type="ifc:IfcReal" use="optional"/>

<xs:attribute name="Scale3" type="ifc:IfcReal" use="optional"/>

</xs:extension>

</xs:complexContent>

</xs:complexType>

```
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;