Difference between revisions of "OpenSCAD"

From Kernel Fablab Lannion
Jump to: navigation, search
Line 28: Line 28:
 
Voici un fichier .scad d'exemple pour l'utiliser :
 
Voici un fichier .scad d'exemple pour l'utiliser :
  
<syntaxhighlight lang="C" line='line'>
+
<code>
/** Exemple d'intégration du Logo Fablab */
+
<span style='color:#008000;'>/*</span><span style='color:#008000;'>* Exemple d'intégration du Logo Fablab </span><span style='color:#008000;'>*/</span>
 +
<br/>
 +
<b><span style='color:#3300ff;'>use</span></b> <span style='color:#660099;'>&lt;</span>fablab<span style='color:#660099;'>.</span>scad<span style='color:#660099;'>&gt;</span> <span style='color:#008000;'>// importe le logo</span>
  
use <fablab.scad> // importe le logo
+
epaisseur <span style='color:#660099;'>=</span> <span style='color:#0000ff;'>1</span><span style='color:#660099;'>;</span> <span style='color:#008000;'>// epaisseur du Logo</span>
  
epaisseur = 1; // epaisseur du Logo
+
<span style='color:#000080;'>difference</span> <span style='color:#660099;'>()</span> <span style='color:#660099;'>{</span>
  
difference () {
+
&nbsp;&nbsp; <span style='color:#008000;'>// un cube comme exemple</span>
// un cube comme exemple
 
cube ([5, 5, 5], center=true);
 
// creuse dans le cube
 
translate ([1.6,0,0]) rotate ([90,0,90]) // positionne sur une face
 
resize ([4, 0, epaisseur], auto=true) // redimensionne en 4*4*epaisseur
 
logo_fablab();
 
}
 
  
// ajout en extrusion
+
&nbsp;&nbsp; <span style='color:#800000;'>cube</span> <span style='color:#660099;'>([</span><span style='color:#0000ff;'>5</span><span style='color:#660099;'>,</span> <span style='color:#0000ff;'>5</span><span style='color:#660099;'>,</span>
translate ([0,-2,0]) rotate ([90,0,0]) // positionne sur une face
+
<span style='color:#0000ff;'>5</span><span style='color:#660099;'>],</span> <span style='color:#000080;'>center</span><span style='color:#660099;'>=</span>true<span style='color:#660099;'>);</span>
resize ([4, 0, epaisseur], auto=true) // redimensionne en 4*4*epaisseur
+
 
logo_fablab();
+
&nbsp;&nbsp; <span style='color:#008000;'>// creuse dans le cube</span>
</syntaxhighlight>
+
 
 +
&nbsp;&nbsp; <span style='color:#000080;'>translate</span> <span style='color:#660099;'>([</span><span style='color:#0000ff;'>1.6</span><span style='color:#660099;'>,</span><span style='color:#0000ff;'>0</span><span style='color:#660099;'>,</span><span style='color:#0000ff;'>0</span><span style='color:#660099;'>])</span> <span style='color:#000080;'>rotate</span> <span style='color:#660099;'>([</span><span style='color:#0000ff;'>90</span><span style='color:#660099;'>,</span><span style='color:#0000ff;'>0</span><span style='color:#660099;'>,</span><span style='color:#0000ff;'>90</span><span style='color:#660099;'>])</span> <span style='color:#008000;'>// positionne sur une face</span>
 +
 
 +
&nbsp;&nbsp;&nbsp;&nbsp; resize <span style='color:#660099;'>([</span><span style='color:#0000ff;'>4</span><span style='color:#660099;'>,</span> <span style='color:#0000ff;'>0</span><span style='color:#660099;'>,</span> epaisseur<span style='color:#660099;'>],</span> auto<span style='color:#660099;'>=</span>true<span style='color:#660099;'>)</span> <span style='color:#008000;'>// redimensionne en 4*4*epaisseur</span>
 +
 
 +
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; logo_fablab<span style='color:#660099;'>();</span>
 +
 
 +
<span style='color:#660099;'>}</span>
 +
 
 +
<span style='color:#008000;'>// ajout en extrusion</span>
 +
 
 +
