用LLM+CadQuery自动生成CAD模型:CAD-Coder让文本秒变3D零件

作者:安意诚Matrix日期:2025/11/26

你有没有过这样的经历?想画个法兰盘的CAD模型,得打开专业软件、调坐标系、画草图、做拉伸……步骤繁琐还得熟稔操作逻辑。现在,基于大语言模型(LLM)和CadQuery的CAD-Coder方案,能让你输入一段零件描述,直接生成可执行的CAD代码——今天我们就来拆解这个让CAD建模“动口不动手”的技术!

一、从文本到3D模型:不同表示方式的对比

先看一个法兰盘的例子:

  • 文本描述:只需要说明“120mm直径的金属法兰盘,15mm厚,中心50mm孔,6个12mm安装孔(分布在90mm圆周),还有70mm外径、8mm高的凸环”。
  • DeepCAD表示:是一套自定义的命令序列(比如SOL_Circle 0 0 60),虽然能生成模型,但语法封闭、不易扩展。
  • CadQuery表示:直接用Python代码实现(比如cq.Workplane("XY").circle(60).circle(25).extrude(15)),既贴合工程习惯,又能直接在CadQuery中执行生成3D模型。

更直观的是“分步建模”:操作1画底座、操作2打安装孔、操作3加凸环,每一步的代码和模型都清晰对应,出错了也能精准调试。

二、CAD-Coder怎么训练?让LLM学会“逻辑建模”

CAD-Coder的训练 pipeline :
输入是零件文本描述+对应的CadQuery代码,经过有监督微调(SFT)的LLMGRPO优化策略,让模型学会“有逻辑地生成代码”——生成前会先做“思考”:

  1. 分析文本描述的零件特征;
  2. 规划坐标系(比如以零件中心为原点);
  3. 设计草图的绘制顺序;
  4. 确定拉伸/切割的操作参数……

这种“先思考、再编码”的方式,让生成的CadQuery代码更贴合工程实际,不是盲目拼接语法。

三、高质量数据集:靠“择优”搞定标注

要训练LLM,得有文本-CadQuery-3D模型的三元组数据,但现有Text2CAD数据集只有命令序列。怎么办?

我们用标注 pipeline 自动“择优”

  1. 用DeepSeek-V3生成多个CadQuery代码候选;
  2. 执行每个候选代码,得到对应的3D模型;
  3. 计算生成模型与“真值模型”的Chamfer Distance(CD,衡量3D模型相似度)
  4. 保留CD最小、能成功执行的代码,组成最终数据集。

这个流程既解决了数据缺失问题,又保证了代码的准确性——毕竟“能生成和真值一致的3D模型”才是硬标准。

为什么这个方案更实用?

  1. CadQuery的优势:基于Python的开源库,代码可复用、易修改,工程师不用学新语法;
  2. 可解释性强:分步建模的逻辑和CAD软件操作一致,出错了能定位到具体代码行;
  3. 数据集质量高:通过Chamfer Distance筛选,避免了“代码能跑但模型不对”的情况。

这个方案把LLM的自然语言理解能力和CadQuery的工程实用性结合,让非专业人员也能快速生成CAD模型。未来还能扩展到带螺纹、倒角的复杂零件~

总结

当前 CAD Coder 虽实现了文本到 CAD 模型的自动化转换,但仍存局限性:

  1. 数据集多聚焦简单零件(如基础法兰、凸台),对复杂装配体、自由曲面或带精密公差的零件支持不足,难覆盖实际工程的高复杂度需求;
  2. 生成代码侧重几何形状还原,缺乏对加工工艺、尺寸链约束、装配兼容性等工程实用信息的考量,模型易 “可看不可用”;
  3. 交互灵活性有限,暂不支持自然语言驱动的实时迭代修改,且对行业专属术语的歧义处理能力较弱。

其未来趋势将更贴近工程实际:一方面会拓展融合装配关系、公差、工艺参数的高质量数据集,提升复杂场景适配性;另一方面会强化交互与工程知识融合,支持自然语言增量编辑、自动嵌入工艺约束,探索草图 + 文本的多模态协同建模;同时会推进与主流 CAD 软件的生态集成,实现代码向专业工具的无缝导入,并针对机械、航空等领域做定制化优化,让文本驱动建模真正落地生产流程。


用LLM+CadQuery自动生成CAD模型:CAD-Coder让文本秒变3D零件》 是转载文章,点击查看原文


相关推荐


SpringMVC的工作流程
q***48252025/11/24

