CAD重构:从点云中逆向工程CAD代码
CAD-Recode: Reverse Engineering CAD Code from Point Clouds
December 18, 2024
作者: Danila Rukhovich, Elona Dupont, Dimitrios Mallis, Kseniya Cherenkova, Anis Kacem, Djamila Aouada
cs.AI
摘要
计算机辅助设计(CAD)模型通常通过顺序绘制参数化草图并应用CAD操作来获得3D模型。3D CAD逆向工程问题包括从诸如点云之类的3D表示中重建草图和CAD操作序列。本文通过在CAD序列表示、网络设计和数据集三个层面上的新颖贡献来解决这一挑战。特别地,我们将CAD草图挤压序列表示为Python代码。所提出的CAD-Recode将点云转换为Python代码,当执行时,可以重建CAD模型。利用预训练的大型语言模型(LLMs)对Python代码的暴露,我们将一个相对较小的LLM作为CAD-Recode的解码器,并将其与轻量级点云投影仪结合。CAD-Recode仅在提出的包含一百万个多样CAD序列的合成数据集上进行训练。CAD-Recode在三个数据集上明显优于现有方法,同时需要更少的输入点。值得注意的是,它在DeepCAD和Fusion360数据集上的平均Chamfer距离比现有方法低10倍。此外,我们展示了我们的CAD Python代码输出可被现成的LLMs解释,从而实现CAD编辑和从点云进行CAD特定问题回答。
English
Computer-Aided Design (CAD) models are typically constructed by sequentially
drawing parametric sketches and applying CAD operations to obtain a 3D model.
The problem of 3D CAD reverse engineering consists of reconstructing the sketch
and CAD operation sequences from 3D representations such as point clouds. In
this paper, we address this challenge through novel contributions across three
levels: CAD sequence representation, network design, and dataset. In
particular, we represent CAD sketch-extrude sequences as Python code. The
proposed CAD-Recode translates a point cloud into Python code that, when
executed, reconstructs the CAD model. Taking advantage of the exposure of
pre-trained Large Language Models (LLMs) to Python code, we leverage a
relatively small LLM as a decoder for CAD-Recode and combine it with a
lightweight point cloud projector. CAD-Recode is trained solely on a proposed
synthetic dataset of one million diverse CAD sequences. CAD-Recode
significantly outperforms existing methods across three datasets while
requiring fewer input points. Notably, it achieves 10 times lower mean Chamfer
distance than state-of-the-art methods on DeepCAD and Fusion360 datasets.
Furthermore, we show that our CAD Python code output is interpretable by
off-the-shelf LLMs, enabling CAD editing and CAD-specific question answering
from point clouds.Summary
AI-Generated Summary