IFC 对象导航以检索墙坐标

IFC objects navigation to retrieve Wall coordinates

是否有人使用过 BuildingSmart 的 IFC(工业基金会 类),通常用于 BIM 项目和建筑领域? 我想知道如何导航 IFC 对象以获取 IfcWallStandardCase 或仿射对象(即墙)的坐标。

我感兴趣的是获取所有或至少一个定界墙的顶点的坐标。 请指出通过 Ifc 文件的 Ifc 对象的导航,以了解从 IfcWallStandardCase 或仿射对象开始在 Ifc 文件中定位坐标信息的位置。

首先选择 Representation 属性,该属性对于 IfcProduct 是可选的。您需要形状表示 (IfcProductDefinitionShape),而不是 material 表示。如果完全有表示,您可能会得到多个表示,每个表示都有一个上下文指定维度、精度和坐标系。由于您正在寻找坐标,您可能需要 IfcShapeRepresentation 类型的表示,而不是 IfcTopologyRepresentation。每个表示然后由多个表示项组成。

有几种类型的几何表示 - 检查 IfcGeometricRepresentationItem 的继承树。下面是分面 BREP 的示例:每个表示项都是 IfcFacetedBrep 类型,在 IFC2x4 规范中是 explained nicely。使用属性 outer,您将得到一个封闭的 shell,它由一组可通过属性 CfsFaces 到达的面 (IfcFace) 组成。每个面都有一组边界(IfcFaceBound,属性Bounds),每个边界都由一个循环(IfcLoop,属性Bound)和一个方向定义。循环可能又是不同的类型,让我们假设 IfcPolyLoop。那些在属性 Polygon 下有一个点列表 (IfcCartesianPoint),它最终给你坐标(IfcLengthMeasure 类型,这是一个 REAL)属性 [=29] =].

请注意,这些坐标是相对于开头提到的几何上下文的坐标系而言的。上下文可以嵌套多个坐标转换来解决以获得绝对世界坐标。

属性名路径为:RepresentationItemsCfsFacesBoundsBoundPolygonCoordinates