【问题标题】:In a Revit add-on .net dll List the available BIM 360 Projects then the available BIM 360 Models to open在 Revit 加载项 .net dll 中列出可用的 BIM 360 项目,然后列出要打开的可用 BIM 360 模型
【发布时间】:2021-06-13 09:49:21
【问题描述】:

在我的 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-forge revit-api


    【解决方案1】:

    过去曾在这里讨论过这两个主题,例如, 在listing model files in BIM360 through data management API。 您可以通过搜索找到更多相关讨论,例如, 对于'list bim360'。

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

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

    The Building Coder 在去年 5 月的说明中解决了这个问题 在locally opening RVT file managed by BIM360, 在问题的 StackOverflow 上 关于如何open Revit BIM360 model via command line。不过,这方面的情况在不断变化,并且可能从那时起发生了变化。

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

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

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

    处理BIM360模型:

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

    答案:这里讨论了您所处理任务的一小部分, 在opening a BIM360 model via the desktop command line and the Revit API。 也许同样的方法也可以用来处理链接。

    退一步说,你的目标是什么类型的 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 文件。 不确定这是否让事情变得更清晰,或者让水变得更加浑浊。

    您可能还想在BIM360 Docs: Setting up external references between files (Upload Linked Files) 上研究康奕迅的文章。

    最后,总结一下完整的工作示例实现 desktop app to view models on hubs (BIM 360 or Fusion Team) 可能 开箱即可满足您的大部分要求。

    【讨论】:

    猜你喜欢
    • 2020-11-17
    • 2019-08-27
    • 2020-03-03
    • 2020-06-24
    • 2021-02-08
    • 2022-01-06
    • 2021-03-02
    • 1970-01-01
    • 2020-04-21
    相关资源
    最近更新 更多