IFC 4.3.2.20260714 (IFC4X3_ADD2) under development

8.18.3.17 IfcShapeRepresentation(形状表示)

RV ⓘ
AbV ⓘ

8.18.3.17.1 语义定义

IfcShapeRepresentation 表示特定几何表示上下文中的产品或其组成部分的特定几何表示。继承特性 RepresentationType 用于定义形状表示所使用的几何模型(例如“SweptSolid”或“Brep”),继承特性 RepresentationIdentifier 用于表示 IfcShapeRepresentation 所捕获的表示类型(例如“Axis”、“Body”等)。

形状表示的多个表示标识符已作为 RepresentationIdentifier 的预定义值包含在内。表1显示了 RepresentationIdentifier 的已定义值列表。

标识符 描述
CoG(重心) 用于标识构件重心的点。该值可用于验证目的。
Box(包围盒) 作为构件简化三维边界框的包围盒
Annotation(注释) 二维或三维注释
Axis(轴线) 构件的二维或三维轴线,或单线表示
FootPrint(足迹) 构件的二维足迹,或双线表示,投影到地面视图
Profile(轮廓) 平面的轮廓三维线表示,例如用于门窗轮廓
Surface(表面) 三维表面表示(构件平面的分析表面)
Reference(参考) 不属于主体表示的三维表示。例如,如果要从隐式布尔操作中排除开口几何体,则使用此表示。
Body(主体) 构件的三维主体表示,例如线框、曲面或实体模型
Body-FallBack(主体备选表示) 构件的三维主体表示,例如镶嵌表面或其他曲面或边界表示,作为实体模型(可能涉及布尔操作)的补充添加
Clearance(净空) 构件的三维净空体积。此类净空区域表示不应与其他构件的“Body”表示相交的空间,但可以与其他构件的“Clearance”表示相交。
Lighting(照明) 在形状表示中将发射光表示为光源
表1 — 表示标识符

形状表示的多个表示类型已作为 RepresentationType 的预定义值包含在内。表2显示了 RepresentationType 的已定义值列表。

类型 描述
Point(点) 二维或三维点。点可以通过点列表表示
PointCloud(点云) 通过点列表表示的三维点。已弃用。请改用“Point”。
Curve(曲线) 二维或三维曲线
Curve2D(二维曲线) 二维曲线
Curve3D(三维曲线) 三维曲线
Surface(表面) 二维或三维曲面
Surface2D(二维表面) 二维曲面(地面视图上的区域)
Surface3D(三维表面) 三维曲面
SectionedSurface(截面曲面) 通过沿准线扫描开放轮廓创建的扫描曲面
FillArea(填充区域) 表示为填充区域(填充图案)的二维区域
Text(文本) 定义为文本字面量的文本
AdvancedSurface(高级曲面) 三维B样条曲面
GeometricSet(几何集) 点、曲线、曲面(二维或三维)
GeometricCurveSet(几何曲线集) 点、曲线(二维或三维)
Annotation2D(二维注释) 点、曲线(二维或三维)、填充图案和文本(二维)
SurfaceModel(曲面模型) 基于面和基于壳的曲面模型,或镶嵌表面模型
Tessellation(镶嵌) 仅镶嵌表面表示
Segment(曲线段) 不应与主曲线分开渲染的曲线部分几何体
SolidModel(实体模型) 包括扫描实体、布尔结果和Brep体;更具体的类型有:
SweptSolid(扫描实体) 扫描面积实体,通过拉伸和旋转创建,不包括锥形扫描
AdvancedSweptSolid(高级扫描实体) 通过沿准线扫描轮廓创建的扫描面积实体,以及锥形扫描
Brep(边界表示) 带或不带空洞的分面Brep
AdvancedBrep(高级边界表示) 基于高级面的Brep,具有B样条曲面几何,带或不带空洞
CSG(构造实体几何) 实体模型、半空间和布尔结果之间操作的布尔结果
Clipping(裁剪) 扫描面积实体、半空间和布尔结果之间的布尔差集
BoundingBox(边界框) 通过边界框表示的简化三维表示
SectionedSpine(截面脊线) 基于脊线和平面横截面的横截面表示。它可以表示曲面或实体,横截面之间的插值未定义
LightSource(光源) 光源,具有(取决于类型)位置、方向、光色、强度和衰减
MappedRepresentation(映射表示) 基于映射项的表示,引用表示映射。注意:可以将其视为插入的块引用。映射项的形状表示具有声明其表示项类型的表示类型。
表2 — 表示类型

8.18.3.17.2 实体继承

8.18.3.17.3 特性

# 特性 类型 描述
IfcRepresentation (7)
1 ContextOfItems IfcRepresentationContext

