8.9.3.3 IfcAxis2Placement3D
 Einfügepunkt mit zwei Achsen  dreidimensionaler Raum (3D) 
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 314 illustrates the definition of the
IfcAxis2Placement3D within the threedimensional
coordinate system.

Figure 314 — 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.
XSD Specification:
<xs:element name="IfcAxis2Placement3D" type="ifc:IfcAxis2Placement3D" substitutionGroup="ifc:IfcPlacement" nillable="true"/>
<xs:complexType name="IfcAxis2Placement3D">
<xs:complexContent>
<xs:extension base="ifc:IfcPlacement">
<xs:sequence>
<xs:element name="Axis" type="ifc:IfcDirection" nillable="true" minOccurs="0"/>
<xs:element name="RefDirection" type="ifc:IfcDirection" nillable="true" minOccurs="0"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
EXPRESS Specification:
ENTITY IfcAxis2Placement3D


P  :  LIST [3:3] OF IfcDirection := IfcBuildAxes(Axis, RefDirection); 


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))); 

EXPRESSG diagram
Attribute Definitions:
Axis  :  The exact direction of the local Z Axis. 
RefDirection  :  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  :  The normalized directions of the placement X Axis (P[1]) and the placement Y Axis (P[2]) and the placement Z Axis (P[3]). 
Formal Propositions:
LocationIs3D  :  The dimensionality of the placement location shall be 3. 
AxisIs3D  :  The Axis when given should only reference a threedimensional IfcDirection. 
RefDirIs3D  :  The RefDirection when given should only reference a threedimensional IfcDirection. 
AxisToRefDirPosition  : 
The Axis and RefDirection shall not be parallel or antiparallel.

AxisAndRefDirProvision  : 
Either both, Axis and RefDirection are not given and therefore defaulted, or both shall be given.

Inheritance Graph:
ENTITY IfcAxis2Placement3D


P  :  LIST [3:3] OF IfcDirection := IfcBuildAxes(Axis, RefDirection); 

Link to this page