【问题标题】:Design Automation for Revit Work Item Argument Not ParsingRevit 工作项参数未解析的设计自动化
【发布时间】:2019-09-06 13:58:49
【问题描述】:

我有一个将工作项提交到 Design Automation for Revit(Design Automation v3 beta)的应用程序。大多数提交的工作项都可以正常工作,但某些版本的模型似乎无法解析“rvtFile”参数。这会导致云 Revit 进程无法运行,因为文件名参数错误。

活动主体:

{
"id": "ExtractModelCategoriesActivity",
"commandLine": ["$(engine.path)\\\\revitcoreconsole.exe /i $(args[rvtFile].path) /al $(appbundles[ExtractModelCategories].path)"],
"parameters": {
    "rvtFile": {
        "zip": false,
        "ondemand": false,
        "verb": "get",
        "description": "Input Revit model",
        "required": true,
        "localName": "$(rvtFile)"
    },
    "result": {
        "zip": false,
        "ondemand": false,
        "verb": "put",
        "description": "Model object categories by view",
        "required": false,
        "localName": "ModelCategories.json"
    }
},
"engine": "Autodesk.Revit+2019",
"appbundles": ["alias_was_here.ExtractModelCategories+prod"],
"description": "Extract Model Categories to JSON Activity."
}

工作项目的主体 POST:

    {
    "activityId": "alias_was_here.ExtractModelCategoriesActivity+prod",
    "arguments": {
        "rvtFile": {
            "url": "https://developer.api.autodesk.com/oss/v2/buckets/wip.dm.prod/objects/83b5eb1e-c9b7-4938-ad4e-8efc4789d0e2.rvt?scopes=b360project.22109894-5897-4aa9-96ab-2e3310bc4ae9,global,O2tenant.5952590",
            "Headers": {
                "Authorization": "Bearer token_was_here"
            }
        },
        "result": {
            "verb": "put",
            "url": "https://developer.api.autodesk.com/oss/v2/buckets/wip.dm.prod/objects/9dde6073-d490-4fd0-991e-4ff92af1957e.json",
            "Headers": {
                "Authorization": "Bearer token_was_here"
            }
        },
        "onComplete": {
            "verb": "post",
            "url": "callback_url_was_here"
        }
    }
}

从report.txt文件成功提交:

[04/16/2019 12:03:50] Job information:
"CommandLine":[
  "$(engine.path)\\\\revitcoreconsole.exe /i $(args[rvtFile].path) /al $(appbundles[ExtractModelCategories].path)"
]
"Settings":{
  "dasreportfailedlimits": {
    "value": "true",
    "isEnvironmentVariable": true
  }
}
"Id":"e23918d475a74145aade32ba8968e5c3"
"ActivityId":"alias_was_here.ExtractModelCategoriesActivity+prod"
"Engine.Id":"Autodesk.Revit!21"
"Apps": [
"App.Id":"alias_was_here.ExtractModelCategories!1"
]
"BoundArguments":{
  "rvtFile": {
    "localName": "$(rvtFile)",
    "url": "https://developer.api.autodesk.com/oss/v2/buckets/wip.dm.prod/objects/839a11d8-51e9-42de-8936-28687feda65f.rvt?scopes=b360project.1949ed9d-e7fd-42b9-98f4-544fff3df42f,global,O2tenant.2971682",
    "headers": {
      "Authorization": "Bearer token_was_here"
    }
  },
  "result": {
    "localName": "ModelCategories.json",
    "url": "https://developer.api.autodesk.com/oss/v2/buckets/wip.dm.prod/objects/dd19b8f6-ac51-45b9-8f42-51c7c6a9d257.json",
    "headers": {
      "Authorization": "Bearer token_was_here"
    },
    "verb": "put"
  },
  "onComplete": {
    "ondemand": true,
    "optional": true,
    "url": "callback_was_here",
    "verb": "post"
  },
  "onProgress": {
    "ondemand": true,
    "url": "https://wlnr5sjl3a.execute-api.us-east-1.amazonaws.com/Prod/v3/workitems/progress",
    "headers": {
      "Content-Type": "application/json",
      "x-das-authorize": "awssigv4(us-east-1)",
      "x-ads-token-data": "{\"access_token\":{\"client_id\":\"alias_was_here\"},\"scope\":\"bucket:create bucket:read data:read data:create data:write code:all\",\"expires_in\":3595,\"client_id\":\"alias_was_here\"}",
      "x-ads-developer-email": "email_was_here"
    },
    "verb": "put"
  }
}

 - snip -


