IFC 4.3.2.20251031 (IFC4X3_ADD2) under development

8.20.3.15 IfcPolyLoop(多段环)

8.20.3.15.1 语义定义(Semantic definition)

注意 根据 ISO/CD 10303-42:1992 的定义 多段环是由直边构成的环,用于界定空间中的平面区域。多段环是一种亏格为1的环,通过按顺序排列的共面点集合表示环的顶点。环由连接集合中某一点与其后续点的直线段组成。闭合段是从集合中最后一个点连接到第一个点。环的方向与线段方向一致。

多段环应符合以下拓扑约束: * 环的亏格为1 * 应满足以下方程 Image
Figure 8.20.3.15.A

IfcPolyLoop 始终是闭合的,最后一段是从 Polygon 列表中的最后一个 IfcCartesianPoint 连接到第一个 IfcCartesianPoint。因此第一个点不应在列表末尾重复,既不能引用相同的实例,也不能使用具有与第一个点相同坐标的额外 IfcCartesianPoint 实例。

注意 该实体主要用于促进面化边界表示模型的高效通信。

注意 实体改编自 ISO 10303-42 中定义的 poly_loop

非正式命题

  1. 定义多段环的多边形中的所有点应共面。
  2. 第一个和最后一个 Polygon 在数值上应不同。

8.20.3.15.2 实体继承(Entity inheritance)

8.20.3.15.3 特性(Attributes)

# 特性(Attributes) 类型 描述
IfcRepresentationItem (2)
点击显示 2 个隐藏的继承特性 点击隐藏 2 个继承特性
IfcPolyLoop (1)
表 8.20.3.15.B

8.20.3.15.4 形式化命题(Formal propositions)

名称 描述
AllPointsSameDim

所有点的空间维度应相同。

SIZEOF(QUERY(Temp <* Polygon | Temp.Dim <> Polygon[1].Dim)) = 0
表 8.20.3.15.C

8.20.3.15.5 形式化表示(Formal representation)

ENTITY IfcPolyLoop
 SUBTYPE OF (IfcLoop);
	Polygon : LIST [3:?] OF UNIQUE IfcCartesianPoint;
 WHERE
	AllPointsSameDim : SIZEOF(QUERY(Temp <* Polygon | Temp.Dim <> Polygon[1].Dim)) = 0;
END_ENTITY;

8.20.3.15.6 参考文献