Autodesk Forge — не удалось загрузить описание проекта для входного проекта

#autodesk-forge

#autodesk-forge

Вопрос:

Я использую autodesk Forge для публикации задания для создания эскизов. Ниже приведен текст httpheaders, который я отправляю.

 { "input" : 
    { "urn":"urnNum", 
      "compressedUrn" : true, 
      "rootFilename" : "RodDesign"}, 
 "output" :
    { "destination" : { "region" : "us"}, 
      "formats" : [{"type":"thumbnail"}] 
    } 
}
  

Код состояния равен 200, но он возвращает ответ :

 Failed to download the design description for the input design.
  

Я не уверен, как это интерпретировать. Я не знаю, проблема ли это с данными, которые я отправил, или проблема с файлом, к которому я пытаюсь получить доступ, или что-то еще.

Любая помощь приветствуется.

Ответ №1:

Ваше rootfilename имя должно быть полным с именем расширения и точно соответствовать файлу модели в архиве:

 { "input" : 
    { "urn":"dXJuOmFkc2sub2JqZWN0czpvcy5vYmplY3Q6bW9kZWxkZXJpdmF0aXZlL0E1LnppcA", 
      "compressedUrn" : true, 
      "rootFilename" : "RodDesign.rvt"}, 
 "output" :
    {  
      "formats" : [{"type":"thumbnail"}] //output region defaults to US so no need for it here
    } 
}
  

Если у вашего файла модели нет имени расширения, наш механизм не сможет определить, в какой экстрактор его отправить — наш механизм перевода определяет тип файла модели на основе его имени расширения (например, rvt, dwg и т.д.).

Также убедитесь, что архив полностью загружен в корзину — запросите сведения об объекте с помощью GET buckets/:bucketKey/objects/:objectName/details и проверьте его размер и SHA1 (можете использовать это для вычисления для ваших локальных файлов, и дайджесты должны быть идентичными для одного и того же содержимого).

Редактировать

Что такое архив?

ZIP, RAR, TAR и т. Д.

Почему нам нужно использовать имя файла с расширением, когда мы присваиваем ему urn, которое должно быть уникальным идентификатором, из которого извлекается запись, сообщающая читателю тип файла? Я не вижу тип файла в данных forge. Как мы можем определить это программно?

Если вы переводите файл проекта напрямую, а не архив (см. Здесь, чтобы понять, что это значит), тогда оставьте compressedUrn и. rootFilename Подробности см. В руководстве здесь.

Как мы узнаем, сжат ли файл? Если коду требуется расширение имени корневого файла, чтобы отправить его в нужное средство извлечения, почему это не требуется для файла, который не сжимается?

Конечно, наша служба перевода требует, чтобы файлы модели в корзине имели правильное имя расширения, чтобы она могла отправлять их в правильный экстрактор.

Как мне узнать формат файла? Что используется по умолчанию для Fusion 360? Как я узнаю, правильный ли у меня формат, и есть ли просто другая ошибка, выдающая то же сообщение?

Это будет f2d для 2d-чертежа и f3d для 3D-моделей. Вы всегда можете найти ответы в Google для поиска правильных имен расширений.

Это проблема с поиском исходного файла и как мне ее решить?

Вам нужно будет убедиться, что файл модели в корзине имеет правильное имя расширения, иначе он не будет отправлен в соответствующий экстрактор и, следовательно, ошибка.

Комментарии:

1. Извините, это сбивает меня с толку. У меня сложилось впечатление, что из примеров было то, что корзина была нужна только потому, что мы загружали туда файл для запуска кода. Я не уверен, зачем нам нужна корзина, когда мы извлекаем файл из одного из наших собственных файлов с помощью urn. Что такое архив? Я не вижу этого в документах. Почему нам нужно использовать имя файла с расширением, когда мы присваиваем ему urn, которое должно быть уникальным идентификатором, из которого извлекается запись, сообщающая читателю тип файла? Я не вижу тип файла в данных forge. Как мы можем определить это программно?

2. Сжатый аспект этого также сбивает с толку. Как мы узнаем, сжат ли файл? Если коду требуется расширение имени корневого файла, чтобы отправить его в нужное средство извлечения, почему это не требуется для файла, который не сжимается?

3. Итак, я перепробовал несколько разных форматов, и все они возвращают одну и ту же ошибку. Как мне узнать формат файла? Что используется по умолчанию для Fusion 360? Как я узнаю, правильный ли у меня формат, и есть ли просто другая ошибка, выдающая то же сообщение?

4. Просто удалил параметры compressedURN и footfilename и получил ту же ошибку. Это проблема с поиском исходного файла и как мне ее решить? Идентификатор источника, который я использую, — это URN, извлеченный из forge.

5. См. Редактирование — думал, что вы переводите архив, но на самом деле это был просто f2d / f3d