【问题标题】:Missing revit ID in instance elements实例元素中缺少 Revit ID
【发布时间】:2021-09-14 14:19:31
【问题描述】:

在 forge 模型衍生 API 中使用 get properties 请求处理已翻译模型的数据时,我正在测试的模型不会将 revit ID 作为任何实例元素的一部分返回。我习惯看到的格式类似于栏杆实例元素的“栏杆 [5707296]”,但属性 JSON 响应未在结果中显示 [5707296]。这是 API 的最新变化吗?我需要启用此设置吗? revit ID 对我们来说是一个有用的值,我们想检索它。奇怪的是,查看器按预期显示了 ID,但获取属性请求中的同一实体没有显示 ID。这是来自 Revit 2022 模型。

JSON 响应:

...
{
    "objectid": 410,
    "name": "Railing", // <-- I would expect this to be "Railing [5707296]"
    "externalId": "1c277e31-8d23-4dc2-96e6-b1ac60f1c07a-0053ce49",
    "properties": {
      ...
    }
},
...

在查看器中选择的相同元素会显示我期望的名称:

【问题讨论】:

  • 我用Revit 2022/Samples 目录中的示例模型进行了测试,没有遇到问题,所以我相当确定这是一个特定于模型的问题。

标签: autodesk-forge autodesk-model-derivative


【解决方案1】:

请注意,Forge externalId 可能对应于 Revit UniqueId。如果可能,我建议始终使用唯一 id 来标识元素,因为它比元素 id 更可靠。

【讨论】:

  • 谢谢杰里米。我们使用 externalId 来识别元素,但是 revit UniqueId 信息对我们仍然有用。某些模型缺少它的事实让我认为这是一个错误。
  • @Alex RVT 的查看器外部 ID 是 Revit 的 UniqueId accaully。
  • @EasonKang 啊谢谢你的澄清。是的,我们正在寻找 revit 元素 ID,而不是 UniqueId
【解决方案2】:

感谢 Eason 和 Jeremy,我了解到 externalId 的最后一个子字符串是 Revit 元素 ID 的十六进制编码表示。这意味着我可以从externalId 中导出 Revit 元素 ID,而无需从元素名称中解析它。

const externalId = '110717dd-74ae-4656-b586-fb1c03e9905a-00030954';
const splitArr = externalId.split('-');

console.log(parseInt(splitArr[splitArr.length - 1], 16)); // 198996 ✅

来源:https://thebuildingcoder.typepad.com/blog/2009/02/uniqueid-dwf-and-ifc-guid.html

【讨论】:

    【解决方案3】:

    我认为这是因为 SVF2/OTG。使用 https://forge.autodesk.com/en/docs/model-derivative/v2/developers_guide/notes/ 强制使用新格式时,查看器中也缺少 Revit ID

    目前似乎没有简单的方法来获取 Revit ID。也许使用https://forge.autodesk.com/blog/temporary-workaround-mapping-between-svf1-and-svf2-ids 之类的解决方法是可能的(请参阅 Alex 接受的答案以获得良好的解决方法)

    编辑: 我刚刚意识到我的查看器中缺少 Revit Id 是由于自定义属性面板实施不当造成的。使用默认属性面板一切正常。

    【讨论】:

    • 谢谢彼得。我们使用的是 SVF2,因此它可能与此相关,但我们使用 SVF2 翻译的其他几个模型并没有丢失此信息。
    • 嘿彼得 - 我与 Eason 确认这是由于 SV2 造成的,正如你所建议的那样。请参阅我的答案以了解如何从 externalId 派生它。
    猜你喜欢
    • 2014-10-04
    • 2014-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-24
    • 2013-11-01
    相关资源
    最近更新 更多