Outils d'utilisateurs

Outils du Site


animations:ateliers_openscad:exercices:defi_portebouteille

Différences

Cette page vous donne les différences entre la révision choisie et la version actuelle de la page.

Lien vers cette vue

animations:ateliers_openscad:exercices:defi_portebouteille [2020/04/01 10:43]
plogingenu créée
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 &ampbouteilles ======
 {{{project {{{project
 logiciels: OpenSCAD logiciels: OpenSCAD
Ligne 10: Ligne 10:
  
 {{:animations:ateliers_openscad:exercices:defiopenscad_verreapiedclassique.png?200  }} {{:animations:ateliers_openscad:exercices:defiopenscad_verreapiedclassique.png?200  }}
-**Consigne : Réaliser un porte bouteille!**+**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 26: Ligne 24:
   - en  modulant les dimensions des bouteilles pour convenir à tou-te-s (limonades, bières, vins, eaux gazeuses ...) - option B   - en  modulant les dimensions des bouteilles pour convenir à tou-te-s (limonades, bières, vins, eaux gazeuses ...) - option B
   - en modulant le nombre de bouteilles voulu, (de 1 à  plus infini) - option C   - en modulant le nombre de bouteilles voulu, (de 1 à  plus infini) - option C
-  - En faisant des trous au niveau de la base, pour être sur que les bouteilles soient ne bouge pas. - option D+  - En faisant des trous au niveau de la base, pour être sur que les bouteilles ne bougent pas. - option D
   - en calculant automatique la longueur de corde nécessaire - option E   - en calculant automatique la longueur de corde nécessaire - option E
-  - +  - en modulant selon l'épaisseur de la planche utilisé - option F 
 Pour cela rien de mieux, qu'OpenSCAD, pour nous faire un générateur paramétrique de plan (.svg) de porte bouteille. Pour cela rien de mieux, qu'OpenSCAD, pour nous faire un générateur paramétrique de plan (.svg) de porte bouteille.
  
Ligne 47: Ligne 46:
  
 ==== 3. Les fonctions utiles ==== ==== 3. Les fonctions utiles ====
- 
  
  
 **méthode :** ln **méthode :** ln
-  * Créer une bouteille (méthode simple)+ 
 +**1. Créer une bouteille** 
 +  
 +__Méthode simple __
    * le cylindre : //cylinder(d1,d2,h);//    * le cylindre : //cylinder(d1,d2,h);//
-  * Créer un bouteille (méthode un peu plus compliqué)+__Méthode un peu plus compliquée__
    * le cylindre : //cylinder(d1,d2,h);//    * le cylindre : //cylinder(d1,d2,h);//
    * : //hull(){...}//    * : //hull(){...}//
-  Créer une bouteille (méthode pour les gens précis) +   le déplacement : //translate([x,y,z]){...}// 
-   * polygone : //polygon(points);//+__ Méthode pour les gens précis__ 
 +   * polygone : //polygon();// 
 +   * rotate_extrude : //rotate_extrude();//
  
-  * Créer un pack paramétrique de bouteille (méthode longue et répétitive)+**2. Créer un pack de bouteilles paramétriques**
    * Boucle for : //for(){...}//    * Boucle for : //for(){...}//
    * Module : // //    * Module : // //
  
 +**3. Créer les planches**
  
 +__ Méthode pour planches carrées__
 +  * le cube ://cube();//
 +  * le déplacement : //translate([x,y,z]){...}//
  
-  Créer les petits trous (méthode longue et répétitive+__ Méthode pour planches au bord arrondi__ 
-   la différence : //difference//+  le cube ://cube();// 
 +  le "Minkoski" : //minkoski([x,y,z]){...}// 
 +  * le cylindre : //cylinder(d1,d2,h);// 
 + 
 + 
 +**4. Créer les petits trous** 
 + 
 +__ Méthode répétitive__ 
    * le cylindre : //cylinder(d1,d2,h);//    * le cylindre : //cylinder(d1,d2,h);//
-  * Créer les petits trous (méthode courte) +   * le déplacement : //translate([x,y,z]){...}// 
-   * le miroir : //mirror ([x,y,z]){...}// +__ Méthode courte__ 
-   * la différence : //difference(){...}//+
    * le cylindre : //cylinder(d1,d2,h);//    * le cylindre : //cylinder(d1,d2,h);//
 +   * le déplacement : //translate([x,y,z]){...}// 
 +   * le miroir : //mirror ([x,y,z]){...}// 
 +    
 +**5. Assembler les différentes parties** 
   * la différence : //difference(){...}//   * la différence : //difference(){...}//
-  * le cylindre/cône : //cylinder(d1,d2,h);// 
  
-**méthode :** verre à pied classique +**6. Réalisation de la poignée**  
-  * la différence : //difference(){...}// +  * le cylindre : //cylinder(d1,d2,h);//
-  * le cylindre/cône : //cylinder(d1,d2,h);//+
   * le déplacement : //translate([x,y,z]){...}//   * le déplacement : //translate([x,y,z]){...}//
-  * le cube ://cube();// +  * la rotation : //rotate([x,y,z]){...}// 
-  * la sphere : // sphere(d=);//+ 
 +**7.Export en .svg**  
 +  * ... 
 +   
 +**8.Modélisation de la corde** (bonus) 
 +  * ...
  
 +**9.Animation du modèle 3D** (bonus)
 +  * ...
  
 <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> <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>
Ligne 96: Ligne 117:
  
  
-**méthode :** Super rapide +**Conseils Projets complexes** 
-  * Pas de difficultés particulièreson superpose 3 formes donc la base est centrée sur le point d'origine.+//Plus le projet est complexes, plus il est important de travailler avec méthodologie// 
 +  * 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 
 +  * Lorsque que vous ne comprenez plus, ne mettez pas des valeurs au pif, faites une pause plutôt. 
 +  * Enregistrer plusieurs versions de votre fichierafin de retrouver rapidement une sauvegarde qui marche. 
 +  * 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. 
 +  * Commentez votre code, pour vous aider, mais aussi pour faciliter la documentation 
 +  
  
-  
-**méthode :**Verre à pied classique 
-  -Déplacer les formes de la bonne distance : 
-   -Poser la base et le pied, centrée sur le point d'origine (donc pas de translate(), la superposition du pied et de la basse n'est pas gênante.) 
-   - Déplacer la sphère extérieure de la longueur du pied 
-   - Déplacer la sphère intérieur de la longueur du pied plus un léger écart (qu'on peut calculer comme le rayon de la sphère extérieure moins le rayon de la sphère intérieure) 
-   - Déplacer le cube de la longueur du pied plus le rayon de la sphère extérieure. 
-  - Il est possible d'utiliser un translate() pour chaque pièce, mais le code sera plus lourd, il est aussi possible de faire un translate de translate(), cf .code ci-dessous 
  
 +===== Solutions par étapes ===== 
 +==== Créer une bouteille - Méthode simple ====
  
 +{{:animations:ateliers_openscad:exercices:bouteille1.png?200|}}
 +{{:animations:ateliers_openscad:exercices:bouteille1.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
  
-===== Solutions =====+cylinder(d=db, h=hb-hg, $fn=100); // gros cylindre 
 +cylinder(d=dh, h=hb, $fn=100); //petit cylindre
  
 +</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 }} 
  
-**méthode :** super rapide (4 lignes et 2 fonctions)+<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; // hauteur intermédiaire
  
-// Changer le $fnpour faire varier le nombre de facettes de chaque solide //+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);} //petit cylindre
  
-{{:animations:ateliers_openscad:exercices:de_fi_openscad_-_verre_a_pied_super_rapide.png?200}} +</code>
-{{:animations:ateliers_openscad:exercices:de_fi_openscad_verre_a_pied_super_rapide.stl|Voir l'objet en 3D}}+
  
 +
 +==== 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> <code java>
-difference(){ +hb=230; //hauteur de la bouteille 
-cylinder(r1=0, r2= 40, h =100, $fn=100); //cône extérieur +hg=84; // hauteur du goulot 
-cylinder(r1=0, r2= 38h =100+1$fn=100); //cône intérieur +db=70; //diamètre ou largeur basse de la bouteille 
-+dh=40; // diamètre ou largeur haute de la bouteille 
-cylinder(r1=40r2=5h= 10$fn=5); // la base+hi=123; 
 +rotate_extrude($fn=80){polygonpoints=[[0,0],[db/2,0],[db/2,hi],[dh/2,hb-hg],[dh/2,hb],[0,hb]]);
 </code> </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);}
  
-**méthode :** Verre à pied classique (7 lignes et 5 fonctions)+}
  
-// N'hésitez pas à faire varier les paramètres lv et hv //+// bouteille();  
 +</code>
  
-{{:animations:ateliers_openscad:exercices:defiopenscad_verreapiedclassique.png?200}} +==== Créer un pack de bouteilles paramétriques ====  
-{{:animations:ateliers_openscad:exercices:defiopenscad_verreapiedclassique.stl|Voir l'objet en 3D}}+ 
 +Télécharger le code 
 + 
 +Module bouteille +
  
 <code java> <code java>
-lv=40 ; //largeur du verreici 40mm +db=70; // Rayon des trous, rt va de 0 à + infini
-hv=100; // hauteur du verreici 100mm+espdb+25; // espacemenent entre  les trous 
 +Nx= 2; // Nx va de 0 à + infinientier uniquement Compte +1 
 +Ny= 1; //Ny=Nx, pour faire un damier carré, ou Ny = valeur au choix
  
-translate([0,0,hv]){ +for (j = [-Ny/2:Ny/2]){ 
-    difference(){ +  for ([-Nx/2:Nx/2]){ 
-        sphere(r=lv,$fn=100); //sphere extérieur +    translate ([i*esp,j*esp,0]) {bouteille();} 
-        translate([0,0,lv]){cube(2*lv, center= true);}//cube +  }
-        sphere(r=lv-2, $fn=100); //sphère intérieur   +
-       }+
 } }
-cylinder(r=lv/10,h=hv-lv,$fn=100); // le pied +
-cylinder(r1=lv,r2=lv/10,h=hv/10,$fn=100); // la base+
 </code> </code>
 +===== Solutions finales=====
  
-** Votre méthode :** 
-N'hésitez pas à mettre vos codes ci-dessous :  
  
-{{:animations:ateliers_openscad:20191210_134616.jpg?300}} +**méthode :**  
-{{:animations:ateliers_openscad:20191210_134610.jpg?300}} +// N'hésitez pas à faire varier les paramètres //
  
 +Télécharger le code -
  
 <code java> <code java>
-.... 
-</code> 
  
-<code java> 
-.... 
 </code> </code>
 +
 +** Votre méthode :**
 +N'hésitez pas à mettre vos codes ci-dessous : 
 +
  
  
  
animations/ateliers_openscad/exercices/defi_portebouteille.1585730599.txt.gz · Dernière modification: 2020/04/01 10:43 par plogingenu