solidworks导出obj模型和mtl材质

目录

0、使用STL格式中转

1、使用solidworks宏

2、使用opencascade软件+step格式中转


为何会有这种需求?因为大多数3D库,都支持导入obj模型和mtl材质,例如webGL、qt3D等,而我只会用solidworks进行三维建模,没有obj和mtl,程序写不下去了。。

还有就是有人要把solidworks的模型,弄到三维渲染软件里进行渲染,某些渲染软件与solidworks兼容的格式只有obj。。

经过一番调研,终于找到了方法。

 

0、使用STL格式中转

从网上找到一种方法,是用STL格式进行中转,才把solidworks格式转成了obj格式,很显然,STL是点云格式,没有材质颜色信息,转出的obj自然也就没有颜色材质信息了。题外话:obj模型的颜色和材质,是存储在另一个文件中的,这个文件格式为mtl。一般转3D格式的时候,会同时生成obj和mtl。如果没有生成mtl,那颜色和材质肯定就丢了。

 

好不容易从国外论坛找的两种方法,可以同时转成obj和mtl:

1、使用solidworks宏

只要是solidworks能打开的格式,都可以转成obj和mtl。方法见以下链接,为防止链接失效,我还是把步骤记录下来吧。

https://forum.solidworks.com/thread/54270

我把用到的资源上传到CSDN了,以防链接失效,请从这里下载:

使用方法也很简单,先把下载的宏新建为按钮,然后就能用按钮启动这个转换软件,点击【run export】按钮就完事了。

如果报错,就尝试放松一下参数,比如把min face width调大等等

solidworks导出obj模型和mtl材质

 

 

 

2、使用opencascade软件+step格式中转

https://www.opencascade.com/content/cad-assistant

先把solidworks的模型另存为step格式,然后用opencascade软件打开step格式的文件,再另存成obj和mtl。

不过,opencascade软件只能运行在linux上。

 

 

 

 

成功把模型弄进了自己的程序里,如下所示

solidworks导出obj模型和mtl材质