Загрузка моделей Revit со ссылками

#autodesk-forge #autodesk-data-management

Вопрос:

Я использую Forge для загрузки моделей Revit через этот API:

 GET buckets/:bucketKey/objects/:objectName
 

Если я попытаюсь загрузить модель Revit, содержащую документы со ссылками, я получу только одну модель Revit (корневой файл), и ни один из связанных документов не будет загружен. Но если я загружу ту же модель непосредственно с BIM 360, она будет загружена в виде zip-файла, содержащего все ссылки. Как я могу получить такое же поведение через API Forge?

P.S. Я почти уверен, что я также получал правильное поведение от API Forge, так что это может быть регрессией.

Комментарии:

1. Как вы связали свои RVT вместе, загрузили связанные файлы или с помощью API Forge , или C4R, или Revit Могли бы моделировать? Может быть, проверить forge.autodesk.com/en/docs/data/v2/reference/http/…

Ответ №1:

Часть OSS API управления данными Forge-это простая «служба хранения объектов», поэтому она не знает о каких-либо потенциальных ссылках между файлами. На самом деле особенностью продукта BIM 360 является то, что он может считывать «основной» файл Revit, извлекать из него все ссылки и объединять их все вместе в ZIP-файл.

Однако вы также можете получить ссылки самостоятельно, используя один из следующих API-интерфейсов Forge:

Ответ №2:

Первое, что нужно сделать, это убедиться, что вы создали и связали файлы надлежащим образом, что у вас, вероятно, есть, но просто для того, чтобы убедиться, проверьте это.

Как упоминал Петр Броз, с помощью API forge невозможно получить пакет, содержащий все связанные файлы. Однако вы можете использовать

  1. {{FORGE_HOST}}/data/v1/projects/:project/folders/:folder/contents (документы), чтобы получить содержимое папки BIM360. Это даст вам идентификатор версии подсказки (идентификатор последней версии) файла. Найдите relationships.tip.data.id файл, который вы хотите загрузить.
  2. С помощью этого идентификатора версии выполните запрос {{FORGE_HOST}}/data/v1/projects/:project/versions/:version/relationships/refs (документы). Поле данных должно содержать массив со всеми входящими и исходящими ссылками. Посмотрите meta.direction , является ли он входящим или исходящим.

Таким образом, вы можете собрать все связанные версии.