Tutoriel OpenSCAD 4 – Formes 2D

Page suivante : Formes 3D

Voici les trois formes 2D élémentaires d’OpenSCAD, qu’on obtient avec les commandes square(), circle() et polygon(). Elles ne sont pas très utilisées car les commandes de dessin 3D les remplacent le plus souvent. Elles n’ont pas d’épaisseur et ne peuvent être utilisées que lorsqu’une élévation leur est donnée avec les commandes linear_extrude() ou rotate_extrude().

square

square() dessine un carré si on donne sa dimension en paramètre (square (10) par exemple), ou un rectangle si on donne ses dimensions X et Y entre crochets droits :

  square ([10,15]);  // rectangle de 10 x 15 mm

Rendu d’OpenSCAD

circle

circle() dessine un cercle dont on donne le rayon en paramètre. $fn peut être précisé pour indiquer le nombre de faces dont le périmètre est composé :

  circle (10, $fn=100);  // rayon 10 mm, périmètre de 100 facettes

Rendu d’OpenSCAD avec

polygon

polygon() dessine un polygone dont les sommets sont désignés par une suite de valeurs X et Y entre crochets, dans le paramètre points. Voici le dessin d’un triangle :

  polygon (points=[[0,0],[10,0],[0,10]]);

Rendu d’OpenSCAD montrant un polygone

Le mot-clé points n’est pas obligatoire. Un paramètre facultatif, paths, permet d’indiquer l’ordre d’assemblage des sommets du polygone, voir le manuel.

linear_extrude

Ces trois formes 2D n’ont pas d’épaisseur, bien qu’OpenSCAD leur en dessine une. Elles ne pourraient pas être exportées en STL, et un essai de rendu (touche F6) entraîne une erreur indiquée dans la zone de messages. Une élévation peut leur être donnée avec linear_extrude(), qui prend une hauteur height en paramètre :

  linear_extrude (height=20) square(5]);  // élévation de 20 mm d’un carré

Rendu d’OpenSCAD

Cela n’a pas d’intérêt car on obtient plus facilement le même résultat avec la commande cube(). Mais un paramètre facultatif, twist, permet d’introduire une rotation de l’élévation autour de l’axe Z, exprimée en degrés. Ci-dessous une rotation de 720° soit deux tours :

  linear_extrude (height=20, twist=720) square(5);

Rendu d’OpenSCAD

rotate_extrude

Une « extrusion rotative » peut être donnée avec rotate_extrude(). L’objet est positionné verticalement et tourné sur lui-même autour de l’axe Z par rotate_extrude(). Cela transforme un cercle en sphère :

  rotate_extrude () circle (10, $fn=100);

Rendu d’OpenSCAD

Pas d’intérêt à nouveau puisqu’on obtient le même résultat avec la commande sphere(). Mais si cette extrusion est associée à une translation on obtient un tore, la rotation étant déportée par rapport à l’axe Z :

  rotate_extrude () translate([20,0,0]) circle (10, $fn=100);

Rendu d’OpenSCAD

L’extrusion rotative d’un carré donne un cylindre, et un anneau si elle est déportée :

Rendu d’OpenSCAD

Page suivante : Formes 3D

• Publié le 19/07/2013