8.8.3.27 IfcPolygonalBoundedHalfSpace(多边形边界半空间)
8.8.3.27.1 语义定义(Semantic definition)
多边形边界半空间是半空间实体的特殊子类型,在布尔表达式中使用的半空间材料由二维边界限定。半空间的基础表面通过其法线相对于对象坐标系定位(如超类型 IfcHalfSpaceSolid 中所定义),其边界(包含直线段和圆弧段)在由 Position 属性建立的位置坐标系的 XY 平面内定义,减去体垂直于位置坐标系的 XY 平面拉伸,即沿着由 Position 属性定义的正 Z 轴方向。
边界由位置坐标系 XY 平面内的二维折线(或二维复合曲线,由直线段和圆弧段组成,或索引折线)定义。位于半空间内的表面侧由表面法线和一致标志确定。如果一致标志为 TRUE,则子集是法线指向远离的一侧。如果一致标志为 FALSE,则子集是法线指向进入的一侧。
注意 多边形边界半空间不是 IfcSolidModel 的子类型,半空间实体仅作为布尔表达式中的操作数有用。术语 IfcPolygonalBoundedHalfSpace 是在仅允许类型为 IfcPolyline 的曲线作为边界定义时创造的。
图 8.8.3.27.A 展示了多边形边界半空间。

- 黑色坐标表示对象坐标系(通常由 IfcLocalPlacement 提供)。
- 绿色坐标表示位置坐标系;PolygonalBoundary 在此坐标系内给出。它由 IfcPolygonalBoundedHalfSpace.Position 提供。此坐标系相对于对象坐标系。减去体的拉伸方向是正 Z 轴。
- 红色坐标表示平面的法线。它由 BaseSurface(IfcSurface.Position)提供。此法线也相对于对象坐标系。
多边形边界半空间用于限制布尔差表达式中半空间的体积。仅由半空间实体与通过拉伸多边形边界定义的拉伸区域实体之间的理论交集定义的部分用于布尔表达式。
PolygonalBoundary 定义了在布尔表达式中限定半空间有效性的二维折线。BaseSurface 由平面定义,平面的法线与 AgreementFlag 共同定义了半空间材料的一侧。
非正式命题
- 提供 PolygonalBoundary 的 IfcPolyline 或 IfcCompositeCurve 应为闭合的。
- 如果 PolygonalBoundary 由 IfcCompositeCurve 给出,它应仅包含类型为 IfcPolyline 的 IfcCompositeCurveSegment,或 IfcTrimmedCurve(具有类型为 IfcLine 或 IfcCircle 的 BasisCurve)
- 在超类型 IfcHalfSpaceSolid 处定义的 BaseSurface 应为 IfcPlane 类型
- 作为 BaseSurface 的平面的法线不应垂直于位置坐标系的 z 轴
8.8.3.27.2 实体继承(Entity inheritance)
-
- IfcHalfSpaceSolid
- IfcAnnotationFillArea
- IfcBooleanResult
- IfcBoundingBox
- IfcCartesianPointList
- IfcCartesianTransformationOperator
- IfcCsgPrimitive3D
- IfcCurve
- IfcDirection
- IfcFaceBasedSurfaceModel
- IfcFillAreaStyleHatching
- IfcFillAreaStyleTiles
- IfcGeometricSet
- IfcLightSource
- IfcPlacement
- IfcPlanarExtent
- IfcPoint
- IfcSectionedSpine
- IfcSegment
- IfcShellBasedSurfaceModel
- IfcSolidModel
- IfcSurface
- IfcTessellatedItem
- IfcTextLiteral
- IfcVector
8.8.3.27.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,例如,为几何曲线提供曲线样式,包括颜色和厚度。 |
|
| IfcHalfSpaceSolid (3) | |||
| 1 | BaseSurface | IfcSurface |
定义半空间边界的表面。 |
| 2 | AgreementFlag | IfcBoolean |
如果BaseSurface的法向量指向IfcHalfSpaceSolid材料的外部,则一致标志为TRUE。否则为FALSE。 |
| * | Dim | IfcDimensionCount |
此属性是形式化派生的
该类的空间维度,始终为3。 |
| 点击显示 5 个隐藏的继承特性 点击隐藏 5 个继承特性 | |||
| IfcPolygonalBoundedHalfSpace (2) | |||
| 3 | Position | IfcAxis2Placement3D |
二维边界的位置坐标系的定义。 |
| 4 | PolygonalBoundary | IfcBoundedCurve |
二维有界曲线,在位置坐标系的 xy 平面内定义。 |
8.8.3.27.4 形式化命题(Formal propositions)
| 名称 | 描述 |
|---|---|
| BoundaryDim |
边界折线应具有二维性。 |
|
|
| BoundaryType |
只有类型为 IfcCompositeCurve、IfcPolyline 和 IfcIndexedPolyCurve 的有界曲线是有效的边界曲线。 |
|
|
8.8.3.27.5 形式化表示(Formal representation)
ENTITY IfcPolygonalBoundedHalfSpace
SUBTYPE OF (IfcHalfSpaceSolid);
Position : IfcAxis2Placement3D;
PolygonalBoundary : IfcBoundedCurve;
WHERE
BoundaryDim : PolygonalBoundary.Dim = 2;
BoundaryType : SIZEOF(TYPEOF(PolygonalBoundary) * [
'IFC4X3_DEV_62887e3f.IFCPOLYLINE',
'IFC4X3_DEV_62887e3f.IFCCOMPOSITECURVE',
'IFC4X3_DEV_62887e3f.IFCINDEXEDPOLYCURVE'
]) = 1;
END_ENTITY;