Cette page vous donne les différences entre la révision choisie et la version actuelle de la page.
animations:ateliers_openscad:exercices:ressort [2020/08/19 15:40] plogingenu créée |
animations:ateliers_openscad:exercices:ressort [2020/08/19 17:01] (Version actuelle) plogingenu |
||
---|---|---|---|
Ligne 9: | Ligne 9: | ||
}}} | }}} | ||
- | {{:animations:ateliers_openscad:exercices:defiopenscad_pyramidemethodee.png?200 }} | ||
+ | {{:animations:ateliers_openscad:exercices:defi_ressort.png?200 }} | ||
- | **Consigne : Réaliser un ressort !** >Il s'agit du défi de fin de l'atelier Programmer avec OpenSCAD. // | + | **Consigne : Réaliser un ressort !** >Il s'agit du défi de fin de l'atelier Programmer avec OpenSCAD. |
- | * méthode A : 1 ligne & 1 fonction différente (Méthode Bully) | + | |
- | * méthode B : 15 lignes & 3 fonctions différentes (Méthode Hélène) | + | |
- | méthode A | + | * méthode A : |
- | <code> | + | * méthode B : |
- | nb_sphere=100; | + | |
+ | ===== Aides ===== | ||
+ | |||
+ | ==== 1. Réfléchissez ==== | ||
+ | |||
+ | Prenez vraiment le temps de réfléchir (Papier et crayon peuvent être utiles). Décomposez l'objet final en plusieurs petits objets. | ||
+ | |||
+ | |||
+ | ==== 2. Phase explicative ==== | ||
+ | |||
+ | Si vous ne savez pas par où commencer : | ||
+ | |||
+ | ==== 3. Les fonctions utiles ==== | ||
+ | |||
+ | ==== 4. Pièges à éviter ==== | ||
+ | |||
+ | |||
+ | ===== Solutions ===== | ||
+ | |||
+ | méthode A (Méthode Bully) | ||
+ | <code java>nb_sphere=100; | ||
nbboucle=0.5;//nb_sphere/360 | nbboucle=0.5;//nb_sphere/360 | ||
diamsphere=20; | diamsphere=20; | ||
Ligne 38: | Ligne 56: | ||
} | } | ||
} | } | ||
- | difference(){ | + | |
+ | difference(){ | ||
$fn=60; | $fn=60; | ||
union(){ | union(){ | ||
Ligne 56: | Ligne 75: | ||
+ | |||
+ | méthode B (Méthode Hélène) | ||
- | méthode B | + | <code java> |
- | + | ||
- | <code> | + | |
p=50; //rayon par rapport au centre | p=50; //rayon par rapport au centre | ||
ds=10; // diamètre de la sphère | ds=10; // diamètre de la sphère | ||
pas=2; // pas | pas=2; // pas | ||
- | itineration =200; // gère aussi la hauteur de la pièce | + | iteration =200; // gère aussi la hauteur de la pièce |
- | for(positionX=[p,-p], positionY=[p,-p],i=[1:itineration]){ | + | // Le coeur du ressort |
+ | for(positionX=[p,-p], positionY=[p,-p],i=[1:iteration]){ | ||
rotate([0,0,i*pas]) | rotate([0,0,i*pas]) | ||
- | translate([0,0,i*pas]) | + | translate([positionX,positionY,i*pas]) |
- | translate([positionX,positionY,0]) sphere(ds, $fn=75); | + | sphere(ds, $fn=75); |
} | } | ||
- | + | //base et haut du ressort | |
- | difference(){ | + | difference(){ |
union(){ | union(){ | ||
- | translate([0,0,-ds])cylinder(r=2*(p-ds)+2,h=ds,$fn=100); | + | translate([0,0,-ds]){cylinder(r=2*(p-ds)+2,h=ds,$fn=100);} |
- | translate([0,0,itineration*pas])cylinder(r=2*(p-ds)+2,h=ds,$fn=100); | + | translate([0,0,iteration*pas]){cylinder(r=2*(p-ds)+2,h=ds,$fn=100);} |
} | } | ||
- | translate([0,0,-ds-0.1])cylinder(r=p+ds,h=itineration*pas+2*ds+0.2,$fn=100); | + | translate([0,0,-ds-0.1]){cylinder(r=p+ds,h=iteration*pas+2*ds+0.2,$fn=100);} |
- | } | + | } |
</code> | </code> |