IfcAxis2Placement3D

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

RuleDescription
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

#AttributeTypeCardinalityDescriptionC
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;
原文地址:https://www.cnblogs.com/herd/p/13423259.html