如何在 Design Automation API 中创建用于数据转换的 activity?

How can I create an activity for data conversion in Design Automation API?

我正在使用 Autodesk Forge 中的 Design Automation API 制作 Web 服务原型来转换数据。

我的方法是调用一个activity执行脚本导入目标数据文件(如STEP、IGES格式)。 例如,我创建了一个 activity 来将 STEP 文件转换为 DWG,如下所示:

{
    "HostApplication": "",
    "RequiredEngineVersion": "22.0",
    "Parameters": {
        "InputParameters": [{
            "Name": "Source",
            "LocalFileName": "input.stp"
        }, {
            "Name": "HostDwg",
            "LocalFileName": "$(HostDwg)"
        }],
        "OutputParameters": [{
            "Name": "Result",
            "LocalFileName": "output.dwg"
        }]
    },
    "Instruction": {
        "CommandLineParameters": null,
        "Script": "import\ninput.stp\nsaveas\n\noutput.dwg\n"
    },
    "Version": 1,
    "Id": "Step2Dwg"
}

调用此 activity 的工作项执行无误,但输出文件 (output.dwg) 没有从输入文件 (input.stp) 导入任何内容。 也许这是因为 activity "Step2Dwg" 的定义中缺少某些字段(例如 AllowedChildProcess),但我不知道如何修复它。

我的问题是:

  1. 如何修复activity"Step2Dwg"的定义才能成功转换数据?
  2. 是否有任何其他方法可以创建 activity 以成功转换数据?

您可以使用 Activity “Translate-STEP2DWG”。它以 .stp 文件作为输入并生成 result.dwg 作为输出。这是一个 public activity 任何人都可以向其发送工作项。

activity定义如下:

{
      "Id": "Translate-STEP2DWG",
      "AppPackages": [],
      "HostApplication": "AcTranslators.exe",
      "RequiredEngineVersion": "22.0",
      "Parameters": {
        "InputParameters": [
          {
            "Name": "HostDwg",
            "LocalFileName": "source.stp"
          }
        ],
        "OutputParameters": [
          {
            "Name": "Result",
            "LocalFileName": "result.dwg"
          }
        ]
      },
      "Instruction": {
        "CommandLineParameters": "-i source.stp -o result.dwg",
        "Script": ""
      },
      "AllowedChildProcesses": [
      ],
      "IsPublic": true,
      "Version": 1,
      "Description": ""
    }

这是一个示例工作项请求正文:

{
  "ActivityId": "Translate-STEP2DWG",
  "Arguments": {
    "InputArguments": [
      {
        "Resource": "https://s3.amazonaws.com/AutoCAD-Core-Engine-Services/TestDwg/3DStep.stp",
        "Name": "HostDwg"
      }
    ],
    "OutputArguments": [
      {
        "Name": "Result",
        "HttpVerb": "POST"
      }
    ]
  }
}