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格式转换,且其对模型修复算法、法线修复功能较好

相关推荐
FlightYe9 小时前
视界原理之3D视频(四):裸眼、眼镜和头显
android·linux·c++·3d·ffmpeg·音视频
云飞云共享云桌面12 小时前
1台SolidWorks服务器如何承载10个设计并发?
运维·服务器·网络·3d·制造
释厄62317 小时前
三角基底律——矩阵3x6 是所有三角形的基底·3D中高就是边
线性代数·3d·矩阵
Solange__19 小时前
图片转3D导出GLB、FBX还是OBJ?按5类任务比较材质、动画与可编辑性
人工智能·3d·ai·自然语言处理·编辑器·blender·材质
Jmyd012320 小时前
博物馆AR导览数字孪生架构设计:从空间数据到AR应用全链路
3d·系统安全·ar·数字孪生·博物馆·三维数字化
chaoyuanl21 小时前
超元力玻璃剧场:裸眼3D、8K高清与悬空栈桥的成熟文旅解决方案
大数据·人工智能·3d·xr·vr
苏州福兰克1 天前
运行裸眼3D显示器对电脑显卡配置有什么要求?
3d·计算机外设·电脑
Martina_03212 天前
AI生成的3D模型打印后沿层纹开裂?用6步检查方向、壁厚与填充
图像处理·人工智能·数学建模·3d·自然语言处理·游戏策划·1024程序员节
Solange__2 天前
在线3D预览器、Blender和游戏引擎怎么选?按5类任务比较格式、隐私与编辑性
人工智能·游戏·3d·游戏引擎·blender·1024程序员节·关卡设计
暴走约伯3 天前
【VFX工具链源码拆解 02】告别机械劳动(上):一键统改百个子粒子颜色与批量重命名
3d·unity·c#·材质