Ouverture : 31 janvier 2021, et les années suivantes
31 janvier 2021. OpenSCAD 2021.01 sort. Les notes de version mentionnent les littéraux de fonction, l’opérateur de puissance ^, l’édition à plusieurs onglets et l’autocomplétion. Cela ressemble à une mise à jour de maintenance ordinaire.
Plus de cinq ans plus tard, la page officielle des versions GitHub désigne toujours 2021.01 comme la dernière version stable. Le projet se serait-il arrêté ? Non. Les versions de développement continuent, et le nouveau moteur géométrique Manifold est diffusé par ce canal. OpenSCAD ne vit pas par son numéro de version, mais par les fichiers qu’il produit.
OpenSCAD est un modeleur de CAO 3D solide, libre et gratuit, qui décrit la géométrie au moyen d’un langage de script. On ne fait pas glisser une face à l’écran. On décrit des primitives comme le cube, le cylindre et la sphère, on les assemble ou on les soustrait par des opérations booléennes, puis on extrude des profils 2D vers la troisième dimension. Le modèle est un fichier texte ; ses dimensions vivent dans des variables. C’est pourquoi OpenSCAD ressemble moins à un logiciel de dessin qu’à un compilateur 3D [1][5].

OpenSCAD en un coup d’œil
| Développeur | Marius Kintel et la communauté open source [1][7] |
|---|---|
| Première version | 19 février 2010 [7] |
| Dernière version stable | 2021.01 (31 janvier 2021) ; les versions de développement sont distribuées séparément [2][4][7] |
| Licence | GPL-2.0-or-later, avec une exception spéciale pour l’édition de liens avec CGAL [1][7][10] |
| Langage | C++ et Qt ; interface Qt, aperçu OpenCSG/OpenGL [1][7] |
| Noyau géométrique | CGAL dans la version stable ; moteur Manifold en option dans les versions de développement [1][3][7] |
| Plateformes | Windows, macOS, Linux ; paquets FreeBSD, NetBSD et OpenBSD [3][7] |
| Formats | Import : STL, 3MF, OFF, AMF, DXF, SVG. Export : STL, 3MF, OFF, AMF, DXF, SVG, PNG, PDF [5][7] |
| Prix | Gratuit ; ni licence, ni abonnement, ni quota d’utilisateurs [1] |
Définition : quand le code devient un solide
Dans OpenSCAD, un modèle n’est pas une scène que l’on peint à la souris. C’est le résultat d’une compilation. Le script est analysé, les variables sont résolues, les modules sont appelés, et un arbre de corps solides est produit. Cet arbre est évalué par la géométrie de construction de solides : union assemble, difference soustrait, intersection conserve le recouvrement. hull enveloppe deux formes dans une coque convexe ; minkowski gonfle un corps avec un autre. Les profils 2D de square, circle et polygon deviennent des solides par linear_extrude ou rotate_extrude [1][5].
La conséquence concrète : le design entre dans la gestion de versions. Un fichier .scad est du texte brut. On peut le comparer ligne par ligne, le bifurquer, le relire et le fusionner. La plupart des fichiers de CAO ne le permettent pas. C’est aussi pourquoi OpenSCAD est recommandé pour le matériel scientifique open source et la recherche reproductible [7].
Premier tournant : l’aperçu est rapide, le rendu est honnête
C’est le point le plus mal compris d’OpenSCAD. Ce que l’on voit à l’écran n’est pas toujours la géométrie réelle.
L’aperçu (F5) utilise OpenCSG et OpenGL. Il produit une image rapide par tampon de profondeur, mais il s’agit d’une approximation. Des scintillements (z-fighting) ou de petits écarts visuels sont possibles. Le rendu (F6) évalue la géométrie exacte avec CGAL et produit un maillage entièrement tessellisé. Il n’y a plus d’approximation ; le prix est le temps. Une pièce simple se termine en quelques secondes, tandis qu’un grand design avec de nombreuses opérations booléennes et des sommes de Minkowski peut prendre des minutes, voire des heures [5].
Le bon flux de travail n’est donc pas « aperçu grossier, puis rendu précis ». Il consiste à découper la géométrie en modules petits et lisibles, à éviter les couches booléennes inutiles et à choisir $fn avec $fa/$fs en connaissance de cause. Plus de polygones n’est pas automatiquement mieux ; un cylindre plus précis signifie un rendu plus long.
Motif : la paroi de 2 mm. Une épaisseur de paroi est le point où une décision de conception touche à la fois l’intention technique et la réalité de l’impression. Dans OpenSCAD, on garde ces 2 mm dans une variable ; toute la pièce reste liée à ce nombre.
Logique CSG : un nombre, toute la pièce
L’exemple ci-dessous décrit une équerre de montage paramétrique. Quand paroi passe de 2 mm à 3 mm, la plaque de base, la paroi verticale et la matière autour des trous de vis changent ensemble. On ne met pas à jour trois dessins séparés.
// Équerre en L paramétrique
$fn = 64;
paroi = 2.0; // motif : la paroi de 2 mm
base_l = 60;
base_p = 40;
hauteur = 35;
trou_d = 4.4; // jeu pour une vis M4
trou_ret = 12;
module equerre() {
difference() {
union() {
// plaque de base
cube([base_l, base_p, paroi]);
// paroi verticale
cube([base_l, paroi, hauteur]);
// renforts d'angle
for (x = [trou_ret, base_l - trou_ret]) {
translate([x, paroi, paroi])
rotate([0, -45, 0])
cube([paroi, base_p - paroi, paroi]);
}
}
// trous de la base
for (x = [trou_ret, base_l - trou_ret]) {
translate([x, base_p - trou_ret, -1])
cylinder(d = trou_d, h = paroi + 2);
}
// trous de la paroi verticale
for (x = [trou_ret, base_l - trou_ret]) {
translate([x, -1, hauteur - trou_ret])
rotate([-90, 0, 0])
cylinder(d = trou_d, h = paroi + 2);
}
}
}
equerre();
Ce que le code ne fait pas est essentiel : il ne dessine pas une image. Il énonce les règles d’un corps solide. Le second bloc à l’intérieur de difference n’est pas un trou ; c’est le volume à retirer. OpenSCAD évalue ce volume, le soustrait du corps principal et tessellise le reste. On n’agrandit pas le modèle à la souris ; on change le nombre.
Deuxième tournant : l’exactitude de CGAL et la vitesse de Manifold
La version stable s’appuie sur CGAL. CGAL est réputé pour ses résultats exacts en géométrie algorithmique, ce qui rassure avec des solides imbriqués et des tolérances serrées. Le prix est la charge de calcul. CGAL possède sa propre licence, et une exception spéciale ajoutée au texte GPL d’OpenSCAD rend possible l’édition de liens avec cette bibliothèque [1][10].
Le moteur plus récent Manifold choisit un autre équilibre. La page officielle de téléchargement indique que Manifold peut être activé dans les préférences des versions de développement et offre « un énorme gain de performance » [3]. En janvier 2025, le projet a annoncé l’export 3MF et OFF coloré basé sur Manifold, une étape importante pour l’écosystème de l’impression multicolore [9]. Ces fonctions ne sont toutefois pas dans la version stable 2021.01 ; elles vivent dans le canal de développement. Si vous exploitez une ligne de production, choisissez d’abord la version stable. Si vous voulez la vitesse expérimentale, choisissez une version de développement. Ce ne sont pas les mêmes outils.
Il faut être honnête : le temps de rendu dépend moins du nombre brut de polygones que du nombre de nœuds booléens et des opérations en jeu. minkowski coûte cher ; les longues chaînes de difference imbriquées coûtent cher ; un $fn très élevé coûte cher. À l’inverse, figer un sous-module précalculé avec render() ou diviser la géométrie en parties fait souvent gagner des secondes.
Bibliothèques paramétriques : ne pas réinventer la roue
Le langage de base est petit ; la puissance vient des bibliothèques. MCAD est livré avec l’application depuis la version 2011.12 [4]. BOSL2 (Belfry OpenSCAD Library) propose un large ensemble d’outils pour les engrenages, charnières, vis, roulements et points d’ancrage ; le test de Hackaday en 2025 souligne particulièrement son système « attachment » pour se raccorder aux pièces standard [11]. Des bibliothèques comme NopSCADlib apportent les dimensions réelles des vis, écrous, rondelles et profilés aluminium dans le modèle [12].
3Dnatives formule cependant une critique juste : OpenSCAD n’a pas de gestionnaire de paquets mature, et ses tutoriels comme ses messages d’erreur ne sont pas toujours assez clairs pour les non-programmeurs [8]. Installer une bibliothèque consiste souvent à télécharger un fichier et à le placer dans OPENSCADPATH. C’est naturel pour qui a grandi dans la culture Linux, mais rugueux pour un débutant.
Thingiverse Customizer : quand le code devient une interface
OpenSCAD est surtout visible dans l’impression 3D. Le Customizer, introduit avec la version 2019.05, transforme les variables du script en formulaire automatique [6]. Le designer écrit des commentaires comme // [0:100] pour un curseur, /* [Tab] */ pour des onglets et /* [Hidden] */ pour des variables masquées. L’utilisateur modifie une dimension sans voir le code ; en arrière-plan, le même fichier .scad est compilé à nouveau.
La compatibilité avec Thingiverse transforme cela en contrainte d’ingénierie. Selon la documentation Wikibooks, le Customizer n’affiche que les variables définies dans le fichier principal, avec des valeurs littérales simples ou des vecteurs d’au plus quatre nombres ; les expressions comme str() ou 12 + 0.5 ne sont pas proposées comme paramètres. Les cases à cocher ne sont pas prises en charge par Thingiverse, tandis que la syntaxe « curseur avec valeur maximale » est conservée spécifiquement pour la compatibilité [6].
Les nouvelles officielles d’OpenSCAD rappellent que la syntaxe des métadonnées Thingiverse était prise en charge en 2016, et qu’en 2022 le Customizer de Thingiverse était « cassé depuis longtemps », MakeWithTech lançant alors un service en ligne alternatif [2]. La leçon : la compatibilité Customizer n’est pas magique. C’est un contrat enfoui dans des commentaires. Le même fichier qui fonctionne sur le bureau peut expirer dans un navigateur ; pour les scripts complexes, le rendu local reste la voie fiable.
Plateformes et réalité de l’installation
OpenSCAD fonctionne sous Windows, macOS et Linux, ainsi que dans la famille BSD. La version stable indique Windows 7 et plus en 32/64 bits, et macOS 10.9 et plus ; les versions candidates ciblent Windows 10+ 64 bits et macOS 12+ en build universel [3]. Sous Linux, on trouve AppImage, les dépôts des distributions, Snap et Flatpak. Wikipédia indique une taille installée de 15 à 27 Mo selon la plateforme [7].
Il existe aussi une version WebAssembly, mais la page officielle précise qu’elle est expérimentale et qu’elle n’a ni aperçu, ni polices, ni interface intégrée [3]. « J’ai ouvert OpenSCAD dans le navigateur » ne remplace donc pas la version de bureau. L’export en ligne de commande avec openscad -o piece.stl piece.scad est en revanche ce qui rend l’outil précieux dans les pipelines CI et les scripts de production par lots [2][5].
La courbe d’apprentissage : abrupte pour les uns, naturelle pour les autres
La courbe d’apprentissage n’est pas une seule ligne. Pour qui programme déjà, les variables, modules, boucles et conditions sont familiers ; une pièce utile peut sortir dans la première heure. Pour un designer visuel, l’habitude de saisir et de tirer disparaît complètement. 3Dnatives juge le logiciel adapté aux « utilisateurs expérimentés à l’aise avec la programmation » et estime que la courbe reste assez abrupte, avec des tutoriels et des messages d’erreur perfectibles [8].
Un parcours pratique : commencer par cube, cylinder, translate et difference. Deuxième étape, écrire un module. Troisième étape, utiliser une boucle for pour répéter des trous. Ensuite seulement, passer aux bibliothèques. 3Dnatives suggère quelque chose de proche : essayer d’abord un outil par blocs comme BlocksCAD pour que la logique CSG s’installe avant la syntaxe [8].
Pour qui c’est adapté, et pour qui ça ne l’est pas
Bon choix : équerres mécaniques, connecteurs, brides, adaptateurs, supports de capteurs, boîtiers, plaques de montage, systèmes d’engrenages et de courroies, matériel de laboratoire, familles de pièces paramétriques répétées. Si vous avez besoin de « la même pièce en douze tailles », le modèle à variables d’OpenSCAD est plus propre que douze fichiers. Dans les projets open hardware, partager le texte source est un avantage majeur.
Mauvais choix : modélisation organique, sculpture de personnages, mobilier aux surfaces molles, concept art, simulation de cheveux et de tissus, édition directe de maillage, grands assemblages mécaniques pilotés par des contraintes (mates), production de plans techniques et de nomenclatures. OpenSCAD est un compilateur de solides, pas un établi de sculpteur. Pour les formes organiques, Blender est le meilleur outil ; pour les surfaces paramétriques et les assemblages, FreeCAD ou Fusion 360 conviennent mieux.
Une autre limite : il n’y a pas d’export STEP ou IGES. La version stable produit des maillages comme STL, 3MF et OFF. Si vous devez livrer du B-Rep directement dans une chaîne d’approvisionnement, OpenSCAD seul ne suffit pas [5][7].
Comparaison rapide avec les alternatives
| Outil | Approche | Point fort | Coût face à OpenSCAD |
|---|---|---|---|
| OpenSCAD | Script + CSG | Pièces paramétriques, gestion de versions, production par lots | Faible sur les formes organiques et le retour visuel |
| FreeCAD | Visuel + Python, OCCT | Solides paramétriques, assemblages, plans, STEP | Interface plus lourde, discipline de script plus souple |
| Blender | Maillage + sculpture | Forme organique, art, animation | Faible sur les pièces techniques cotées |
| CadQuery | Python + OCCT | Écosystème Python, B-Rep, automatisation | Installation et dépendance au langage plus lourdes |
| OpenJSCAD | JavaScript + CSG | Essais rapides dans le navigateur, intégration web | Écosystème de bureau et de bibliothèques plus étroit |
| Fusion 360 | Cloud + paramétrique visuel | Assemblages, CAM, simulation, formation | Abonnement, dépendance au cloud, limites de licence |
| SolveSpace | Paramétrique par contraintes 2D/3D | Contraintes interactives rapides, simulation de liaisons | Gratuit & open source ; congés 3D et surfaces complexes limités |
| SolveSpace | Paramétrique par contraintes 2D/3D | Contraintes interactives rapides, simulation de liaisons | Gratuit & open source ; congés 3D et surfaces complexes limités |
Matrice d’aide à la décision
| Profil | OpenSCAD convient ? | Pourquoi | |
|---|---|---|---|
| Développeur / maker | Oui | Variables, modules et boucles sont familiers ; résultats rapides | |
| Ingénieur mécanique | Conditionnel | Fort pour les pièces ; FreeCAD ou Fusion sont meilleurs pour les assemblages et les plans | |
| Designer industriel | Non | Surfaces organiques, esquisses et retour visuel manquent | |
| Enseignant | Oui | Rend concrets la CSG, les coordonnées et les paramètres ; gratuit et portable | |
| Chercheur | Oui | Textuel, reproductible, idéal pour le matériel ouvert | |
| SolveSpace | Paramétrique par contraintes 2D/3D | Contraintes interactives rapides, simulation de liaisons | Gratuit & open source ; congés 3D et surfaces complexes limités |
| SolveSpace | Paramétrique par contraintes 2D/3D | Contraintes interactives rapides, simulation de liaisons | Gratuit & open source ; congés 3D et surfaces complexes limités |
Conclusion : la cote est dans la ligne
OpenSCAD transforme la modélisation 3D d’un savoir-faire de dessin en une discipline de définition. La beauté du modèle ne réside pas dans l’ombrage à l’écran, mais dans l’honnêteté de la ligne paroi = 2.0. Quand la même pièce est nécessaire en trois tailles, changer une variable au lieu d’ouvrir trois fichiers est la vraie promesse de l’outil.
Toute promesse a cependant une limite : OpenSCAD ne résout ni les formes organiques, ni les contraintes d’assemblage, ni la livraison en B-Rep. Il faut le considérer non comme un outil de CAO qui fait tout, mais comme un compilateur pour des pièces dont les dimensions sont déjà définies.
Deux questions avant de décider :
- La valeur de votre design réside-t-elle dans la beauté de sa surface ou dans la reproductibilité de ses cotes ?
- Chaque membre de votre équipe peut-il lire et modifier un fichier
.scad, ou une interface visuelle est-elle plus réaliste ?

