ChatPaper.aiChatPaper

CAD-Recode: Reverse Engineering von CAD-Code aus Punktwolken

CAD-Recode: Reverse Engineering CAD Code from Point Clouds

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

Zusammenfassung

Computer-Aided Design (CAD) Modelle werden typischerweise durch das sequenzielle Zeichnen parametrischer Skizzen und die Anwendung von CAD-Operationen zur Erstellung eines 3D-Modells erstellt. Das Problem des Reverse Engineerings von 3D-CAD besteht darin, die Skizzen- und CAD-Operationsserien aus 3D-Repräsentationen wie Punktewolken zu rekonstruieren. In diesem Paper gehen wir diese Herausforderung durch neuartige Beiträge auf drei Ebenen an: CAD-Sequenzdarstellung, Netzwerkdesign und Datensatz. Insbesondere stellen wir CAD-Skizzieren-Extrudieren-Sequenzen als Python-Code dar. Das vorgeschlagene CAD-Recode übersetzt eine Punktewolke in Python-Code, der beim Ausführen das CAD-Modell rekonstruiert. Durch die Nutzung der Exposition vortrainierter großer Sprachmodelle (LLMs) gegenüber Python-Code nutzen wir ein vergleichsweise kleines LLM als Decoder für CAD-Recode und kombinieren es mit einem leichtgewichtigen Punktewolkenprojektor. CAD-Recode wird ausschließlich auf einem vorgeschlagenen synthetischen Datensatz von einer Million verschiedener CAD-Sequenzen trainiert. CAD-Recode übertrifft signifikant bestehende Methoden auf drei Datensätzen, wobei weniger Eingabepunkte benötigt werden. Bemerkenswert ist, dass es auf den DeepCAD- und Fusion360-Datensätzen eine um den Faktor 10 niedrigere mittlere Chamfer-Distanz als State-of-the-Art-Methoden erreicht. Darüber hinaus zeigen wir, dass unser CAD-Python-Code-Ausgabe von handelsüblichen LLMs interpretierbar ist, was CAD-Bearbeitung und CAD-spezifische Fragestellungen aus Punktewolken ermöglicht.
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