Outils pour utilisateurs

Outils du site


atelierscodage

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Prochaine révision Les deux révisions suivantes
atelierscodage [2021/06/30 17:08]
mediarbx
atelierscodage [2021/07/12 17:18]
mediarbx [du fichier à l'objet imprimé]
Ligne 52: Ligne 52:
   * __le tronc:__  comme annoncé, nous n'imprimerons pas le tronc, un pied de pupitre de musicien fera très bien notre affaire.   * __le tronc:__  comme annoncé, nous n'imprimerons pas le tronc, un pied de pupitre de musicien fera très bien notre affaire.
   * __les branches:__  du tronc partent un nombre variables de branches. Comme pour l'arbre réel illustré plus haut, nous déciderons que certaines branches sont inclinées à 30 degrés et d'autres à 50 degrés.   * __les branches:__  du tronc partent un nombre variables de branches. Comme pour l'arbre réel illustré plus haut, nous déciderons que certaines branches sont inclinées à 30 degrés et d'autres à 50 degrés.
-  * chaque branche mère se termine par un __capitule__  d'où partent nos branches filles à leur tour inclinées à 30 degrés et où à 50 degrés.+  * pour emboîter les sous-branches aux branches, nous nous servirons d'un __capitule__  (comme le capitule d'une fleur) d'où partent nos branches filles à leur tour inclinées à 30 degrés et où à 50 degrés.
  
 {{  :codage:arbre_generationel-plateau1-bis.png?direct&600  }} {{  :codage:arbre_generationel-plateau1-bis.png?direct&600  }}
Ligne 72: Ligne 72:
 {{  :codage:tige_a_embouts_2021.png?direct&  }}La branche (A) sera le composant les plus facile à programmer. \\ Elle aura une longueur fixe et qui pourra changer de valeur pendant les tests. \\ Elle sera cylindrique et terminée à chaque extrémité pour une forme polygonale; cela évitera la rotation des branches autour de leur axe. {{  :codage:tige_a_embouts_2021.png?direct&  }}La branche (A) sera le composant les plus facile à programmer. \\ Elle aura une longueur fixe et qui pourra changer de valeur pendant les tests. \\ Elle sera cylindrique et terminée à chaque extrémité pour une forme polygonale; cela évitera la rotation des branches autour de leur axe.
  
-  * nous désignerons la longueur par la variable brl à laquelle nous donnerons une valeur initiale de 170 mm hors tout (cad embouts compris). +  * nous désignerons la longueur par les variables //di_br//  et //lg_br//  à laquelle nous donnerons une valeur initiale de 170 mm hors tout (cad embouts compris / lg_br=170). 
-  * elle sera cylindrique d'un diamètre de 10 mm +  * elle sera cylindrique d'un diamètre de 10 mm (di_br=10) 
-  * elle sera prolongée d'un embout cylindrique hexagonal (cylindre à 6 côtés sur sa longueur) de 15mm qui pourra s'enfoncer dans le capitule à l'une de ses extrémité et dans le raccord à l'autre extrémité (le diamètre de l'embout sera de 1.5 mm plus petit que celui de la branche).+  * elle sera prolongée d'un embout cylindrique hexagonal (cylindre à 6 côtés sur sa longueur) qui pourra s'enfoncer dans le capitule à l'une de ses extrémité (voir //haut_cap=ep_grdplatcap+ep_ptplatcap+ep_anncap//  : attention à l'inclinaison) et dans le raccord à l'autre extrémité (le diamètre de l'embout sera de 1.5 mm plus petit que celui de la branche).
  
 **Résumé:** **Résumé:**
Ligne 80: Ligne 80:
 <code> <code>
 // variables utilisées // variables utilisées
-    facettes=6;         // nombre de facettes des embouts +//dimensions communes 
-    lg_emboutsbr=15;    // longueur des embouts en mm +facettes=6; 
-    lg_br=170;          // longueur tige +// dimensions branche 
-    di_br=10          // diamètre tige +di_br=10;           // diamètre branche 
-// variables calculées +lg_emboutsbr=15;    // longueur des embouts des branches 
-    di_emboutsbr=di_br-1.5; // diamètre des embouts+lg_br=170;          // longueur de la branche (hors tout) 
 +// 
 +//dimensions capitule 
 +di_grdplatcap=150;    // diamètre plateau supérieur du capitule 
 +ep_grdplatcap=2   // épaisseur plateau supérieur du capitule 
 +di_ptplatcap=90;      // diamètre plateau inférieur du capitule 
 +ep_ptplatcap=2;     // épaisseur plateau inférieur du capitule 
 +ep_anncap=14;         // épaisseur anneau inter plateaux du capitule 
 +// 
 +//dimensions socle 
 +di_socle=15;          // diamètre du socle (à adapter au support 
 +                      // choisi (pied de pupitre de musicien 
 +                      // par exemple) 
 + 
 +//dimensions calculées 
 +haut_cap=ep_grdplatcap+ep_ptplatcap+ep_anncap; 
 +di_emboutsbr=di_br-1.0; // diamètre des embouts
  
 </code> </code>
Ligne 199: Ligne 215:
  
 ===== Principales fonctions ===== ===== Principales fonctions =====
 +Les principales fonctions qui seront utilisées au cours de cet atelier sont les les suivantes:
 +  * **cylinder(h,r1|d1,r2|d2,center)** où h est la hauteur du cylindre, r ou d ses rayon/diamètre à chaque extrémité et center permet de positionner son axe par rapport au centre.
 +Les principales opérations que nous exécuterons seront:
 +  * **difference()** cette opération permet de soustraire à la forme construite par la première fonction toutes les formes décrites par les fonctions suivantes.\\ Par exemple, le code <code>translate([0,0,0]) {
 +        color("DarkKhaki"){
 +            translate([0,-4,-diametre_branche/2]){
 +                difference(){
 +                    cylinder(d=17.6,h=2.5,$fn=60);
 +                    translate([0,0,0.001])
 +                    cylinder(d=14.8,h=2.6.001,$fn=6);
 +                }
 +            }
 +        }
 +    }</code> creusera un cylindre hexagonal ($fn=6) de 14.8 mm de diamètre à l'intérieur d'un cylindre circulaire ($fn=60) de  17.6 mm de diamètre et de même hauteur. 
 +Les principaux mouvements dont nous aurons besoin sont:
 +  * **translate([x,y,z])** permet de se déplacer du point en cours vers le point [x,y,z]
 +  * **rotation([x,y,z])** permet d'orienter les parties de l'objet en cours dans la direction de l'angle [x,y,z]
 +D'une manière générale, l'opération ou le mouvement peuvent ne concerner qu'une exécution de la fonction ou plusieurs.
  
-[[https://www.openscad.org/cheatsheet/|Aide-mémoire des fonctions du langage OpenScad]] 
  
 +[[https://www.openscad.org/cheatsheet/|Aide-mémoire des fonctions du langage OpenScad]]
 +===== du fichier à l'objet imprimé =====
 +{{ :codage:delideealobjet.png?800 |}}
  
atelierscodage.txt · Dernière modification: 2021/07/15 18:36 de mediarbx