Aller au contenu
ettc
Tous les outils

Code2Form · Logiciel libre

Une pièce 3D qui s'écrit comme du code, et se relit.

Code2Form décrit une pièce par un court programme : les cotes sont des variables, les formes se combinent, et la vue 3D se met à jour pendant la frappe. Le fichier se versionne comme du code, une variante se fait en changeant un chiffre, et un agent IA peut rendre la pièce, la regarder et l'exporter.

Version 0.3 · licence MIT ou Apache 2.0 · macOS, ou compilé pour Windows et Linux

Ce qu'il fait

  • Un éditeur et une vue 3D côte à côte : coloration, erreurs signalées sur leur ligne, rendu 400 ms après la dernière frappe, un onglet par fichier.
  • Les fichiers .scad s'ouvrent tels quels : même arbre syntaxique, même arbre CSG et même sortie que l'implémentation de référence sur ses 86 exemples, revérifiés à chaque modification.
  • Un customizer : les paramètres déclarés en commentaire deviennent des curseurs, des listes et des cases à cocher, avec des préréglages enregistrés à côté de la pièce.
  • Des exports pour l'atelier : STL et 3MF en millimètres, vérifiés avec le chargeur de PrusaSlicer, SVG et DXF pour les pièces 2D.
  • Des pauses d'impression : pause(z, message) arrête l'impression à une hauteur pour glisser un aimant ou un écrou dans une cavité ; la vue par couches les montre et les déplace.
  • L'électronique en 3D : des cartes annotées (broches, fixations, ports), un fichier de circuit qui les câble, une vérification avant soudure et un mode montage fil par fil.
  • Un serveur MCP : un agent comme Claude Code écrit une pièce, la rend, en regarde une image et l'exporte, et vérifie un circuit, sans fenêtre ouverte.
  • Une ligne de commande, c2f, pour les mêmes exports et les mêmes vérifications dans un script.

À quoi il sert

Un logiciel de CAO classique enregistre une suite de clics. Code2Form enregistre un texte : une boîte de 60 × 40 × 20 mm, un trou de 3 mm à 5 mm du bord, une paroi de 2 mm reprise partout où l'épaisseur compte. Pour une version plus large, on change une valeur et la pièce suit. Le fichier se relit, se compare d'une version à l'autre et se range dans Git avec le reste du code.

C'est une façon de travailler faite pour les pièces fonctionnelles : boîtiers, supports, gabarits, plaques de montage, séries de pièces avec des variantes. Pour une forme libre ou une sculpture, un modeleur classique reste plus adapté.

Le détail, avec l'exemple d'un petit robot dont la plaque de montage suit son circuit, est dans l'article qui le présente.

Ce qu'il faut savoir

La version 0.3 se télécharge pour macOS 11 et suivants, une seule application pour les Mac à puce Apple et Intel. Elle n'est pas encore notarisée par Apple : au premier lancement, macOS la bloque, et il faut l'autoriser une fois dans Réglages Système, Confidentialité et sécurité. Sous Windows et Linux, elle se compile depuis les sources avec Rust 1.85 ou plus récent.

Les écarts connus avec l'implémentation de référence sont documentés dans le dépôt : un cas de projection() sur un exemple (0,3 % de son volume), certaines polices à grande taille, et des cas limites avec des valeurs NaN ou infinies. Les broches d'une carte sont des nombres fixes qui ne suivent pas encore ses paramètres, et certaines cotes de la bibliothèque sont estimées, ce que chaque fichier précise.

Le code est sous licence MIT ou Apache 2.0, au choix. Les retours et les contributions sont bienvenus sur GitHub.

Logiciel indépendant, sans lien avec les éditeurs des logiciels dont il lit ou écrit les formats.

Un outil interne à rendre pilotable par un agent ?

Code2Form montre une façon de faire : un format texte que l'on relit, une vérification automatique avant l'action qui coûte, et une interface qu'un agent IA peut utiliser sans écran. Si un de vos outils gagnerait à fonctionner ainsi, parlons d'abord du flux.