include include include ///////////////////////////////////////////////// ///// Pièces unitaires ///// ///////////////////////////////////////////////// module laser206() { color(color200) translate([2,2,2]) difference() { cube([62,62,2]); translate([62,18,0]) rotate([0,0,-45]) translate([-80,0,-1]) cube([90,90,4]); translate([24,8,-1]) cylinder(d=drillM4, h=4, $fn=fnCylindre); translate([46,8,-1]) cylinder(d=drillM4, h=4, $fn=fnCylindre); translate([8,24,-1]) cylinder(d=drillM4, h=4, $fn=fnCylindre); translate([8,46,-1]) cylinder(d=drillM4, h=4, $fn=fnCylindre); translate([28,28,-1]) cylinder(d=drillM8, h=4, $fn=fnCylindre); } echo(str("206")); } correctionHauteurImpression = pourImpression3D ? 1 : 0; module laser101() { marge = 6; hTrou = 5; lTrou = 4; largeurCouteau = 12; longueurCouteau = offsetCouteau + 2 * marge; hauteurBaseCouteau = lIntCornierCadre - epaisseurTole; color(color100) render(0) translate([-marge,0,0]) difference() { union() { cube([longueurCouteau,hauteurBaseCouteau,epaisseurCouteau]); translate([marge,hauteurBaseCouteau+hauteurCouteau-largeurCouteau+correctionHauteurImpression,0]) toleTriangulaire(largeurCouteau,largeurCouteau,epaisseurCouteau); translate([marge-largeurCouteau/2,hauteurBaseCouteau,0]) cube([largeurCouteau,hauteurCouteau-largeurCouteau+correctionHauteurImpression,epaisseurCouteau]); //translate([marge,hauteurCadre,0]) cube([offsetCouteau/2+5,hTrou+2,epaisseurTole]); } translate([marge,hauteurBaseCouteau/2,-1]) cylinder(epaisseurCouteau+2,d=diametreRivet, $fn=fnCylindre); translate([longueurCouteau-marge,hauteurBaseCouteau/2,-1]) cylinder(epaisseurCouteau+2,d=diametreRivet, $fn=fnCylindre); //translate([longueurCouteau/2-lTrou/2,hauteurCadre,-1]) cube([lTrou,hTrou,epaisseurTole+2]); translate([marge-2,hauteurBaseCouteau+hauteurCouteau-15,-1]) cube([lTrou,hTrou,epaisseurCouteau+2]); } echo(str("101")); } module laser102() { marge = 6; hTrou = 5; lTrou = 4; largeurCouteau = 12; longueurCouteau = offsetCouteau + 2 * marge; hauteurBaseCouteau = lIntCornierCadre - epaisseurTole; color(color100) render(0) translate([-marge,0,0]) difference() { union() { translate([0,2,0]) cube([largeurCouteau,hauteurBaseCouteau-2,epaisseurCouteau]); translate([marge,hauteurBaseCouteau+hauteurCouteau-largeurCouteau+correctionHauteurImpression,0]) toleTriangulaire(largeurCouteau,largeurCouteau,epaisseurCouteau); translate([marge-largeurCouteau/2,hauteurBaseCouteau,0]) cube([largeurCouteau,hauteurCouteau-largeurCouteau+correctionHauteurImpression,epaisseurCouteau]); //translate([marge,hauteurCadre,0]) cube([offsetCouteau/2+5,hTrou+2,epaisseurTole]); } translate([marge,hauteurBaseCouteau/2,-1]) cylinder(epaisseurCouteau+2,d=diametreRivet, $fn=fnCylindre); translate([marge-2,hauteurBaseCouteau+hauteurCouteau-15,-1]) cube([lTrou,hTrou,epaisseurCouteau+2]); } echo(str("102")); } module laser207() { l = 28; hCorps = 12; h = hCorps + epaisseurCouteau; zm = -epaisseurTole/2-1; color(color200) render(0) difference() { translate([-14,-hCorps,-epaisseurTole/2]) cube([l,h,epaisseurTole]); //tole de base translate([-11,0,zm]) cube([l - 3 - 2,h - 2,epaisseurTole+2]); //décroché //translate([14-2,0,zm]) cube([3,epaisseurCouteau+1,epaisseurTole+2]); // coin gauche translate([-11,-1,zm]) cube([7,2,epaisseurTole+2]); //decroché2 translate([-15,3.5,zm]) cube([7,2,epaisseurTole+2]); // on enlève 5/10 pour ne pas avoir de frotement sur le montage bras secondaire intersection() { //décrohé biais translate([-5,-1,zm]) cube([7,2,epaisseurTole+2]); translate([0,0,zm]) rotate([0,0,20]) translate([-7,0,0]) cube([8,2,epaisseurTole+2]); } translate([4,-hCorps+4,zm]) cube([4,9,epaisseurTole+2]); // trou boulon translate([6-7/2,-hCorps+7,zm]) cube([7,3.4,epaisseurTole+2]); // emplacement écrou } echo(str("207")); } module laser106() { l = 64; h = 28 ; hauteurTriangle = h/2+1; baseTriangle = hauteurTriangle * 4; color(color100) render(0) difference() { //tole de base cube([l,h,epaisseurCouteau]); //premier emplacement contre couteau intersection() { translate([36,-1,-1]) rotate([0,0,0]) toleTriangulaire(baseTriangle,hauteurTriangle,epaisseurCouteau+2); translate([28,-1,-1]) cube([16,h/2+1,epaisseurCouteau+2]); } //second emplacement contre couteau intersection() { translate([56,h/2+hauteurTriangle,-1]) rotate([0,0,180]) toleTriangulaire(baseTriangle,hauteurTriangle,epaisseurCouteau+2); translate([48,h/2,-1]) cube([17,h/2+1,epaisseurCouteau+2]); } //Trou carré pour le tube translate([4-laserSlack/2,4-laserSlack/2,-1]) cube([20+laserSlack,20+laserSlack,epaisseurCouteau+2]); translate([4+epaisseurTole,4-epaisseurTole-laserSlack,-1]) cube([20-2*epaisseurTole,20+2*epaisseurTole + 2 * laserSlack,epaisseurCouteau+2]); //Trous pour les tôles de centrage translate([36,h/2+4+2,-1]) cylinder(d=drillM4,h=epaisseurCouteau+2, $fn=fnCylindre); translate([56,h/2-4-2,-1]) cylinder(d=drillM4,h=epaisseurCouteau+2, $fn=fnCylindre); translate([36-epaisseurTole/2,h/2+12-laserSlack,-1]) cube([epaisseurTole,2+1,epaisseurCouteau+2]); translate([56-epaisseurTole/2,-1+laserSlack,-1]) cube([epaisseurTole,2+1, epaisseurCouteau+2]); } echo(str("106")); } module laser201() { color(color200) render(0) difference() { translate([-10,0,0]) cube([20,2+epaisseurCouteau+12,epaisseurTole]); translate([-11+laserSlack,epaisseurTole-laserSlack/2,-1]) cube([epaisseurTole+1,epaisseurCouteau+laserSlack,epaisseurTole+2]); translate([10-epaisseurTole-laserSlack,epaisseurTole-laserSlack/2,-1]) cube([epaisseurTole+1,epaisseurCouteau+laserSlack,epaisseurTole+2]); translate([0,2+epaisseurCouteau+6,-1]) cylinder(d=drillM4,h=epaisseurTole+2, $fn=fnCylindre); } echo(str("201")); } module laser103() { l = 54; lt = 30; color(color100) render(0) difference() { translate([-l/2,-14,0]) cube([l,24,epaisseurCouteau]); translate([-lt/2,-11,-1]) cube([lt,15,epaisseurCouteau+2]); translate([-lt/2,-12,-1]) cube([lt,16,epaisseurCouteau+2]); translate([-lt/2+4,-15,-1]) cube([lt-8,4,epaisseurCouteau+2]); translate([-21,0,-1]) cylinder(d=drillM4,h=epaisseurCouteau+2, $fn=fnCylindre);//oblong(4,2,6); translate([21,0,-1]) cylinder(d=drillM4,h=epaisseurCouteau+2, $fn=fnCylindre);//oblong(4,2,6); } translate([0,7,0]) rotate([0,0,180]) toleTriangulaire(7,7,epaisseurCouteau); echo(str("103")); } module laser104() { l = 26; h = 12; color(color100) render(0) difference() { //tole de base translate([-l/2,-10,0]) cube([l,h,epaisseurCouteau]); //Trou carré pour le tube translate([-5,0,-1]) cube([10,3,epaisseurCouteau+2]); //Trous translate([-8,-4,-1]) cylinder(d=drillM4,h=epaisseurCouteau+2, $fn=fnCylindre); translate([8,-4,-1]) cylinder(d=drillM4,h=epaisseurCouteau+2, $fn=fnCylindre); } echo(str("104")); } module laser209() { color(color200) render(0) translate([-3,-13,-epaisseurTole/2]) difference() { cube([28,26,epaisseurTole]); translate([-1,3-laserSlack/2,-1]) cube([4,20+laserSlack,epaisseurTole+2]); intersection() { translate([29,14,-1]) rotate([0,0,-45]) translate([-35,0,0]) cube([40,20,epaisseurTole+2]); translate([0,17,-1]) cube([50,20,epaisseurTole+2]); } translate([11-laserSlack,13,-1]) cube([20,epaisseurTole,epaisseurTole+2]); //#intersection() { translate([24,11,-1]) rotate([0,0,45]) translate([-40,-20,0]) cube([40,20,epaisseurTole+2]); translate([24,13,-1]) rotate([0,0,-20]) translate([0,-20,0]) cube([40,20,epaisseurTole+2]); //translate([0,-1,-1]) cube([50,15,epaisseurTole+2]); translate([24,13,-1]) rotate([0,0,0]) translate([0,-20,0]) cube([40,20,epaisseurTole+2]); //translate([0,-1,-1]) cube([50,15,epaisseurTole+2]); //} } echo(str("209")); } module laser208() { color(color200) translate([0,0,0]) difference() { translate([0,-16,0]) cube([25,32,epaisseurTole]); for (z=[-10,10]) { translate([-1,z-4/2,-1]) cube([8,4,epaisseurTole+2]); // trou boulon translate([2,z-7/2-laserSlack/2,-1]) cube([3.4,7,epaisseurTole+2]); // emplacement écrou } translate([-1+laserSlack,-epaisseurTole/2,-1]) cube([9+laserSlack,epaisseurTole,epaisseurTole+2]); translate([20,5,-1]) rotate([0,0,-45]) translate([-20,0,0]) cube([20,30,epaisseurTole+2]); translate([20,5,-1]) cube([20,12,epaisseurTole+2]); translate([20,-5,-1]) rotate([0,0,45]) translate([-20,-30,0]) cube([20,30,epaisseurTole+2]); translate([20,-5-12,-1]) cube([20,12,epaisseurTole+2]); } echo(str("208")); } module laser107() { l = 32; h = 14; marge = 6; hTrou = 5; lTrou = 4; largeurCouteau = 10; longueurCouteau = offsetCouteau + 2 * marge; hauteurBaseCouteau = lIntCornierCadre - epaisseurTole; color(color100) render(0) difference() { union() { translate ([-l/2,10,0]) cube([l,h,epaisseurCouteau]); translate([0,largeurCouteau,0]) rotate([0,0,180]) toleTriangulaire(largeurCouteau,largeurCouteau,epaisseurCouteau); } translate([-10,10+h/2,-1]) cylinder(epaisseurCouteau+2,d=diametreRivet, $fn=fnCylindre); translate([10,10+h/2,-1]) cylinder(epaisseurCouteau+2,d=diametreRivet, $fn=fnCylindre); //translate([longueurCouteau/2-lTrou/2,hauteurCadre,-1]) cube([lTrou,hTrou,epaisseurTole+2]); translate([-lTrou/2,10,-1]) cube([lTrou,hTrou,epaisseurCouteau+2]); } echo(str("107")); } module laser108() { l = 46; h = 29; marge = 6; hTrou = 5; lTrou = 4; largeurCouteau = 7; longueurCouteau = offsetCouteau + 2 * marge; hauteurBaseCouteau = lIntCornierCadre - epaisseurTole; color(color100) render(0) difference() { translate ([-16,-10,0]) cube([l,h,epaisseurCouteau]); translate ([-17,-11,-1]) cube([27,18,epaisseurCouteau+2]); translate ([20-16/2,-7,-1]) cube([16,14,epaisseurCouteau+2]); translate([-10,13,-1]) cylinder(epaisseurCouteau+2,d=drillM4, $fn=fnCylindre); translate([20,13,-1]) cylinder(epaisseurCouteau+2,d=drillM4, $fn=fnCylindre); //translate([longueurCouteau/2-lTrou/2,hauteurCadre,-1]) cube([lTrou,hTrou,epaisseurTole+2]); translate([-lTrou/2,10,-1]) cube([lTrou,hTrou,epaisseurCouteau+2]); //trouCarre } color(color100) translate([0,largeurCouteau,0]) rotate([0,0,180]) toleTriangulaire(largeurCouteau,largeurCouteau,epaisseurCouteau); color(color100) translate([20,-largeurCouteau,0]) toleTriangulaire(largeurCouteau,largeurCouteau,epaisseurCouteau); echo(str("108")); } module laser105() { l = 26; h = zCouteau - 4 + 5; hauteurTriangle = h/2+1; baseTriangle = hauteurTriangle * 4; hauteurSousCouteau = zCouteau - 4; color(color100) render(0) difference() { difference() { //tole de base translate([-l/2,-hauteurSousCouteau,0]) cube([l,h,epaisseurCouteau]); translate([7,-hauteurSousCouteau + 18,-1]) cube([10,30,epaisseurCouteau+2]); translate([-17,-hauteurSousCouteau + 18,-1]) cube([10,30,epaisseurCouteau+2]); } //premier emplacement contre couteau //intersection() { translate([0,hauteurTriangle,-1]) rotate([0,0,180]) toleTriangulaire(baseTriangle,hauteurTriangle,epaisseurCouteau+2); // translate([-8,0,-1]) cube([16,h/2+1,epaisseurCouteau+2]); //} //Trous pour les tôles de centrage translate([-epaisseurTole/2-laserSlack,-14-laserSlack,-1]) cube([epaisseurTole+2*laserSlack,2+2*laserSlack,epaisseurCouteau+2]); translate([-2,-17,-1]) cube([4,3,epaisseurCouteau+2]); translate([0,-4-2,-1]) cylinder(d=4,h=epaisseurCouteau+2, $fn=fnCylindre); //boulon translate([-8,-hauteurSousCouteau+10,-1]) cylinder(d=drillM4,h=epaisseurCouteau+2, $fn=fnCylindre); translate([8,-hauteurSousCouteau+10,-1]) cylinder(d=drillM4,h=epaisseurCouteau+2, $fn=fnCylindre); } echo(str("105")); } //!laser105(); module oblong(d,lLiberte,h) { color(color100) hull() { translate([-lLiberte/2,0,0]) cylinder(h,d=d, $fn=fnCylindre); translate([lLiberte/2,0,0]) cylinder(h,d=d, $fn=fnCylindre); } echo(str("oblong", d, h)); } //!toleCentrageCouteau3(); module drill205(h) { translate([35,10,-1]) cylinder(d=diametreRivet,h=h, $fn=fnCylindre); translate([65,10,-1]) cylinder(d=diametreRivet,h=h, $fn=fnCylindre); translate([95,10,-1]) cylinder(d=diametreRivet,h=h, $fn=fnCylindre); } module laser205() { l = 105; h = 28; hauteurTriangle = h/2+1; baseTriangle = hauteurTriangle * 4; color(color200) render(0) difference() { //tole de base linear_extrude(epaisseurTole) difference() { hull() { translate([0,-4]) square([28,28]); translate([95,10]) circle(r=8); } translate([4-laserSlack,0-laserSlack]) square([20+2*laserSlack,20+2*laserSlack]); //for (x=[4.4,23.6],y=[0.4,19.6]) // translate([x,y]) circle(r=0.8, $fn=20); } drill205(epaisseurTole+2); } echo(str("205")); } module laser202() { color(color200) render(0) difference() { cube([20,20,epaisseurTole]); translate([10,10,-1]) cylinder(d=diametreRivet,h=epaisseurTole+2, $fn=fnCylindre); } echo(str("202")); } module laser210() { wHole = sqrt(pow(19/2,2)-pow(7,2)) * 2; w = 46; l = 59; color(color200) render(0) linear_extrude(height=epaisseurTole) { difference() { translate([0,-w/2]) square([l,w]); translate([2,-wHole/2]) square([55,wHole]); for (x=[4.5,54.5],y=[-12,12]) translate([x,y]) circle(d=drillM4,$fn=fnCylindre); //for (x=[13,43],y=[-16,-12,10,14]) for (x=[11,41],y=[-12.5,10]) translate([x,y]) square([5,2.5]); translate([l/2,12]) circle(d=3,$fn=fnCylindre); } } echo(str("210")); } module laser213() { w = 46; l = 33; wHole = sqrt(pow(19/2,2)-pow(7,2)) * 2; color(color200) render(0) linear_extrude(height=epaisseurTole) { difference() { translate([-l/2,-w/2]) square([l,w]); translate([-l/2+2,-wHole/2]) square([29,wHole]); for (x=[-l/2+4.5,-l/2+28.5],y=[-12,12]) translate([x,y]) circle(d=drillM4,$fn=fnCylindre); //for (x=[13,43],y=[-16,-12,10,14]) //for (x=[-l/2+8,-l/2+20],y=[-12.5,10]) for (x=[-6-2.5,6-2.5],y=[-12.5,10]) translate([x,y]) square([5,2.5]); translate([0,12]) circle(d=3.1,$fn=fnCylindre); } } echo(str("213")); } module laser211() { color(color200) render(0) linear_extrude(height=epaisseurTole) { difference() { translate([-4.5,-2.5]) square([9,11]); for (x=[-3.5:2:3.5]) translate([x,2.5]) square([1,7]); translate([0,0]) circle(d=3.1,$fn=fnCylindre); } } echo(str("211")); } module laser212() { color(color200) render(0) linear_extrude(height=epaisseurTole) { difference() { translate([-4.5,-2.5]) square([9,11]); translate([0,0]) circle(d=3.1,$fn=fnCylindre); } } echo(str("212")); } //projection() laser203(); module laser203() { hBase = 24.8; color(color200) render(0) difference() { union() { translate([-14,0]) cube([36,hBase, epaisseurTole]) ; translate([9.5-sqrt(1.25),hBase-1,0]) cube([sqrt(1.25)*2,7.2,epaisseurTole]); //ergot centrage translate([15,0,0]) cube([7,70,2]); translate([-4,66,0]) cube([26,4,2]); } translate([-9.5-(3+jeuPourImpression)/2,hBase-8,-1]) cube([3+jeuPourImpression,10,epaisseurTole+2]); // trou boulon translate([-9.5-(5.6+jeuPourImpression)/2,hBase-5,-1]) cube([5.5+jeuPourImpression,2.6+jeuPourImpression,epaisseurTole+2]); // emplacement écrou //fixation holes translate([-6.5,9,-1]) cylinder(d=drillM4,h=epaisseurTole+2, $fn=fnCylindre); translate([15.5,9,-1]) cylinder(d=drillM4,h=epaisseurTole+2, $fn=fnCylindre); } if (pourImpression3D == 1) { translate([-13.5,hBase-9,0]) cube([30,18,0.2]); } echo(str("203")); } module laser252() { linear_extrude(height=1/*epaisseurTole*/) { difference() { union() { translate([0,-10-3]) square([12,28+3]); translate([-2,4-sqrt(4)-jeuPourImpression/2]) square([2,sqrt(4)*2-jeuPourImpression]); //translate([-3,-13]) square([5,13]); } translate([0,12-(4+jeuPourImpression)/2]) square([9,4+jeuPourImpression]); // trou boulon translate([2.5,12-(7+jeuPourImpression)/2]) square([3.4+jeuPourImpression,7+jeuPourImpression]); // emplacement écrou translate([2,-10-(jeuPourImpression/2)]) square([8+jeuPourImpression,4+jeuPourImpression]); // fenetre passante } } if (pourImpression3D == 1) { translate([-5,4,0]) cube([6.5,14,0.2]); } echo(str("252")); } module laser215() { linear_extrude(height=epaisseurTole) { difference() { square([60,100]); translate([60,20]) rotate(atan(40/80)) translate([0,0]) square([100,200]); translate([10,10]) circle(d=drillM4,$fn=fnCylindre); translate([50,10]) circle(d=drillM4,$fn=fnCylindre); translate([10,30]) circle(d=drillM4,$fn=fnCylindre); translate([10,90]) circle(d=drillM4,$fn=fnCylindre); } } echo(str("215")); } module laser216() { linear_extrude(height=2) { rotate(-30) union() { difference() { union() { circle(d=36,$fn=100); translate([-11,-17.5-2]) square([22,10]); } circle(d=28.5,$fn=36); translate([-8.75,-17.5]) square([17.5,10]); } } translate([sin(30)*8-5,15]) square([10,6.7]); translate([sin(30)*8-1.3,24-4.2]) square([2.6,5]); } echo(str("216")); } module laser251() { difference() { linear_extrude(height=1) { difference() { circle(d=27,$fn=fnCylindre); intersection() { circle(d=5.1,$fn=fnCylindre); translate([-3,-1.525]) square([6,3.05]); } translate([-1,6]) square([2,6]); } } //translate([0,0,0.2]) cylinder(d=13,h=2,$fn=100); } echo(str("251")); } module laser281() { linear_extrude(height=6) difference() { translate([-117/2,-45/2]) square([117,45]); for (x=[-12,12],y=[-12,12]) { translate([x,y]) circle(d=4, $fn=fnCylindre); } } echo(str("281")); } module profile301() { zTrou = epaisseurTole+eCorniereCadre+(lCorniereCadre-epaisseurTole-eCorniereCadre)/2; color(color300) render(0) difference() { cornierePercee(longueur); for (x1=[xCouteauInferieur,xCouteauSuperieur],x2=[0,1]) { translate([longueur*x2+(1-2*x2)*x1,eCorniereCadre+1,zTrou]) rotate([90,0,0]) cylinder(eCorniereCadre+2,d=diametreRivet, $fn=fnCylindre); } } echo(str("301")); } module profile302() { color(color300) render(0) difference() { cornierePercee(largeur); for (x=[yMediane-ySupportFromMediane,yMediane+ySupportFromMediane]) { translate([x,10,-1]) cylinder(eCorniereCadre+2,d=drillM4, $fn=fnCylindre); } } echo(str("302")); } module profile303() { color(color300) render(0) difference() { corniere(20,l303304,2); for (x=[8,longueur-2*eCorniereCadre-8]) translate([x,10,-1]) cylinder(eCorniereCadre+2,d=diametreRivet, $fn=fnCylindre); for (x=[xBrasSecondaire2-8-2,xBrasSecondaire2+8-2]) translate([x,-1,12]) rotate([-90,0,0]) cylinder(eCorniereCadre+2,d=diametreRivet, $fn=fnCylindre); translate([xObturateur-15.5-2,-1,11]) rotate([-90,0,0]) cylinder(eCorniereCadre+2,d=diametreRivet, $fn=fnCylindre); translate([xObturateur+6.5-2,-1,11]) rotate([-90,0,0]) cylinder(eCorniereCadre+2,d=diametreRivet, $fn=fnCylindre); for (x=[x308-10,x309+10]) translate([x-2,10,-1]) cylinder(eCorniereCadre+2,d=drillM4, $fn=fnCylindre); } echo(str("303")); } module profile308() { //echo(l308309); difference() { corniere(20,l308309,2); translate([8,10,-1]) cylinder(eCorniereCadre+2,d=diametreRivet, $fn=fnCylindre); } echo(str("308")); } module profile309() { //echo(l308309); difference() { corniere(20,l308309,2); translate([l308309-8,10,-1]) cylinder(eCorniereCadre+2,d=diametreRivet, $fn=fnCylindre); } echo(str("309")); } module profile304() { color(color300) render(0) difference() { corniere(20,l303304,2); for (x=[8,longueur-2*eCorniereCadre-8]) translate([x,10,-1]) cylinder(eCorniereCadre+2,d=diametreRivet, $fn=fnCylindre); for (x=[longueur-(xBrasSecondaire2-8)-2,longueur-(xBrasSecondaire2+8)-2]) translate([x,-1,12]) rotate([-90,0,0]) cylinder(eCorniereCadre+2,d=diametreRivet, $fn=fnCylindre); } echo(str("304")); } module profile305() { render(0) difference() { translate([0,0,30]) rotate([-90,0,0]) corniere(30,lBrasSecondaire,2); for (x=[7,lBrasSecondaire-30]) translate([x,largeurBras/2-16,27]) cylinder(d=5, h=4, $fn=fnCylindre); //fixation couteauIII translate([lBrasSecondaire-xCouteauIII-10,-1,zCouteauBrasSecondaire+13]) rotate([-90,0,0]) cylinder(d=4, h=4, $fn=fnCylindre); translate([lBrasSecondaire-xCouteauIII+20,-1,zCouteauBrasSecondaire+13]) rotate([-90,0,0]) cylinder(d=4, h=4, $fn=fnCylindre); //fixation roulement 625zz //translate([lBrasSecondaire-xMotor,3,zMotor]) rotate([90,0,0]) 625zz(); translate([lBrasSecondaire-xMotor,-1,zMotor+8+1.5]) rotate([-90,0,0]) cylinder(d=3, h=4, $fn=fnCylindre); translate([lBrasSecondaire-xMotor-sqrt(pow(9.5,2)-pow((zMotor-3.5),2)),-1,3.5]) rotate([-90,0,0]) cylinder(d=3, h=4, $fn=fnCylindre); translate([lBrasSecondaire-xMotor+sqrt(pow(9.5,2)-pow((zMotor-3.5),2)),-1,3.5]) rotate([-90,0,0]) cylinder(d=3, h=4, $fn=fnCylindre); } echo(str("305")); } //profile306(); module profile306() { render(0) difference() { translate([0,0,30]) rotate([-90,0,0]) corniere(30,lBrasSecondaire,2); for (x=[30,lBrasSecondaire-7]) translate([x,largeurBras/2-16,27]) cylinder(d=5, h=4, $fn=fnCylindre); //fixation moteur /*translate ([xMotor,-1,zMotor]) rotate([0,-150,0]) { translate([0,0,0]) rotate([-90,0,0]) cylinder(d=9.5, h=4); translate([-35/2,0,-8]) rotate([-90,0,0]) cylinder(d=4, h=4, $fn=fnCylindre); translate([35/2,0,-8]) rotate([-90,0,0]) cylinder(d=4, h=4, $fn=fnCylindre); }*/ translate([xMotor,0,zMotor]) rotate([-90,0,0]) cylinder(d=9.5, h=4); translate([xMotor+fixMoteur1X,0,zMotor+fixMoteur1Y]) rotate([-90,0,0]) cylinder(d=4, h=4, $fn=fnCylindre); translate([xMotor-fixMoteur2X,0,zMotor+fixMoteur2Y]) rotate([-90,0,0]) cylinder(d=4, h=4, $fn=fnCylindre); //poulie libre translate([xPulley,-1,zMotor]) rotate([-90,0,0]) cylinder(d=3, h=4, $fn=fnCylindre); //fixation couteauIII translate([xCouteauIII-20,-1,zCouteauBrasSecondaire+13]) rotate([-90,0,0]) cylinder(d=4, h=4, $fn=fnCylindre); translate([xCouteauIII+10,-1,zCouteauBrasSecondaire+13]) rotate([-90,0,0]) cylinder(d=4, h=4, $fn=fnCylindre); //fixation obturateur //for (z=[4,12]) for (z=[9,17]) translate([longueur-xBrasSecondaire-xObturateur,-1,z]) rotate([-90,0,0]) cylinder(d=4, h=4, $fn=fnCylindre); //echo(lBrasSecondaire); //echo(longueur-xBrasSecondaire-xObturateur); } echo(str("306")); } module tube311() { xTrouFixation = epaisseurTole+epaisseurCouteau+6; color(color310) render(0) difference() { tubeCarre(20, largeur, 2); translate([xTrouFixation,10,-1]) cylinder(d=diametreRivet, h=22, $fn=fnCylindre); translate([largeur-xTrouFixation,10,-1]) cylinder(d=diametreRivet, h=22, $fn=fnCylindre); translate([y312,10,-1]) cylinder(d=diametreRivet, h=22, $fn=fnCylindre); translate([y312-40,10,-1]) cylinder(d=diametreRivet, h=22, $fn=fnCylindre); translate([largeur-y312,10,-1]) cylinder(d=diametreRivet, h=22, $fn=fnCylindre); translate([largeur-(y312-40),10,-1]) cylinder(d=diametreRivet, h=22, $fn=fnCylindre); } echo(str("311")); } //tube313(); //translate([2+y312+10,2+20,20-2]) rotate([0,0,180]) laser206(); module tube312() { color(color310) render(0) difference() { tubeCarre(20, 251, 2); //translate([-24,20,0]) rotate([90,0,0]) drill205(22); translate([longueur/2-26-21,-1,10]) rotate([-90,0,0]) cylinder(d=diametreRivet,h=22, $fn=fnCylindre); translate([longueur/2-26+21,-1,10]) rotate([-90,0,0]) cylinder(d=diametreRivet,h=22, $fn=fnCylindre); translate([10,10,-1]) cylinder(d=diametreRivet, h=22, $fn=fnCylindre); translate([70,10,-1]) cylinder(d=diametreRivet, h=22, $fn=fnCylindre); } echo(str("312")); } module tube313() { xTrouFixation = epaisseurTole+epaisseurCouteau+6; color(color310) render(0) difference() { tubeCarre(20, largeur, 2); translate([xTrouFixation,10,-1]) cylinder(d=diametreRivet, h=22, $fn=fnCylindre); translate([largeur-xTrouFixation,10,-1]) cylinder(d=diametreRivet, h=22, $fn=fnCylindre); translate([y314,10,-1]) cylinder(d=diametreRivet, h=22, $fn=fnCylindre); translate([y314-40,10,-1]) cylinder(d=diametreRivet, h=22, $fn=fnCylindre); translate([largeur-y314,10,-1]) cylinder(d=diametreRivet, h=22, $fn=fnCylindre); translate([largeur-(y314-40),10,-1]) cylinder(d=diametreRivet, h=22, $fn=fnCylindre); } echo(str("313")); } module tube314() { color(color310) render(0) difference() { tubeCarre(20, l314, 2); //translate([-24,20,0]) rotate([90,0,0]) drill205(22); translate([longueur/2-26-8,-1,6]) rotate([-90,0,0]) cylinder(d=diametreRivet,h=22, $fn=fnCylindre); translate([longueur/2-26+8,-1,6]) rotate([-90,0,0]) cylinder(d=diametreRivet,h=22, $fn=fnCylindre); translate([xAppuiLong-26-10,-1,11]) rotate([-90,0,0]) cylinder(d=drillM4,h=22, $fn=fnCylindre); translate([xAppuiLong-26+10,-1,11]) rotate([-90,0,0]) cylinder(d=drillM4,h=22, $fn=fnCylindre); translate([10,10,-1]) cylinder(d=diametreRivet, h=22, $fn=fnCylindre); translate([70,10,-1]) cylinder(d=diametreRivet, h=22, $fn=fnCylindre); } echo(str("314")); } /*module contrePoids315() { difference() { translate([-51,-20,0]) cube([102,40,8]); for (x=[-12,12],y=[-12,12]) { translate([x,y,-1]) cylinder(d=4,h=10, $fn=10); } } }*/ module arbre321() { rotate([-90,0,0]) cylinder(d=5,h=48,$fn=fnCylindre); } //translate([0,0,10]) laser213(); //contrePoids315(); //profile303(); //projection() laser251(); module printed601() { difference() { union() { translate([0,0,2]) cylinder(d=11.5,h=3,$fn=128); cylinder(d=16,h=2,$fn=128); } translate([0,0,-1]) cylinder(d=6.2,h=7,$fn=128); translate([-20,-1,-1]) cube([20,2,7]); } echo(str("601")); } //printed602(); //pulley(); module printed602() { dInt = 13 + 0.5; linear_extrude(height=1) { difference() { circle(d=27,$fn=fnCylindre); translate([-1,-12]) square([2,4.5]); circle(d=dInt,$fn=fnCylindre); } } difference() { //union() { difference() { translate([0,0,0]) cylinder(d=dInt+1,h=6-0.5,$fn=fnCylindre); translate([0,0,-1]) cylinder(d=dInt,h=8,$fn=fnCylindre); } //translate([6.3,0,3-0.5]) rotate([0,90,0]) cylinder(d=3.4,h=0.5,$fn=12); //translate([0,6.3,3-0.5]) rotate([-90,0,0]) cylinder(d=3.4,h=0.5,$fn=12); //} translate([0,0,3-0.5]) rotate([-90,0,0]) cylinder(d=3,h=10,$fn=12); translate([0,0,3-0.5]) rotate([0,90,0]) cylinder(d=3,h=10,$fn=12); } echo(str("602")); } module protection701() { difference() { translate([0,-55,-10]) cube([longueur-4,110,10]); translate([-1,-54.4,-11]) cube([longueur,110-2*0.6,10.6]); for (x=[8,longueur-4-8],y=[-ySupportFromMediane,ySupportFromMediane]) translate([x,y,-1]) cylinder(d=drillM4,h=3); } } //////Jhodi's stuffs//// // Fonction pour dessiner la projection avec translation module projected_pieces() { translate([0, 0, 0]) projection() laser101(); translate([0, 100, 0]) projection() laser102(); translate([0, 200, 0]) projection() laser103(); translate([0, 300, 0]) projection() laser104(); translate([0, 400, 0]) projection() laser105(); translate([0, 500, 0]) projection() laser106(); translate([0, 600, 0]) projection() laser107(); translate([0, 700, 0]) projection() laser108(); translate([100, 0, 0]) projection() laser201(); translate([100, 100, 0]) projection() laser202(); translate([100, 200, 0]) projection() laser203(); translate([100, 400, 0]) projection() laser205(); translate([100, 500, 0]) projection() laser206(); translate([100, 650, 0]) projection() laser207(); translate([100, 750, 0]) projection() laser208(); translate([250, 0, 0]) projection() laser209(); translate([250, 100, 0]) projection() laser211(); translate([250, 200, 0]) projection() laser212(); translate([250, 300, 0]) projection() laser213(); translate([250, 400, 0]) projection() laser215(); translate([250, 550, 0]) projection() laser216(); translate([250, 650, 0]) projection() laser252(); translate([250, 750, 0]) projection() laser281(); } //projected_pieces();