autodesk伪造-翻译源文件到SVF格式-翻译失败



我一直在遵循Autodesk模型派生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"}]}

我在你的代码片段中没有看到一个明显的问题,但是我可以知道你是否上传了zip格式的源文件或只有原始格式的单个文件(说.step, .sldprt, .stl和.igs) ?

我对相关api进行了实践。我用Inventor组装(包含子组件和部件)和AutoCAD绘图(使用Xrefs)进行了测试。端点可以很好地使用compressedUrn = true,指定根文件,在我上传压缩包后。

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

如果我误解了你的问题,你能提供更多的信息或演示数据集吗?注意,不要发布任何属于公司机密的数据。

最新更新