【问题标题】:How to change the name of the input and output file dynamically in workitem method in design automation api for Revit如何在 Revit 的设计自动化 api 中的 workitem 方法中动态更改输入和输出文件的名称
【发布时间】:2020-05-06 12:56:01
【问题描述】:

我正在处理一个项目,我需要根据 Revit 设计自动化 API 中的输入 json 文件生成输出 Revit 文件。
由于我的输入 json 字符串很大,我创建了一个 json 文件示例“InputFile.json”并将其上传到云端并将签名的 url 作为输入参数传递给工作项和活动,生成的输出是一个 zip 文件示例“OutputFile.zip”再次使用签名的 url 上传到云端。 我的项目使用此过程正常工作。

但是由于用于输入和输出文件的名称是固定的,当我发送连续请求时,我遇到了问题,我得到不匹配的输出。

Activity request
..
"parameters": {
      "Inputs": {
        "zip": false,
        "ondemand": false,
        "verb": "get",
        "description": "Element parameters",
        "required": true,
        "localName": "InputFile.json"
      },
      "Result": {
        "zip": true,
        "ondemand": false,
        "verb": "put",
        "description": "new created element",
        "required": true,
        "localName": "OutputFile"
      }
    },
...

和 WorkItem 请求

...
"arguments":{
        "Inputs":{
            "url":"https://storage.googleapis.com/XXXXXXX/InputFile.json?XXXXXXXXXXXXXXXsigned-url"
            },

        "Result":{
            "verb":"put",
            "url":"https://storage.googleapis.com/XXXXXXX/OutputFile.zip?XXXXXXXXXXXXXXXsigned-url",
...

如何传递动态生成的名称,例如“InputFile_[DATE].json”和“OutputFile_[DATE].zip”?

提前致谢

问候

【问题讨论】:

  • 我能想到的第一个想法是使用所需名称指定活动的本地名称。但听起来你想保持 Activity 的相同定义,即 Output 的本地名称将始终是 OutputFile?其次,我可能误解了你的问题,但从你的代码看来,Google Signed URL 服务可以指定文件名。这在您的场景中没有用吗?我不熟悉 Google 的签名 URL,我可能是错的。
  • 我被确认 Jeremy 的评论是正确的。 localName 适用于任何 url。定义为参数/工作项的本地名称优先于定义为参数/活动的本地名称

标签: autodesk-forge revit-api autodesk-designautomation


【解决方案1】:

您应该能够在提交工作项时通过将“localName”属性添加到您的参数来替换 localName 值。 示例:

"arguments":{
        "Inputs":{
            "url":"https://storage.googleapis.com/XXXXXXX/InputFile.json?XXXXXXXXXXXXXXXsigned-url"
            },

        "Result":{
            "verb":"put",
            "url":"https://storage.googleapis.com/XXXXXXX/OutputFile.zip?XXXXXXXXXXXXXXXsigned-url",
            "localName": "myOutputFileName"
        }
}

【讨论】:

    猜你喜欢
    • 2021-05-10
    • 2021-09-03
    • 2020-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-28
    • 2020-09-12
    • 1970-01-01
    相关资源
    最近更新 更多