IFC 4.3.x development IfcAxis2Placement3D

Change log




additionswhere_rulesLocationIsCP Semantic definitions at the entity

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[1] (x-axis) as [1.,0.,0.], P[2] (y-axis) as [0.,1.,0.] and P[3] (z-axis) as [0.,0.,1.].

axis2 placement 2D
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. Attributes

# Attribute Type Description
LayerAssignmentSET [0:1] OF IfcPresentationLayerAssignment FOR AssignedItemsAssignment 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[1]) and the placement Y Axis (P[2]) and the placement Z Axis (P[3]). Entity inheritance

dot_inheritance IfcAxis2Placement3D IfcAxis2Placement3D IfcPlacement IfcPlacement IfcAxis2Placement3D->IfcPlacement IfcPlacement_children 3 more... IfcPlacement_children->IfcPlacement IfcGeometricRepresentationItem IfcGeometricRepresentationItem IfcPlacement->IfcGeometricRepresentationItem IfcGeometricRepresentationItem_children 24 more... IfcGeometricRepresentationItem_children->IfcGeometricRepresentationItem IfcRepresentationItem IfcRepresentationItem IfcGeometricRepresentationItem->IfcRepresentationItem IfcRepresentationItem_children 3 more... IfcRepresentationItem_children->IfcRepresentationItem Formal representations

ENTITY IfcAxis2Placement3D
 SUBTYPE OF (IfcPlacement);
	Axis : OPTIONAL IfcDirection;
	RefDirection : OPTIONAL IfcDirection;
	 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)));
	LocationIsCP : 'IFC4X3_DEV_a1492713.IFCCARTESIANPOINT' IN TYPEOF(SELF\IfcPlacement.Location);