OpenSCAD

De wiki jackbot
Aller à la navigation Aller à la recherche

OpenSCAD est un logiciel de CAO, très simple mais très puissant. Pour modéliser un objet il faut écrire un script en faisant appel à des primitives (cercle, rectangle, sphère, cylindre etc ...) ainsi qu'à des transformations (translation, rotation, homothétie, etc ...) et des opérations (différence, union, intersection). Il permet alors de placer des formes géométrique simple, de les positionner, de les orienter et de les additionner ou soustraire à d'autres. Le fait d'utiliser un script pour modéliser des objets en 3D permet d'obtenir un coté paramétrable grâce à l'utilisation de variable. Ce qui est un atout non négligeable pour obtenir des pièces modulables et/ou modifiables facilement.

Dans les grandes lignes un script se présentera sous la forme suivante :

//définition des variables
variable = 42;
x=1;
y=2;
z=3;

//les transformations s'appliquent sur tout le bloc définit par { et }
translate([x, y, z])
{
    //appel d'une primitive
    circle(r=variable);
}

On trouve un aide mémoire à cette adresse Qui regroupe toutes les fonctions, primitives et opérations utilisable dans un script.

Un autre point qui en fait un outil géométriquement puissant, c'est la possibilité d'utiliser des vecteurs et des matrices, mais aussi de pouvoir les utiliser directement dans des opérations ! On peut donc par exemple définir deux vecteurs de cette manières :

Vecteur1 = [1, 2, 3];
Vecteur2 = [4, 5, 6];

Et les additionner simplement en faisant :

Vecteur3 = Vecteur1 + Vecteur2;

Ce qui simplifie pas mal de code.

Autres liens intéressant concernant OpenSCAD :

Utilisation à partir d'un script

Il est parfois utile de générer un grand nombre de modèles 2D ou 3D ayant des propriétés différentes. Dans ce cas de figure l'interface graphique est laborieuse car nécessite la répétition de plusieurs étapes pour générer chaque modèle.

En utilisant un script bash on peut automatiser cette tâche. Par exemple :

#!/bin/bash

min=0
max=180
pas=10

for rotation in `seq $min $pas $max`
do
	openscad -o "piece_$rotation.dxf" -D 'angle='$rotation'' fichier.scad
done

Permet de générer des fichiers DXF en faisant varier l'angle de rotation définit dans fichier.scad