======= Défi OpenSCAD Entonnoir ======
{{{project
logiciels: OpenSCAD
fichiers:
usager: plogingenu
licence:cc-by-nc
}}}
{{:animations:ateliers_openscad:exercices:entonnoir.png?200 }}
**Consigne : Réaliser un entonnoir en ligne de code !**
* 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 =====
==== 1. Réfléchissez ====
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);//
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.
==== 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
===== 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}}
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);
}
}
**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}}
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]] );
**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}}
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);
}