additions  where_rules  AxisAndRefDirProvision 
additions  where_rules  AxisIs3D 
additions  where_rules  AxisToRefDirPosition 
additions  where_rules  LocationIs3D 
additions  where_rules  RefDirIs3D 
deletions  where_rules  WR1 
deletions  where_rules  WR2 
deletions  where_rules  WR3 
deletions  where_rules  WR4 
deletions  where_rules  WR5 
additions  where_rules  LocationIsCP 
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.
NOTE The RefDirection does not have to be orthogonal to Axis.
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 1 illustrates the definition of the IfcAxis2Placement3D within the threedimensional coordinate system. 

Figure 1 — Axis2 placement 3D 
NOTE Definition according to ISO/CD 1030342:1992
The location and orientation in three dimensional space of three mutually perpendicular axes. An axis2_placement_3D is defined in terms of a point (inherited from placement supertype) and two (ideally orthogonal) axes. It can be used to locate and orientate a non axisymmetric object in space and to define a placement coordinate system. The entity includes a point which forms the origin of the placement coordinate system. Two direction vectors are required to complete the definition of the placement coordinate system. The axis is the placement Z axis direction and the ref_direction is an approximation to the placement X axis direction.NOTE Entity adapted from axis2_placement_3d defined in ISO1030342.
HISTORY New entity in IFC1.5.
#  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  
IfcPlacement  
1  Location  IfcPoint  The geometric position of a reference point, such as the center of a circle, of the item to be located. 
Dim  INVALID  The space dimensionality of this class, derived from the dimensionality of the location.  
IfcAxis2Placement3D  
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  INVALID  The normalized directions of the placement X Axis (P[1]) and the placement Y Axis (P[2]) and the placement Z Axis (P[3]). 
ENTITY IfcAxis2Placement3D SUBTYPE OF (IfcPlacement); Axis : OPTIONAL IfcDirection; RefDirection : OPTIONAL IfcDirection; DERIVE P : LIST [3:3] OF IfcDirection := IfcBuildAxes(Axis, RefDirection); WHERE LocationIs3D : SELF\IfcPlacement.Location.Dim = 3; AxisIs3D : (NOT (EXISTS (Axis))) OR (Axis.Dim = 3); RefDirIs3D : (NOT (EXISTS (RefDirection))) OR (RefDirection.Dim = 3); AxisToRefDirPosition : (NOT (EXISTS (Axis))) OR (NOT (EXISTS (RefDirection))) OR (IfcCrossProduct(Axis,RefDirection).Magnitude > 0.0); AxisAndRefDirProvision : NOT ((EXISTS (Axis)) XOR (EXISTS (RefDirection))); LocationIsCP : 'IFC4X3_DEV_a1492713.IFCCARTESIANPOINT' IN TYPEOF(SELF\IfcPlacement.Location); END_ENTITY;