我一直在关注Autodesk Model Derive API教程 尝试将上传的源文件转换为SVF时,Extracting Data From a Source File并继续获取翻译失败。
我已经尝试过.step,.sldprt,.stl和.igs文件(支持的文件扩展名here),但似乎都会抛出相同的错误消息。
请求
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"}]}
答案 0 :(得分:2)
我没有在你的代码片段中看到明显的问题,但是我可能知道你是以zip格式上传了源文件还是只上传了原始格式的单个文件(比如.step,.sldprt ,. stl和.igs)?
我参与了相关的API。我使用Inventor装配(带有子装配和零件)和AutoCAD绘图(带有外部参照)进行了测试。在我以压缩文件上传文件包之后,端点可以很好地使用compressedUrn = true,指定根文件。
如果compressedUrn = true,则表示源文件已压缩(zip),但这适用于复合文件,即主文件具有一些相关文件。如果它是没有相关文件的单个文件,则直接上传源文件,然后调用/ modelderivative / v2 / designdata / job而不指定compressedUrn和 rootFilename。
如果我误解了您的问题,您能提供更多信息或演示数据集吗?请注意,不要发布任何对贵公司保密的数据。