0

我正在对 Web 服务进行原型设计,以使用 Autodesk Forge 中的设计自动化 API 转换数据。

我的方法是调用一个执行脚本的活动来导入目标数据文件(例如STEP、IGES格式)。例如,我创建了一个将 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"
}

调用此活动的工作项已正确执行,但输出文件 (output.dwg) 没有从输入文件 (input.stp) 导入任何内容。这可能是因为活动“Step2Dwg”的定义中缺少某些字段(例如,AllowedChildProcess),但我不知道如何修复它。

我的问题是:

  1. 如何修复活动“Step2Dwg”的定义以成功转换数据?
  2. 是否有任何其他方法可以创建活动以成功转换数据?
4

1 回答 1

0

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

活动定义如下:

{
      "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"
      }
    ]
  }
}
于 2018-07-24T11:46:21.313 回答