CAO / WebAssembly / Rendu 3D · 2026
Modeleur CAO 3D paramétrique dans le navigateur
Modeleur 3D paramétrique orienté impression 3D, entièrement côté navigateur : primitives paramétriques, solides et perçages, opérations booléennes, export STL, sans compte, sans serveur, utilisable hors ligne après chargement.
Image réelle du projet
Contexte & problème
Disposer d’un modeleur paramétrique simple et immédiat pour l’impression 3D, directement dans un navigateur, sans installation ni compte : un outil qui conserve les paramètres des formes plutôt qu’un simple maillage, afin de pouvoir modifier une cote et régénérer la géométrie.
Contraintes
Aucun serveur : toute la géométrie, y compris les opérations booléennes, doit être calculée dans le navigateur. Le maillage affiché ne doit jamais être la source de vérité, et l’export STL doit rester fiable sur des pièces issues de fusions et de perçages.
Rôle
Spécification (cahier des charges), conception et développement.
Approche & architecture
Un modèle de scène paramétrique (formes + opérations) sert de source de vérité ; les maillages sont régénérés à chaque modification. Le noyau CSG est un kernel WebAssembly piloté depuis TypeScript, le rendu est assuré par Three.js. S’y ajoutent un historique avec regroupement des gestes continus, des expressions arithmétiques évaluées sans eval dans tous les champs numériques, une règle de référence, des plans de construction, des notes 3D, et deux formats de fichiers : un projet JSON versionné et le STL (import/export).
Difficultés techniques
- Kernel CSG en WebAssembly : booléens robustes (fusion, intersection, soustraction des perçages)
- Géométrie paramétrique régénérée depuis le modèle, jamais depuis le maillage affiché
- Historique avec regroupement intelligent des gestes continus (déplacements, rotations)
- Expressions arithmétiques sûres dans tous les champs numériques, sans eval
- Traitement des cas limites, comme les parois d’épaisseur nulle issues d’une fusion avec perçage
Résultat
Modeleur fonctionnel et utilisable hors ligne : cube, cylindre, cône, sphère, tore, prisme et texte 3D paramétriques, solides et perçages, fusion et intersection, dissocier, mise à l’échelle, alignement, export STL. Un projet complet se sauvegarde et se rouvre à l’identique.
Limites / état
Version 1 : pas de compte ni de sauvegarde cloud ; le redimensionnement s’appuie sur des poignées en scène, et la modification des membres d’un groupe passe par Dissocier.
Médias
Image réelle du projet