8.9.3.3 IfcAxis2Placement3D
8.9.3.3.1 Semantic definition
The IfcAxis2Placement3D provides location and orientations to place items in a threedimensional 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] (xaxis) as [1.,0.,0.], P[2] (yaxis) as [0.,1.,0.] and P[3] (zaxis) as [0.,0.,1.].
Figure 8.9.3.3.A illustrates the definition of the IfcAxis2Placement3D within the threedimensional 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)  
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. 

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. 

IfcPlacement (2)  
1  Location  IfcPoint 
The geometric position of a reference point, such as the center of a circle, of the item to be located. 
*  Dim  IfcDimensionCount 
This attribute is formally derived.
The space dimensionality of this class, derived from the dimensionality of the location. 
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 threedimensional IfcDirection. 


AxisToRefDirPosition 
The Axis and RefDirection shall not be parallel or antiparallel. 


LocationIs3D 
The dimensionality of the placement location shall be 3. 


LocationIsCP 
No description available. 


RefDirIs3D 
The RefDirection when given should only reference a threedimensional 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_20bdb3d.IFCCARTESIANPOINT' IN TYPEOF(SELF\IfcPlacement.Location);
RefDirIs3D : (NOT (EXISTS (RefDirection))) OR (RefDirection.Dim = 3);
END_ENTITY;