IfcAxis2Placement3D提供在三维空间中放置项目的位置和方向。属性轴定义Z方向,RefDirection定义X方向。导出Y方向。
注:参照方向不必与轴正交。
如果未给出Axis和RefDirection的属性值,则放置默认为P[1](x轴)为[1,0,0.],P[2](y轴)为[0,1,0.],P[3](z轴)为[0,0,1]。
图说明了三维坐标系中IfcAxis2Placement3D的定义。
注:定义根据ISO/CD 10303-42:1992
三个相互垂直的轴在三维空间中的位置和方向。axis2_placement_3D是根据一个点(继承自placement supertype)和两个(理想的正交)轴定义的。它可以用于空间中非轴对称物体的定位和定向,以及确定放置坐标系。图元包括形成放置坐标系原点的点。需要两个方向向量来完成放置坐标系的定义。轴是放置Z轴的方向,ref_方向是放置X轴方向的近似值。
注:实体改编自ISO10303-42中定义的axis2_placement_3d。
在IFC1.5中增加的新实体。
Formal Propositions
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 inheritance
# | 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 |
EXPRESS Specification
ENTITY IfcAxis2Placement3D
SUBTYPE OF (IfcPlacement);
Axis : OPTIONAL IfcDirection;
RefDirection : OPTIONAL IfcDirection;
DERIVE
P : LIST [3:3] OF IfcDirection := IfcBuildAxes(Axis, RefDirection);
WHERE
LocationIs3D : SELFIfcPlacement.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;