论文

StepCAD: 基于 LLM 策略与几何引导搜索的 Mesh-to-CAD 代码生成

StepCAD: 基于 LLM 策略与几何引导搜索的 Mesh-to-CAD 代码生成

从 3D mesh 中恢复可执行的 CAD 程序具有挑战性:CAD 构造具有组合性,且离散的建模选择与连续参数之间相互耦合。许多基于学习的方法单次预测完整程序,并主要依赖 sketch-extrude 表示,这既限制了操作多样性,也减少了重建过程中修正几何误差的机会。 我们提出 StepCAD,一种将状态条件化的 CAD 策略与几何引导搜索相结合的生成式优化方法。给定输入 mesh,该策略同时以目标几何与中间几何为条件预测构造动作,再用 IoU 引导的树搜索 通过局部编辑精化所得程序。我们还发布了 ARCADE-1.5M,一个包含 150 万条可执行 CAD 程序的大规模数据集,覆盖多样操作、长度超过 150 个计数操作的序列,以及 1250 万条中间状态-动作转移。 在多个 CAD 重建基准上,StepCAD 取得了当前最优的几何重建精度,并始终保持高有效率,相较最强基线实现最高 87.2% 的相对 IoU 提升,在复杂形状上增益尤为显著。项目主页:https://ghadinehme.com/stepcad.github.io/

论文精读

TL;DR StepCAD 结合 LLM 策略与几何引导搜索,将 3D 网格重建为可执行 CAD 程序,在多个基准上取得最优精度,相对 IoU 提升最高 87.2%。

问题

问题背景

从 3D 网格恢复可执行 CAD 程序是逆向工程与设计复用中的核心任务。与输出静态几何(如点云、网格)不同,CAD 程序保留了参数化建模历史,可编辑、可仿真,在工业设计流程中价值更高。

现有方法局限

现有学习式方法多为单次前向预测:输入 mesh,直接输出完整 CAD 程序序列。这类方法有三点不足:

  • 表示单一:普遍依赖 sketch-extrude 表示,操作类型覆盖有限,难以表达圆角、倒角、扫掠等复杂建模操作。
  • 无迭代修正:一步生成后无法根据几何误差修正中间决策,错误会沿序列累积。
  • 策略不感知中间状态:模型未充分利用构建过程中的中间几何状态,导致长序列生成时误差快速放大。

为什么难与重要

CAD 重建的难点在于组合性:离散建模选择(操作类型、草图约束)与连续参数(尺寸、位置)交错,搜索空间极大。给定目标网格,可能存在多种等价程序,但多数程序几何上不等价,因此需要同时保证可执行性与几何精度。业界关注度来自直接应用:可执行 CAD 程序能驱动参数化修改、仿真优化与制造准备,相比固定网格重建有更高工程价值。

行业类比

类比为:从渲染图像恢复 Figma 或 Sketch 源文件,而不是仅仅得到一张位图——源文件才支持后续编辑与版本迭代。

核心洞察

  • CAD 重建从单步回归转向迭代优化:现有方法一次性输出完整程序,无法在生成过程中修正几何误差,而 StepCAD 将重建视为一个生成式优化问题,利用状态条件策略在每一步考虑目标与中间几何,并通过 IoU 引导的树搜索进行局部编辑。这种机制使得模型能够在离散建模决策与连续参数之间动态调整,显著提升复杂形状的重建精度,相对 IoU 提升最高达 87.2%。
  • 操作表示多样性是突破瓶颈的关键:以往工作大多依赖 sketch-extrude 单一表示,限制了可表达的形状范围;StepCAD 引入 ARCADE-1.5M 数据集,包含 150 万条可执行 CAD 程序,覆盖多样操作类型和最长 150+ 步的构造序列,以及 1250 万条中间状态-动作转换。这使得模型能够学习更丰富的 CAD 构造逻辑,尤其对复杂几何结构有更强的泛化能力。
  • 将 LLM 策略与几何引导搜索相结合,平衡了离散决策与连续优化:StepCAD 利用 LLM 生成候选动作,同时用 IoU 作为几何反馈信号驱动树搜索,这种混合方式避免了纯学习方法的盲目生成,也弥补了传统优化方法在离散操作空间中的搜索困难,为 mesh-to-CAD 任务提供了一种更鲁棒的工程范式。

方法

输入与表示

输入为 3D 网格(mesh),目标输出是可执行的 CAD 程序(代码序列)。程序由多种建模操作组成,不局限于 sketch-extrude,操作序列长度可达 150+。

状态条件 CAD 策略

核心是一个基于 LLM 的策略网络,在每一步根据目标几何与当前中间几何来预测下一步构建动作(离散操作类型 + 连续参数)。这种状态条件设计让策略能感知已构建部分与目标形状的差距,从而生成更合理的后续操作。

几何引导的树搜索

单次前向预测容易积累几何误差,因此引入 IoU 引导的树搜索。给定当前程序,搜索通过局部编辑(local edits)生成候选修改,以重建网格与目标网格的 IoU 作为启发式评分,在树结构中展开探索,保留高 IoU 分支,逐步精化程序。该过程可迭代进行,直到达到预设预算或 IoU 收敛。

