Перевести исходный файл в формат SVF - Ошибка перевода

Я следовал учебному руководству 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"}]}

1 ответ

Я не увидел очевидной проблемы в вашем фрагменте кода, однако могу я узнать, загрузили ли вы исходный файл (ы) в формате zip или только один файл исходного формата (скажем.step,.sldprt,.stl и.igs)?

У меня была практика по соответствующим API. Я протестировал сборку Inventor (с сборочными узлами и деталями) и чертеж AutoCAD (с внешними ссылками). Конечная точка может хорошо работать со сжатым Urn = true, указав корневой файл, после того, как я загрузил пакет файлов в zip.

Если compressUrn = true, это означает, что исходный файл сжат (zip), но это относится к составным файлам, то есть основной файл имеет несколько зависимых файлов. Если это один файл, который не имеет зависимых файлов, загрузите исходный файл напрямую, а затем вызовите /modelderivative/v2/designdata/job без указания сжатого имени пользователя и имени rootFilename.

Если я неправильно понял ваш вопрос, не могли бы вы предоставить немного больше информации или демонстрационный набор данных? Обратите внимание, не размещайте какие-либо данные, которые являются конфиденциальными для вашей компании.

Другие вопросы по тегам