/*/////////////////////////////////////////////////////////////////// PINCE (à sucre, à buche, ect...) simple et variable de partout (paramétrable) Carrefour Numérique² la Villette Paris - avec Openscad 2015.03 par Bernard 1er programme début 4 février 2018 attention ! ! ! ******************* pour les buches :* loin du feu !!! * (en attendent l'impression 'acier')... ******************* problèmes avec les grosses épaisseur de branche(variable 'e'), de toute facon pas utilisable pour le sucre... pour les chanfreins en bout de branche ajuster la variable 'triche' selon les besoins //////////////////////////////////////////////////////////////////////*/ // -- VARIABLES à saisir dimensions de la pince en mm -- // après avoir mesurer votre sucre (triple mètre, double décimètre, pied à coulisse, micromètre, etc) plus jeu ecart=16; // écartement int. en bout degag=4; // en + écart au rayon long=120; // longueur des branches h=15; // larg. des branches (z) e=4; // épais. des branches prec=40; // nb. facettes (0=défaut) triche=2; // triche chanfrein en bout à AJUSTER // -- VARIABLES calculées -- ra=ecart/2+degag; // rayon de tête sin=degag/(long-1); angle=asin(sin); // rotation des branches /* pour calcul angle dms ... à dévelloper deg=int(angle); reste=angle-deg; */ deg=0; minu=0; sec=0; longtotal= long+ecart/2+degag+e; echo(); echo ("angle calculé = ",angle,"degrés ","->",deg,"° ",minu,"minutes",sec,"secondes"); echo ("longueur totale = ",longtotal, "mm"); echo(); // -- PROGRAMME -- union(){ // a) arrondi de tête difference(){ cylinder(r=ra+e,h=h,$fn=prec); translate([0,0,-1]) #cylinder(r=ra, h=h+2,$fn=prec); translate([degag/5,-(ecart+degag+e*3)/2,-1]) cube([ecart+degag+e, ecart+degag+e*3, h+2]); } /* -- le susucre variable ! -- mettre en rem pour régler l'écartement des branches : controle a l'oeil affleurer (avant calcul de l'angle) translate([long*0.51,-ecart/2,-0]){ #cube([long*0.5,ecart,h*0.5]);} */ // b) branche gauche difference(){ translate([0,-ra-e,0]) rotate([0, 0, angle]) cube([long,e,h]); translate([long+triche,0,h/2]) rotate([0,0,45]) cube([ecart+0.5,ecart+0.5,h+2], center=true); } // c) branche droite difference(){ translate([0,ra,0]) rotate([0, 0, -angle]) cube([long,e,h]); translate([long+triche,0,h/2]) rotate([0,0,45]) cube([ecart+0.5,ecart+0.5,h+2], center=true); } } // fin union // fin du programme bon cafe a toutes et tous