Sources et vérification
Les informations sur la version, la licence, les plateformes et les fonctions de ce test ont été vérifiées le 7 novembre 2026 auprès des sources suivantes :
- OpenSCAD Officiel — About : licence, Qt/CGAL/OpenCSG et approche CSG — openscad.org/about.html
- OpenSCAD Officiel — News : version 2021.01, Customizer et Thingiverse — openscad.org/news.html
- OpenSCAD Officiel — Downloads : plateformes, versions candidates et Manifold — openscad.org/downloads.html
- OpenSCAD GitHub — Releases : 2021.01 et historique — github.com/openscad/openscad/releases
- Wikibooks — OpenSCAD User Manual : aperçu/rendu et CGAL — en.wikibooks.org/wiki/OpenSCAD_User_Manual
- Wikibooks — OpenSCAD Customizer : syntaxe des paramètres et compatibilité Thingiverse — en.wikibooks.org/wiki/OpenSCAD_User_Manual/Customizer
- Wikipédia — OpenSCAD : GPL-2.0-or-later, plateformes et Manifold — en.wikipedia.org/wiki/OpenSCAD
- 3Dnatives — OpenSCAD, the Free and Open-Source 3D Modeler (10 juin 2024) — 3dnatives.com
- Fabbaloo — OpenSCAD Embraces Multicolor 3D Design with New Geometry Engine (8 janvier 2025) — fabbaloo.com
- OpenSCAD GitHub — COPYING : texte GPLv2 et exception CGAL — github.com/openscad/openscad/blob/master/COPYING
- Hackaday — Belfry OpenSCAD Library (BOSL2) (18 février 2025) — hackaday.com
- Hackaday — Try NopSCADlib for Your Next OpenSCAD Project (15 juin 2019) — hackaday.com