IfcAxis2Placement3D

Natural language names
Semantic definitions at the entity
Entity definition

Definition from 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 originate an object in three dimensional 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.

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.]. 

NOTE  Corresponding STEP name: axis2_placement_3d, please refer to ISO/IS 10303-42:1994 for the final definition of the formal standard. The WR5 is added to ensure that either both attributes Axis and RefDirection are given, or both are omitted.

HISTORY  New entity in IFC Release 1.5.

Illustration

axis2 placement 2D Definition of the IfcAxis2Placement3D within the three-dimensional coordinate system.
Attribute definitions
#AttributeTypeCardinalityDescription A
2AxisIfcDirection[0:1] The exact direction of the local Z Axis.X
3RefDirectionIfcDirection[0:1] 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.X
P
:=IfcBuildAxes(Axis, RefDirection)
IfcDirectionL[3:3]The normalized directions of the placement X Axis (P[1]) and the placement Y Axis (P[2]) and the placement Z Axis (P[3]). X
Formal Propositions
RuleDescription
WR1The dimensionality of the placement location shall be 3.
WR2The Axis when given should only reference a three-dimensional IfcDirection.
WR3The RefDirection when given should only reference a three-dimensional IfcDirection.
WR4The Axis and RefDirection shall not be parallel or anti-parallel.
WR5Either both (Axis and RefDirection) are not given and therefore defaulted, or both shall be given. This is a further constraint in IFC Release 1.5.
Inherited definitions from supertypes
Entity inheritance IfcPlacement IfcGeometricRepresentationItem IfcRepresentationItem
Attribute inheritance
#AttributeTypeCardinalityDescriptionA
IfcRepresentationItem
IfcGeometricRepresentationItem
IfcPlacement
1LocationIfcCartesianPoint[1:1] The geometric position of a reference point, such as the center of a circle, of the item to be located.X
Dim
:=Location.Dim
IfcDimensionCount[1:1]The space dimensionality of this class, derived from the dimensionality of the location. X
IfcAxis2Placement3D
2AxisIfcDirection[0:1] The exact direction of the local Z Axis.X
3RefDirectionIfcDirection[0:1] 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.X
P
:=IfcBuildAxes(Axis, RefDirection)
IfcDirectionL[3:3]The normalized directions of the placement X Axis (P[1]) and the placement Y Axis (P[2]) and the placement Z Axis (P[3]). X
Formal representations
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
 SUBTYPE OF (IfcPlacement);
  Axis : OPTIONAL IfcDirection;
  RefDirection : OPTIONAL IfcDirection;
 DERIVE
  P : LIST [3:3] OF IfcDirection := IfcBuildAxes(Axis, RefDirection);
 WHERE
  WR1 : SELF\IfcPlacement.Location.Dim = 3;
  WR2 : (NOT (EXISTS (Axis))) OR (Axis.Dim = 3);
  WR3 : (NOT (EXISTS (RefDirection))) OR (RefDirection.Dim = 3);
  WR4 : (NOT (EXISTS (Axis))) OR (NOT (EXISTS (RefDirection))) OR (IfcCrossProduct(Axis,RefDirection).Magnitude > 0.0);
  WR5 : NOT ((EXISTS (Axis)) XOR (EXISTS (RefDirection)));
END_ENTITY;

Link to EXPRESS-G diagram EXPRESS-G diagram

Link to this page  Link to this page