Cette page vous donne les différences entre la révision choisie et la version actuelle de la page.
|
animations:ateliers_openscad:exercices:defi_entonnoir [2020/03/27 17:10] plogingenu créée |
animations:ateliers_openscad:exercices:defi_entonnoir [2020/04/03 17:58] (Version actuelle) plogingenu |
||
|---|---|---|---|
| Ligne 3: | Ligne 3: | ||
| <!-- Complétez la fiche projet ci dessous --> | <!-- Complétez la fiche projet ci dessous --> | ||
| {{{project | {{{project | ||
| - | picture:{{:projets:broderie_-_renard_decouvre_l_applique:20200312_193417.jpg?200|}} | ||
| logiciels: OpenSCAD | logiciels: OpenSCAD | ||
| fichiers: | fichiers: | ||
| usager: plogingenu | usager: plogingenu | ||
| licence:cc-by-nc | licence:cc-by-nc | ||
| + | |||
| }}} | }}} | ||
| + | {{:animations:ateliers_openscad:exercices:entonnoir.png?200 }} | ||
| - | blabla | + | **Consigne : Réaliser un entonnoir en ligne de code !** |
| - | ===== Consignes ====== | + | * méthode A : 9 lignes & 3 fonctions différentes |
| + | * méthode B : 2 lignes & 2 fonctions différentes | ||
| + | * méthode C : 7 lignes & 6 fonctions différentes | ||
| + | {{:animations:ateliers_openscad:exercices:cn2_openscad_defi-entonnoir_hm.stl | Voir l'objet en 3D}} | ||
| + | Besoin d'aide, lisez la suite ! | ||
| ===== Aides ===== | ===== Aides ===== | ||
| + | ==== 1. Réfléchissez ==== | ||
| - | ===== Aides Etapes par Etapes ======== | + | Prenez vraiment le temps de réfléchir (papier et crayon peuvent être utile ) |
| + | |||
| + | |||
| + | ==== 2. Phrase explicative ==== | ||
| + | |||
| + | Si vous ne savez pas par où commencer : | ||
| + | |||
| + | * **méthode A :** l'entonnoir est composé de deux cônes évidés superposés | ||
| + | * **méthode B :** l'entonnoir est une forme géométrique qui subit une rotation extrudante | ||
| + | * **méthode C :** l'entonnoir est composé d'une différence entre l'union d'un cône et d'une sphère, dans laquelle on l'évide par un cône, une sphère et un cube. | ||
| + | |||
| + | |||
| + | ==== 3. Les fonctions utiles ==== | ||
| + | |||
| + | |||
| + | |||
| + | **méthode A :** | ||
| + | * la différence : //difference(){...}// | ||
| + | * le déplacement : //translate([x,y,z]){...}// | ||
| + | * le cylindre/cône : //cylinder(d1,d2,h);// | ||
| + | |||
| + | **méthode B :** | ||
| + | * la rotation extrudante : //rotate_extrude(){...}// | ||
| + | * le polygone : //polygon(...);// | ||
| + | |||
| + | |||
| + | **méthode A :** | ||
| + | * la différence : //difference(){...}// | ||
| + | * le déplacement : //translate([x,y,z]){...}// | ||
| + | * le cylindre/cône : //cylinder(d1,d2,h);// | ||
| + | * la sphère : //sphere (d);// | ||
| + | * le cube : //cube(c);// | ||
| + | |||
| + | <note tip>Si vous ne connaissez pas bien l'utilisation d'une de ses fonctions, il peut être utile d'aller voir les exercices du wiki ou la page Aide-Mémoire OpenSCAD.</note> | ||
| + | |||
| + | |||
| + | |||
| + | ==== 4. Pièges à éviter ==== | ||
| + | |||
| + | **En général :** | ||
| + | * Le point-virgule | ||
| + | * Bien ouvrir et fermer les parenthèses, crochets et accolades | ||
| + | * Les erreurs de frappe | ||
| + | |||
| + | **méthode A :** | ||
| + | - Se souvenir de comment on code un cône (ici, pointe vers le bas) | ||
| + | - Positionner les pièces correctement les unes par rapport aux autres sans abuser du translate() | ||
| + | - Faites attention, que les pièces qui sont extrudés dépasse bien des 2 côtés, afin d'éviter l'apparition de zébrures. | ||
| + | - Une fois la pièce faite, si ce n'est pas déjà fait penser à la mise en variable | ||
| + | |||
| + | |||
| + | **méthode B :** | ||
| + | - Se souvenir de comment on code un polynôme (ici, il faut 6 points)/ Le dessiner sur papier quadrillé peut aider | ||
| + | - Partir d'un point , puis faire les positions extérieures de la forme, puis intérieur / Ne pas mettre deux fois le point de départ | ||
| Ligne 28: | Ligne 87: | ||
| ===== Solutions ===== | ===== Solutions ===== | ||
| + | solution par étape : {{:animations:ateliers_openscad:exercices:cn2_openscad_de_fi-entonnoir_hm.scad| Fichier .SCAD code complet - Hélène}} | ||
| + | |||
| + | **méthode A :** | ||
| + | {{:animations:ateliers_openscad:exercices:entonnoir.png?200 }} | ||
| + | {{:animations:ateliers_openscad:exercices:cn2_openscad_defi-entonnoir_hm.stl | Voir l'objet en 3D}} | ||
| + | <code java> | ||
| + | a=80; // le diamètre extérieur supérieur du cône supérieur en mm | ||
| + | b=10; // le diamètre extérieur inférieur du cône supérieur en mm | ||
| + | c=8; // le diamètre extérieur inférieur du cône inférieur (dit le tube) en mm. | ||
| + | |||
| + | hc=60; // hauteur du cône supérieur en mm | ||
| + | ht=30;// hauteur du cône inférieur (dit le tube) en mm | ||
| + | |||
| + | e=3;// épaisseur en mm ( Attention pas moins de 3mm pour l'impression 3D) | ||
| + | $fn=60; // détail de la finition (en nombre de facettes) / Maillage | ||
| + | |||
| + | difference(){ | ||
| + | cylinder(d2=a, d1=b, h=hc); | ||
| + | translate([0,0,-1]) cylinder(d2=a-e, d1=b-e, h=hc+2); | ||
| + | } | ||
| + | translate([0,0,-ht]){ | ||
| + | difference(){ | ||
| + | cylinder(d1=c, d2=b, h=ht); | ||
| + | translate([0,0,-1]) cylinder(d1=c-e, d2=b-e, h=ht+2); | ||
| + | } | ||
| + | } | ||
| + | </code> | ||
| + | |||
| + | **méthode B :** | ||
| + | {{:animations:ateliers_openscad:exercices:entonnoir.png?200 }} | ||
| + | {{:animations:ateliers_openscad:exercices:cn2_openscad_defi-entonnoir_hm.stl | Voir l'objet en 3D}} | ||
| + | |||
| + | <code java> | ||
| + | a=80; // le diamètre extérieur supérieur du cône supérieur en mm | ||
| + | b=10; // le diamètre extérieur inférieur du cône supérieur en mm | ||
| + | c=8; // le diamètre extérieur inférieur du cône inférieur (dit le tube) en mm. | ||
| + | |||
| + | hc=60; // hauteur du cône supérieur en mm | ||
| + | ht=30;// hauteur du cône inférieur (dit le tube) en mm | ||
| + | |||
| + | e=3;// épaisseur en mm ( Attention pas moins de 3mm pour l'impression 3D) | ||
| + | $fn=60; | ||
| + | |||
| + | rotate_extrude($fn=80) polygon( points=[[c,0],[b,ht],[a,ht+hc],[a-e,ht+hc],[b-e,ht],[c-e,0]] ); | ||
| + | </code> | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | **méthode C :** | ||
| + | {{:animations:ateliers_openscad:exercices:defiopenscad-entonnoir-c.png?200 }} | ||
| + | {{:animations:ateliers_openscad:exercices:defi_entonnoir_methodec.stl | Voir l'objet en 3D}} | ||
| + | |||
| + | <code java> | ||
| + | a=80; // le diamètre extérieur supérieur de la sphère supérieure en mm | ||
| + | b=10; // le diamètre extérieur inférieur du cône supérieur en mm | ||
| + | c=8; // le diamètre extérieur inférieur du cône inférieur (dit le tube) en mm. | ||
| + | |||
| + | hc=60; // hauteur du cône supérieur en mm | ||
| + | ht=30;// hauteur du cône inférieur (dit le tube) en mm | ||
| + | |||
| + | e=3;// épaisseur en mm ( Attention pas moins de 3mm pour l'impression 3D) | ||
| + | $fn=100; // détail de la finition (en nombre de facettes) / Maillage | ||
| + | |||
| + | difference(){ | ||
| + | union(){ | ||
| + | translate([0,0,a/2-e]) sphere(d=a); | ||
| + | translate([0,0,-ht]) cylinder(d1=c, d2=b, h=ht); | ||
| + | } | ||
| + | translate([0,0,a/2-e-1]) sphere(d=a-e); | ||
| + | translate([0,0,a-e]) cube(a,center=true); | ||
| + | translate([0,0,-ht-1]) cylinder(d1=c-e, d2=b-e, h=ht+2); | ||
| + | } | ||
| + | </code> | ||