首页 > 解决方案 > 在 Revit 附加组件 .net dll 中列出可用的 BIM 360 项目,然后列出要打开的可用 BIM 360 模型

问题描述

在我的 Revit 插件中,我想编写一个可以打开多个 BIM 360 模型的命令。我每天早上要在一个项目中同时打开 10 个模型。我有一个命令可以从网络位置打开多个模型。但是我想编写一个类似的命令来打开云模型。这将节省我大量的时间。我煮咖啡时,它们都可以打开。

  1. 使用 .net 如何获取可用项目列表以在我可以创建的新对话框中使用。
  2. 选择项目后,获取要打开的可用模型列表。
  3. 在 Revit 中打开模型。

如果有浏览器对话框解决方案,肯定会更好,但是在 Revit 中简单列出和打开模型需要非常简单。

        Dim OpenOptions As New OpenOptions
        Dim ModelPath As ModelPath = ModelPathUtils.ConvertCloudGUIDsToCloudPath(ModelPathUtils.CloudRegionEMEA, projectGuid, modelGuid)
        commandData.Application.OpenAndActivateDocument(ModelPath, OpenOptions, False)

谢谢

标签: autodesk-forgerevit-api

解决方案


这两个主题过去曾在这里讨论过,例如,通过数据管理 API 列出 BIM360 中的模型文件。您可以通过搜索找到更多相关讨论,例如“ list bim360 ”。

这些解决方案是基于云的,因此无法使用纯 Windows 桌面 Revit .NET API 解决它们。因此,您自己建议的基于浏览器的方法可能是列出可用模型的第一步的良好起点。

第二步是在确定路径后在 Revit 中打开 BIM360 模型。

去年 5 月,The Building Coder 在关于本地打开由 BIM360 管理的 RVT 文件的说明中解决了这个问题,并在 StackOverflow 上关于如何通过命令行打开 Revit BIM360 模型的问题中解决了这个问题。不过,这方面的情况在不断变化,从那时起可能已经发生了变化。

目前实现这一目标的最安全方法也是使用基于 Web 的 Forge API。

支持直接在桌面上的 Revit 中打开 BIM360 托管模型的本机 Revit API 功能正在开发中,但恐怕还没有准备好。

以下是之前相关对话中的一些笔记,我尚未开始编辑和发布:

处理BIM360模型:

问题:BIM M360 和 Revit 问题一样多:我正在使用 pyRevit/Python 编写一些 Revit 桌面插件,并且我正在尝试自动链接 BIM360 中的 Revit 文件。例如,我希望能够从一个 BIM360 项目中打开一个文件并将其复制到另一个 BIM360 项目(包括所有链接的文件),然后重新路径复制模型中的所有链接以从中读取新项目。我也在研究其他一些交互,但这是目前最大的障碍。我们正在 Revit 2019 中工作,着眼于 2020 年,如果这有助于了解事情的真相。

答:这里讨论了您解决的任务的一小部分,即通过桌面命令行和 Revit API 打开 BIM360 模型。也许同样的方法也可以用来处理链接。

退一步说,您的目标是哪种 Revit 文件?

Revit 模型可以通过三种方式存储在 BIM360 中:

  • Revit 云工作共享
  • 基于文件并直接上传到 BIM 360
  • 桌面连接器

广告 1:没有 API 可以访问 #1。您可以使用 forge API 发布到 BIM 360。但目前,您无法通过 api 设置相同的环境。

广告2:您可以使用forge API进行上传和下载。

广告 3:没有桌面连接器 API,但我相信您可以将普通的 Windows API 用于在文件夹中复制文件的部分。

我们可能还需要做一些研究。但有些事情我们需要一一单独研究。你能澄清一下这些吗?

回应:我认为我正在使用基于上述#1 的模型,尽管我不能 100% 确定我的术语是否正确。本质上,我们将文件托管在 BIM360(旧的 C4R 做事方式,无论现在叫什么)上,并通过 Revit 上传工作共享模型。然后我们从那里与之交互。我有一种感觉,这种描述可能会使事情更加混乱,但希望不会。从广义上讲,我们的想法是在某处的云服务器上建立一个建筑物(RVT 文件)的“库”。然后,我们将有一个界面,允许用户选择这些库片段的各种配置,该工具会将这些片段复制到一个新项目中,并根据工具中内置的一些规则自动将它们链接在一起。我们在我们自己的内部服务器上有一个工作共享模型工具的工作版本,但我们更喜欢它在云中 - 特别是 Autodesk 云服务,因为它们旨在处理 Revit 文件。不确定这是否使事情变得更清楚,或者使水域更加混乱。

您可能还想学习 Eason Kang 在BIM360 Docs 上的文章:设置文件之间的外部引用(上传链接文件)

最后,总结一下,实施桌面应用程序以查看集线器(BIM 360 或 Fusion Team)上的模型的完整工作示例可能会立即满足您的大部分要求。


推荐阅读