Utiliser un langage pour décrire une pièce en CAO peut s’avérer efficace dans certains cas d’usage : motifs répétitifs, contours semblables, pièces procédurales, instances paramétrables … tout en fournissant la légèreté, et les possibilités de merge d’un programme textuel classique. Enfin, efficacité de l’IA pour créer ces programmes itérativement par rapport à cliquer sur une interface.
Pour CAD DSL l’inspiration vient principalement de 2 projets Python :
- PyCAO, présenté ici même, un programme en Python avec son propre noyau de CAO, qui permet de façon concise de faire des assemblages. L’exemple avec le vélo m’avait vraiment captivé ;
- CAD Query qui propose un langage inédit de type sélecteur CSS (sous forme d’une String), pour sélectionner les objets à modifier. CAD Query utilise le noyau de feu Matra Datavision, OCCT.
Ces 2 projets diffèrent d’un OpenSCAD, qui me semble plus orienté “forme procédurale”.
CAD DSL a plusieurs spécificités :
- Nous utilisons un DSL statiquement typé et compilé ;
- Le noyau est au choix : FreeCAD ou OCCT ;
- Nous couvrons la création de corp, de part (l’instance d’un corps avec une position, une couleur), d'assemblage de part (récursivement) et l’anim.
Pour FreeCAD, nous générons un fichier Python qui est ensuite exécuté avec FreeCADCmd. Cette solution permet ensuite d’utiliser FreeCAD pour éditer l’assemblage décrit par le DSL. Il y a 2 mode, splitted ou chaque corps dispose de son fichier ou un seul fichier contenant tout.
Pour OCCT, le link entre OCCT et la JVM est réalisé avec JExtract, qui permet d’appeler du C++ très simplement à partir de Java. Pour les gros modèles, la solution OCCT est plus rapide, elle est en partie multi-threadée.
Le fait d’utiliser la JVM offre également la possibilité de redistribuer des Jar compilés, portables. Groovy permet de créer des scripts gérant les dépendances de façon portable, ces avantages peuvent être importants dans le cas ou la redistribution des sources n’est pas envisageable (et offre de très bonnes performances)
Intellij CE, avec le plugin CAD DSL permet de visualiser, sélectionner et auto-compléter le DSL.
Pour le moment, les artefacts ne sont pas publiés sur Maven, vous devez compiler et les installer dans maven local (je peux aider, les instructions se trouvent dans la page usage).

# Lassitude
Posté par octane . Évalué à 2 (+2/-2).
Lassitude.
[^] # Re: Lassitude
Posté par YBoy360 (site web personnel) . Évalué à 4 (+3/-1). Dernière modification le 30 octobre 2026 à 10:15.
Le projet à plusieurs années, j'ai commencé à utiliser Claude jeudi dernier, et oui, faire un binding seul est chiant à mourir, et je pèse mes mots.
Ça ne justifie rien, ni la pollution, ni le temps gagné. On est d'accord. Mais s'arrêter aussi tôt dans le jugement est un peu péremptoire également.
[^] # Re: Lassitude
Posté par octane . Évalué à 1 (+0/-1).
Yep, je reconnais ne pas être allé plus loin que ça. Le titre du commentaire est "Lassitude". Je crois que je vais me déco des interwebzs pour un moment, c'est nécessaire.
Pour ton projet, désolé, je ne l'ai pas lu, il est ptet bien, chacun trouve son intérêt (ou pas) d'utiliser l'IA.
Bonne journée, tout ça, il faut beau, je vais prendre l'air.
Envoyer un commentaire
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.