Einfügepunkt mit zwei Achsen - dreidimensionaler Raum (3D) | |
Axis2 Placement3 D |
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.].
Figure 338 illustrates the definition of the IfcAxis2Placement3D within the three-dimensional coordinate system. |
|
Figure 338 — 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.
# | Attribute | Type | Cardinality | Description | C |
---|---|---|---|---|---|
2 | Axis | IfcDirection | [0:1] | The exact direction of the local Z Axis. | X |
3 | RefDirection | IfcDirection | [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) | IfcDirection | L[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 |
Rule | Description |
---|---|
LocationIs3D | The dimensionality of the placement location shall be 3. |
AxisIs3D | The Axis when given should only reference a three-dimensional IfcDirection. |
RefDirIs3D | The RefDirection when given should only reference a three-dimensional IfcDirection. |
AxisToRefDirPosition | The Axis and RefDirection shall not be parallel or anti-parallel. |
AxisAndRefDirProvision | Either both, Axis and RefDirection are not given and therefore defaulted, or both shall be given. |
# | Attribute | Type | Cardinality | Description | C |
---|---|---|---|---|---|
IfcRepresentationItem | |||||
LayerAssignment | IfcPresentationLayerAssignment @AssignedItems | S[0:1] | 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. | X | |
StyledByItem | IfcStyledItem @Item | S[0:1] | Reference to the IfcStyledItem that provides presentation information to the representation, e.g. a curve style, including colour and thickness to a geometric curve. | X | |
IfcGeometricRepresentationItem | |||||
IfcPlacement | |||||
1 | Location | IfcCartesianPoint | [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 | |||||
2 | Axis | IfcDirection | [0:1] | The exact direction of the local Z Axis. | X |
3 | RefDirection | IfcDirection | [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) | IfcDirection | L[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 |
<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>
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)));
END_ENTITY;