text-to-cad : des compétences CAO paramétriques pour agents IA

Published · AI Daily — AI-assisted deep research, methodology & disclosure

text-to-cad est une bibliothèque de compétences pour agents qui transforme des demandes en langage courant ou des images en modèles CAO. Chaque pièce est un script Python fondé sur build123d et le noyau OpenCascade. L'exécution du fichier produit un STEP, avec des exports STL, 3MF et GLB. Le code source devient la trace de l'intention de conception, ce qui permet la revue et la régénération. Cette analyse s'appuie sur la documentation du dépôt. Elle n'a pas exécuté l'outil.

Contexte et définition du problème

La conception mécanique dépend encore d'interfaces graphiques. L'ingénieur ouvre un logiciel de CAO, dessine un profil, ajoute des contraintes, applique une extrusion, puis exporte un fichier STEP pour l'atelier d'usinage. Un modèle de langage sait écrire du Python et lire un cahier des charges, mais il peut difficilement reproduire cet enchaînement de clics. La question pratique est donc la suivante : un agent peut-il transformer une demande en langage courant, ou la photo d'une pièce, en modèle tridimensionnel qu'un autre humain pourra vérifier, modifier et fabriquer ?

text-to-cad répond par un choix de conception explicite. Le modèle est du code source. Chaque pièce est un fichier Python écrit avec build123d, une bibliothèque CAO en Python qui s'appuie sur le noyau OpenCascade. L'exécution du fichier produit l'artefact. Le fichier STEP est la sortie principale, et le source conserve l'intention de conception. La géométrie devient un objet que l'on peut comparer, relire et régénérer, au lieu d'un simple fichier que l'on remplace.

La difficulté principale n'est pas la génération mais la vérification. Un modèle peut sembler juste dans une visionneuse tout en plaçant un trou au mauvais endroit. Le dépôt traite donc la mesure, la revue par instantanés et la validation comme des compétences de premier plan, et non comme des ajouts après coup. Ce choix pèse davantage que n'importe quelle fonction de génération prise isolément.

Noyau architectural et principes techniques

text-to-cad est une bibliothèque de compétences pour agents, et non un programme unique. Elle comprend douze compétences : CAO, step.parts, dessin d'ingénierie, DXF, URDF, SRDF, SDF, SendCutSend, vérification DfAM, DFM, G-code et Bambu Labs. La compétence CAO occupe le centre. La plupart des autres exploitent sa sortie ou décrivent les mêmes pièces pour un autre outil. Les contraintes de version sont explicites. Le fichier requirements.txt de la compétence épingle cadgen[snapshot] en version 0.7.11. Les badges du README indiquent build123d 0.11, Open CASCADE 7.9, Python 3.11 ou plus récent, et Node.js 20 ou plus récent. Un agent qui exécute la compétence dépend donc d'un noyau et d'un environnement d'exécution précis. Cette épingle permet à une équipe de reproduire une version publiée, au prix de mises à jour manuelles.

La pile technique se lit en trois couches. Au sommet, l'agent lit SKILL.md, qui oriente chaque tâche vers un court document de référence. Au milieu, l'outil en ligne de commande cadgen et son serveur MCP assurent l'exécution. Le serveur MCP démarre avec uvx, si bien que la première exécution télécharge le runtime. En bas, la liaison OCP expose OpenCascade à Python, ce qui couvre les opérations géométriques ainsi que la lecture et l'écriture de fichiers STEP. Le principe directeur est que le fichier source fait foi. SKILL.md demande à l'agent de modifier le source du modèle puis de le relancer avec python, plutôt que de corriger un fichier exporté. Une modification devient donc une différence dans un fichier Python, tandis que les maillages et les fichiers STEP sont des résultats dérivés. C'est le même raisonnement qui rend le code relisible, et il s'accorde bien avec le contrôle de version. La distribution suit la même logique. Des plugins existent pour Codex, Claude Code, Cursor et Grok Build, et les compétences s'installent avec npx skills add. Chaque hôte affiche les modèles à sa façon, mais tous appellent le même paquet cadgen.

Évaluation pratique et applications

