IFC 4.3.2.20251031 (IFC4X3_ADD2) under development

8.8.3.28 IfcPolygonalFaceSet(多边形面集)

RV ⓘ
AbV ⓘ

8.8.3.28.1 语义定义(Semantic definition)

IfcPolygonalFaceSet 是一种细分面集,其中所有面均由多边形界定。这些平面面由三个或更多笛卡尔点定义的隐式折线构成。每个平面面由 IfcIndexedPolygonalFace 的实例定义,对于具有内环的面,则由 IfcIndexedPolygonalFaceWithVoids 定义。

根据继承属性 Closed 的值,IfcPolygonalFaceSet 的实例表示:

  • 如果为 TRUE,表示边界表示(或 B-rep);
  • 如果为 FALSE,表示基于面的曲面表示。

属性 Faces 引用一个 IfcIndexedPolygonalFace 列表,这些面具有基于一的 CoordIndex,提供三个或更多索引。如果面具有内环,则 IfcIndexedPolygonalFaceWithVoids 具有一个二维的、基于一的列表,其中: * 二维列表的第一维处理内环列表; * 二维列表的第二维提供三个或更多索引,每个索引是表示内环的平面多边形的一个顶点。

根据 PnIndex 的提供情况,索引要么直接指向在超类型 IfcTessellatedFaceSet 中定义的 Coordinates 所引用的 IfcCartesianPointList3D,要么指向 PnIndex,其中该位置的整数值提供 IfcCartesianPointList3D 内坐标值的位置。有关点索引的处理,请参见图 8.8.3.28.A。

PnIndex
图 8.8.3.28.A — _PnIndex_ 的使用

注意 如果 IfcPolygonalFaceSet 是封闭的,则从封闭壳的外部观察时,IfcIndexedPolygonalFace 的面顶点应按逆时针方向连接,以确保面法线指向壳材料的外部。由 IfcIndexedPolygonalFaceWithVoids 提供的内环应按顺时针方向连接。

IfcFacetedFaceSet_Example-01
图 8.8.3.28.B — 多边形面集几何

图 8.8.3.28.B 展示了一个由以下内容表示的 IfcPolygonalFaceSet

#1 IfcIndexedPolygonalFace: ((1, 2, 6, 5)
#2 IfcIndexedPolygonalFace: ((6, 2, 3, 7)
#3 IfcIndexedPolygonalFace: ((7, 3, 4, 8)
#4 IfcIndexedPolygonalFace: ((8, 4, 1, 5)
#5 IfcIndexedPolygonalFace: ((1, 4, 3, 2)
#6 IfcIndexedPolygonalFace: ((6, 7, 8, 5)
#7 IfcCartesianPointList3D:
((0.,0.,0.), (1.,0.,0.), (1.,1.,0.), (0.,1.,0.), (0.,0.,2.), (1.,0.,2.), (1.,1.,2.), (0.,1.,2.))

注意 IfcPolygonalFaceSet 的定义基于 ISO/IEC 19775-1 中定义的 indexedFaceSet

非正式命题

  1. 如果 Closed = TRUE,则应满足与面边界表示相同的拓扑约束。特别是:
  2. 每个面应是唯一的;
  3. 每条边应恰好被面的两个外边界或内边界使用;
  4. 多边形面集边界上每个点的拓扑法线应指向实体材料的外部。

8.8.3.28.2 实体继承(Entity inheritance)

8.8.3.28.3 特性(Attributes)

# 特性(Attributes) 类型 描述
IfcRepresentationItem (2)
LayerAssignment SET [0:1] OF IfcPresentationLayerAssignment FOR AssignedItems

将表示项分配给单个或多个层。LayerAssignments 可以覆盖其所在的 IfcRepresentationItems 列表中的 LayerAssignments

StyledByItem SET [0:1] OF IfcStyledItem FOR Item

引用为表示提供表现信息的 IfcStyledItem,例如,为几何曲线提供曲线样式,包括颜色和厚度。

IfcTessellatedFaceSet (4)
1 Coordinates IfcCartesianPointList3D

IfcTessellatedFaceSet 的子类型中定义的坐标索引使用的有序笛卡尔点列表。

HasColours SET [0:1] OF IfcIndexedColourMap FOR MappedTo

引用索引颜色映射,为 IfcTessellatedFaceSet 子类型的面提供相应的颜色 RGB 值。

HasTextures SET [0:?] OF IfcIndexedTextureMap FOR MappedTo

引用索引纹理映射,为 IfcTessellatedFaceSet 子类型的面边界顶点提供相应的纹理坐标。

* Dim IfcDimensionCount

此属性是形式化派生的

3

此几何表示项的空间维度,始终为 3。

点击显示 6 个隐藏的继承特性 点击隐藏 6 个继承特性
IfcPolygonalFaceSet (3)
2 Closed OPTIONAL IfcBoolean

指示面集是封闭壳(TRUE)还是开放壳(FALSE)。如果省略,则无法断言此类信息。

3 Faces LIST [1:?] OF UNIQUE IfcIndexedPolygonalFace

多边形面的列表,带有或不带内环,用于界定细分面集。

4 PnIndex OPTIONAL LIST [1:?] OF IfcPositiveInteger

整数列表,定义 IfcCartesianPointList3D 中的位置,以获取索引多边形面中索引的点坐标。如果未提供 PnIndex,则索引多边形面中的索引直接指向 IfcCartesianPointList3D

表 8.8.3.28.C

8.8.3.28.4 形式化表示(Formal representation)

ENTITY IfcPolygonalFaceSet
 SUBTYPE OF (IfcTessellatedFaceSet);
	Closed : OPTIONAL IfcBoolean;
	Faces : LIST [1:?] OF UNIQUE IfcIndexedPolygonalFace;
	PnIndex : OPTIONAL LIST [1:?] OF IfcPositiveInteger;
END_ENTITY;

8.8.3.28.5 参考文献