使用链接下载 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 API。从主模型元素所在的链接模型中获取一个房间
是否可以通过 Revit API 或 FORGE API 在 Revit 模型中加载新的 Cloud (BIM 360) 链接?