Je n'ai ni installé l'outil ni généré de modèle avec lui. Tout ce qui suit provient de la documentation, de la configuration et de l'organisation du dépôt. Il s'agit donc d'une lecture de la conception, et non d'une mesure de ses résultats. La compétence CAO énonce quatre capacités. Elle crée et modifie des pièces et des assemblages à partir d'un modèle Python décoré. Elle exporte en STL, 3MF et GLB, soit par un décorateur de maillage, soit par une commande build ponctuelle. Elle résout des références nommées dans un document STEP enregistré grâce à read_scene et scene.resolve. Elle produit des instantanés pour la revue visuelle et celle du mouvement, ce qui exige Chromium. Un flux raisonnable utilise les quatre : génération, export, contrôle des cotes avec un script build123d natif, puis inspection de l'instantané avant diffusion.

Deux avertissements de la documentation comptent pour un usage en production. Premièrement, un modèle qui nécessite une migration de version et qui n'a pas été migré perd silencieusement sa cinématique, ses matériaux et ses animations. Une perte silencieuse est pire qu'un plantage : l'équipe doit faire de la migration une étape explicite de son pipeline. Deuxièmement, sous Windows 11 avec Smart App Control activé, la roue OCP non signée est bloquée et les imports échouent avec une erreur DLL. La réponse du dépôt consiste à désactiver cette fonction ou à utiliser WSL. Les équipes qui n'ont que des postes Windows doivent tester cela avant tout déploiement. Deux autres points pratiques s'appliquent. Les statistiques d'usage restent désactivées tant que l'utilisateur ne les autorise pas, et la variable DO_NOT_TRACK les coupe. L'installation par plugin télécharge un runtime local via uv au premier démarrage. Aucun de ces points n'est un défaut, mais ils doivent figurer dans la liste de contrôle d'installation d'une organisation. Un plan d'adoption praticable comporte cinq volets. Conserver le Python généré sous git. Épingler cadgen et noter la version. Lancer cadgen doctor comme contrôle d'environnement. Écrire un script d'assertions par cote critique. Traiter l'instantané comme une aide à la revue, et non comme une preuve d'ajustement.

Impact sectoriel et perspectives

Ce projet indique une direction plus qu'il ne livre un produit achevé. La CAO devient un ensemble d'actifs d'ingénierie que le code, les tests et le contrôle de version peuvent encadrer. Pour les petites équipes matérielles, les groupes de robotique et les bricoleurs qui écrivent déjà du Python, la conception paramétrique devient nettement plus accessible. La responsabilité se déplace également. Quand un générateur de modèles produit une cote plausible, le risque passe de la personne qui a dessiné la pièce au processus qui la contrôle. Une équipe qui adopte cette approche doit installer des portes de mesure avant la fabrication. Les compétences DFM, DfAM et SendCutSend vont dans ce sens : elles vérifient une pièce selon des règles de fabrication plutôt que de faire confiance à la géométrie.

Les compétences de description de robots soulèvent une seconde question, celle de la cohérence entre formats. URDF, SRDF et SDF décrivent le même robot pour des consommateurs différents. Maintenir en accord la géométrie CAO, les limites articulaires et le modèle de simulation reste un problème d'ingénierie ouvert. Regrouper ces formats dans une seule bibliothèque est une bonne structure, mais les contrôles de cohérence restent à la charge de l'utilisateur. Avec 16 697 étoiles à la date de cet instantané, l'intérêt est manifeste. L'intérêt n'est pas une validation. Les preuves utiles seraient des taux de reprise, des taux de réussite aux contrôles et des délais de livraison mesurés sur de vrais projets. Cette analyse ne contient aucune de ces données. Le lecteur doit considérer le projet comme une interface prometteuse à tester, et non comme un remplacement éprouvé d'un poste de CAO.

Sources

FAQ

Sous quelle forme se présente un modèle text-to-cad ?

Chaque pièce est un fichier Python écrit avec build123d. Son exécution produit un fichier STEP comme sortie principale, et le source constitue l'enregistrement de conception.

Comment les versions des dépendances sont-elles fixées ?

Le fichier requirements.txt de la compétence CAO épingle cadgen[snapshot] à la version 0.7.11. Le README indique build123d 0.11, Open CASCADE 7.9 et Python 3.11 ou plus récent.

Quels risques connus la documentation signale-t-elle ?

Un modèle non migré perd silencieusement sa cinématique, ses matériaux et ses animations. Sous Windows 11 avec Smart App Control activé, le module OCP non signé est bloqué : il faut désactiver cette fonction ou utiliser WSL.