additions | where_rules | Axis1Is3D |

additions | where_rules | Axis2Is3D |

additions | where_rules | Axis3Is3D |

additions | where_rules | DimIs3D |

deletions | where_rules | WR1 |

deletions | where_rules | WR2 |

deletions | where_rules | WR3 |

deletions | where_rules | WR4 |

An *IfcCartesianTransformationOperator* defines a geometric transformation in three-dimensional space.

NOTE Definition according to ISO/CD 10303-42:1992

A Cartesian transformation operator 3d defines a geometric transformation in three-dimensional space composed of translation, rotation, mirroring and uniform scaling. The list of normalized vectors u defines the columns of an orthogonal matrixT. These vectors are computed from the direction attributes axis1, axis2 and axis3 by the base axis function. If |T|= -1, the transformation includes mirroring.NOTE Entity adapted from

cartesian_transformation_operator_3ddefined in ISO10303-42.HISTORY New entity in IFC2x.

# | Attribute | Type | Description |
---|---|---|---|

IfcRepresentationItem | |||

LayerAssignment | SET [0:1] OF IfcPresentationLayerAssignment FOR AssignedItems | 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 LayerAssignments has been added. > IFC4 CHANGE The inverse attribute LayerAssignment has been restricted to max 1. Upward compatibility for file based exchange is guaranteed. | |

StyledByItem | SET [0:1] OF IfcStyledItem FOR Item | 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 StyledByItem has been added. | |

IfcGeometricRepresentationItem | |||

IfcCartesianTransformationOperator | |||

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

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

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. |

4 | Scale | OPTIONAL IfcReal | The scaling value specified for the transformation. |

Scl | INVALID | The derived scale S of the transformation, equal to scale if that exists, or 1.0 otherwise. | |

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

IfcCartesianTransformationOperator3D | |||

5 | Axis3 | OPTIONAL IfcDirection | The exact direction of U[3], the derived Z axis direction. |

U | INVALID | 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. |

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 DimIs3D : SELF\IfcCartesianTransformationOperator.Dim = 3; 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); END_ENTITY;