Débuter avec OpenSCAD

Document publié en mars 2011 - Accueil

Introduction

Pour créer des modèles volumiques, la plupart des logiciels nécessitent de cliquer sur des icônes, de rentrer des valeurs, puis, le travail terminé, on le sauvegarde dans un fichier dont on ne sais trop ce qu'il contient. Certains logiciels offrent la possibilité de taper le code relatif au modèle, avec un simple éditeur de texte, en somme de créer le fichier de sauvegarde manuellement. Cette deuxième solution, bien que plus laborieuse et moins visuelle que la première, est très agréable. En effet, on sait exactement ce que contient le fichier relatif au modèle.

OpenSCAD appartient à cette deuxième catégorie de logiciel. Le fichier associé à une pièce est créé en tapant le code correspondant avec l'éditeur de texte intégré au logiciel, ou, éventuellement, avec un éditeur de texte quelconque.

OpenSCAD fonctionne sous Linux, Windows et Mac OS. Il est disponible en anglais. Voilà ce à quoi il ressemble, après l'avoir lancé et ouvert une pièce :

OpenSCAD est un logiciel libre, sous licence GPL.

Installer OpenSCAD

Téléchargez le fichier openscad-2010.05.linux-x86.tar.gz sur le site http://www.openscad.org/. Une fois l'archive au format .tar.gz décompressé, vous obtenez le dossier openscad-2010.05.linux-x86. On lance le logiciel en cliquant sur le fichier openscad situé dans le sous-dossier /bin. Bien sûr, rien ne vous empêche de créer une icône sur le bureau pour lancer directement le logiciel.

Il manque un fichier pour qu'OpenSCAD puisse démarrer. En lançant le logiciel depuis une fenêtre de terminal, pour obtenir des explications, il est indiqué qu'il manque la bibliothèque libmpfr.so.1, laquelle doit se trouver dans le sous-dossier /lib/openscad. Le fichier correspondant, installé sur mon système, se nomme libmpfr.so.4.0.0 et se situe dans le dossier /usr/lib. Il suffit de copier-coller ce fichier dans le bon dossier et de le renommer pour qu'OpenSCAD accepte de démarrer.

Le fichier install.sh, placé dans le dossier openscad-2010.05.linux-x86, permet d'installer OpenSCAD dans le dossier /usr/local. Le logiciel devient ainsi accessible à l'ensemble des utilisateurs du système. Naturellement, cette installation est facultative.

Ouvrir et visualiser une pièce

En sélectionnant le menu File → Open..., une fenêtre apparaît pour choisir le dossier et le fichier à ouvrir. Le format .scad est le format natif.

Une fois le fichier ouvert, sélectionnez le menu Design → Reload and compile ou, pour aller plus vite, appuyez sur la touche F4 du clavier.

La pièce apparaît alors dans la zone graphique. Ensuite, on peut la visualiser selon l'orientation et le grossissement voulu.

Par ailleurs, le menu View permet, entre autre, de positionner la pièce selon les diverses vues planes, de cacher ou de montrer les axes du repère...

Une vingtaine d'exemples de pièces sont accessibles directement avec le menu File → Examples, pour réaliser rapidement quelques tests. Ces exemples sont placés dans le sous-dossier Examples du dossier d'installation.

Modéliser une pièce

L'éditeur de texte intégré au logiciel se manipule agréablement. Autant l'utiliser. Les sauvegardes se font rapidement en appuyant sur la touche F2 du clavier. Le menu Design → Automatic Reload and Compile évite d'appuyer sur la touche F4 du clavier à chaque modification du code. Les caractères //, placés devant une ligne de code, transforme cette ligne de code en commentaire non pris en compte dans la modélisation. Ils sont très pratiques pour réaliser des tests. Nous allons voir deux exemples.

Le premier exemple est celui d'une pièce usinée en tournage, reprise en fraisage pour réaliser un méplat. Il s'agit de l'assemblage d'un tronc de cône et de deux cylindres, auquel on enlève un parallélépipède.

Forme tournée

La fonction cylinder() crée un cône, un tronc de cône ou un cylindre. La fonction translate() positionne le volume créé à l'endroit voulu. La fonction union() assemble les volumes pour n'en former qu'un seul. Tapez dans l'éditeur d'OpenSCAD les lignes suivantes :

union() {
    cylinder(h = 2, r1 = 4, r2 = 6);
    translate([0, 0, 2]) cylinder(h = 15, r = 6);
    translate([0, 0, 17]) cylinder(h = 10, r = 4);
}

Sauvegardez votre programme, en appuyant sur la touche F2 du clavier, sous le nom de votre choix.

Forme fraisée

La fonction cube() crée un parallélépipède. La fonction difference() soustrait des volumes pour n'en former qu'un seul. Complétez votre programme :

difference() {
    union() {
        cylinder(h = 2, r1 = 4, r2 = 6);
        translate([0, 0, 2]) cylinder(h = 15, r = 6);
        translate([0, 0, 17]) cylinder(h = 10, r = 4);
    }
    translate([12, 0, 0]) cube([20, 20, 20]);
}

Sauvegardez pour obtenir :

Coloration et état de surface

La fonction color() définit la couleur de la pièce. Le paramètre $fn = 100 augmente le nombre de facettes des cylindres. Complétez une nouvelle fois votre programme :

color([180/255, 200/255, 220/255]) {
    difference() {
        union() {
            cylinder(h = 2, r1 = 4, r2 = 6, $fn = 100);
            translate([0, 0, 2]) cylinder(h = 15, r = 6, $fn = 100);
            translate([0, 0, 17]) cylinder(h = 10, r = 4, $fn = 100);
        }
        translate([12, 0, 0]) cube([20, 20, 20]);
    }
}

Le décalage des lignes de code vers la droite, que l'on nomme indentation, n'est pas nécessaire. Il sert juste à rendre le programme plus facile à relire. Au final, voilà le résultat!

Le deuxième exemple est celui d'un vase, forme élégante obtenue par rotation d'un profil. Le but, ici, est de monter que le profil en question peut être créé au format .dxf, avec un logiciel quelconque.

Dessin du profil

Le profil ci-dessous, créé avec le logiciel de CAO 2D QCad, est sauvegardé sous le nom profil.dxf. Il s'agit d'un contour fermé.

Rotation du profil

La fonction rotate_extrude() génère une forme de révolution en faisant tourner un profil autour de l'axe vertical passant par l'origine du repère. Entrez dans l'éditeur d'OpenSCAD la ligne de code suivante :

rotate_extrude(file="profil.dxf");

Sauvegardez votre programme dans le dossier contenant le fichier profil.dxf, sous le nom vase.scad par exemple. Vous obtenez un joli vase.

Conclusion

La documentation sur OpenSCAD, en anglais, se trouve sur le site : http://en.wikibooks.org/wiki/OpenSCAD_User_Manual. Des liens vers d'autres sources de documentation sont disponibles sur le site http://www.openscad.org/.

En conception 3D, une pratique courante consiste à dessiner des profils et à les déplacer pour générer des volumes. Pour définir un profil, il faut se contenter des outils proposés par le logiciel utilisé. Avec OpenSCAD, le profil peut être créé avec n'importe quel logiciel de dessin, autrement dit avec les outils de son choix. Je pense, en particulier, à pSkecher permettant de construire des esquisses paramétrées.

OpenSCAD se base sur un langage de programmation d'une grande efficacité et d'un abord relativement facile. Il permet de réaliser des formes complexes avec un code parfois très court. En plus, la présentation du logiciel est à la fois moderne et agréable.