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比较可读,通过键值对返回。实现通常有两种方式:一种是自己来构造,也就是用一个对象存储数据,在最后输出时将其json字符串化;第二种是使用 RestController 注解实现json数据返回。 第一种 导入依赖坐标: <depe…...
Kafka-Producer
1、生产者 从编程的角度而言,生产者是一个消息的生产者,它负责创建消息并发送到Kafka集群中的一个或多个topic中。 1.1、客户端开发 一个正常的生产逻辑需要具备以下几个步骤: 配置生产者客户端参数及创建相应的生产者实例构建待发送的消…...
Ubuntu20上离线安装samba
如果联网,一条 sudo apt-get install samba就可能解决问题,但是没有网,那么只能一个一个的解决问题: 我以为装了samba-common就可以了,发现smbd.serverice not found,于是开始了漫长的下载依赖包,安装&…...
【开源】基于Vue.js的教学过程管理系统
项目编号: S 054 ,文末获取源码。 \color{red}{项目编号:S054,文末获取源码。} 项目编号:S054,文末获取源码。 目录 一、摘要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 个节点
题目来源: leetcode题目,网址:19. 删除链表的倒数第 N 个结点 - 力扣(LeetCode) 解题思路: 使用双指针找到倒数第 N1 个节点后删除链表的第 N 个节点即可。注意当 N 为链表长度时,倒数第 N1 …...
机器人制作开源方案 | 莲花灯
1. 功能描述 莲花灯是一款基于莲花形象设计的机器人,本文示例将用两种模式来实现莲花灯的亮灭功能。 自主模式:用 光强传感器 控制莲花灯的灯叶开合。暗光情况下灯叶打开,灯亮;强光情况下灯叶闭合,灯灭。 …...
华为无线ac+fit三层组网,每个ap发射不同的业务vlan
ap管理dhcp在ac控制器上,业务dhcp在汇聚上 配置WLAN业务 (1)配置VAP模板 • 配置员工网络的VAP模板(employee) [AC-wlan-view] security-profile name employee //创建名为“employee”的安全模板 [AC-wlan-sec-prof-…...
Windows Cleaner:5步快速解决C盘爆红的免费系统优化工具
Windows Cleaner:5步快速解决C盘爆红的免费系统优化工具 【免费下载链接】WindowsCleaner Windows Cleaner——专治C盘爆红及各种不服! 项目地址: https://gitcode.com/gh_mirrors/wi/WindowsCleaner 你是否经常遇到C盘变红、电脑卡顿、运行缓慢的…...
如何免费下载30+文档平台内容:终极浏览器脚本指南
如何免费下载30文档平台内容:终极浏览器脚本指南 【免费下载链接】kill-doc 看到经常有小伙伴们需要下载一些免费文档,但是相关网站浏览体验不好各种广告,各种登录验证,需要很多步骤才能下载文档,该脚本就是为了解决您…...
用C++暴力枚举解决厦大GPA最优分配问题(附完整代码)
用C暴力枚举解决GPA最优分配问题的工程实践 最近在算法竞赛社区看到一个有趣的题目:如何用编程方法求解四门考试总分下的最大GPA和。这个问题看似简单,但蕴含着许多值得探讨的算法思想和工程实践技巧。作为一名参加过多次算法竞赛的老手,我想…...
告别SGM的漫长等待:用ELAS算法1秒搞定百万像素双目匹配(附C++/OpenCV实战代码)
百万像素双目匹配的实时革命:ELAS算法深度解析与工程实践 双目立体视觉在机器人导航、自动驾驶和工业检测等领域扮演着关键角色,但传统方法如SGM(Semi-Global Matching)在百万像素级图像处理时往往面临严重的性能瓶颈。当我在开发…...
如何用HashCheck轻松验证文件完整性:新手快速入门指南
如何用HashCheck轻松验证文件完整性:新手快速入门指南 【免费下载链接】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:原神帧率解锁终极指南 - 突破60FPS限制的完整解决方案 【免费下载链接】genshin-fps-unlock unlocks the 60 fps cap 项目地址: https://gitcode.com/gh_mirrors/ge/genshin-fps-unlock Genshin FPS Unlock 是一个开源工具,专…...
抖音批量下载终极指南:免费无水印工具快速上手
抖音批量下载终极指南:免费无水印工具快速上手 【免费下载链接】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 集成指南
在人工智能快速发展的今天,MCP(模型上下文协议)作为由 Anthropic 推出的标准化接口,允许 AI 模型(如 Claude、GPT 等)调用外部工具。通过 AceData Cloud 提供的 Seedream MCP 服务器,您可以直接…...
AI Agent的记忆系统架构2026:四种记忆类型与工程实现完全指南
摘要 记忆系统是AI Agent实现持续学习和个性化服务的核心基础设施。本文系统梳理Agent记忆的四大类型——感官记忆、短期记忆、长期记忆与情节记忆,并提供完整的工程实现方案。## 一、为什么Agent需要记忆系统大语言模型本质上是无状态的:每次推理相互独…...
基于MCP协议构建AI侍酒师:原理、配置与实战指南
1. 项目概述:为AI助手注入侍酒师灵魂 如果你和我一样,既是个技术爱好者,又对美食美酒有点追求,那你肯定遇到过这样的场景:周末想在家做顿大餐,打开冰箱看着一堆食材,却完全不知道该配什么酒。问…...
