是否可以通过Revit API或Forge API在Revit模型中加载新的Cloud(BIM 360)链接? [英] Is it possible to load new Cloud (BIM 360) links in a Revit model either through the Revit API or FORGE API?
本文介绍了是否可以通过Revit API或Forge API在Revit模型中加载新的Cloud(BIM 360)链接?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
其中之一可能吗?
我已经成功链接到缓存的本地模型,如here和here所述。但是,这并不能完全满足要求,因为当任何其他用户(除自动化机用户外)打开模型时,都找不到链接。
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,我才能通过RevitAPI获得正确的ModelPath
。我可以在我的外接程序中保存此值,关闭模型,然后在打开另一个模型(保存在上面代码片段中Linq语句中引用的CloudModels类中)后访问该属性。不幸的是,RevitLinkType.Create()
这需要ModelPath
不接受云路径,所以我可能又走到了另一个死胡同。除非可以使用ExternalResourceReference
。有没有人尝试过这个选项?如果是这样的话,如何组装一个RevitExternalResourceReference
?我不熟悉这个流程,看了this course from AU 2017,我看不出它一定适用于BIM 360云机型。如果这是可能的,BIM 360云示例将非常有用。
替代策略:我没有看到任何关于在Forge Data Management API或其他Forge API中加载链接的引用。如果我不知何故错过了,请分享链接。
如有任何帮助,我们将不胜感激!!
编辑:从那以后,我发现了这两个(1)(2)类似的问题,至少就我的目的而言,答案并不令人满意。有什么我应该知道的更新吗?推荐答案
目前(2020年1月),遗憾的是,我们还没有针对云模型的Link API。它在路线图上。
这篇关于是否可以通过Revit API或Forge API在Revit模型中加载新的Cloud(BIM 360)链接?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文