使用链接下载 Revit 模型

Posted

技术标签:

【中文标题】使用链接下载 Revit 模型【英文标题】:Downloading Revit Models with Links 【发布时间】:2021-11-02 03:48:05 【问题描述】:

我正在使用 Forge 通过此 API 下载 Revit 模型:

GET buckets/:bucketKey/objects/:objectName

如果我尝试下载包含链接文档的 Revit 模型,我只会得到一个 Revit 模型(根文件),并且不会下载任何链接文档。但是,如果我直接从 BIM 360 下载相同的模型,它会以包含所有链接的 zip 文件的形式下载。如何通过 Forge API 获得相同的行为?

附:我很确定我曾经也从 Forge API 获得正确的行为,所以这可能是一种回归。

【问题讨论】:

您是如何将您的 RVT、upload linked files or by Forge API、C4R 或 Revit 可以建模的?也许检查forge.autodesk.com/en/docs/data/v2/reference/http/… 【参考方案1】:

Forge 数据管理 API 的 OSS 部分是一个简单的“对象存储服务”,因此它不知道文件之间的任何潜在引用。它实际上是 BIM 360 产品的一个功能,它可以读取“主”Revit 文件,从中检索所有引用,并将它们全部捆绑到一个 ZIP 文件中。

不过,您也可以使用以下 Forge API 之一自行检索引用:

https://forge.autodesk.com/en/docs/data/v2/reference/http/projects-project_id-items-item_id-refs-GET/ https://forge.autodesk.com/en/docs/data/v2/reference/http/projects-project_id-items-item_id-relationships-links-GET/ https://forge.autodesk.com/en/docs/data/v2/reference/http/projects-project_id-items-item_id-relationships-refs-GET/

【讨论】:

【参考方案2】:

首先要确保您已经以正确的方式创建和链接了文件,您可能已经这样做了,但只需确保检查this。

正如 Petr Broz 所提到的,使用 forge API 无法获得包含所有链接文件的捆绑包。但是,您可以使用

    FORGE_HOST/data/v1/projects/:project/folders/:folder/contents(docs)获取BIM360文件夹的文件夹内容。这将为您提供文件的提示版本 id(最新版本 id)。查找您要下载的文件的relationships.tip.data.id。 使用此版本ID,查询FORGE_HOST/data/v1/projects/:project/versions/:version/relationships/refs(docs)。数据字段应包含一个包含所有传入和传出链接的数组。寻找meta.direction 看看是传入还是传出。

这样您可以收集所有链接的版本。

【讨论】:

以上是关于使用链接下载 Revit 模型的主要内容,如果未能解决你的问题,请参考以下文章

使用 Revit 链接模型的最佳方法是啥?

Revit API。从主模型元素所在的链接模型中获取一个房间

Revit API获取链接模型中构件

是否可以通过 Revit API 或 FORGE API 在 Revit 模型中加载新的 Cloud (BIM 360) 链接?

Revit 2016 R2 在 UIApplication.OpenAndActivateDocument 上崩溃

ifc用revit怎么打开