可靠地确定 BIM 360 项目的 Revit 版本

Posted

技术标签:

【中文标题】可靠地确定 BIM 360 项目的 Revit 版本【英文标题】:Reliably Determine Revit Version of BIM 360 Project 【发布时间】:2020-11-17 22:49:52 【问题描述】:

适用于 Revit 的设计自动化 AppBundle 需要识别 Revit 引擎,其中包括 Revit 的版本(年份)。因此,要使设计自动化支持多个 Revit 版本,将有多个 AppBundle,以及基于这些年的多个活动。哪个没问题,但是如何确定 BIM 360 项目或 .rvt 文件的版本年份以将工作项提交给正确的活动?似乎该数据应该可用,因为 Revit 将仅列出与打开的 Revit 副本处于同一版本的 BIM360 项目。

This thread from 2 years ago 表示这是不可能的,但情况是否改变了?

我还找到this blog post 下载文件的开头以获取此数据,但这似乎仅适用于单用户文件,不适用于工作共享的 RVT 文件,并且我们所有的 BIM360 项目都是工作共享的。

有什么新的选择吗?

编辑:澄清一下,我正在寻找一种方法来确定存储在 BIM 360 中的工作共享 RVT 文件的 Revit 版本。最好不要从 BIM 360 下载文件。 BIM 360 上整个“项目”的 Revit 版本也可以正常工作,但我在 BIM 360 API 或数据管理 API 返回的项目信息中看不到这一点。

【问题讨论】:

也在Is it possible to obtain the version of the RVT file that is uploaded to BIM360 Document management?的回答中讨论过 【参考方案1】:

您可以通过访问其BasicFileInfo properties 来确定 RVT 文件的 Revit 版本。这可以在不打开相关文件的情况下完成。但是,它确实需要 Revit API,因此需要安装 Revit。

Building Coder 共享一些其他解决方案,无需 Revit API 即可确定 Revit RVT 文件版本,例如,RvtVerFileOpen – Open Correct RVT File Version 和 Determining RVT File Version Using Python。

【讨论】:

在我的例子中,RVT 文件存储在云端的 BIM 360 项目中。当 Revit API 在 Design Automation 沙箱上打开时,已经太晚了,工作项已经提交,文件已经下载并可能升级。我想在发布工作项之前确定 Revit 文件的版本,而无需将其从 BIM 360 下载到第三个位置。 我假设您需要从 BIM360 下载 RVT 文件,以便在提交适当的设计自动化作业之前使用本地工具执行版本分析。或者,实施将 RVT 映射到版本号的查找表,并在将模型上传到 BIM360 之前或更新之前填充它。您可以在 OnSaving 事件中的 Revit API 桌面加载项中自动执行此操作。【参考方案2】:

更新:Augusto 在他的tweet 中指出,您现在只需读取Document Information 清单属性中的RVTVersion 属性即可check the version of a Revit file hosted on the cloud。

【讨论】:

以上是关于可靠地确定 BIM 360 项目的 Revit 版本的主要内容,如果未能解决你的问题,请参考以下文章

通过命令行打开 Revit BIM360 模型

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

如何使用 javascript/Nodejs 从生成的 urn 中查看 Forge 中的 BIM360 Revit 文件

翻译存储在 BIM360 中的模型

一些 BIM360 RVT 文件显示参考,一些不显示 - isCompositeDesign 似乎区分了这两种情况

尝试在 Autodesk Forge / Bim360 中显示房间信息