Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何在三维模型格式之间进行转换?(例如,从Collada*.dae到ACIS*.sat)_C++_3dsmax_Collada_File Conversion - Fatal编程技术网

C++ 如何在三维模型格式之间进行转换?(例如,从Collada*.dae到ACIS*.sat)

C++ 如何在三维模型格式之间进行转换?(例如,从Collada*.dae到ACIS*.sat),c++,3dsmax,collada,file-conversion,C++,3dsmax,Collada,File Conversion,我的任务是为我们现有的Sketchup插件编写一个扩展,提供Collada和ACIS或3dsmax文件之间的转换。有几个应用程序提供相同的功能,我想知道它们是如何做到的。例如,它采用了一整套数据格式 Autodesk提供了一个C++ SDK,但显然它们的3DS格式已经被使用。还有其他选择吗 我希望这个问题不要太宽泛。我不认为它有什么特别的魔力 基本上: 读取源格式 这将为您提供一组数据结构,这些数据结构将数据表示为所描述的源格式(例如,对象、顶点、材质、纹理、灯光等的列表) 尝试使用您所拥有的

我的任务是为我们现有的Sketchup插件编写一个扩展,提供Collada和ACIS或3dsmax文件之间的转换。有几个应用程序提供相同的功能,我想知道它们是如何做到的。例如,它采用了一整套数据格式

Autodesk提供了一个C++ SDK,但显然它们的3DS格式已经被使用。还有其他选择吗


我希望这个问题不要太宽泛。

我不认为它有什么特别的魔力

基本上:

  • 读取源格式
  • 这将为您提供一组数据结构,这些数据结构将数据表示为所描述的源格式(例如,对象、顶点、材质、纹理、灯光等的列表)
  • 尝试使用您所拥有的以目标格式表示数据
  • 以目标格式构造并写出一个新文件
  • 这真的是一个“他们就这么做”的例子, ACIS是由提供的商业产品。使用ACIS,您可以将.SAT/.SAB文件读取(和写入)到ACIS数据结构中。InterOp是Spatial提供的另一种产品,可用于在各种CAD文件类型之间进行转换。不幸的是,Collada不在支持的格式之列

    但是,如果您许可了ACIS,则可以编写自己的代码来生成Collada文件

    -布拉德