OpenSCAD ======== OpenSCAD est un outil de modélisation 3D original puisqu'au lieu de dessiner il faut programmer .... des points d'informations: - http://www.openscad.org/ - http://eleydet.free.fr/openscad/ - http://fablab-lannion.org/wp-content/tutos/openscad/#/scale Installation ------------ Il existe sur www.openscad.org plusieurs installateurs pour linux et windows Sous debian on peut faire .. code-block:: bash apt-get install openscad Mais la version du package est très ancienne, il est donc préférable de l'installer en utilisant les dernières sources disponibles sur le site .. code-block:: bash su - root mkdir openscad cd openscad wget http://files.openscad.org/openscad-2014.03.x86-32.tar.gz tar -xvf openscad-2014.03.x86-32.tar.gz ./install.sh .. note:: après l'extraction on peut lancer openscad sans l'installer via le répertoire bin Pour lancer OpenSCAD .. code-block:: bash openscad Il peut être utile d'installer le plugin vim permettant la coloration synthaxique des fichiers openscad .. code-block:: bash wget https://github.com/sirtaj/vim-openscad/archive/master.zip unzip master.zip cd vim-openscad-master cp ftplugin/* /usr/share/vim/vim73/ftplugin/ cp syntax/* /usr/share/vim/vim73/syntax/ mkdir /usr/share/vim/vim73/ftdetect/ cp ftdetect/* /usr/share/vim/vim73/ftdetect/ Utilisation ----------- J'ai la chance d'avoir 2 écrans: - premier écran: vi avec mon fichier **scad** ouvert - deuxième écran: openscad ouvert sur le fichier **scad** avec Design/Automatic Reload and Compile d'activé et Hide Editor Comme cela dès que j'enregistre mon fichier dans **vi** , openscad me fournit le visuel en automatic Openscad peut être utilisé avec deux philosophies: - scultpeur: j'ai un bloc et j'enlève de la matière - potier: j'ajoute et je façonne de la matière Coding ------ écrire et utiliser un module .. code-block:: bash module test() { cube(size=[15,40,1]); } test(); un module avec paramètre .. code-block:: bash module hole(distance, rot, size) { rotate(a = rot, v = [1, 0, 0]) { translate([0, distance, 0]) { cylinder(r = size, h = 100, center = true); } } } hole(0, 90, 10); ajout de commentaire .. code-block:: bash // Ceci est un commentaire sur une ligne cube(size=20); /* UN DEUXIEME COMMENTAIRE sur deux lignes... ;) */ translate([20,20,20]) cube(size=20);