工业模型转多边形网格模型的方法

最近在做工业数字孪生项目。结构工程师会给很多SolidWorks的模型文件,但是这个软件产出的工业模型无法直接应用到孪生项目中,需要将模型改为.glb格式的文件才能在ThreeJS中运行。在Blender中可以导出.glb的文件,但是Blender打开工业建模软件产出的模型并不太友好,会出现很多凌乱的三角面和莫名其妙的现象。最优的模型文件.obj,通用性强,要解决的问题就是将工业模型转成.obj格式。其实,就是找到合适的网格拓扑工具就行。

直接导入文件,模型网格凌乱

我使用的是4.2的Blender版本,导入的.stl文件,可以看到模型有很多凌乱的三角面。面数太多太乱,最后导出的.glb文件会很大,在ThreeJS中运行起来会很消耗资源。如果需要做科技线框的渲染效果,这种布线也没有美观性可言。

使用工具转换模型

使用Mol(小灯泡)将工业模型转换成四边面的模型,并导出.obj格式,就可以简化布线,减小模型文件体积。软件界面看着很复古、简单,但是功能强大,将工业模型文件转.obj格式都不带卡顿。重要的是,不会改变模型结构外观。

在这里,也用过其他的网格拓扑工具,如QRemeshify。但是效果都不太好,模型复杂了容易卡死,容易把结构崩坏。 对比着试过好多次,还是Mol稳定靠谱。

(Mol界面)

(Mol导出.obj文件时选项)

(Mol转过的模型)

高版本Blender文件的解决方案

在高版本Blender中,我这里用的是5.2版本,可以安装Surface Psycho这个插件,有了这个插件后,Blender即可直接打开.step的文件。

安装了这个插件后,在导入菜单里面就可以找到.step文件的导入。文件越大、模型越复杂,导入的时间就越长,导入期间界面一直处于加载状态,模型一个面一个面的加载。

导入后的模型就是这样由一个个的面组成,每个面都加了这个插件自带的修改器。用这个插件强制导入的.step文件,在Blender中会非常卡。

应用修改器后,模型表面虽然依旧很平滑,但是也有很多三角面。这种情况,如果只是渲染视觉效果,应该是足够的。 如果要应用到ThreeJS中作为.glb的开发模型文件,那么这种情况可能还需要精简模型。

这个也算是Blender软件在更新中带来的一些新功能吧,现阶段针对较大、较复杂的模型可能有些吃力,但后续更新优化应该是能有些改善的。

如果只是将工业模型作为视觉效果展示输出,可能也不必如此麻烦,直接交给AI生成渲染图即可。但是现在这个项目需要将模型交付开发,有些工作还是需要人工来完成。当然,也不排除现在AI能够跳过我现在所做的工作内容,直接交付开发,只是GPT太贵,没有那么多额度去跑。(捂脸.jpg)