Cette page vous donne les différences entre la révision choisie et la version actuelle de la page.
|
animations:ateliers_openscad:exercices:defi_portebouteille [2020/04/01 11:41] plogingenu |
animations:ateliers_openscad:exercices:defi_portebouteille [2020/04/01 16:30] (Version actuelle) plogingenu |
||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | !-- Complétez la fiche projet ci dessous --> | + | ======= Défi OpenSCAD Défi Porte-bouteille & bouteilles ====== |
| {{{project | {{{project | ||
| logiciels: OpenSCAD | logiciels: OpenSCAD | ||
| Ligne 12: | Ligne 12: | ||
| **Consigne : Réaliser un porte bouteille et ses bouteilles !** | **Consigne : Réaliser un porte bouteille et ses bouteilles !** | ||
| * **méthode :** A la Hélène | * **méthode :** A la Hélène | ||
| - | * **méthode :** A la bully | ||
| {{:animations:ateliers_openscad:exercices:de_fi_openscad_verre_a_pied_super_rapide.stl|Voir l'objet en 3D (ln) }} | {{:animations:ateliers_openscad:exercices:de_fi_openscad_verre_a_pied_super_rapide.stl|Voir l'objet en 3D (ln) }} | ||
| - | {{:animations:ateliers_openscad:exercices:defiopenscad_verreapiedclassique.stl|Voir l'objet en 3D (verre classique) }} | ||
| Besoin d'aide, lisez la suite ! | Besoin d'aide, lisez la suite ! | ||
| Ligne 61: | Ligne 59: | ||
| * le déplacement : //translate([x,y,z]){...}// | * le déplacement : //translate([x,y,z]){...}// | ||
| __ Méthode pour les gens précis__ | __ Méthode pour les gens précis__ | ||
| - | * polygone : //polygon(points);// | + | * polygone : //polygon();// |
| + | * rotate_extrude : //rotate_extrude();// | ||
| **2. Créer un pack de bouteilles paramétriques** | **2. Créer un pack de bouteilles paramétriques** | ||
| Ligne 120: | Ligne 119: | ||
| **Conseils : Projets complexes** | **Conseils : Projets complexes** | ||
| //Plus le projet est complexes, plus il est important de travailler avec méthodologie// | //Plus le projet est complexes, plus il est important de travailler avec méthodologie// | ||
| - | - Prendre les vraies mesures d'une bouteille, plus réaliste | + | * Prendre les vraies mesures d'une bouteille, plus réaliste |
| - | - N'hésitez pas à utiliser la transparence ( # ) pour bien comprendre ou sont situées vos pièces | + | * N'hésitez pas à utiliser la transparence ( # ) pour bien comprendre ou sont situées vos pièces |
| - | - Lorsque que vous ne comprenez plus, ne mettez pas des valeurs au pif, faites une pause plutôt. | + | * Lorsque que vous ne comprenez plus, ne mettez pas des valeurs au pif, faites une pause plutôt. |
| - | - Enregistrer plusieurs versions de votre fichier, afin de retrouver rapidement une sauvegarde qui marche. | + | * Enregistrer plusieurs versions de votre fichier, afin de retrouver rapidement une sauvegarde qui marche. |
| - | - Commencez toujours par comprendre la logique, avant de généraliser (boucle for) | + | * Commencez toujours par comprendre la logique, avant de généraliser (boucle for) |
| - | - Bien vérifier qu'en changeant chaque variable, le modèle reste valable. Cela permet de vérifier si il n'y a pas d'erreur dans le code. | + | * Bien vérifier qu'en changeant chaque variable, le modèle reste valable. Cela permet de vérifier si il n'y a pas d'erreur dans le code. |
| - | - Commentez votre code, pour vous aider, mais aussi pour faciliter la documentation | + | * Commentez votre code, pour vous aider, mais aussi pour faciliter la documentation |
| + | ===== Solutions par étapes ===== | ||
| + | ==== Créer une bouteille - Méthode simple ==== | ||
| - | ===== Etapes ===== | + | {{:animations:ateliers_openscad:exercices:bouteille1.png?200|}} |
| - | //1. Créer une bouteille__Méthode simple __ | + | {{:animations:ateliers_openscad:exercices:bouteille1.stl|Voir l'objet en 3D }} |
| <code java> | <code java> | ||
| - | |||
| - | |||
| hb=230 ; // hauteur de la bouteille | hb=230 ; // hauteur de la bouteille | ||
| hg=84; // hauteur du goulot | hg=84; // hauteur du goulot | ||
| Ligne 146: | Ligne 145: | ||
| </code> | </code> | ||
| + | ==== Créer une bouteille - un peu plus compliquée ==== | ||
| + | {{:animations:ateliers_openscad:exercices:bouteille3.png?200|}} | ||
| + | {{:animations:ateliers_openscad:exercices:bouteille3.stl|Voir l'objet en 3D }} | ||
| <code java> | <code java> | ||
| - | |||
| hb=230 ; // hauteur de la bouteille | hb=230 ; // hauteur de la bouteille | ||
| hg=84; // hauteur du goulot | hg=84; // hauteur du goulot | ||
| Ligne 165: | Ligne 166: | ||
| + | ==== Créer une bouteille - Méthode pour les gens précis ==== | ||
| + | {{:animations:ateliers_openscad:exercices:bouteille3.png?200|}} | ||
| + | {{:animations:ateliers_openscad:exercices:bouteille3.stl|Voir l'objet en 3D }} | ||
| + | <code java> | ||
| + | hb=230; //hauteur de la bouteille | ||
| + | hg=84; // hauteur du goulot | ||
| + | db=70; //diamètre ou largeur basse de la bouteille | ||
| + | dh=40; // diamètre ou largeur haute de la bouteille | ||
| + | hi=123; | ||
| + | rotate_extrude($fn=80){polygon( points=[[0,0],[db/2,0],[db/2,hi],[dh/2,hb-hg],[dh/2,hb],[0,hb]]);} | ||
| + | |||
| + | </code> | ||
| + | |||
| + | ==== Créer un module bouteille(); ==== | ||
| + | <code java> | ||
| + | module bouteille(hb=230,hi=123,hg=84,db=70,dh=40){ | ||
| + | //hb, hauteur de la bouteille | ||
| + | //hg, hauteur du goulot | ||
| + | //db, diamètre ou largeur basse de la bouteille | ||
| + | //dh, diamètre ou largeur haute de la bouteille | ||
| + | //hi, hauteur intermédiaire | ||
| + | |||
| + | cylinder(d=db, h=hi);// gros cylindre | ||
| + | hull(){ | ||
| + | translate([0,0,hi]){cylinder(d=db, h=1);} | ||
| + | translate([0,0,hb-hg]){cylinder(d=dh, h=1);} | ||
| + | } | ||
| + | translate([0,0,0]){cylinder(d=dh, h=hb);} | ||
| + | |||
| + | } | ||
| + | |||
| + | // bouteille(); | ||
| + | </code> | ||
| + | |||
| + | ==== Créer un pack de bouteilles paramétriques ==== | ||
| + | |||
| + | Télécharger le code | ||
| + | |||
| + | Module bouteille + | ||
| + | |||
| + | <code java> | ||
| + | db=70; // Rayon des trous, rt va de 0 à + infini, | ||
| + | esp= db+25; // espacemenent entre les trous | ||
| + | Nx= 2; // Nx va de 0 à + infini, entier uniquement Compte +1 | ||
| + | Ny= 1; //Ny=Nx, pour faire un damier carré, ou Ny = valeur au choix | ||
| + | |||
| + | for (j = [-Ny/2:Ny/2]){ | ||
| + | for (i = [-Nx/2:Nx/2]){ | ||
| + | translate ([i*esp,j*esp,0]) {bouteille();} | ||
| + | } | ||
| + | } | ||
| + | |||
| + | </code> | ||
| ===== Solutions finales===== | ===== Solutions finales===== | ||
| - | **méthode :** ln | + | **méthode :** |
| // N'hésitez pas à faire varier les paramètres // | // N'hésitez pas à faire varier les paramètres // | ||
| - | {{:animations:ateliers_openscad:exercices:defiopenscad_verreapiedclassique.png?200}} | + | Télécharger le code - |
| - | {{:animations:ateliers_openscad:exercices:defiopenscad_verreapiedclassique.stl|Télécharger le code OpenSCAD}} | + | |
| <code java> | <code java> | ||