solidworks导出obj模型和mtl材质

  • Post author:
  • Post category:其他



目录


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。方法见以下链接,为防止链接失效,我还是把步骤记录下来吧。


SOLIDWORKS Forums

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


https://download.csdn.net/download/qq_31073871/29884359

使用方法也很简单,先把下载的宏新建为按钮(不会的朋友请自行搜索SW的新建宏教程),然后就能用按钮启动这个转换软件,点击【run export】按钮就完事了。

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

2、使用

opencascade

软件+step格式中转


CAD Assistant – Open Cascade

先把solidworks的模型另存为step格式,然后用

opencascade

软件打开step格式的文件,再另存成obj和mtl。

不过,

opencascade

软件只能运行在linux上。

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