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

相关推荐
前端Hardy1 天前
HTML&CSS:数据卡片可以这样设计
前端·javascript·css·3d·html
小彭努力中1 天前
138. CSS3DRenderer渲染HTML标签
前端·深度学习·3d·webgl·three.js
AI生成未来1 天前
斯坦福&UC伯克利开源突破性视觉场景生成与编辑技术,精准描绘3D/4D世界!
3d·3d场景·4d
汪洪墩2 天前
【Mars3d】实现这个地图能靠左,不居中的样式效果
前端·javascript·vue.js·3d·webgl·cesium
Bearnaise2 天前
GaussianDreamer: Fast Generation from Text to 3D Gaussians——点云论文阅读(11)
论文阅读·人工智能·python·深度学习·opencv·计算机视觉·3d
智驾机器人技术前线2 天前
近期两篇NeRF/3DGS-based SLAM方案赏析:TS-SLAM and MBA-SLAM
3d·slam·nerf·3dgs
Tianwen_Burning2 天前
halcon3d disparity_image_to_xyz非常重要的算子及使用条件
算法·3d
光学测量小菜鸡3 天前
OpenCV双目立体视觉重建
opencv·3d·双目相机·结构光·sgbm
豆包MarsCode3 天前
基于豆包MarsCode 和 Threejs 实现3D地图可视化
大数据·开发语言·人工智能·python·3d·程序员
工业3D_大熊3 天前
3D数据格式转换工具HOOPS Exchange如何在读取CAD文件时处理镶嵌数据?
java·linux·c++·windows·macos·3d·c#