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

时间:2020-01-02 21:26:17

标签: autodesk-forge revit-api autodesk-bim360

我有一个由两部分组成的WPF应用程序和Revit插件,它们运行一系列例程,以通过FORGE BIM 360 API创建和激活新的BIM 360项目,启动Revit并从中创建并设置Revit模型的集合。 “种子” Revit模型。 主要要求是在此过程中实现零用户交互:要完全自动化。

在这种背景下,我无法将新保存的BIM 360模型彼此链接。创建模型后,我可以选择在带有Revit API钩子的Revit插件中(首选)或通过带有FORGE API REST调用的管理器WPF应用程序来执行此操作。

有可能吗?

我已经按照herehere的说明成功链接了缓存的本地模型。但是,这不能完全满足要求,因为当其他任何用户(除自动化机器用户之外)打开模型时,都找不到链接。

Screenshot of links Not Found.

当前的“工作分类”代码:

var wId = GetWorksetId(doc, w);
if (wId != null)
{
    string localPath = settings.CloudModels.Where(x => x.ModelName == _linkModelNames[i]).Select(x => x.LocalFilePath).First();
    ModelPath path = ModelPathUtils.ConvertUserVisiblePathToModelPath(localPath);

    using (var options = new RevitLinkOptions(true))
    {
        using (var t = new Transaction(doc, w))
        {
            t.Start();
            doc.GetWorksetTable().SetActiveWorksetId(wId);

            using (var result = RevitLinkType.Create(doc, path, options))
            {
                _ = RevitLinkInstance.Create(doc, result.ElementId);
            }

            t.Commit();
            linkPlaced++;
        }
    }
}

多亏了this helpful tip,我才能通过Revit API获得正确的ModelPath。我可以将这个值保存在Addin中,关闭模型,然后在打开其他模型(稍后保存在上面的代码片段linq语句中引用的CloudModels类中)之后访问属性。对我来说不幸的是,接受RevitLinkType.Create()的{​​{1}}不接受云路径,所以我可能已经走到了另一个死胡同。除非可以使用ModelPath。有没有人尝试过这个选项?如果是这样,您如何组装Revit ExternalResourceReference?我对这个过程并不熟悉,因此在this course from AU 2017上,我看不到它一定适用于BIM 360云模型。如果可能的话,BIM 360云示例将非常有帮助。

替代策略:我看不到在FORGE Data Management API或其他FORGE API中加载链接的任何引用。如果我因某种原因错过了它,请分享一个链接。

任何帮助将不胜感激!

编辑:此后,我发现这两个(1) (2)类似的问题,至少出于我的目的,这些问题并没有得到令人满意的回答。我应该知道的任何更新吗?

2 个答案:

答案 0 :(得分:1)

很遗憾,截至目前(2020年1月),我们还没有用于云模型的Link API。在路线图上。

答案 1 :(得分:0)

我相信可以在Revit 2019或更高版本中创建到Cloud Models的链接(使用ModelPathUtils.ConvertCloudGUIDsToCloudPath())。您将需要ProjectGUID和ModelGUID来创建云模型路径。

关于ExternalResource方法,该方法也有效-但它太混乱了-您可以阅读与现有BIM360链接关联的属性,并且将看到如何为BIM360链接定义ExternalResource。

最后-直到今天,Forge Revit自动化设计方法对您完全不起作用: 1.无法打开实时云工作共享模型(仅已发布/上传的模型)。 2.在Design Automation for Revit会话中运行时,无网络访问权限。

祝你好运... -马特