« Presentation openscad : Etape 5 » : différence entre les versions
Aucun résumé des modifications |
Aucun résumé des modifications |
||
Ligne 13 : | Ligne 13 : | ||
translate([-15,-15,-45]) polyhedron(points=[[0,0,20],[0,30,20],[30,30,20],[30,0,20], [-10,-10,0],[-10,40,0],[40,40,0],[40,-10,0]], triangles=[[0,1,2],[2,3,0], [1,0,4], [4,5,1], [5,6,1],[1,6,2],[2,6,7],[2,7,3],[3,7,4], [4,0,3], [4,6,5],[6,4,7]]); | translate([-15,-15,-45]) polyhedron(points=[[0,0,20],[0,30,20],[30,30,20],[30,0,20], [-10,-10,0],[-10,40,0],[40,40,0],[40,-10,0]], triangles=[[0,1,2],[2,3,0], [1,0,4], [4,5,1], [5,6,1],[1,6,2],[2,6,7],[2,7,3],[3,7,4], [4,0,3], [4,6,5],[6,4,7]]); | ||
</source> | </source> | ||
[[Fichier:Oscc etape4a.png|200x200px|vignette|centre]] | |||
Supposons que nous voulions construire un objet avec 2 de ces polyedres. En utilisant les informations apprises jusqu'a cette etape, nous devons taper le code suivant : | Supposons que nous voulions construire un objet avec 2 de ces polyedres. En utilisant les informations apprises jusqu'a cette etape, nous devons taper le code suivant : |
Version du 22 août 2014 à 21:22
Etape 5 : les modules et les bibliotheques
Pour cette etape, nous allons garder les memes elements mais ameliorer la lisibilite du code.
Pour commencer, nous allons utiliser un module. Un module est un objet definit par l'utilisateur dont il pourra se resservir sans avoir a retaper le code complet.
Reprenons l'exemple du polyedre :
translate([-15,-15,-45]) polyhedron(points=[[0,0,20],[0,30,20],[30,30,20],[30,0,20], [-10,-10,0],[-10,40,0],[40,40,0],[40,-10,0]], triangles=[[0,1,2],[2,3,0], [1,0,4], [4,5,1], [5,6,1],[1,6,2],[2,6,7],[2,7,3],[3,7,4], [4,0,3], [4,6,5],[6,4,7]]);
Supposons que nous voulions construire un objet avec 2 de ces polyedres. En utilisant les informations apprises jusqu'a cette etape, nous devons taper le code suivant :
translate([-15,-15,-15]) polyhedron(points=[[0,0,20],[0,30,20],[30,30,20],[30,0,20], [-10,-10,0],[-10,40,0],[40,40,0],[40,-10,0]], triangles=[[0,1,2],[2,3,0], [1,0,4], [4,5,1], [5,6,1],[1,6,2],[2,6,7],[2,7,3],[3,7,4], [4,0,3], [4,6,5],[6,4,7]]);
translate([-15,-15,-45]) polyhedron(points=[[0,0,20],[0,30,20],[30,30,20],[30,0,20], [-10,-10,0],[-10,40,0],[40,40,0],[40,-10,0]], triangles=[[0,1,2],[2,3,0], [1,0,4], [4,5,1], [5,6,1],[1,6,2],[2,6,7],[2,7,3],[3,7,4], [4,0,3], [4,6,5],[6,4,7]]);
Ce qui donnera les 2 polyedres comme attendu :
Resultat de l'etape 5
Le code apres l'etape 5 est donc le suivant :
use <openscad_course_tower.scad>
$fn=60;
union()
{
intersection()
{
translate([-10,-10,-10]) cube([20,20,20]);
sphere(r=12);
}
cylinder(r=7.5, h=20);
minkowski()
{
translate([-10,-10,-25]) cube([20,20,20]);
cylinder(r=2,h=1);
}
translate([-15,-15,-45]) tower_base();
}
Un nouveau fichier appele openscad_course_tower.scad
contient le code suivant :
module tower_base()
{
polyhedron(points=[[0,0,20],[0,30,20],[30,30,20],[30,0,20], [-10,-10,0],[-10,40,0],[40,40,0],[40,-10,0]], triangles=[[0,1,2],[2,3,0], [1,0,4], [4,5,1], [5,6,1],[1,6,2],[2,6,7],[2,7,3],[3,7,4], [4,0,3], [4,6,5],[6,4,7]]);
}
tower_base();
Ce qui nous donne cet objet :