1

我一直在关注 Autodesk Model Derive API 教程中的 从源文件中提取数据,并在尝试将上传的源文件转换为 SVF 时不断收到翻译失败。

我尝试过 .step、.sldprt、.stl 和 .igs 文件(此处支持文件扩展名),但似乎都抛出了相同的错误消息。

请求

def self.convert_to_svf(urn, key)
  url = URI("https://developer.api.autodesk.com/modelderivative/v2/designdata/job")
  http = Net::HTTP.new(url.host, url.port)
  http.use_ssl = true

  body = {"input": { "urn": "#{urn}", "compressedUrn": true, "rootFilename": "#{key}" }, "output": { "formats": [{ "type": "svf", "views": ["2d", "3d"] }] }}

  request = Net::HTTP::Post.new(url)
  request["content-type"] = 'application/json'
  request["authorization"] = 'Bearer ' + token
  request.body = body.to_json
  JSON.parse(http.request(request).read_body)
end

响应

{"type"=>"manifest", "hasThumbnail"=>"false", "status"=>"failed", "progress"=>"complete", "region"=>"US", "urn"=>"dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6aXNvcXVlLzE4Ynk4cG9pbnQ1X2dvb2R5ZWFyLmlncw", "derivatives"=>[{"name"=>"LMV Bubble", "hasThumbnail"=>"false", "status"=>"failed", "progress"=>"complete", "messages"=>[{"type"=>"error", "message"=>"Translation failure", "code"=>"TranslationWorker-InternalFailure"}], "outputType"=>"svf"}]}
4

1 回答 1

2

我在您的代码片段中没有看到明显的问题,但是我可以知道您是上传了 zip 格式的源文件还是仅上传了原始格式的单个文件(例如 .step、.sldprt、.stl 和 . igs) ?

我有相关 API 的实践。我使用 Inventor 装配体(带有子装配体和零件)和 AutoCAD 工程图(带有外部参照)进行了测试。在我以 zip 格式上传文件包后,端点可以与compressedUrn = true 配合使用,指定根文件。

如果compressedUrn = true,这意味着源文件被压缩(zip),但这适用于复合文件,即主文件有一些依赖文件。如果是没有依赖文件的单个文件,直接上传源文件,然后调用/modelderivative/v2/designdata/job,不指定compressedUrn和rootFilename。

如果我误解了您的问题,您能否提供更多信息或演示数据集?请注意,请勿发布任何对贵公司保密的数据。

于 2016-06-30T05:36:33.337 回答