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.
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 (x-axis) as [1.,0.,0.], P (y-axis) as [0.,1.,0.] and P (z-axis) as [0.,0.,1.].
Figure 1 illustrates the definition of the IfcAxis2Placement3D within the three-dimensional coordinate system.
Figure 1 — Axis2 placement 3D
NOTE Definition according to ISO/CD 10303-42: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 axi-symmetric 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 ISO10303-42.
HISTORY New entity in IFC1.5.
|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.
|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.|
|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) and the placement Y Axis (P) and the placement Z Axis (P).|
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;