输出与训练数据

最终输出为可执行 CAD 程序,兼顾几何精度与程序有效性。方法使用 ARCADE-1.5M 数据集训练,包含 1.5M 个可执行程序与 12.5M 条状态-动作转换,覆盖多样操作类型和长序列。

与同类方法的差异

与单次预测完整程序、且主要依赖 sketch-extrude 表示的既有工作不同,StepCAD 将策略预测与几何引导搜索解耦,通过局部编辑机制持续修正几何误差,在复杂形状上获得显著更高的重建精度和有效性。

实验

实验设计

StepCAD 在多个 CAD 重建基准 上评估,训练数据来自其提出的 ARCADE-1.5M 数据集:包含 1.5M 可执行 CAD 程序、12.5M 中间状态-动作转换,序列最长 150+ 操作,覆盖多种建模操作。方法将 LLM 策略(以目标和中间几何为条件)与 IoU 引导树搜索 结合,从输入 mesh 迭代生成并局部编辑 CAD 代码。评估指标为几何重建 IoU 与程序有效性。

关键发现

  • StepCAD 在所有基准上取得 SOTA 几何重建精度,相对最强基线 IoU 提升 87.2%。
  • 对复杂形状的提升尤为显著,说明搜索与多操作表示有效缓解了长序列组合爆炸。
  • 生成程序保持高有效性,避免不可执行输出。

与基线对比解读

典型基线采用单遍预测、依赖 sketch-extrude 表示,限制了操作多样性与纠错能力。StepCAD 的核心差异在于:

  1. 策略模型观察中间几何,可感知当前构造状态并决定下一步操作;
  2. 树搜索通过局部编辑优化程序,将离散操作选择与连续参数调整分离,逐次逼近目标几何;
  3. 相比单遍方法,搜索结果可在推理阶段动态修正错误,而非一次性输出完整程序。

这一设计将 mesh-to-CAD 从回归问题转化为生成式优化问题,更贴合 CAD 构造的组合本质。

行业影响

落地场景

StepCAD 可嵌入 CAD 软件、逆向工程工具 与 3D 资产管线,核心场景包括:从 3D 扫描或网格生成参数化 CAD 程序,用于工业零件逆向设计、建筑信息模型重建、游戏资产可编辑化。电商平台可利用其将用户上传的 3D 模型转化为可定制 CAD 文件,支持个性化商品设计。

商业价值

直接降低几何重建的人工成本:传统逆向工程需熟练 CAD 工程师数小时手工建模,StepCAD 自动生成结构化程序,大幅缩短周期。其高几何精度与程序有效性减少后续修复工作,对 SaaS 工具而言,可提升产品差异化,按调用计费或作为高级订阅功能增收。

与现有产品 / 工作流的接口

以 API / 插件 形式接入现有建模软件(如 Fusion 360、Blender)或云端 CAD 平台。输入为三角网格(STL / OBJ),输出为 Python / OpenSCAD 风格的可执行代码或与主流 CAD 内核兼容的特征树。需处理中间几何状态的存储与渲染,适合部署在 GPU 推理服务上,前端提供交互式几何对比界面。

具体落地用例

  • 电商定制:用户上传实物照片生成网格,平台用 StepCAD 重建可编辑 CAD 模型,自动适配尺寸修改、材质替换,缩短定制商品交付周期。
  • 自动驾驶仿真:从激光雷达扫描的道路设施网格生成参数化 CAD 资产,利于批量生成不同尺寸 / 角度的路障、交通标志,提升仿真场景多样性与物理一致性。

局限

  • StepCAD 依赖 IoU 引导的树搜索进行局部编辑,虽然提高了重建精度,但每次推理都需要多次模拟和几何评估,计算开销远高于单次预测的基线。摘要未报告推理时间或搜索步数,对于需要快速响应的场景(如交互式建模辅助)可能不适用。此外,树搜索的超参数(搜索宽度、深度)需仔细调节,可能影响性能稳定性。
  • ARCADE-1.5M 是从程序化生成的 CAD 程序构建的,其网格通常完美、水密且无噪声。然而真实世界扫描或从 CAD 导出的网格常包含孔洞、非流形边和噪声点,模型可能无法有效泛化。摘要的实验仅在标准 benchmark 上验证,缺少对真实扫描数据的评估,域差距是潜在风险。
  • 虽然 ARCADE-1.5M 声称支持多样操作,但常见 CAD 重建数据集往往以 sketch-extrude 为主,StepCAD 是否真正突破这一限制尚不清楚。摘要提到“diverse operations”,但未给出具体操作类型分布,如果数据集仍然偏向少数操作,则对包含高级特征(如倒角、圆角、扫掠)的复杂零件,模型可能仍然束手无策。与专门处理这些操作的方法相比,优势不明。
论文Ghadi Nehme2026-10-01原文

相关内容