如何在 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),但我不知道如何修复它。
我的问题是:
- 如何修复activity"Step2Dwg"的定义才能成功转换数据?
- 是否有任何其他方法可以创建 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"
}
]
}
}
我正在使用 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),但我不知道如何修复它。
我的问题是:
- 如何修复activity"Step2Dwg"的定义才能成功转换数据?
- 是否有任何其他方法可以创建 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"
}
]
}
}