8.9.3.3 IfcAxis2Placement3D
8.9.3.3.1 Semantic definition
The IfcAxis2Placement3D provides location and orientations to place items in a three-dimensional space. The attribute Axis defines the Z direction, RefDirection the X direction. The Y direction is derived.
If the attribute values for Axis and RefDirection are not given, the placement defaults to P[1] (x-axis) as [1.,0.,0.], P[2] (y-axis) as [0.,1.,0.] and P[3] (z-axis) as [0.,0.,1.].

Figure 8.9.3.3.A illustrates the definition of the IfcAxis2Placement3D within the three-dimensional coordinate system.
8.9.3.3.2 Entity inheritance
-
- IfcPlacement
- IfcAnnotationFillArea
- IfcBooleanResult
- IfcBoundingBox
- IfcCartesianPointList
- IfcCartesianTransformationOperator
- IfcCsgPrimitive3D
- IfcCurve
- IfcDirection
- IfcFaceBasedSurfaceModel
- IfcFillAreaStyleHatching
- IfcFillAreaStyleTiles
- IfcGeometricSet
- IfcHalfSpaceSolid
- IfcLightSource
- IfcPlanarExtent
- IfcPoint
- IfcSectionedSpine
- IfcSegment
- IfcShellBasedSurfaceModel
- IfcSolidModel
- IfcSurface
- IfcTessellatedItem
- IfcTextLiteral
- IfcVector
8.9.3.3.3 Attributes
# | Attribute | Type | Description |
---|---|---|---|
IfcRepresentationItem (2) | |||
IfcPlacement (2) | |||
Click to show 4 hidden inherited attributes Click to hide 4 inherited attributes | |||
IfcAxis2Placement3D (3) | |||
2 | Axis | OPTIONAL IfcDirection |
The exact direction of the local Z Axis. |
3 | RefDirection | OPTIONAL IfcDirection |
The direction used to determine the direction of the local X Axis. If necessary an adjustment is made to maintain orthogonality to the Axis direction. If Axis and/or RefDirection is omitted, these directions are taken from the geometric coordinate system. |
* | P | LIST [3:3] OF IfcDirection |
This attribute is formally derived.
The normalized directions of the placement X Axis (P[1]) and the placement Y Axis (P[2]) and the placement Z Axis (P[3]). |
8.9.3.3.4 Formal propositions
Name | Description |
---|---|
AxisAndRefDirProvision |
Either both, Axis and RefDirection are not given and therefore defaulted, or both shall be given. |
|
|
AxisIs3D |
The Axis when given should only reference a three-dimensional IfcDirection. |
|
|
AxisToRefDirPosition |
The Axis and RefDirection shall not be parallel or anti-parallel. |
|
|
LocationIs3D |
The dimensionality of the placement location shall be 3. |
|
|
LocationIsCP |
No description available. |
|
|
RefDirIs3D |
The RefDirection when given should only reference a three-dimensional IfcDirection. |
|
8.9.3.3.5 Formal representation
ENTITY IfcAxis2Placement3D SUBTYPE OF (IfcPlacement); Axis : OPTIONAL IfcDirection; RefDirection : OPTIONAL IfcDirection; DERIVE P : LIST [3:3] OF IfcDirection := IfcBuildAxes(Axis, RefDirection); WHERE AxisAndRefDirProvision : NOT ((EXISTS (Axis)) XOR (EXISTS (RefDirection))); AxisIs3D : (NOT (EXISTS (Axis))) OR (Axis.Dim = 3); AxisToRefDirPosition : (NOT (EXISTS (Axis))) OR (NOT (EXISTS (RefDirection))) OR (IfcCrossProduct(Axis,RefDirection).Magnitude > 0.0); LocationIs3D : SELF\IfcPlacement.Location.Dim = 3; LocationIsCP : 'IFC4X3_DEV_738df036.IFCCARTESIANPOINT' IN TYPEOF(SELF\IfcPlacement.Location); RefDirIs3D : (NOT (EXISTS (RefDirection))) OR (RefDirection.Dim = 3); END_ENTITY;