CAD-Recode : Ingénierie inverse du code CAD à partir de nuages de points

Les modèles de conception assistée par ordinateur (CAO) sont généralement construits en dessinant séquentiellement des esquisses paramétriques et en appliquant des opérations CAO pour obtenir un modèle 3D. Le problème de la rétro-ingénierie CAO 3D consiste à reconstruire les séquences d'esquisses et d'opérations CAO à partir de représentations 3D telles que des nuages de points. Dans cet article, nous abordons ce défi grâce à des contributions novatrices sur trois niveaux : la représentation des séquences CAO, la conception du réseau et le jeu de données. En particulier, nous représentons les séquences d'esquisses et d'extrusions CAO sous forme de code Python. Le système proposé, CAD-Recode, traduit un nuage de points en code Python qui, lorsqu'il est exécuté, reconstruit le modèle CAO. En exploitant l'exposition des grands modèles linguistiques pré-entraînés (LLM) au code Python, nous utilisons un LLM relativement petit comme décodeur pour CAD-Recode et le combinons avec un projecteur léger de nuages de points. CAD-Recode est formé uniquement sur un jeu de données synthétiques proposé comprenant un million de séquences CAO variées. CAD-Recode surpasse significativement les méthodes existantes sur trois jeux de données tout en nécessitant moins de points d'entrée. Notamment, il atteint une distance moyenne de Chamfer 10 fois plus faible que les méthodes les plus avancées sur les jeux de données DeepCAD et Fusion360. De plus, nous montrons que notre sortie en code Python CAO peut être interprétée par des LLMs prêts à l'emploi, permettant ainsi l'édition CAO et la réponse à des questions spécifiques à la CAO à partir de nuages de points.