Search code examples
c++3dsmaxcolladafile-conversion

How does converting between 3D model formats work? (Collada *.dae to ACIS *.sat for example)


I've got the task of writing an extension to our existing Sketchup Plugins that offer the conversion between Collada and ACIS or 3dsmax files. There are a few applications that offer the same functionality and I wonder how they do it. AnyCAD 3d converter for example takes a whole range of data formats.

Autodesk offers a C++ SDK, but apparently their 3ds format has been retired after 2012. Any other option?

I hope this question isn't too broad.


Solution

  • I don't think there's any particular magic to it.

    Basically:

    1. Read the source format
    2. This gives you a bunch of data structures that represent the data as the source format described it (e.g. perhaps lists of objects, vertices, materials, textures, lights and so on)
    3. Try to express the data in the destination format using what you've got
    4. Construct and write out a new file in the destination format

    It's really a case of "they just do it".