[04/16/2019 12:03:57] ### Command line arguments: /isolate HKEY_CURRENT_USER\SOFTWARE\AppDataLow\Software\Autodesk\CoreUser\WorkItem_e23918d475a74145aade32ba8968e5c3 "T:\Aces\Jobs\e23918d475a74145aade32ba8968e5c3\userdata" /exe "T:\Aces\AcesRoot\19.0\coreEngine\Exe\revitcoreconsole.exe"  /i T:\Aces\Jobs\e23918d475a74145aade32ba8968e5c3\839a11d8-51e9-42de-8936-28687feda65f.rvt /al T:\Aces\Applications\779cf68955e15ce6704c72a62c734afe.alias_was_here.ExtractModelCategories[1].package.

 - snip -

[04/16/2019 12:03:57] Echoing command line args:
[04/16/2019 12:03:57]   0:/i
[04/16/2019 12:03:57]   1:T:\Aces\Jobs\e23918d475a74145aade32ba8968e5c3\839a11d8-51e9-42de-8936-28687feda65f.rvt

 - snip -

[04/16/2019 12:03:57] Running user application....

 - snip -

[04/16/2019 12:04:22] Job finished with result Succeeded
[04/16/2019 12:04:22] Job Status:
{
  "status": "success",

  ...

从report.txt 文件中提交失败:

    [04/16/2019 12:04:44] Job information:
"CommandLine":[
  "$(engine.path)\\\\revitcoreconsole.exe /i $(args[rvtFile].path) /al $(appbundles[ExtractModelCategories].path)"
]
"Settings":{
  "dasreportfailedlimits": {
    "value": "true",
    "isEnvironmentVariable": true
  }
}
"Id":"4db3208a1c4e429c846c4da385f2219d"
"ActivityId":"alias_was_here.ExtractModelCategoriesActivity+prod"
"Engine.Id":"Autodesk.Revit!21"
"Apps": [
"App.Id":"alias_was_here.ExtractModelCategories!1"
]
"BoundArguments":{
  "rvtFile": {
    "localName": "$(rvtFile)",
    "url": "https://developer.api.autodesk.com/oss/v2/buckets/wip.dm.prod/objects/e597df42-07c7-41e1-aa0c-fa1abd179a4c.rvt?scopes=b360project.1949ed9d-e7fd-42b9-98f4-544fff3df42f,global,O2tenant.2971682",
    "headers": {
      "Authorization": "Bearer token was here"
    }
  },
  "result": {
    "localName": "ModelCategories.json",
    "url": "https://developer.api.autodesk.com/oss/v2/buckets/wip.dm.prod/objects/6b59f894-bbf0-421a-bf0b-e80d7584ee33.json",
    "headers": {
      "Authorization": "Bearer token_was_here"
    },
    "verb": "put"
  },
  "onComplete": {
    "ondemand": true,
    "optional": true,
    "url": "callback_was_here",
    "verb": "post"
  },
  "onProgress": {
    "ondemand": true,
    "url": "https://wlnr5sjl3a.execute-api.us-east-1.amazonaws.com/Prod/v3/workitems/progress",
    "headers": {
      "Content-Type": "application/json",
      "x-das-authorize": "awssigv4(us-east-1)",
      "x-ads-token-data": "{\"access_token\":{\"client_id\":\"alias_was_here\"},\"scope\":\"bucket:create bucket:read data:read data:create data:write code:all\",\"expires_in\":3596,\"client_id\":\"alias_was_here\"}",
      "x-ads-developer-email": "email_was here"
    },
    "verb": "put"
  }
}

 - snip -

[04/16/2019 12:04:56] ### Command line arguments: /isolate HKEY_CURRENT_USER\SOFTWARE\AppDataLow\Software\Autodesk\CoreUser\WorkItem_4db3208a1c4e429c846c4da385f2219d "T:\Aces\Jobs\4db3208a1c4e429c846c4da385f2219d\userdata" /exe "T:\Aces\AcesRoot\19.0\coreEngine\Exe\revitcoreconsole.exe"  /i T:\Aces\Jobs\4db3208a1c4e429c846c4da385f2219d\$(rvtFile) /al T:\Aces\Applications\779cf68955e15ce6704c72a62c734afe.alias_was_here.ExtractModelCategories[1].package.

 - snip -

[04/16/2019 12:04:56] Echoing command line args:
[04/16/2019 12:04:56]   0:/i
[04/16/2019 12:04:56]   1:T:\Aces\Jobs\4db3208a1c4e429c846c4da385f2219d\$(rvtFile)

[04/16/2019 12:04:56] Running user application....
[04/16/2019 12:05:02] Exception: Revit input file not found: T:\Aces\Jobs\4db3208a1c4e429c846c4da385f2219d\$(rvtFile)

 - snip -

[04/16/2019 12:05:03] Job finished with result FailedExecution
[04/16/2019 12:05:03] Job Status:
{
  "status": "failedInstructions",

  ...

据我所知,两个提交的正文的格式和结构是相同的(它们是同一模型的版本 10 和版本 11)。但是,对于失败的工作项,Revit 文件名未进行解析,仍然是字符串 $(rvtFile),而不是 DA 处理工作项时的实际文件名。

对问题有任何见解吗?提交的正文是否有错误?我该如何纠正?

【问题讨论】:

  • 通常情况下,我们不会在workitem中设置参数“localName”,而是应该在activity中设置,能否请您在workitem中删除它再试一次?
  • 我已经编辑为包含工作项的 POST 请求的正文。我之前只包含了 reportUrl 的部分输出。 “localName”不在帖子正文中。
  • 您能否将您的活动主体和工作项添加到问题中以便我们检查?谢谢。
  • 我已经添加了活动和工作项帖子的正文。
  • 这看起来很奇怪,activity 和 workitem body 对我来说似乎很好,我会与我们的工程师核实以获取更多信息并尽快为您更新。

标签: autodesk-forge autodesk-designautomation


【解决方案1】:

我正在根据我在钟武与 Autodesk 的帮助下所学到的知识来回答我自己的问题:

这是 Revit API Beta 的设计自动化当前存在的问题。如果 Revit 模型包含指向其他模型的链接,则下载到 Design Automation 的文件会被压缩并包含主模型和链接文件。然后设计自动化失败,因为它需要一个 Revit 文件。这会在 API 端自动发生。

解决方法是使用数据管理 API 将 Revit 文件下载到另一个位置。如果 Data Management API 提供的文件是压缩文件而不是 Revit 模型,请将其解压缩。然后,将未压缩的 Revit 文件放在 Design Automation 可访问的位置,并发布引用未压缩文件位置的工作项。

据我了解,Autodesk 内部已发出更改请求以改进对压缩文件的处理。我对此没有时间表。

如果我了解更多,我会更新这个答案。

** 更新**

Autodesk Forge 团队已修复此问题,现在可针对带有链接的 Revit 文件运行。谢谢!

【讨论】:

    【解决方案2】:

    除了使用“localName”:“$(rvtFile),您可以使用静态文件名,如“localName”:“input.rvt”吗?

    【讨论】:

      猜你喜欢
      • 2021-06-29
      • 1970-01-01
      • 1970-01-01
      • 2020-04-22
      • 2019-08-07
      • 2020-07-08
      • 2020-08-07
      • 2021-06-18
      • 2021-05-10
      相关资源
      最近更新 更多