【问题标题】:Missing properties (Globalds) from IFC file in viewer查看器中的 IFC 文件中缺少属性 (Globalds)
【发布时间】:2017-05-24 01:12:55
【问题描述】:

要恢复导致我的问题的步骤:

  1. 将文件上传到 Forge 中的存储桶。
  2. 转换文件。
  3. 使用外部工具提取 IFC 数据。

现在我正在尝试(使用查看器)获取每个元素的 GlobalId,因为在 IFC 中它们是唯一的,并将它们与我已经通过此属性拥有的数据相匹配。

目前在查看器中显示的转换文件中,并非几何图形中的所有元素都在单击时提供正确的数据。 例如:如果我在查看器中打开 IFC 文件并单击 Roof 元素,它不会选择 IfcRoof 元素,而是选择结构中较低且既没有 GlobalId 也没有附加一些数据的 IfcElement,导致它不应该。所以现在不可能使用查看器获取元素的正确属性,因为它没有选择正确的元素,我需要匹配我使用外部工具提取的数据。

有什么想法可以继续吗?

【问题讨论】:

  • 嗨,据我所知,IFC 正在通过 NWD 翻译并获得格式为 0/1/2/3/2/3... externalId 的标准 NavisWorks externalId不在 result.properties 数组中,它在专用的 result.externalId 属性中。同样适用于 AutoCAD 句柄/AcDbId/Revit UniqueID。
  • 能否请您让我知道我们是否可以从 C# 中的 IFC 文件中获取元素 ID,现在我正在使用来自 nuget 包的 XBIM dll,但我只获得了针对每个元素更改的全局 ID多次出口。任何建议都会有很大帮助

标签: autodesk-forge autodesk-viewer


【解决方案1】:

您能否简单地从较低级别的元素向上遍历结构,直到找到提供有效全局 id 的元素?

【讨论】:

  • 我需要带有 GlobalId 的确切选定元素,我得到了一些。在 IFC 中,某些元素可以被继承,但在这里我们得到的类型是 IFCBOOLEANCLIPPINGRESULT 而不是 IFCWALL,或 IFCSHAPEREPRESENTATION 而不是 IFCWINDOW。不要认为这是意料之中的。
  • 你检查过上面小东建议的externalId属性吗?
  • 是的,对于 IFC,它仍然是类型 (0/2/4),没有帮助。
  • 自动生成的唯一路径 id 像 1/2/3/0 是 Navisworks 场景的内部结构。如果 GlobalID 和 externalID 的映射有任何算法,我正在等待我们工程师团队的进一步回复。有消息我会更新这个帖子。
【解决方案2】:

所以线索是你应该迭代响应的 __parent 直到你得到一个类型为“IFC”的元素并得到他的 GlobalId。它在大多数情况下都有效。

【讨论】:

  • 是的,你是对的!我们的工程师团队也确认LMV的externalID和GlobalID之间没有等式。 IFC 使用 Navisworks 的提取器。 externalID 的 id 格式由 Navisworks 提供。您必须迭代所有对象并进行映射。我被困在我的测试 IFC 文件中,我没有找到带有对象的 GlobalID 属性,所以我一直在与工程师团队核实,但最后看起来我的 IFC 很特别。使用典型的 IFC 文件,全局 ID 与您在对象属性中看到的一样可用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-03-24
  • 1970-01-01
  • 1970-01-01
  • 2021-02-23
  • 1970-01-01
  • 1970-01-01
  • 2018-06-03
相关资源
最近更新 更多