我们是否可以通过 API 访问 Forge API/Revit API 中的 C4R(Collaboration for



我们最近有一个查询,以自动化C4R(Collaboration for Revit)过程。我们是否可以通过 API 访问 Forge API/Revit API 中的 C4R 功能? 我们已经搜索了API访问权限,但没有找到任何积极的结果。

或者,如果我们通过BIM 360 API上传Revit模型文件,则Revit项目文件(.rvt)将断开连接/不可用于工作共享环境。是否有任何可能的解决方法来解决此问题。

要通过Revit API激活C4R模型,请至少执行以下步骤:

  1. 通过 API 调用启动非工作共享云模型 Document.SaveAsCloudModel.
  2. 通过 API 将其转换为 C4R 模型 Document.EnableCloudWorksharing(英语:Document.EnableCloudWorksharing
  3. )


这是一个工作代码片段,以及它的逻辑:

  1. 使用 Revit 样板创建建筑项目
  2. 将其保存到本地磁盘,然后将其另存为云模型
  3. 通过文档激活 Revit 云协作 (C4R)。启用云工作共享
  4. 在 Revit 桌面中打开 C4R 模型


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Autodesk.Revit.ApplicationServices;
using Autodesk.Revit.Attributes;
using Autodesk.Revit.DB;
using Autodesk.Revit.UI;
using Autodesk.Revit.UI.Selection;

namespace adsk.c4r
{
[Transaction(TransactionMode.Manual)]
public class Command : IExternalCommand
{
public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
{
UIApplication uiapp = commandData.Application;
UIDocument uidoc = uiapp.ActiveUIDocument;
Application app = uiapp.Application;

string template = app.DefaultProjectTemplate;
string filename = @"C:tmprevit_api_c4r_test.rvt";
string name = System.IO.Path.GetFileName(filename);
Document newdoc = app.NewProjectDocument(template);
newdoc.SaveAs(filename);

try
{
newdoc.SaveAsCloudModel("urn:adsk.wipprod:fs.folder:co.OOOOOXXXXX", name);
var cloudPath = newdoc.GetCloudModelPath();
var newdocCanC4R = newdoc.CanEnableCloudWorksharing();
if(newdocCanC4R)
{
newdoc.EnableCloudWorksharing();
}
TaskDialog.Show("Revit", string.Format("{0} is a C4R model now", name));
newdoc.Close();
uiapp.OpenAndActivateDocument(cloudPath, new OpenOptions(), false);
}
catch(Exception ex)
{
System.Diagnostics.Trace.WriteLine(ex.Message);
return Result.Cancelled;
}
return Result.Succeeded;
}
}
}

希望对您有所帮助!


注1.此方法需要 Revit 授权的云模型。如果您无法保存云模型,请查看此页面:https://knowledge.autodesk.com/support/revit-products/learn-explore/caas/sfdcarticles/sfdcarticles/Using-Cloud-Worksharing-and-Cloud-Models-for-Revit.html

注2.此方法必须使用Forge Data Management API在调用 Document.SaveAsCloudModel 时获取文件夹 ID。查看文档文件夹时,也可以在 BIM360 文档 URL 中找到文件夹 ID。例如,您的文件夹 URL 为:https://docs.b360.autodesk.com/projects/xxxxxx-xxxx-xxxx-xxxx-xxxxxxxx/folders/urn:adsk.wipprod:fs.folder:co.OOOOOXXXXX/detail,文件夹 ID 为urn:adsk.wipprod:fs.folder:co.OOOOOXXXXX

最新更新