1. Des produits
  2.   GOUJAT
  3.   Python
  4.   openscad

openscad

 
 

Modélisateur 3D CAD Open Source pour les programmeurs

Créez des modèles 3D solides en utilisant le CSG, l'extrusion et des paramètres configurables via une API Python gratuite et open source.

Qu'est-ce qu'OpenSCAD ?

OpenSCAD est un outil de modélisation 3D CAD gratuit et open source conçu spécifiquement pour les programmeurs et les ingénieurs. Contrairement aux modeleurs 3D interactifs, OpenSCAD utilise une approche basée sur des scripts pour définir des objets solides 3D en utilisant la géométrie solide constructive (CSG) et les techniques d'extrusion. Cela permet une modélisation précise, reproductible et paramétrique, idéale pour les pièces mécaniques, les prototypes et les conceptions techniques. L'outil prend en charge Linux, Windows et macOS, et s'intègre bien aux flux de travail basés sur Python pour l'automatisation et le scripting.

OpenSCAD lit les fichiers de script décrivant l'objet et rend le modèle 3D en conséquence, offrant aux concepteurs un contrôle total du processus de modélisation. Il prend en charge des opérations telles que l'union, l'intersection, la différence, ainsi que des transformations comme translate, rotate et scale. Les données peuvent être importées depuis des fichiers DXF et exportées vers STL, OFF et d'autres formats. Son architecture ouverte et sa communauté active en font un choix puissant pour les développeurs recherchant des capacités de modélisation 3D programmatiques sans dépendre des interactions GUI.

Previous Next

Premiers pas avec OpenSCAD

OpenSCAD est disponible sous forme de binaires précompilés pour Linux, macOS et Windows sur son site officiel. Pour les développeurs, le code source est hébergé sur GitHub, et vous pouvez le compiler à partir des sources en utilisant CMake et les scripts de construction fournis. Le référentiel officiel [GitHub d'openscad](https://github.com/openscad/openscad) comprend des instructions de compilation détaillées pour toutes les principales plateformes. Pour démarrer rapidement, téléchargez la dernière version, installez-la et ouvrez l'éditeur pour écrire votre premier script SCAD.

Installer OpenSCAD via les gestionnaires de paquets

# Ubuntu/Debian
sudo apt install openscad

# macOS (Homebrew)
brew install --cask openscad

# Windows (Chocolatey)
choco install openscad

Géométrie solide constructive (CSG)

La principale force d'OpenSCAD réside dans son support de la géométrie solide constructive (CSG), qui permet de combiner des primitives 3D de base à l'aide d'opérations booléennes telles que l'union, l'intersection et la différence. Cette approche garantit une modélisation précise, sûre pour les non‑maniables, adaptée à l'ingénierie et à la fabrication. Par exemple, vous pouvez créer un cylindre avec un trou en soustrayant un petit cylindre d'un plus grand. Les opérations CSG sont définies de manière déclarative dans le script, ce qui facilite la paramétrisation et la révision. Cela fait d'OpenSCAD un outil idéal pour concevoir des pièces mécaniques, des boîtiers et des prototypes fonctionnels où la précision et la reproductibilité sont essentielles.

Comment créer un cylindre avec un trou en utilisant le CSG dans OpenSCAD ?

difference() {
    cylinder(h = 20, r = 10);
    cylinder(h = 25, r = 4, center = true);
}

Extrusion de contour 2D

OpenSCAD prend en charge l'extrusion de contours 2D importés à partir de fichiers DXF ou définis directement dans le code SCAD. Cette technique est essentielle pour créer des formes 3D complexes à partir de profils 2D, tels que des engrenages, des supports ou des boîtiers personnalisés. Vous pouvez extruder des chemins linéairement ou les faire tourner autour d'un axe (via rotation). Le processus d'extrusion respecte l'ordre des sommets et prend en charge à la fois les polygones 2D et les chemins avec des trous. Combiné avec des transformations et des modules, cela permet la génération paramétrique de pièces comme des tuyaux, des cadres ou des éléments architecturaux, faisant d'OpenSCAD un outil puissant pour la conception technique et les flux de travail de fabrication.

Comment extruder un polygone 2D en objet 3D ?

linear_extrude(height = 10, center = true, convexity = 10)
  polygon(points = [[0,0], [10,0], [5,10]]);

Modélisation paramétrique & configuration

OpenSCAD excelle dans la modélisation paramétrique, où les dimensions et les formes sont définies à l'aide de variables et de fonctions. Cela permet de personnaliser facilement les conceptions en modifiant quelques paramètres, ce qui le rend idéal pour le prototypage itératif et la personnalisation. Par exemple, vous pouvez définir un module qui accepte des paramètres pour la largeur, la hauteur et l'épaisseur, puis le réutiliser dans plusieurs conceptions. Les paramètres peuvent également être alimentés par des données externes, telles que des valeurs provenant d'un fichier CSV ou DXF, permettant l'intégration avec des pipelines de données basés sur Python. Cette capacité prend en charge la conception générative, où les modèles s'adaptent automatiquement aux exigences ou contraintes changeantes.

Comment définir un module paramétrique réutilisable ?

module box(width, height, thickness) {
    difference() {
        cube([width, height, thickness]);
        translate([thickness, thickness, -1])
            cube([width - 2*thickness, height - 2*thickness, thickness + 2]);
    }
}

box(50, 30, 3);

Intégration d'importation et d'exportation de données

OpenSCAD offre un support robuste pour l'importation de fichiers DXF 2D et l'exportation de modèles 3D vers STL, OFF et d'autres formats. Cela facilite l'intégration avec les outils CAD/CAM, les imprimantes 3D et les logiciels de simulation. Les importations DXF peuvent inclure des chemins pour l'extrusion, tandis que les exportations prennent en charge le STL binaire et ASCII pour l'impression 3D. De plus, OpenSCAD peut lire les paramètres de conception à partir des fichiers DXF, permettant des flux de travail hybrides où la géométrie est définie dans des outils externes mais affinée de manière programmatique. Cette interopérabilité, combinée à sa nature basée sur des scripts, permet aux développeurs d'automatiser la génération de modèles et le traitement par lots en utilisant Python ou des scripts shell, rationalisant les flux de production.

Comment importer un DXF et l'extruder en 3D ?

linear_extrude(height = 5) {
    import(file = "profile.dxf", layer = "outer");
}
 Français