Abstract: 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 recon-
structing 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 de-
sign, and training 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 on a procedurally generated dataset of one million
CAD sequences. CAD-Recode significantly outperforms
existing methods across the DeepCAD, Fusion360 and real-
world CC3D datasets. Furthermore, we show that our CAD
Python code output is interpretable by off-the-shelf LLMs,
enabling CAD editing and CAD-specific question answer-
ing from point clouds.
Loading