IFC 对象导航以检索墙坐标

标签 ifc

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

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

最佳答案

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

几何表示有多种类型 - 检查 IfcGeometricRepresentationItem 的继承树。以下是分面 BREP 的示例:每个表示项的类型均为 IfcFacetedBrep,即 explained nicely在 IFC2x4 规范中。使用属性 outer,您将获得一个封闭的外壳,其中包含一组可通过属性 CfsFaces 访问的面 (IfcFace)。每个面都有一组边界(IfcFaceBound,属性 Bounds),每个边界都由一个循环定义(IfcLoop,属性 绑定(bind))和方向。循环也可能具有不同的类型,我们假设为 IfcPolyLoop。它们在属性 Polygon 下有一个点列表 (IfcCartesianPoint),最终为您提供坐标(类型为 IfcLengthMeasure,它是一个 >REAL),具有属性坐标

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

属性名称的路径为:RepresentationItemsCfsFacesBoundsBound 多边形坐标

关于IFC 对象导航以检索墙坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29650409/

相关文章:

machine-learning - 使用 NLP 询问结构化数据有意义吗?

javascript - 如何使用 perl 或 javascript 解析行业基础类 (IFC) 文件?

3d - 让 BIM Surfer 工作?

python - 在 python 中使用 IfcOpenShell 提取元素数量

具有数组属性的 IFC 正则表达式

C#读取ifc/BIM文件序列化-反序列化

正则表达式在第一场比赛中包括两场比赛