Pointer-CAD: Unifying B-Rep and Command Sequences via Pointer-based Edges & Faces Selection
作者: Dacheng Qi, Chenyu Wang, Jingwei Xu, Tianzhe Chu, Zibo Zhao, Wen Liu, Wenrui Ding, Yi Ma, Shenghua Gao
分类: cs.CV, cs.CL
发布日期: 2026-03-04
备注: Accepted by CVPR2026
💡 一句话要点
Pointer-CAD:通过指针式边/面选择统一B-Rep和命令序列,提升CAD生成质量
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: CAD建模 大型语言模型 B-Rep表示 指针网络 几何实体选择
📋 核心要点
- 现有基于命令序列的CAD生成方法无法有效选择几何实体,限制了复杂编辑操作,且易产生拓扑错误。
- Pointer-CAD通过指针式命令序列,显式地将B-rep几何信息融入建模,并使用指针选择几何实体,减少量化误差。
- Pointer-CAD在CAD模型生成上显著优于现有命令序列方法,有效支持复杂几何结构生成,并降低分割误差。
📝 摘要(中文)
计算机辅助设计(CAD)模型的构建非常耗时,但对于工程和制造至关重要。最近,大型语言模型(LLM)的进步启发了基于LLM的CAD生成方法,该方法将CAD表示为命令序列。然而,这些方法在实际场景中表现不佳,因为命令序列表示不支持实体选择(例如,面或边),限制了其支持复杂编辑操作(如倒角或圆角)的能力。此外,草图和拉伸操作中连续变量的离散化可能导致拓扑错误。为了解决这些限制,我们提出了Pointer-CAD,这是一种新颖的基于LLM的CAD生成框架,它利用基于指针的命令序列表示,将B-rep模型的几何信息显式地融入到顺序建模中。具体来说,Pointer-CAD将CAD模型生成分解为多个步骤,并根据文本描述和先前步骤生成的B-rep来调节每个后续步骤的生成。每当操作需要选择特定的几何实体时,LLM会预测一个指针,该指针从可用集合中选择特征最一致的候选对象。这种选择操作也减少了基于命令序列表示的量化误差。为了支持Pointer-CAD的训练,我们开发了一个数据标注流程,生成专家级的自然语言描述,并将其应用于构建一个包含约575K CAD模型的数据集。大量的实验结果表明,Pointer-CAD有效地支持了复杂几何结构的生成,并将分割误差降低到极低的水平,与先前的命令序列方法相比,实现了显著的改进,从而显著地减轻了由量化误差引入的拓扑不准确性。
🔬 方法详解
问题定义:现有基于命令序列的CAD生成方法,在处理需要选择特定几何实体(如面或边)的操作时存在局限性。命令序列的离散化表示也容易引入量化误差,导致拓扑不准确,限制了其在实际复杂CAD建模场景中的应用。
核心思路:Pointer-CAD的核心思路是将CAD模型的生成过程分解为一系列步骤,每一步都依赖于之前的B-rep模型和文本描述。关键在于引入了“指针”的概念,用于显式地选择几何实体。通过预测指针,LLM可以直接从现有的几何实体集合中选择最合适的候选对象,从而避免了传统命令序列方法中的量化误差和实体选择难题。
技术框架:Pointer-CAD的整体框架包含以下几个主要阶段:1) 输入:接收文本描述和前一步生成的B-rep模型。2) 命令预测:LLM根据输入预测下一个CAD操作命令。3) 实体选择:如果命令需要选择几何实体,LLM会预测一个指针,指向B-rep模型中的特定边或面。4) 模型更新:根据预测的命令和选择的实体,更新B-rep模型。5) 循环迭代:重复上述步骤,直到完成整个CAD模型的生成。
关键创新:Pointer-CAD最重要的创新在于引入了基于指针的命令序列表示。与传统的命令序列方法不同,Pointer-CAD不再依赖于离散化的参数来描述几何实体,而是直接使用指针来引用B-rep模型中的现有实体。这种方法能够更精确地表达几何信息,并避免了量化误差。
关键设计:Pointer-CAD的关键设计包括:1) 指针预测网络:设计一个专门的网络来预测指针,该网络需要能够理解文本描述和B-rep模型的几何信息,并选择最合适的实体。2) 数据标注流程:开发一个数据标注流程,用于生成包含自然语言描述和指针信息的CAD模型数据集。3) 损失函数:设计合适的损失函数来训练指针预测网络,例如交叉熵损失函数,用于衡量预测指针与真实指针之间的差异。
🖼️ 关键图片
📊 实验亮点
实验结果表明,Pointer-CAD在CAD模型生成任务上显著优于先前的命令序列方法。Pointer-CAD能够有效支持复杂几何结构的生成,并将分割误差降低到极低的水平,从而显著地减轻了由量化误差引入的拓扑不准确性。具体性能数据未知。
🎯 应用场景
Pointer-CAD具有广泛的应用前景,可应用于自动化CAD模型生成、智能设计辅助、逆向工程、以及基于文本描述的CAD模型快速创建等领域。该研究成果有助于降低CAD建模的门槛,提高设计效率,并为制造业的智能化转型提供技术支持。
📄 摘要(原文)
Constructing computer-aided design (CAD) models is labor-intensive but essential for engineering and manufacturing. Recent advances in Large Language Models (LLMs) have inspired the LLM-based CAD generation by representing CAD as command sequences. But these methods struggle in practical scenarios because command sequence representation does not support entity selection (e.g. faces or edges), limiting its ability to support complex editing operations such as chamfer or fillet. Further, the discretization of a continuous variable during sketch and extrude operations may result in topological errors. To address these limitations, we present Pointer-CAD, a novel LLM-based CAD generation framework that leverages a pointer-based command sequence representation to explicitly incorporate the geometric information of B-rep models into sequential modeling. In particular, Pointer-CAD decomposes CAD model generation into steps, conditioning the generation of each subsequent step on both the textual description and the B-rep generated from previous steps. Whenever an operation requires the selection of a specific geometric entity, the LLM predicts a Pointer that selects the most feature-consistent candidate from the available set. Such a selection operation also reduces the quantization error in the command sequence-based representation. To support the training of Pointer-CAD, we develop a data annotation pipeline that produces expert-level natural language descriptions and apply it to build a dataset of approximately 575K CAD models. Extensive experimental results demonstrate that Pointer-CAD effectively supports the generation of complex geometric structures and reduces segmentation error to an extremely low level, achieving a significant improvement over prior command sequence methods, thereby significantly mitigating the topological inaccuracies introduced by quantization error.