8.8.3.1 IfcAdvancedBrep(高级边界表示)
8.8.3.1.1 语义定义(Semantic definition)
高级边界表示是一种边界表示模型,其中所有面、边和顶点都被显式表示。它是一个具有显式拓扑和基本或自由形式几何的实体。该边界表示的面类型为 IfcAdvancedFace。高级边界表示必须满足与流形实体边界表示相同的拓扑约束。

图1展示了使用IfcAdvancedBrep表示具有B样条曲面的边界表示模型。该图显示了基于IfcAdvancedFace的高级边界表示所使用的拓扑和几何表示项。

图2展示了使用IfcAdvancedBrep表示具有基本曲面的边界表示模型。该图显示了基于IfcAdvancedFace的高级边界表示所使用的拓扑和几何表示项。它展示了使用IfcIntersectionCurve来提供边曲线的几何表示,既作为3D曲线,也作为相邻曲面参数空间中的u,v参数曲线。
非正式命题
- 每个面都是一个面曲面;
- 每个面曲面的几何由基本曲面、扫描曲面或B样条曲面定义;
- 用于定义面边界的边都应引用边曲线;
- 用于定义面和面边界几何的每条曲线应为圆锥曲线、直线、折线或B样条曲线;
- 用于定义面边界的边都应通过顶点点类型的顶点进行裁剪;
- 用于定义面边界的环不应是定向子类型。
8.8.3.1.2 实体继承(Entity inheritance)
-
- IfcSolidModel
- IfcAnnotationFillArea
- IfcBooleanResult
- IfcBoundingBox
- IfcCartesianPointList
- IfcCartesianTransformationOperator
- IfcCsgPrimitive3D
- IfcCurve
- IfcDirection
- IfcFaceBasedSurfaceModel
- IfcFillAreaStyleHatching
- IfcFillAreaStyleTiles
- IfcGeometricSet
- IfcHalfSpaceSolid
- IfcLightSource
- IfcPlacement
- IfcPlanarExtent
- IfcPoint
- IfcSectionedSpine
- IfcSegment
- IfcShellBasedSurfaceModel
- IfcSurface
- IfcTessellatedItem
- IfcTextLiteral
- IfcVector
8.8.3.1.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,例如,为几何曲线提供曲线样式,包括颜色和厚度。 |
|
| IfcSolidModel (1) | |||
| * | Dim | IfcDimensionCount |
此属性是形式化派生的
本类的空间维度,恒为3。 |
| 点击显示 3 个隐藏的继承特性 点击隐藏 3 个继承特性 | |||
| IfcManifoldSolidBrep (1) | |||
| 1 | Outer | IfcClosedShell |
定义实体外部边界的闭合壳。壳法线应指向实体内部的外部。 |
8.8.3.1.4 形式化命题(Formal propositions)
| 名称 | 描述 |
|---|---|
| HasAdvancedFaces |
高级边界表示的每个面都应为 IfcAdvancedFace 类型。 |
|
|
8.8.3.1.5 形式化表示(Formal representation)
ENTITY IfcAdvancedBrep
SUPERTYPE OF (ONEOF
(IfcAdvancedBrepWithVoids))
SUBTYPE OF (IfcManifoldSolidBrep);
WHERE
HasAdvancedFaces : SIZEOF(QUERY(Afs <* SELF\IfcManifoldSolidBrep.Outer.CfsFaces |
(NOT ('IFC4X3_DEV_62887e3f.IFCADVANCEDFACE' IN TYPEOF(Afs)))
)) = 0;
END_ENTITY;