【问题标题】:Failed conversion from dwg to svf with the Autocad api TranslationWorker使用 Autocad api TranslationWorker 从 dwg 转换为 svf 失败
【发布时间】:2017-07-02 19:06:49
【问题描述】:

我无法使用 Forge API 中的 TranslationWorker 上传简单的 dwg 并将其转换为 svf。我正在使用 AutoCAD 2014 并创建一个带有圆圈的简单绘图并将其保存为 .dwg。

我在 windows 中使用命令行和以下 curl 命令:

curl -v "https://developer.api.autodesk.com/oss/v2/buckets/kumkortbucket/objects/sirkel.dwg" -X "PUT" -H "Authorization: Bearer OAUTH_TOKEN" -H "Content-Type: application/octet-stream" -T "‪C:\Users\DAN\Documents\Testfiler\sirkel.dwg"

产生以下结果:

HTTP/1.1 100 Continue
* We are completely uploaded and fine
< HTTP/1.1 200 OK
< Access-Control-Allow-Credentials: true
< Access-Control-Allow-Headers: Authorization, Accept-Encoding, Range,Content-Type
< Access-Control-Allow-Methods: GET
< Access-Control-Allow-Origin: *
< Content-Type: application/json; charset=utf-8
< Date: Tue, 14 Feb 2017 12:56:38 GMT
< Server: Apigee Router
< Content-Length: 355
< Connection: keep-alive
<
{
  "bucketKey" : "kumkortbucket",
  "objectId" : "urn:adsk.objects:os.object:kumkortbucket/sirkel.dwg",
  "objectKey" : "sirkel.dwg",
  "sha1" : "78f92dc0a364814756cfa9392d7fa95aecf0916b",
  "size" : 31548,
  "contentType" : "application/octet-stream",
  "location" : "https://developer.api.autodesk.com/oss/v2/buckets/kumkortbucket/objects/sirkel.dwg"
}* Connection #0 to host developer.api.autodesk.com left intact

然后我使用 POST 作业命令对其进行转换

curl -X "POST" -H "Authorization: Bearer OAUTH_TOKEN" -H "Content-Type: application/json" -v "https://developer.api.autodesk.com/modelderivative/v2/designdata/job" -d "{\"input\": {\"urn\": \"dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6a3Vta29ydGJ1Y2tldC9zaXJrZWwuZHdn\"},\"output\": {\"formats\": [{\"type\": \"svf\",\"views\": [\"2d\",\"3d\"]}]}}"

使用 GET 命令检查结果我得到以下结果:

{"type":"manifest","hasThumbnail":"false","status":"failed","progress":"complete","re​​gion":"US","urn":"dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6a3Vta29ydGJ1Y2tldC9zaXJrZWwuZHdn ","version":"1.0","derivatives":[{"name":"sirkel.dwg","hasThumbnail":"false","status":"failed","progress":"complete", "messages":[{"type":"error","code":"AutoCAD-InvalidFile","message":"抱歉,绘图文件无效,无法查看。\n-请尝试恢复文件在 AutoCAD 中,然后再次上传以查看。"},{"type":"error","message":"提取器中不可恢复的退出代码:-1073741831","code":"TranslationWorker-InternalFailure"}]," outputType":"svf"}]}* 到主机 developer.api.autodesk.com 的连接 #0 保持不变

我无法弄清楚我做错了什么。我可以在 AutoCAD 和在线查看器中查看文件。

干杯。

编辑:

这是一个上传有问题的文件 http://www.filedropper.com/ekbsroplain

【问题讨论】:

  • 当你说它适用于在线查看器时,你的意思是a360.autodesk.com/viewer
  • 是的,它可以在该查看器中正常上传。 @AugustoGoncalves

标签: autodesk-forge


【解决方案1】:

这是我所做的(整个过程):

curl -v 'https://developer.api.autodesk.com/authentication/v1/authenticate' -X 'POST' -H 'Content-Type: application/x-www-form-urlencoded' -d 'client_id=****&client_secret=****&grant_type=client_credentials&scope=data:read data:write data:create bucket:create bucket:read'

curl -v 'https://developer.api.autodesk.com/oss/v2/buckets' -X 'POST' -H 'Content-Type: application/json' -H 'Authorization: Bearer TOKEN' -d '{"bucketKey":"kumkortbucket170214","policyKey":"transient"}'

注意我上传的内容没有内容类型和内容长度,实际上不需要:

curl -v 'https://developer.api.autodesk.com/oss/v2/buckets/kumkortbucket170214/objects/drawing1.dwg' -X 'PUT' -H 'Authorization: Bearer TOKEN' -T '/Users/augustogoncalves/Desktop/Drawing1.dwg'

最后是 POST 作业:

curl -X 'POST' -H 'Authorization: Bearer TOKEN' -H 'Content-Type: application/json' -v 'https://developer.api.autodesk.com/modelderivative/v2/designdata/job' -d '{"input":{"urn":"dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6a3Vta29ydGJ1Y2tldDE3MDIxNC9kcmF3aW5nMS5kd2c="},"output":{"formats":[{"type": "svf","views": ["2d","3d"]}]}}'

效果很好

{  
   "result":"success",
   "urn":"dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6a3Vta29ydGJ1Y2tldDE3MDIxNC9kcmF3aW5nMS5kd2c",
   "acceptedJobs":{  
      "output":{  
         "formats":[  
            {  
               "type":"svf",
               "views":[  
                  "2d",
                  "3d"
               ]
            }
         ]
      }
   }
}

【讨论】:

  • 仍然遇到同样的错误。我应该使用相同的 POST 命令吗? @AugustoGoncalves
  • 转贴我的答案,看看
  • 我尝试了一些其他文件,有些文件有效,有些文件没有。不过,他们都在在线查看器上工作。是否有某种手册适用于哪种类型的文件?所有版本的AutoCAD,字体等?谢谢你的帮助。干杯
  • 我不希望有限制,但如果您可以分享有问题的文件之一,我可以进行更好的调查。您可以转发到 autodesk.com 上的 forge.help
  • 嗨,我添加了一个指向我遇到问题的文件的链接。 @AugustoGoncalves
猜你喜欢
  • 2018-05-06
  • 1970-01-01
  • 2016-10-25
  • 2015-10-12
  • 2021-02-05
  • 2016-10-23
  • 2020-10-12
  • 1970-01-01
  • 2019-07-04
相关资源
最近更新 更多