我如何强制设计自动化打开分离模型?

How can i force design automation to open detached model?

关于设计自动化的问题API。

是否可以创建一个删除工作共享的设计自动化脚本,以便设计自动化可以处理文件的其余部分,然后丢弃该文件。

例如,我可以使用 Design Automation 去除工作集,然后在不保存工作共享版本的情况下继续导出文件参数吗?

此外,我已连接到 Revit Excel 导入和导出演示。

每当我配置 AppBundle 时,我都会收到如下图所示的失败消息:

要打开工作集被丢弃的工作共享模型,您需要:

  1. 从 activity 中的 commandLine 中删除 /i 选项。为您的输入参数指定一个硬编码的 localName(比如 input.rvt)。像这样
{
  "alias": "prod",
  "activity": {
    "id": "YourActivity",
    "commandLine": [ "$(engine.path)\\revitcoreconsole.exe /al $(appbundles[YourBundle].path)" ],
    "parameters": {
      "rvtFile": {
        "zip": false,
        "ondemand": false,
        "verb": "get",
        "description": "Input Revit model",
        "required": true,
        "localName": "input.rvt",
      }
    },
    "engine": "Autodesk.Revit+2020",
    "appbundles": [ "YourName.YourBundle+label" ],
    "description": "Bundle description."
  }
}
  1. 使用 DetachAndDiscardWorksets 打开应用程序包中的文件 input.rvt,如下所示:
   ModelPath path = ModelPathUtils.ConvertUserVisiblePathToModelPath("input.rvt");
   var opts = new OpenOptions
   {
      DetachFromCentralOption = DetachFromCentralOption.DetachAndDiscardWorksets
   };
   var document = application.OpenDocumentFile(path, opts);

相关内容可参考blog announcement and an earlier related .

默认情况下,(在 blog announcement 之后)如果 commandLine 中提供了 /i 选项,Design Automation 将尝试使用 DetachAndPreserveWorksets 打开工作共享模型。然而,这仅在输入文件是中央文件时才有效。它不适用于带有工作集的本地文件,因为该文件归特定用户所有。