IFC 4.3.2.20251031 (IFC4X3_ADD2) under development

8.7.3.12 IfcGridPlacement(网格定位)

8.7.3.12.1 语义定义(Semantic definition)

IFC4.3.0.0 变更说明 在IFC 4.3中,_PlacementRelTo_属性已从IfcLocalPlacement移至其超类型IfcObjectPlacement(也是本实体的超类型)。这意味着为了实现正确的全局定位,IfcGridPlacement将通过IfcObjectPlacement.PlacementRelTo引用(a) IfcGrid的ObjectPlacement,并通过IfcVirtualGridIntersection引用(b)同一网格中包含的一对IfcGridAxis

_IfcGridPlacement_对_IfcObjectPlacement_进行了特殊化定义,其中对象坐标系的位置和轴向通过引用_IfcGrid_中定义的设计网格来确定。

对象坐标系的位置由属性_PlacementLocation_给出。它被定义为_IfcVirtualGridIntersection_,即两个网格轴之间的交点(可含偏移量)。

对象坐标系x轴的轴向通过以下方式确定:

  • PlacementRefDirection = 空值:通过第一个网格轴(PlacementLocation.IntersectingAxes[1])在虚拟交点处的切线方向确定(若提供了_PlacementLocation.OffsetDistances_,则可能使用偏移曲线);
  • PlacementRefDirection = IfcDirection:通过显式提供的方向信息确定;
  • PlacementRefDirection = IfcVirtualGridIntersection:通过_PlacementLocation_的虚拟网格交点与_PlacementRefDirection_的虚拟网格交点之间的切线方向确定。必须考虑_PlacementLocation_和_PlacementRefDirection_的_IfcVirtualGridIntersection_中可能提供的偏移量。

_IfcGridPlacement_的y轴方向为x轴的正交补向量。由x轴和y轴定义的平面应与_IfcGrid_局部定位的xy平面共面。

z轴方向为x轴与y轴叉积的方向,即_IfcGridPlacement_的z轴应与_IfcGrid_局部定位的z轴共线。

以下图示展示了_IfcGridPlacement_中定位点和方向的使用方法。

无参考方向
图1 — 网格定位

图1展示了PlacementRefDirection提供的情况——对象坐标系由以下要素定义:

  • 位置:由PlacementLocation的虚拟网格交点确定
  • x轴方向:由虚拟网格交点偏移位置处第一条相交轴的切线方向确定
含参考方向
图2 — 带方向的网格定位

图2展示了PlacementRefDirectionIfcDirection形式提供的情况——对象坐标系由以下要素定义:

  • 位置:由PlacementLocation的虚拟网格交点确定
  • x轴方向:由IfcDirectionDirectionRatios确定,仅考虑x和y方向的比率
含参考方向
图3 — 带交点的网格定位

图3展示了PlacementRefDirectionIfcVirtualGridIntersection形式提供的情况——对象坐标系由以下要素定义:

  • 位置:由PlacementLocation的虚拟网格交点确定
  • x轴方向:由PlacementLocation的虚拟网格交点与PlacementRefDirection的虚拟网格交点之间的连线切线方向确定

8.7.3.12.2 实体继承(Entity inheritance)

8.7.3.12.3 特性(Attributes)

# 特性(Attributes) 类型 描述
IfcObjectPlacement (3)
1 PlacementRelTo OPTIONAL IfcObjectPlacement

引用提供相对定位的对象定位,其定位可在网格、局部坐标系或线性参照定位中。如果省略,在线性定位情况下,将由引用的 IfcAlignment 轴的水平对齐原点确定;在局部定位情况下,将由几何表示上下文确定。

PlacesObject SET [0:?] OF IfcProduct FOR ObjectPlacement

IfcObjectPlacement 应用于为 IfcProduct 实例提供定位和对象坐标系。

If an IfcObjectPlacement is shared by many instances of IfcProduct it does not apply a semantic meaning of being a shared placement that needs to be maintained. The same instance of IfcObjectPlacement could simply be used to reduce exchange file size.

ReferencedByPlacements SET [0:?] OF IfcObjectPlacement FOR PlacementRelTo

无可用描述

点击显示 3 个隐藏的继承特性 点击隐藏 3 个继承特性
IfcGridPlacement (2)
2 PlacementLocation IfcVirtualGridIntersection

通过两个网格轴交点定义的对象坐标系位置。

3 PlacementRefDirection OPTIONAL IfcGridPlacementDirectionSelect

引用显式方向或第二个网格轴交点,用于定义网格定位的方向。

表 8.7.3.12.B

8.7.3.12.4 形式化表示(Formal representation)

ENTITY IfcGridPlacement
 SUBTYPE OF (IfcObjectPlacement);
	PlacementLocation : IfcVirtualGridIntersection;
	PlacementRefDirection : OPTIONAL IfcGridPlacementDirectionSelect;
END_ENTITY;

8.7.3.12.5 参考文献