<span style='color:#000080;'>translate</span> <span style='color:#660099;'>([</span><span style='color:#0000ff;'>0</span><span style='color:#660099;'>,-</span><span style='color:#0000ff;'>2</span><span style='color:#660099;'>,</span><span style='color:#0000ff;'>0</span><span style='color:#660099;'>])</span> <span style='color:#000080;'>rotate</span> <span style='color:#660099;'>([</span><span style='color:#0000ff;'>90</span><span style='color:#660099;'>,</span><span style='color:#0000ff;'>0</span><span style='color:#660099;'>,</span><span style='color:#0000ff;'>0</span><span style='color:#660099;'>])</span> <span style='color:#008000;'>// positionne sur une face</span>
 +
 
 +
&nbsp;&nbsp; resize <span style='color:#660099;'>([</span><span style='color:#0000ff;'>4</span><span style='color:#660099;'>,</span> <span style='color:#0000ff;'>0</span><span style='color:#660099;'>,</span> epaisseur<span style='color:#660099;'>],</span> auto<span style='color:#660099;'>=</span>true<span style='color:#660099;'>)</span> <span style='color:#008000;'>// redimensionne en 4*4*epaisseur</span>
 +
 
 +
&nbsp;&nbsp;&nbsp;&nbsp; logo_fablab<span style='color:#660099;'>();</span>
 +
</code>
  
  

Revision as of 18:52, 1 October 2018

LogoOpenSCAD.png

OpenSCAD est un logiciel de modélisation d'objets en 3D. Contrairement aux logiciels les plus courants, il ne repose pas sur l'utilisation d'une interface graphique complexe pour réaliser la modélisation, mais sur l'utilisation d'un langage de programmation permettant de placer des formes primitives (cercle, rectangle, sphere, parallélépipède, cône...), de les tourner, et de réaliser des opérations de "CSG" (Constructive Solid Geometry) afin de combiner ces primitives (union), des les soustraire les unes aux autres (difference), de ne conserver que leur volume commun (intersection), etc. Très populaire, ce langage dispose d'une communauté active qui a développé un grand nombre de "modules" réutilisables. De plus ce logiciel permet de mettre en œuvre une conception "paramétrique", c'est-à-dire des programmes dont le résultat varie en fonction de paramètres saisis au préalable (taille de l'objet, mensurations de l'utilisateur, etc.)

Tutoriel

Le Fablab de Lannion a réalisé un tutoriel interactif en français, qui vous permettra de faire vos premiers pas (suivis d'une petite randonnée... ;) ).

BlocksCAD

BlocksCAD est un logiciel permettant de créer du code OpenSCAD en assemblant des blocks (à la manière de scratch).

Vous pouvez l'utiliser en-ligne : BlocksCAD ou hors ligne.

pour une utilisation hors-ligne :

git clone https://github.com/EinsteinsWorkshop/BlocksCAD.git
cd  BlocksCAD/
python -m SimpleHTTPServer 9000

Puis pointez votre navigateur sur l'adresse : http://localhost:9000/

Dans les cas, vous devez utiliser un navigateur supportant WebGl tel que Chrome/Chromium ou Firefox.

BlocksCAD.png

Logo Fablab

Pour intégrer le logo fablab dans un fichier OpenSCAD, télécharger File:fablab.zip

Openscad logo fablab.png

Voici un fichier .scad d'exemple pour l'utiliser :

/** Exemple d'intégration du Logo Fablab */
use <fablab.scad> // importe le logo

epaisseur = 1; // epaisseur du Logo

difference () {

   // un cube comme exemple

   cube ([5, 5, 5], center=true);

   // creuse dans le cube

   translate ([1.6,0,0]) rotate ([90,0,90]) // positionne sur une face

     resize ([4, 0, epaisseur], auto=true) // redimensionne en 4*4*epaisseur

       logo_fablab();

}

// ajout en extrusion

translate ([0,-2,0]) rotate ([90,0,0]) // positionne sur une face

   resize ([4, 0, epaisseur], auto=true) // redimensionne en 4*4*epaisseur

     logo_fablab();