Kartesische Transformation - dreidimensional (3D) | |
Cartesian Transformation Operator 3D | |
Opérateur 3D de transformation cartésienne |
Item | SPF | XML | Change | Description | IFC4 Addendum 1 |
---|---|---|---|---|
IfcCartesianTransformationOperator3D | ||||
Scale | MODIFIED | Type changed from REAL to IfcReal. |
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 matrix T. 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_3d defined in ISO10303-42.
HISTORY New entity in IFC2x.
# | Attribute | Type | Cardinality | Description | G |
---|---|---|---|---|---|
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 |
Rule | Description |
---|---|
DimIs3D | The coordinate space dimensionality of this entity shall be 3. |
Axis1Is3D | The inherited Axis1 should have (if given) the dimensionality of 3. |
Axis2Is3D | The inherited Axis2 should have (if given) the dimensionality of 3. |
Axis3Is3D | The Axis3 should have (if given) the dimensionality of 3. |
# | 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 LayerAssignments has been added. IFC4 CHANGE The inverse attribute LayerAssignment has been restricted to max 1. Upward compatibility for file based exchange is guaranteed. | 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 StyledByItem has been added. | 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 |
<xs:element name="IfcCartesianTransformationOperator3D" type="ifc:IfcCartesianTransformationOperator3D" substitutionGroup="ifc:IfcCartesianTransformationOperator" nillable="true"/>
<xs:complexType name="IfcCartesianTransformationOperator3D">
<xs:complexContent>
<xs:extension base="ifc:IfcCartesianTransformationOperator">
<xs:sequence>
<xs:element name="Axis3" type="ifc:IfcDirection" nillable="true" minOccurs="0"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
ENTITY IfcCartesianTransformationOperator3D
SUPERTYPE OF(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;