如何检查存储在 Autodesk Forge 服务器 (SVF2/SVF) 上的 (BIM) 模型中是否存在外部 ID?

问题描述 投票:0回答:1

我正在构建 BIM 验证工具,需要确认 Autodesk Forge 上存储的 BIM 模型中是否存在特定的外部 ID (GUID)。通过检查 SVF 结构中的objects_ids.json.gz 文件,我已经成功地对本地存储的模型完成了此操作。

但是,对于存储在 Autodesk Forge 服务器上的模型,我正在寻找一种高效且不太复杂的方法来完成相同的任务。我知道元数据 API,但它对于我的需要来说似乎太复杂了,因为它包含模型中的所有文本属性。

我的问题是:是否有一种简化的方法可以仅检查 Autodesk Forge 上存储的 BIM 模型中是否存在特定外部 ID?

谢谢您的指导!

metadata revit-api autodesk-model-derivative
1个回答
0
投票

对于Revit模型,它实际上是Revit API中的Element.UniqueId

您可以使用Model Derivative API的POST {urn}/metadata/{modelGuid}/properties:query通过外部id进行查询,以检查该外部id的对象是否在模型中。

curl -X 'POST' \
     -H 'Authorization: Bearer PtnrvrtSRpWwUi3407QhgvqdUVKL...'  \
     -H 'Content-Type: application/json' \
     -V 'https://developer-dev.api.autodesk.com/modelderivative/v2/designdata/dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6bW9kZWxfZGVyaXZhdGl2ZV9wcm9wX2VuaGFuY2VtZW50X3Rlc3RpbmcvcmFjX2Jhc2ljX3NhbXBsZV9wcm9qZWN0LnJ2dA/metadata/6bfb4886-f2ee-9ccb-8db0-c5c170220c40/properties:query' \
     -D '{
              "query": {
                  "$in": [
                      "externalId",
                      "e3e052f9-0156-11d5-9301-0000863f27ad-00000153",
                      "5e8712a2-e372-44b6-9e73-0aaa430558ee-0008656f"
                  ]
              },
              "fields": [
                  "name",
                  "externalId"
              ],
              "pagination": {
                  "offset": 0,
                  "limit": 20
              },
              "payload": "text"
          }'
© www.soinside.com 2019 - 2024. All rights reserved.