表示上下文的定义,不同子类型的表示在此上下文中有效。

2 RepresentationIdentifier OPTIONAL IfcLabel

在项目内使用的表示的可选标识符。

3 RepresentationType OPTIONAL IfcLabel

表示上下文类型的描述。表示类型定义了用于表示产品表示的几何或拓扑类型。更多信息在子类型 IfcShapeRepresentationIfcTopologyRepresentation 中给出。 上下文类型支持的值应由实施者协议规定。

4 Items SET [1:?] OF IfcRepresentationItem

为此表示定义的一组几何表示项。

RepresentationMap SET [0:1] OF IfcRepresentationMap FOR MappedRepresentation

IfcRepresentationMap 中使用此表示。如果使用,此 IfcRepresentation 可以作为其 Items 之一,通过 IfcMappedItem 分配给多个表示。使用 IfcRepresentationMap 是多个产品共享一个表示(通常为 IfcShapeRepresentation 类型)的方式。

LayerAssignments SET [0:?] OF IfcPresentationLayerAssignment FOR AssignedItems

将整个表示分配给单个或多个图层。LayerAssignments 可以被 Items 列表中的 IfcRepresentationItemLayerAssigments 覆盖。

OfProductRepresentation SET [0:?] OF IfcProductRepresentation FOR Representations

引用此单独表示所适用的产品表示。在大多数情况下,它引用一个或多个产品形状,此形状表示适用于这些产品形状。

点击显示 7 个隐藏的继承特性 点击隐藏 7 个继承特性
IfcShapeModel (1)
OfShapeAspect SET [0:1] OF IfcShapeAspect FOR ShapeRepresentations

对形状特征的引用,该形状模型即为其形状表示。

表 8.18.3.17.A

8.18.3.17.4 形式化命题

名称 描述
CorrectContext

分配 IfcShapeRepresentation 的上下文应为 IfcGeometricRepresentationContext 类型。

'IFC4X3_DEV_62887e3f.IFCGEOMETRICREPRESENTATIONCONTEXT'
IN TYPEOF(SELF\IfcRepresentation.ContextOfItems)
CorrectItemsForType

根据 RepresentationType 检查 Items 的正确使用。

IfcShapeRepresentationTypes(SELF\IfcRepresentation.RepresentationType, SELF\IfcRepresentation.Items)
HasRepresentationIdentifier

应为形状表示提供表示标识符。

EXISTS(SELF\IfcRepresentation.RepresentationIdentifier)
HasRepresentationType

应为形状表示提供表示类型。

EXISTS(SELF\IfcRepresentation.RepresentationType)
NoTopologicalItem

IfcVertexPointIfcEdgeCurveIfcFaceSurface 外,任何拓扑表示项不应直接用于形状表示。

SIZEOF(QUERY(temp <* Items |
  ('IFC4X3_DEV_62887e3f.IFCTOPOLOGICALREPRESENTATIONITEM' IN TYPEOF(temp))
    AND (NOT(SIZEOF(
      ['IFC4X3_DEV_62887e3f.IFCVERTEXPOINT',
       'IFC4X3_DEV_62887e3f.IFCEDGECURVE',
       'IFC4X3_DEV_62887e3f.IFCFACESURFACE'] * TYPEOF(temp)) = 1))
)) = 0
表 8.18.3.17.C

8.18.3.17.5 形式化表示

ENTITY IfcShapeRepresentation
 SUBTYPE OF (IfcShapeModel);
 WHERE
	CorrectContext : 'IFC4X3_DEV_62887e3f.IFCGEOMETRICREPRESENTATIONCONTEXT'
IN TYPEOF(SELF\IfcRepresentation.ContextOfItems);
	CorrectItemsForType : IfcShapeRepresentationTypes(SELF\IfcRepresentation.RepresentationType, SELF\IfcRepresentation.Items);
	HasRepresentationIdentifier : EXISTS(SELF\IfcRepresentation.RepresentationIdentifier);
	HasRepresentationType : EXISTS(SELF\IfcRepresentation.RepresentationType);
	NoTopologicalItem : SIZEOF(QUERY(temp <* Items |
  ('IFC4X3_DEV_62887e3f.IFCTOPOLOGICALREPRESENTATIONITEM' IN TYPEOF(temp))
    AND (NOT(SIZEOF(
      ['IFC4X3_DEV_62887e3f.IFCVERTEXPOINT',
       'IFC4X3_DEV_62887e3f.IFCEDGECURVE',
       'IFC4X3_DEV_62887e3f.IFCFACESURFACE'] * TYPEOF(temp)) = 1))
)) = 0;
END_ENTITY;

8.18.3.17.6 参考