8.9.3.3 IfcAxis2Placement3D(三维轴定位)
8.9.3.3.1 语义定义(Semantic definition)
IfcAxis2Placement3D 提供了在三维空间中定位和定向项目的位置和方向。属性 Axis 定义了 Z 方向,RefDirection 定义了 X 方向。Y 方向是派生得出的。
如果未给出 Axis 和 RefDirection 的属性值,则放置默认为 P[1](x 轴)为 [1.,0.,0.],P[2](y 轴)为 [0.,1.,0.],P[3](z 轴)为 [0.,0.,1.]。

图 8.9.3.3.A 说明了 IfcAxis2Placement3D 在三维坐标系中的定义。
8.9.3.3.2 实体继承(Entity inheritance)
-
- IfcPlacement
- IfcAnnotationFillArea
- IfcBooleanResult
- IfcBoundingBox
- IfcCartesianPointList
- IfcCartesianTransformationOperator
- IfcCsgPrimitive3D
- IfcCurve
- IfcDirection
- IfcFaceBasedSurfaceModel
- IfcFillAreaStyleHatching
- IfcFillAreaStyleTiles
- IfcGeometricSet
- IfcHalfSpaceSolid
- IfcLightSource
- IfcPlanarExtent
- IfcPoint
- IfcSectionedSpine
- IfcSegment
- IfcShellBasedSurfaceModel
- IfcSolidModel
- IfcSurface
- IfcTessellatedItem
- IfcTextLiteral
- IfcVector
8.9.3.3.3 特性(Attributes)
| # | 特性(Attributes) | 类型 | 描述 |
|---|---|---|---|
| IfcRepresentationItem (2) | |||
| LayerAssignment | SET [0:1] OF IfcPresentationLayerAssignment FOR AssignedItems |
将表示项分配给单个或多个层。LayerAssignments 可以覆盖其所在的 IfcRepresentation 的 Items 列表中的 LayerAssignments。 |
|
| StyledByItem | SET [0:1] OF IfcStyledItem FOR Item |
引用为表示提供表现信息的 IfcStyledItem,例如,为几何曲线提供曲线样式,包括颜色和厚度。 |
|
| IfcPlacement (2) | |||
| 1 | Location | IfcPoint |
参考点(如圆心)的几何位置,用于确定待定位项目的位置。 |
| * | Dim | IfcDimensionCount |
此属性是形式化派生的
该类的空间维度,由位置坐标的维度推导得出。 |
| 点击显示 4 个隐藏的继承特性 点击隐藏 4 个继承特性 | |||
| IfcAxis2Placement3D (3) | |||
| 2 | Axis | OPTIONAL IfcDirection |
局部 Z 轴的确切方向。 |
| 3 | RefDirection | OPTIONAL IfcDirection |
用于确定局部 X 轴方向的方向。如有必要,会进行调整以保持与轴方向的正交性。如果省略了 Axis 和/或 RefDirection,则这些方向取自几何坐标系。 |
| * | P | LIST [3:3] OF IfcDirection |
此属性是形式化派生的
放置 X 轴(P[1])、放置 Y 轴(P[2])和放置 Z 轴(P[3])的归一化方向。 |
8.9.3.3.4 形式化命题(Formal propositions)
| 名称 | 描述 |
|---|---|
| AxisAndRefDirProvision |
要么 Axis 和 RefDirection 都未给出并因此默认为默认值,要么两者都应给出。 |
|
|
| AxisIs3D |
如果给出了 Axis,应仅引用三维 IfcDirection。 |
|
|
| AxisToRefDirPosition |
Axis 和 RefDirection 不应平行或反平行。 |
|
|
| LocationIs3D |
放置位置的维度应为 3。 |
|
|
| LocationIsCP |
无可用描述 |
|
|
| RefDirIs3D |
如果给出了 RefDirection,应仅引用三维 IfcDirection。 |
|
|
8.9.3.3.5 形式化表示(Formal representation)
ENTITY IfcAxis2Placement3D
SUBTYPE OF (IfcPlacement);
Axis : OPTIONAL IfcDirection;
RefDirection : OPTIONAL IfcDirection;
DERIVE
P : LIST [3:3] OF IfcDirection := IfcBuildAxes(Axis, RefDirection);
WHERE
AxisAndRefDirProvision : NOT ((EXISTS (Axis)) XOR (EXISTS (RefDirection)));
AxisIs3D : (NOT (EXISTS (Axis))) OR (Axis.Dim = 3);
AxisToRefDirPosition : (NOT (EXISTS (Axis))) OR (NOT (EXISTS (RefDirection))) OR (IfcCrossProduct(Axis,RefDirection).Magnitude > 0.0);
LocationIs3D : SELF\IfcPlacement.Location.Dim = 3;
LocationIsCP : 'IFC4X3_DEV_62887e3f.IFCCARTESIANPOINT' IN TYPEOF(SELF\IfcPlacement.Location);
RefDirIs3D : (NOT (EXISTS (RefDirection))) OR (RefDirection.Dim = 3);
END_ENTITY;