码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 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格式转换,且其对模型修复算法、法线修复功能较好

  • 相关阅读:
    MIGO新增页签增强
    Mybatis 插入、修改、删除
    C++ 教程(04)---- 注释
    【开发者必看】【push kit】推送服务典型问题合集1
    MySQL索引失效的情况
    论文撰写必备!16个免费查重网站助你成为学术精英
    字符串讲解
    CMD脚本实战教程
    荧光标记转铁蛋白-(FITC, cy3, cy5, cy7, 香豆素, 罗丹明)
    indexOf()与incldes()的异同 -- js随记
  • 原文地址:https://blog.csdn.net/u014494705/article/details/134508119
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号