Wiki

Reso-nance numérique | Arts et cultures libres

Outils du site


Panneau latéral

logiciels:openscad:accueil

Ceci est une ancienne révision du document !


OpenSCAD

Description

“OpenSCAD est un logiciel de modélisation tridimensionnelle rudimentaire. C'est un logiciel libre qui fonctionne à la fois sous Linux, Mac OS et Microsoft Windows. Le projet a débuté en Février 2010. OpenSCAD a pour particularité de fonctionner de façon entièrement paramétrique, c'est-à-dire que la conception passe par la rédaction d'un script dans une sous-fenêtre située à gauche, tandis qu'une sous-fenêtre à droite permet de visualiser l'objet en 3D, mais pas de l'éditer.” (wikipedia)

Ressources

Installation

  1. Bibliothèques à télécharger :

Exemples

Primitives 3D et transformations

exemple_1.scad

Modélisation simple avec opérations booléennes

exemple_2.scad

Extrusion d'une forme 2D en 3D

difficulté pour extruder un .dxf ? > voir plugin Inkscape .scad converter ++ exemple_3.scad

// Rotation = révolution
rotate_extrude($fn=20) polygon( points=[ [0,0],[2,6],[0,8] ] );
 
// Linéaire
linear_extrude(height = 2)
translate([3, 0, 0])
square(5);
 
// Extrusion d'un fichier DXF
linear_extrude(height = 2)
scale (0.5)
translate([20, 0, 0]) 
import (file = "ohw.dxf");

==== Avantages du paramétrique ==== Possible aussi en python avec Freecad et Blender. {{:logiciels:openscad:exemple_4.png exemple_3.scad

/* 
 * EXEMPLE 4 : avantages d'un logiciel paramétrique
 * Accès aux principes de bases de la programmation :
 * Structures et fonctions
 */
 
// --------- Programme principal ---------------- //
// Appel des modules, etc.
 
difference(){
    support();
    trous();
}
 
// --------- Variables (ou plutôt constantes) -- //
longueur = 50;
hauteur = 5;
profondeur = 15;
trou_rayon = 2;
trou_nb = 6;
$fn=20;
 
// --------- Modules --------------------------- //
module support() {
    union(){
        cube([longueur,profondeur,hauteur]);
        color ([0,1,0]) 
            translate ([0,profondeur/2,0]) 
                cylinder(h=hauteur, r=profondeur/2);
    }
}
 
module trous() {
    for (i=[0:trou_nb-1]) {
        translate([i*5,profondeur/2,-1]) 
            cylinder(h=hauteur+2, r=trou_rayon);
    }
}

++

/home/resonancg/www/wiki/data/attic/logiciels/openscad/accueil.1442420296.txt.gz · Dernière modification: 2015/09/16 18:18 de resonance