3D格式转换工具

这里记录下自己之前做3D模型格式转换,包括做CAD模型格式转换辅助的一些开源仓库和工具

(一)转换成gltf工具

gltf作为3D界的jpg标准,如今已经有很多引擎对其进行了支持,这里单独把它列出来

1. obj转glft工具

git仓库:https://github.com/CesiumGS/obj2gltf

2. fbx转gltf工具

git仓库:https://github.com/facebookincubator/FBX2glTF

3. gltf压缩工具draco压缩

git仓库:https://github.com/CesiumGS/gltf-pipeline

4. 工业cad格式转gltf工具

官网:CAD Assistant - Open Cascade

5. collada转Glft工具

git仓库:https://github.com/KhronosGroup/COLLADA2GLTF/releases

(二)3D格式转换软件

1. blender

blender官网:https://www.blender.org/

blender中文文档:https://docs.blender.org/manual/zh-hans/dev/getting_started/index.html

blender build python moudle(mac版本):https://wiki.blender.org/wiki/Building_Blender/Mac

2. Freecad

FreeCAD官网:FreeCAD: Your own 3D parametric modeler

FreeCAD仓库地址:https://github.com/FreeCAD

Freecad 是基于opencascade做开源库的,提供了更多模型解析,同时也提供了一些算法像网格转换,大部分基于python实现。

但跟opencascade差不多,大部分也是去除重复点、重复面之类,操作自由度很高,自动化也是很容易造成过度填补或删除。

而且freecad在mesh和part之间相互转换很占用系统资源,mesh支持解析一些简单模型格式(像obj/stl),part是解析复杂一点的模型格式(像step)。

3. Meshlab

Meshlab官网 MeshLab

Meshlab是一款较不错开源CAD软件,提供了很多模型处理的算法,但主要是处理三角网格,无法处理step/stp等曲面模型。

Meshlab主要是基于vcglib,具体功能和详情见下面

4. Vcglib

【vcglib介绍】

VCGLIB是由意大利国立研究院的库文件,算法开源,一个经典的计算机图形学数学库。

VCG Libary是专门为处理三角网格而设计的,库很大,且提供了许多最先进的处理网格的功能,如:

*基于边坍塌(edge-collapse)二次误差的高质量网格简化(simplfication);

*高效的空间检索数据结构(uniform grids, hashed grids, kdtree, ...);

*先进的网格平滑和光顺算法;

*曲率计算;

*纹理坐标优化;

*Hausdorff距离计算;

*测地路径;

*网格修复能力

*等直面抽取和前沿的网格划分算法;

*泊松圆盘采样和其他的网格点采样算法;

【vcglib数据操作部分】

1.Automatic mesh optimization:主要提供基于二次误差的边缘折叠算法(效果还可以),还有其他边缘折叠算法和聚类算法

2.model repair and clean:包括对重复面、点、去除一些杂点、噪点等等

3.hole filing:指定小于某个大小的空洞进行填补

4.network smoot

5.更多功能:参考meshlab软件或者MeshLab

5. opencascade

opencascade官方文档:Open Cascade, part of Capgemini

mac上如何编译opencascade:https://dev.opencascade.org/doc/overview/html/occt_dev_guides__building_3rdparty_osx.html

digital-mockup-simplification:Digital Mockup Simplification - Forum Open Cascade Technology

opencascade国内较好的博客:eryar - C++博客

opencascade是我们最早调研的一款CAD开源软件,本打算将其作为我们CAD转换的一个核心库,但后面调研发现其存在各种问题,以下是当时的调研总结。

opencascade提供了很多products,其中包括cadprocessor/cadassitant等,以及开源部分Open Source Core Technology

其中,OpenSourceCoreTechnology只提供了几个类型(step/iges/stl)的转化服务和数据修复服务,并没有数据优化部分

OpenSourceCoreTechnology可以做到3D数据处理:Shape Healing - Forum Open Cascade Technology

只提供了一些面重复修复,对一些缺失位置的填补,而且自由度很高,自动化很容易造成过度填补或删除

而之前关注的文章https://www.opencascade.com/content/digital-mockup-simplification,这个是cadprocessor提供的功能,商用的,不开源

6. Pixyz

收费软件,支持较多CAD格式转换,且其对模型修复算法、法线修复功能较好

相关推荐
Ulyanov6 小时前
PyVista战场可视化实战(一):构建3D战场环境的基础
开发语言·python·3d·tkinter·gui开发
微光守望者11 小时前
Unity小知识【2】:Transform与RectTransform,UI和3D对象的空间转换秘诀
ui·3d·unity
恋猫de小郭11 小时前
Meta ShapeR :基于随机拍摄视频的 3D 物体生成,未来的 XR 和机器人基建支持
android·flutter·3d·ai·音视频·xr
咯哦哦哦哦11 小时前
hom_mat3d_translate_local 和 hom_mat3d_translate 区别
3d
魔乐社区11 小时前
魔珐星云Demo登陆魔乐社区,0门槛解锁3D数字人交互新体验
人工智能·3d·数字人·魔乐社区
CG_MAGIC19 小时前
Substance Painter 纹理烘焙:法线贴图与 AO 贴图制作指南
3d·贴图·substance painter·建模教程·渲云渲染
新启航-光学3D测量1 天前
运动员的身体参数(如脚型、手型)的光学三维扫描测量逆向-激光三维扫描仪
科技·3d·制造
:mnong1 天前
WebGPU渲染器BatchedMesh批量网格渲染分析
3d
:mnong1 天前
NASA 3DTilesRenderer 项目需求设计实现分析
3d
大江东去浪淘尽千古风流人物1 天前
【SEVIS】An Efficient Schmidt-EKF for 3D Visual-Inertial SLAM
人工智能·机器学习·3d