Как работает конвертация между форматами 3D-моделей? (Collada * .dae к ACIS * .sat например)

У меня есть задача написать расширение для наших существующих плагинов Sketchup, которые предлагают преобразование между файлами Collada и ACIS или 3dsmax. Есть несколько приложений, которые предлагают такую ​​же функциональность, и мне интересно, как они это делают. AnyCAD 3d конвертер например, принимает целый ряд форматов данных.

Autodesk предлагает C ++ SDK, но, очевидно, их формат 3ds был вышел на пенсию после 2012 года. Любой другой вариант?

Я надеюсь, что этот вопрос не слишком широк.

0

Решение

Я не думаю, что в этом есть какая-то особенная магия.

В принципе:

  1. Читать исходный формат
  2. Это дает вам набор структур данных, которые представляют данные в качестве исходного формата, который их описал (например, возможно, списки объектов, вершин, материалов, текстур, источников света и т. Д.)
  3. Попробуйте выразить данные в формате назначения, используя то, что у вас есть
  4. Создайте и запишите новый файл в формате назначения

Это действительно случай «они просто делают это».

2

Другие решения

Sven,
ACIS — это коммерческий продукт, предлагаемый Spatial Corp. Используя ACIS, вы можете читать (и записывать) файлы .SAT / .SAB в структуры данных ACIS. InterOp — это еще один продукт, предлагаемый Spatial, который можно использовать для конвертации файлов различных типов. К сожалению, Collada не входит в число поддерживаемых форматов.

Однако, если вы лицензировали ACIS, вы можете написать собственный код для создания файлов Collada.

-штифтик

0