首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >以编程方式启动BIM360文档协作

以编程方式启动BIM360文档协作
EN

Stack Overflow用户
提问于 2018-12-22 03:41:55
回答 4查看 667关注 0票数 0

为了升级到当前版本的Revit,我们必须将文件从BIM360团队迁移到BIM360文档。由于我们有数百个文档,所以我希望尽可能地自动化这个过程。

download允许我从BIM360团队下载所有Revit文件。我还可以使用Revit或第三方应用程序(如此大容量文件升级器)将它们升级到Revit2019。

使用Forge BIM360 API,我能够以编程方式创建新项目,并从Team上传文件和文件夹。我很难以自动化的方式完成的步骤是启动升级的Revit2019文件的协作。是否有一种方法可以用Revit或Forge来实现?或者有另外一种方法可以让我自动完成这两个Autodesk云协作解决方案之间的迁移?

我遇到了本教程介绍发布模型,这意味着需要通过Revit为每个Revit文件手动启动协作。我希望能为这项建议找到另一种解决办法。

谢谢!

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2019-11-01 14:40:20

我的同事Eason康益昇证实,您可以使用我上一个答复中提供的步骤来实现以下目标:

Revit 2019.2和未来的版本包括对“单用户工作流”(非工作共享云模型)的支持。同时,它们公开API以启动非工作共享云模型,并将非工作共享云模型转换为工作共享云模型(C4R)。

您可以使用单个用户API来解决您提到的情况,如下所示:

  • 将下载的文件和非工作共享文件保存到本地文件系统中。
  • 通过对Document.SaveAsCloudModel的API调用,启动非工作共享云模型。
  • 通过API Document.EnableCloudWorksharing将其转换为Document.EnableCloudWorksharing模型。

这是他的报告,包括正在处理的全权证书问题的解决办法:

问题:我希望使用Revit2020 API将本地RVT保存到我的BIM360帐户中--使用的是设计协作服务,但是总是抛出一个异常,说明我没有访问权限。我有一个有效的C4R许可证,并且能够使用C4R UI从传递给API的文件夹id中打开C4R模型。少了什么?

代码:

代码语言:javascript
复制
  doc.SaveAsCloudModel(
    "urn:adsk.wipprod:fs.folder:co.8rtX03jDQXKnssA1FfrEXw",
    doc.Title);

例外:

  • Autodesk.Revit.Exceptions.RevitServerUnauthorizedException:您没有云模型在云中访问此资源的权限

答:您需要在manage.autodesk.com中设置“云模型for Revit”的权限。

答复:谢谢你的澄清。我把‘云模型的版本’和C4R混淆了,而且在我的manage.autodesk.com中没有设置‘云模型的版本’权限。

回答: 'Cloud‘是自2019.2版本以来提供的一项新服务。它是Revit和Revit订阅的一部分。

顺便说一句,C4R模型的主要区别是thaT一次只有一个用户可以处理该方法创建的模型。

回复:很棒!

我按要求设置了Revit订阅,遵循杰里米在上面共享的步骤,并确认它有效!

您可以使用以下步骤通过Revit实现该目标:

  • 通过对Document.SaveAsCloudModel的API调用,启动一个非工作共享云模型。
  • 通过API Document.EnableCloudWorksharing将其转换为Document.EnableCloudWorksharing模型。

下面是实现以下功能的测试代码:

代码语言:javascript
复制
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 = @"D:\DevZone\ADN\t5021\revit_api_c4r_test_6.rvt";
      string name = System.IO.Path.GetFileName(filename);

      Document doc = app.NewProjectDocument(template);
      doc.SaveAs(filename);

      try
      {
        doc.SaveAsCloudModel(
          "urn:adsk.wipprod:fs.folder:co.aCd1tMmrTxucmJcmtYTLBQ",
          name);

        var cloudPath = doc.GetCloudModelPath();

        if(doc.CanEnableCloudWorksharing())
        {
          doc.EnableCloudWorksharing();
        }

        TaskDialog.Show("Revit",
          string.Format("{0} is a C4R model now", name));

        doc.Close();

        uiapp.OpenAndActivateDocument(cloudPath, new OpenOptions(), false);
      }
      catch(Exception ex)
      {
        System.Diagnostics.Trace.WriteLine(ex.Message);
        return Result.Cancelled;
      }
      return Result.Succeeded;
    }
  }
}
票数 1
EN

Stack Overflow用户

发布于 2019-01-07 06:53:54

很抱歉没有及时回复。

此问题听起来类似于Revit讨论论坛中提出的问题,并升级到14906646 旧话题将改变链接路径带回到云路径的ADN。

我们已经向Revit、C4R、Forge和Desktop连接器开发团队提出了这个问题,引起了热烈的讨论,目前还没有明确的答案。

我们正在尽可能努力和快速地进行研究,并将尽快提供一个更确切的答案。

票数 0
EN

Stack Overflow用户

发布于 2019-01-14 06:25:40

开发团队仍在讨论这个问题。同时,他们还说:

这一要求记录在发展问题-修订-140793中。

也许有一个解决办法来达到你所需要的。

Revit 2019.2和未来的版本包括对“单用户工作流”的支持--即非工作共享云模型。同时,它们公开API以启动非工作共享云模型,并将非工作共享云模型转换为工作共享云模型(C4R)。

因此,我认为您可以使用单个用户API来解决您提到的以下情况:

  1. 保存下载的文件和非工作共享文件(本地文件)。
  2. 通过对Document.SaveAsCloudModel的API调用,启动非工作共享云模型。
  3. 通过API Document.EnableCloudWorksharing将其转换为Document.EnableCloudWorksharing模型。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53892870

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档