当前位置: 首页 > news >正文

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

相关文章:

3D格式转换工具

这里记录下自己之前做3D模型格式转换,包括做CAD模型格式转换辅助的一些开源仓库和工具 (一)转换成gltf工具 gltf作为3D界的jpg标准,如今已经有很多引擎对其进行了支持,这里单独把它列出来 1. obj转glft工具 git仓库…...

seismicunix基础-声波波动方程推导

seismicunix基础-声波波动方程推导 接触波动方程的研究人员都绕不开这个公式,这是在一维状态下波动方程 但是对于这个方程是怎样来的很少有人能说清楚,其中涉及到牛顿第二运动定律,物体的加速度与受到的力有关。 假设一维弦是大量紧密连接的质…...

2024电脑录屏软件排行第一Camtasia喀秋莎

真的要被录屏软件给搞疯了,本来公司说要给新人做个培训视频,想着把视频录屏一下,然后简单的剪辑一下就可以了。可谁知道录屏软件坑这么多,弄来弄去头都秃了,不过在头秃了几天之后,终于让我发现了一个值得“…...

MQTT通信协议使用说明

目录 1 MQTT连接属性1.1 服务器URL(Broker Address)1.2 客户端标识(clientID)1.3 用户名称 & 密码(User Name & Password)1.4 连接超时(Connection Timerout)1.5 心跳间隔 (KeepAlivelnterval)1.6 清除会话(cleanSession) 2 主题&消息2.1 主题2.1.1 订阅主题(SUBSC…...

mysql底层是如何存放数据的

总览 首先总的来说,分为四个层级,行页区段。行就是数据库里的一行数据。 但一次从磁盘读进内存的数据量是一页(页是读写的单位,默认16KB一页),页分很多种类,例如数据页、溢出页、undo日志页。 …...

【代码随想录】刷题笔记Day33

前言 Day33虽说是一个月,但是从第一篇开始实际上已经过了8个月了,得抓紧啊 46. 全排列 - 力扣(LeetCode) 前面组合就强调过差别了,这道题是排序,因此每次要从头到尾扫,结合used数组 class So…...

AD从原理图到PCB超详细教程

AD超详细教程 前言一、建立一个工程模板二、原理图1.设计原理图。2.使用AD自带库和网上开源原理图库3.画原理图库4.编译原理图 三、PCB1.确定元器件尺寸大小2.绘制PCB Library①使用元器件向导绘制元件库②原理图与PCB的映射 3.绘制PCB①更新PCB②调整元件位置③布线④漏线检查…...

2023.11.20使用flask做一个简单图片浏览器

2023.11.20使用flask做一个简单图片浏览器 功能: (1)输入指定路径,打开文件夹 (2)判断文件格式为图片 (3)在前端进行预览 (4)使用bootstrap进行简单美化 ma…...

https和http的区别和优势

大家好,我是咕噜-凯撒,HTTP(超文本传输协议)和HTTPS(安全超文本传输协议)是用于在网络上传输数据的协议,HTTPS相比HTTP在数据传输过程中更加安全可靠,适合对数据安全性要求较高的场景…...

Docker 启动alpine镜像中可执行程序文件遇到 not found

## 1. 问题: docker alpine镜像中遇到 sh: xxx: not found 例如: 在容器内/app/目录下放置了可执行文件abc,启动时提示not found /app/startup.sh: line 5: ./abc : not found ## 2. 原因 由于alpine镜像使用的是musl libc而不是gnu libc&am…...

.net对接阿里云CSB服务

public Response<string> Main(MonthPlanRequest request){string apiName "MonthPlan", postData request.ToJson(); var result ConnectCSB(apiName, postData);return InvokeResult.Fail<string>("访问成功");}/// <summary>///…...

Json数据格式

json比较可读&#xff0c;通过键值对返回。实现通常有两种方式:一种是自己来构造&#xff0c;也就是用一个对象存储数据&#xff0c;在最后输出时将其json字符串化&#xff1b;第二种是使用 RestController 注解实现json数据返回。 第一种 导入依赖坐标&#xff1a; <depe…...

Kafka-Producer

1、生产者 从编程的角度而言&#xff0c;生产者是一个消息的生产者&#xff0c;它负责创建消息并发送到Kafka集群中的一个或多个topic中。 1.1、客户端开发 一个正常的生产逻辑需要具备以下几个步骤&#xff1a; 配置生产者客户端参数及创建相应的生产者实例构建待发送的消…...

Ubuntu20上离线安装samba

如果联网&#xff0c;一条 sudo apt-get install samba就可能解决问题&#xff0c;但是没有网&#xff0c;那么只能一个一个的解决问题&#xff1a; 我以为装了samba-common就可以了&#xff0c;发现smbd.serverice not found,于是开始了漫长的下载依赖包&#xff0c;安装&…...

【开源】基于Vue.js的教学过程管理系统

项目编号&#xff1a; S 054 &#xff0c;文末获取源码。 \color{red}{项目编号&#xff1a;S054&#xff0c;文末获取源码。} 项目编号&#xff1a;S054&#xff0c;文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 教师端2.2 学生端2.3 微信小程序端2…...

【C++】泛型编程 ⑪ ( 类模板的运算符重载 - 函数实现 写在类外部的不同的 .h 头文件和 .cpp 代码中 )

文章目录 一、类模板的运算符重载 - 函数实现 写在类外部的不同的 .h 头文件和 .cpp 代码中1、分离代码 后的 友元函数报错信息 - 错误示例Student.h 头文件内容Student.cpp 代码文件内容Test.cpp 代码文件内容执行报错信息 2、问题分析 二、代码示例 - 函数实现 写在类外部的不…...

动手学深度学习——循环神经网络的简洁实现(代码详解)

文章目录 循环神经网络的简洁实现1. 定义模型2. 训练与预测 循环神经网络的简洁实现 # 使用深度学习框架的高级API提供的函数更有效地实现相同的语言模型 import torch from torch import nn from torch.nn import functional as F from d2l import torch as d2lbatch_size, …...

19.删除链表的倒数第 N 个节点

​题目来源&#xff1a; leetcode题目&#xff0c;网址&#xff1a;19. 删除链表的倒数第 N 个结点 - 力扣&#xff08;LeetCode&#xff09; 解题思路&#xff1a; 使用双指针找到倒数第 N1 个节点后删除链表的第 N 个节点即可。注意当 N 为链表长度时&#xff0c;倒数第 N1 …...

机器人制作开源方案 | 莲花灯

1. 功能描述 莲花灯是一款基于莲花形象设计的机器人&#xff0c;本文示例将用两种模式来实现莲花灯的亮灭功能。 自主模式&#xff1a;用 光强传感器 控制莲花灯的灯叶开合。暗光情况下灯叶打开&#xff0c;灯亮&#xff1b;强光情况下灯叶闭合&#xff0c;灯灭。 …...

华为无线ac+fit三层组网,每个ap发射不同的业务vlan

ap管理dhcp在ac控制器上&#xff0c;业务dhcp在汇聚上 配置WLAN业务 &#xff08;1&#xff09;配置VAP模板 • 配置员工网络的VAP模板&#xff08;employee&#xff09; [AC-wlan-view] security-profile name employee //创建名为“employee”的安全模板 [AC-wlan-sec-prof-…...

Windows Cleaner:5步快速解决C盘爆红的免费系统优化工具

Windows Cleaner&#xff1a;5步快速解决C盘爆红的免费系统优化工具 【免费下载链接】WindowsCleaner Windows Cleaner——专治C盘爆红及各种不服&#xff01; 项目地址: https://gitcode.com/gh_mirrors/wi/WindowsCleaner 你是否经常遇到C盘变红、电脑卡顿、运行缓慢的…...

如何免费下载30+文档平台内容:终极浏览器脚本指南

如何免费下载30文档平台内容&#xff1a;终极浏览器脚本指南 【免费下载链接】kill-doc 看到经常有小伙伴们需要下载一些免费文档&#xff0c;但是相关网站浏览体验不好各种广告&#xff0c;各种登录验证&#xff0c;需要很多步骤才能下载文档&#xff0c;该脚本就是为了解决您…...

用C++暴力枚举解决厦大GPA最优分配问题(附完整代码)

用C暴力枚举解决GPA最优分配问题的工程实践 最近在算法竞赛社区看到一个有趣的题目&#xff1a;如何用编程方法求解四门考试总分下的最大GPA和。这个问题看似简单&#xff0c;但蕴含着许多值得探讨的算法思想和工程实践技巧。作为一名参加过多次算法竞赛的老手&#xff0c;我想…...

告别SGM的漫长等待:用ELAS算法1秒搞定百万像素双目匹配(附C++/OpenCV实战代码)

百万像素双目匹配的实时革命&#xff1a;ELAS算法深度解析与工程实践 双目立体视觉在机器人导航、自动驾驶和工业检测等领域扮演着关键角色&#xff0c;但传统方法如SGM&#xff08;Semi-Global Matching&#xff09;在百万像素级图像处理时往往面临严重的性能瓶颈。当我在开发…...

如何用HashCheck轻松验证文件完整性:新手快速入门指南

如何用HashCheck轻松验证文件完整性&#xff1a;新手快速入门指南 【免费下载链接】HashCheck HashCheck Shell Extension for Windows with added SHA2, SHA3, and multithreading; originally from code.kliu.org 项目地址: https://gitcode.com/gh_mirrors/ha/HashCheck …...

Genshin FPS Unlock:原神帧率解锁终极指南 - 突破60FPS限制的完整解决方案

Genshin FPS Unlock&#xff1a;原神帧率解锁终极指南 - 突破60FPS限制的完整解决方案 【免费下载链接】genshin-fps-unlock unlocks the 60 fps cap 项目地址: https://gitcode.com/gh_mirrors/ge/genshin-fps-unlock Genshin FPS Unlock 是一个开源工具&#xff0c;专…...

抖音批量下载终极指南:免费无水印工具快速上手

抖音批量下载终极指南&#xff1a;免费无水印工具快速上手 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback support. 抖音…...

Seedream MCP 集成指南

在人工智能快速发展的今天&#xff0c;MCP&#xff08;模型上下文协议&#xff09;作为由 Anthropic 推出的标准化接口&#xff0c;允许 AI 模型&#xff08;如 Claude、GPT 等&#xff09;调用外部工具。通过 AceData Cloud 提供的 Seedream MCP 服务器&#xff0c;您可以直接…...

AI Agent的记忆系统架构2026:四种记忆类型与工程实现完全指南

摘要 记忆系统是AI Agent实现持续学习和个性化服务的核心基础设施。本文系统梳理Agent记忆的四大类型——感官记忆、短期记忆、长期记忆与情节记忆&#xff0c;并提供完整的工程实现方案。## 一、为什么Agent需要记忆系统大语言模型本质上是无状态的&#xff1a;每次推理相互独…...

基于MCP协议构建AI侍酒师:原理、配置与实战指南

1. 项目概述&#xff1a;为AI助手注入侍酒师灵魂 如果你和我一样&#xff0c;既是个技术爱好者&#xff0c;又对美食美酒有点追求&#xff0c;那你肯定遇到过这样的场景&#xff1a;周末想在家做顿大餐&#xff0c;打开冰箱看着一堆食材&#xff0c;却完全不知道该配什么酒。问…...