ChatPaper.aiChatPaper

CAD-Recode: Ingeniería Inversa de Código CAD a partir de Nubes de Puntos

CAD-Recode: Reverse Engineering CAD Code from Point Clouds

December 18, 2024
Autores: Danila Rukhovich, Elona Dupont, Dimitrios Mallis, Kseniya Cherenkova, Anis Kacem, Djamila Aouada
cs.AI

Resumen

Los modelos de Diseño Asistido por Computadora (CAD) suelen ser construidos secuencialmente dibujando bocetos paramétricos y aplicando operaciones CAD para obtener un modelo 3D. El problema de ingeniería inversa de CAD 3D consiste en reconstruir las secuencias de bocetos y operaciones CAD a partir de representaciones 3D como nubes de puntos. En este artículo, abordamos este desafío a través de contribuciones novedosas en tres niveles: representación de secuencias CAD, diseño de redes y conjunto de datos. En particular, representamos las secuencias de boceto-extrusión de CAD como código Python. El CAD-Recode propuesto traduce una nube de puntos a código Python que, al ejecutarse, reconstruye el modelo CAD. Aprovechando la exposición de Modelos de Lenguaje Grande (LLM) pre-entrenados al código Python, utilizamos un LLM relativamente pequeño como decodificador para CAD-Recode y lo combinamos con un proyector ligero de nube de puntos. CAD-Recode se entrena únicamente en un conjunto de datos sintético propuesto de un millón de secuencias CAD diversas. CAD-Recode supera significativamente a los métodos existentes en tres conjuntos de datos mientras requiere menos puntos de entrada. Notablemente, logra una distancia de Chamfer media 10 veces menor que los métodos de vanguardia en los conjuntos de datos DeepCAD y Fusion360. Además, demostramos que nuestro código Python de CAD es interpretable por LLMs listos para usar, lo que permite la edición de CAD y responder preguntas específicas de CAD a partir de nubes de puntos.
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

PDF62December 19, 2024