1.工作流程 (1)用户通过浏览器向服务器发送请求,请求会被Spring MVC的前端控制器DispatcherServlet拦截。 (2)DispatcherServlet拦截到请求后,会调用HandlerMapping(处理器映射器)。 (3)处理器映射器根据请求URL找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。 (4)DispatcherServlet会通过返回信息选择合适的HandlerAdapter(处理器适配器)。 (


Spring Boot接收参数的19种方式
a***56062025/11/22

Spring Boot是一个强大的框架,允许开发人员通过多种方式接收和处理参数。无论是HTTP请求参数、路径变量,还是请求体中的数据,Spring Boot都能提供灵活的处理方式。本文将介绍19种不同的方式来接收参数。 1. 查询参数(Query Parameters) 使用@RequestParam注解接收查询参数。适用于GET请求。 @GetMapping("/greet") public String greet(@RequestParam String name) { retur


为什么 VARCHAR(1000) 存不了 1000 个汉字? —— 详解主流数据库“字段长度”的底层差异
G探险者2025/11/20

大家好,我是G探险者! 在开发过程中,我们经常遇到这样的灵异现象:明明数据库字段设置为 VARCHAR(1000),前端校验也限制了 1000 个字,但用户提交时后端却报错:“Data too long”。 这并非因为数据库坏了,而是因为不同的数据库对**“长度(Length)”**的定义完全不同。有的按“人眼看到的字”算,有的按“计算机存储的字节”算。 本文将横向对比主流数据库(MySQL, Oracle, SQL Server, PostgreSQL, 达梦)的字段长度表现,并给出避坑建议。


django测试缓存命令的解读
一路生花工作室2025/11/19

命令如下: python manage.py test_cache_performance --clear-cache --iterations 5 是 Django 自定义管理命令(custom management command) 的一种调用方式,用于测试缓存性能。下面逐部分解释其含义: 🔹 1. python manage.py Django 项目的标准命令行入口。所有 Django 内置或自定义的管理命令都通过它执行。 🔹 2. test_cache_performa


深入浅出蓝桥杯:算法基础概念与实战应用(三)搜索
铭哥的编程日记2025/11/18

算法基础概念与实战应用(三)搜索 文章目录 算法基础概念与实战应用(三)搜索1.1 深度优先搜索 - DFS1.1.1 枚举⼦集1.1.2 组合型枚举1.1.3 枚举排列1.1.4 全排列问题 1.2 DFS1.2.1 选数1.2.2 ⻜机降落 整体源代码总结 1.1 深度优先搜索 - DFS 1.1.1 枚举⼦集 代码如下(示例): #include <iostream> using namespace std; int n;


Snapchat 开源全新跨平台框架 Valdi ,一起来搞懂它究竟有什么特别之处
恋猫de小郭2025/11/17

最近看到好几篇在推 Valdi 的文章,大致意思就是 「RN/Flutter 的地位将受到威胁」,「Valdi 将成为全新的跨平台流行架构」云云,这不仅就让我好奇这个新框架有什么魔力,还能在 2025 的跨平台领域玩出新花样? 首先,Valdi 是由 Snapchat 开源的跨平台框架,其核心技术已在 Snap 的生产应用中验证长达 8 年,号称在不牺牲开发速度的前提下提供原生性能 ,那它是怎么做到的? 简单来说,Valdi 是一个 “用 TypeScript(TSX)写 UI,然后编


Java游戏高级编程 | 深入探索游戏引擎与优化技巧
mfnart_2822025/11/15

在线编译C语言|探索在线编译器的优势与应用在线编译C语言是一项非常实用的技术,它使得程序员能够在没有本地开发环境的情况下直接在浏览器中编写、调试和执行C语言代码。在线编译器通过提供一个即时反馈的开发环境,大大提高了学习和工作的效率,尤其对于初学者而言,更是降低了编程的门槛。相比传统的桌面编译器,在线编译器的优势在于其便捷性和灵活性。用户不需要安装任何开发工具,只需在浏览器中输入代码,点击“编译”按钮,就可以立即看到运行结果。这种即时性大大减少了开发中的等待时间,尤其是在调试阶段,可以快速查看修改


前端图形引擎架构设计:双引擎架构设计
猪猪拆迁队2025/11/14

ECS渲染引擎架构文档 写在前面 之前写过一篇ECS文章,为什么还要再写一个,本质上因为之前的文档,截止到目前来说,变化巨大,底层已经改了很多很多,所以有必要把一些内容拎出来单独去说。 由于字体文件较大,加载时间会比较久😞 另外如果有性能问题,我会及时修复,引擎改造时间太仓促,只要不是内存泄漏,暂时没去处理。 还有很多东西要做。 体验地址:baiyuze.github.io/design/#/ca… 项目概览 Duck-Core 是一个基于 ECS(Entity-Component-Sy


GPT-5.1 凌晨突袭,奥特曼听劝!全网呼唤的人味回来了
新智元2025/11/13

「【新智元导读】今天,OpenAI GPT-5.1「全家桶」突然登场,Instant 和 Thinking 王炸组合同步上线。这一次,模型情商智商双核升级,不仅更聪明,而且聊天更有人味了。」 没有直播,OpenAI 一早放大招,让所有人猝不及防。 就在刚刚,GPT-5.1 正式发布,GPT-5 系列重大升级版登场! 一共有三个版本,目前已经上线了前两个: · GPT-5.1 Instant :最常用的模型,语气更亲切、更智能,更善于遵循指令。 · GPT-5.1 Thinking :先进的推理模


李飞飞最新长文:AI的下一个十年——构建真正具备空间智能的机器
机器之心2025/11/11

就在昨晚,关于其投身的空间智能,斯坦福大学教授李飞飞发表了一篇长篇博客《From Words to Worlds: Spatial Intelligence is AI’s Next Frontier》。 在文中,李飞飞详细解读了「空间智能究竟是什么?它为什么重要?我们如何构建它?我们又如何使用它?」她同时阐述了真正的空间智能世界模型必须实现的核心框架:构建具有故事讲述者想象力的 AI、具备第一响应者流畅性的 AI 以及以科学精确性进行空间推理。 以下为全文翻译: 1950 年,当计算机还只

首页编辑器站点地图

本站内容在 CC BY-SA 4.0 协议下发布

Copyright © 2025 聚合阅读