IFC 4.3.2.20250327 (IFC4X3_ADD2) under development

8.9.3.16 IfcCartesianTransformationOperator3D

RV ⓘ
AbV ⓘ

8.9.3.16.1 Semantic definition

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

8.9.3.16.2 Entity inheritance

8.9.3.16.3 Attributes

# Attribute Type Description
IfcRepresentationItem (2)
IfcCartesianTransformationOperator (6)
Click to show 8 hidden inherited attributes
IfcCartesianTransformationOperator3D (2)
5 Axis3 OPTIONAL IfcDirection

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

* U LIST [3:3] OF IfcDirection

This attribute is formally derived.

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

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.

Table 8.9.3.16.I

8.9.3.16.4 Formal propositions

Name Description
Axis1Is3D

The inherited Axis1 should have (if given) the dimensionality of 3.

NOT(EXISTS(SELF\IfcCartesianTransformationOperator.Axis1)) OR
(SELF\IfcCartesianTransformationOperator.Axis1.Dim = 3)
Axis2Is3D

The inherited Axis2 should have (if given) the dimensionality of 3.

NOT(EXISTS(SELF\IfcCartesianTransformationOperator.Axis2)) OR
(SELF\IfcCartesianTransformationOperator.Axis2.Dim = 3)
Axis3Is3D

The Axis3 should have (if given) the dimensionality of 3.

NOT(EXISTS(Axis3)) OR (Axis3.Dim = 3)
DimIs3D

The coordinate space dimensionality of this entity shall be 3.

SELF\IfcCartesianTransformationOperator.Dim = 3
Table 8.9.3.16.J

8.9.3.16.5 Examples

8.9.3.16.6 Formal representation

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

Edit on Github

3 contributor(s):
Last change: Improve definition split (#876) * bring back headers headers were previously removed by mistake, now bringing them back * add new lines and rename the tag add the word 'short' in it * unify newlines make exactly one newline before and two after the tag * resolving typos Because bringing back headers required to go back in time to previous version, I'm now re-resolving the issues: #861, #860, #856 by ArturTomczak on 7/16/2024, 2:07:28 PM

Is this page difficult to understand? Let us know!

8.9.3.16.7 Changelog

8.9.3.16.7.1 IFC4

  • where rule, Axis1Is3D
  • where rule, Axis2Is3D
  • where rule, Axis3Is3D
  • where rule, DimIs3D
  • where rule, WR1
  • where rule, WR2
  • where rule, WR3
  • where rule, WR4