CAD-Coder: Text-to-CAD Generation with Chain-of-Thought and Geometric Reward
作者: Yandong Guan, Xilin Wang, Ximing Xing, Jing Zhang, Dong Xu, Qian Yu
分类: cs.GR
发布日期: 2025-05-26 (更新: 2025-10-21)
💡 一句话要点
CAD-Coder:提出基于思维链和几何奖励的文本到CAD模型生成框架
🎯 匹配领域: 支柱二:RL算法与架构 (RL & Architecture) 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 文本到CAD生成 参数化建模 CadQuery 大型语言模型 强化学习 思维链 几何推理 代码生成
📋 核心要点
- 现有文本到CAD生成方法在几何验证、建模词汇丰富度和与LLM集成方面存在局限性。
- CAD-Coder通过生成CadQuery脚本,实现直接几何验证,扩展建模词汇,并与LLM无缝集成。
- 该方法通过两阶段学习和思维链规划,显著提升了CAD模型的有效性、几何保真度和生成多样性。
📝 摘要(中文)
本文介绍了一种名为CAD-Coder的新框架,它将文本到CAD的生成重新定义为CadQuery脚本的生成——一种基于Python的参数化CAD语言。这种表示方法能够实现直接的几何验证、更丰富的建模词汇以及与现有LLM的无缝集成。为了进一步提高代码的有效性和几何保真度,我们提出了一个两阶段学习流程:(1)在配对的文本-CadQuery数据上进行监督微调,以及(2)利用组奖励策略优化(GRPO)进行强化学习,该优化由CAD特定的奖励(包括几何奖励(Chamfer距离)和格式奖励)指导。我们还引入了思维链(CoT)规划过程来改进模型推理,并通过自动化流程构建了一个包含11万个文本-CadQuery-3D模型三元组和1500个CoT样本的大规模高质量数据集。大量的实验表明,CAD-Coder使LLM能够直接从自然语言生成多样、有效和复杂的CAD模型,从而推进了文本到CAD生成和几何推理的最新技术水平。
🔬 方法详解
问题定义:现有文本到CAD生成方法难以保证生成CAD模型的有效性和几何精度,建模能力受限,并且与大型语言模型的集成不够紧密。这些方法通常依赖于隐式的几何表示,难以进行直接的几何约束和验证。
核心思路:CAD-Coder的核心思路是将文本到CAD的生成问题转化为生成CadQuery脚本的问题。CadQuery是一种基于Python的参数化CAD语言,可以直接描述CAD模型的几何形状和结构。通过生成CadQuery脚本,可以实现对生成模型的直接几何验证,并利用CadQuery丰富的建模词汇。
技术框架:CAD-Coder采用两阶段学习框架。第一阶段是监督微调,使用大规模的文本-CadQuery数据对LLM进行微调,使其能够生成初步的CadQuery脚本。第二阶段是强化学习,使用组奖励策略优化(GRPO)来进一步提高生成脚本的质量。GRPO使用CAD特定的奖励函数,包括几何奖励(Chamfer距离)和格式奖励,来指导模型的学习。此外,CAD-Coder还引入了思维链(CoT)规划过程,将复杂的建模任务分解为一系列简单的步骤,从而提高模型的推理能力。
关键创新:CAD-Coder的关键创新在于使用CadQuery脚本作为CAD模型的中间表示。这种表示方法具有以下优点:(1) 可以直接进行几何验证;(2) 提供了丰富的建模词汇;(3) 可以与现有的LLM无缝集成。此外,CAD-Coder提出的两阶段学习框架和思维链规划过程也显著提高了生成模型的质量。
关键设计:在强化学习阶段,使用了组奖励策略优化(GRPO),这是一种改进的策略梯度方法,可以更有效地探索奖励空间。几何奖励使用Chamfer距离来衡量生成模型与目标模型之间的相似度。格式奖励用于鼓励生成符合CadQuery语法的有效脚本。思维链规划过程通过提示LLM逐步思考建模过程,并将复杂的任务分解为一系列简单的步骤。数据集包含11万个文本-CadQuery-3D模型三元组和1500个CoT样本,用于训练和评估模型。
🖼️ 关键图片
📊 实验亮点
实验结果表明,CAD-Coder在文本到CAD生成任务上取得了显著的性能提升。与现有方法相比,CAD-Coder能够生成更有效、更精确、更多样化的CAD模型。具体来说,CAD-Coder在生成模型的几何精度和代码有效性方面均优于现有方法,并且能够生成更复杂的CAD模型。
🎯 应用场景
CAD-Coder具有广泛的应用前景,包括自动化产品设计、定制化零件制造、建筑设计和教育等领域。它可以帮助设计师快速生成CAD模型,提高设计效率,并降低设计成本。此外,CAD-Coder还可以用于生成虚拟现实和增强现实环境中的3D模型。
📄 摘要(原文)
In this work, we introduce CAD-Coder, a novel framework that reformulates text-to-CAD as the generation of CadQuery scripts - a Python-based, parametric CAD language. This representation enables direct geometric validation, a richer modeling vocabulary, and seamless integration with existing LLMs. To further enhance code validity and geometric fidelity, we propose a two-stage learning pipeline: (1) supervised fine-tuning on paired text-CadQuery data, and (2) reinforcement learning with Group Reward Policy Optimization (GRPO), guided by a CAD-specific reward comprising both a geometric reward (Chamfer Distance) and a format reward. We also introduce a chain-of-thought (CoT) planning process to improve model reasoning, and construct a large-scale, high-quality dataset of 110K text-CadQuery-3D model triplets and 1.5K CoT samples via an automated pipeline. Extensive experiments demonstrate that CAD-Coder enables LLMs to generate diverse, valid, and complex CAD models directly from natural language, advancing the state of the art of text-to-CAD generation and geometric reasoning.