title: CAD-Recode: Reverse Engineering CAD Code from Point Clouds
summary: 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.
paper_authors._id: 6763ec396daaeee5258221c2
paper_authors.name: Danila Rukhovich
paper_authors.status: claimed_verified
paper_authors.statusLastChangedAt: 2024-12-19T18:00:54.252Z
paper_authors._id: 6394434e872e49c02f5934c3
paper_authors.avatarUrl: /avatars/d77228347a45868e7984607b18a98c29.svg
paper_authors.fullname: Danila Rukhovich
paper_authors.type: user
paper_authors.user: filapro
paper_authors._id: 6763ec396daaeee5258221c3
paper_authors.name: Elona Dupont
paper_authors._id: 6763ec396daaeee5258221c4
paper_authors.name: Dimitrios Mallis
paper_authors.status: admin_assigned
paper_authors.statusLastChangedAt: 2024-12-20T10:06:34.326Z
paper_authors._id: 667c2c74aeba4a9f63557291
paper_authors.avatarUrl: /avatars/7a9e8182dcbf012c089e49b21064e4ee.svg
paper_authors.fullname: Dimitrios Mallis
paper_authors.type: user
paper_authors.user: malldimi1
paper_authors._id: 6763ec396daaeee5258221c5
paper_authors.name: Kseniya Cherenkova
paper_authors._id: 6763ec396daaeee5258221c6
paper_authors.name: Anis Kacem
paper_authors.status: extracted_confirmed
paper_authors.statusLastChangedAt: 2025-01-03T10:29:23.854Z
paper_authors._id: 6777ba76b0e38471644d2bf9
paper_authors.avatarUrl: /avatars/affc04e85243e21f757d5f59e7db743a.svg
paper_authors.fullname: anis kacem
paper_authors.type: user
paper_authors.user: aniskacem
paper_authors._id: 6763ec396daaeee5258221c7
paper_authors.name: Djamila Aouada
paper_title: CAD-Recode: Reverse Engineering CAD Code from Point Clouds
paper_summary: 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.