IFC 4.3.2.20251031 (IFC4X3_ADD2) under development

8.18.3.17 IfcShapeRepresentation(形状表示)

RV ⓘ
AbV ⓘ

8.18.3.17.1 语义定义(Semantic definition)

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 实体继承(Entity inheritance)

8.18.3.17.3 特性(Attributes)

# 特性(Attributes) 类型 描述
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 形式化命题(Formal propositions)

名称 描述
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 形式化表示(Formal representation)

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 参考文献