//// allviews vissecentre vissecote //// allviews rouecentre // Roue dentelée pour le moteur //// allviews ajustcentre // Ajustement de position pour rouecentre // allviews support-poignee support-poignee-roue support-poignee-top // roulement pour la poignée // allviews extension // Remplace la poignée par une perceuse // viewopts extension brim10mm // testviews test-extension // allviews poignee // Poignée sur la manivelle // viewopts poignee brim10mm // allviews coulisse // lien coulissant manivelle-engrenage // viewopts coulisse brim10mm support // allviews support-coulisse // testviews test-poignee test-support-poignee test-coulisse // viewopts ajustcentre support // allviews distribue // Distribue le mouvement aux pattes // allviews distribue2 distribue-socle // testviews asm-distribue //// testviews asm-centre // ajustcentre + rouecentre // allviews rouecote // Roue dentelée de chaque coté // viewopts rouecote h2 // allviews rouecote2 // Seconde roue sur le coté // viewopts rouecote2 h2 support brim15mm // allviews connect // Connecte rouecote2 à une tige // viewopts connect brim10mm // testviews test-connect // tolérances pour connect // allviews glissiere glissiere-longue // Stabilise la petite patte // viewopts glissiere-longue brim10mm // allviews tete // Encastre dans le tube 1.5 pouces // allviews tetetop // Tenir les composantes // viewopts tete support // testviews axehorizontal patte assemblage // testviews worm-asm // Assemblage vis sans fin // testviews testtete testtete2 // testviews roue-asm // Assemblage roue dentelée // viewopts vissecentre h1 // viewopts vissecote h1 // testviews testrouepin testrouepin:x2,w30 include use len_vissecentre=10; len_vissecote=20; radius_rouecentre=20; radius_rouecote=20; len_rouecentre=20; len_rouecote=20; radius_vissecentre=10; radius_vissecote=10; thick_roue=5; width_patte1=25; thick_patte1=2; len_patte1=700; width_patte2=15; thick_patte2=2; len_patte2=350+100; len_visse=30; len_axe=1600; pos_poignee=150; depth_table=1000; move=$t*350; module vissecentre(){ rotate([0,0,-$t*3600]) thread_for_screw(diameter=radius_vissecentre*2 ,length=len_vissecentre); } module vissecote(){ rotate([0,0,-$t*360]) thread_for_screw(diameter=radius_vissecote*2 ,length=len_vissecote); } hbelt=7; hroue=hbelt+1+1; module tooths(r1,nbtooth,ray){ ray_2=ray*2; translate([0,0,1]){ for (k=[0:nbtooth]){ rotate([0,0,k*360/nbtooth]){ translate([r1,0,hbelt/2]) cube([ray_2,ray_2,hbelt] ,center=true); translate([r1+ray,0,0]) cylinder(r=ray,h=hbelt,$fn=80); } } } } module rouebelt(radius,holderr,holer){ PI=3.14159265358979323846; // La courroie a une dent à tous les step mm. step=1.6; circ=2*PI*radius; nbtooth=round(circ/step); // On calcul le rayon qui permet de placer un nombre entier de dents newcirc=nbtooth*step; r1=newcirc/(2*PI); difference(){ union(){ cylinder (r=r1+2,h=1,$fn=80); translate([0,0,1]) cylinder (r=r1,h=hbelt,$fn=80); translate([0,0,1+hbelt]) cylinder (r=r1+2,h=1,$fn=80); if (holderr != 0){ translate([0,0,hroue]){ cylinder(r=holderr,h=3,$fn=40); } } } if (holer != 0) translate([0,0,-1]) cylinder(r=holer,h=20,$fn=40); } vray=step/4; if (vray < 1.7/4){ tooths(r1,nbtooth,1.7/4); }else{ tooths(r1,nbtooth,step/4); } } module tooths_pin(r1,thick,nbtooth,ray){ ray_2=ray*2; intersection(){ cylinder(r=r1,h=thick,$fn=80); path=[[0,0],[ray_2,0],[ray+ray/2,ray_2],[ray/2,ray_2],[0,0]]; for (k=[0:nbtooth]){ rotate([0,0,k*360/nbtooth]){ translate([r1,0,0]) rotate([0,-48,0]) linear_extrude(height=8,scale=0.7){ rotate([0,0,270]) polygon(points=path); } //cylinder(r=ray,h=6,$fn=80); } } } } module rouepin(radius,thick){ PI=3.14159265358979323846; // La courroie a une dent à tous les step mm. step=5; circ=2*PI*radius; nbtooth=round(circ/step); // On calcul le rayon qui permet de placer un nombre entier de dents newcirc=nbtooth*step; r1=newcirc/(2*PI); cylinder (r1=r1,r2=r1-thick,h=thick,$fn=80); tooths_pin(r1,thick,nbtooth,step/4); } module roundrect(width,ray,height){ difference(){ cube([width,width,height]); union(){ translate([-1,-1,-1]) cube([ray+1,ray+1,height+2]); translate([width-ray,width-ray,-1]) cube([ray+1,ray+1,height+2]); translate([width-ray,-1,-1]) cube([ray+1,ray+1,height+2]); translate([-1,width-ray,-1]) cube([ray+1,ray+1,height+2]); } } translate([ray,ray,0]) cylinder(r=ray,h=height,$fn=80); translate([width-ray,width-ray,0]) cylinder(r=ray,h=height,$fn=80); translate([width-ray,ray,0]) cylinder(r=ray,h=height,$fn=80); translate([ray,width-ray,0]) cylinder(r=ray,h=height,$fn=80); } module glissiere(longue){ width1=31; width2=25.8+0.2+0.2; height1=20; height2=100; diff=(width1-width2)/2; difference(){ ray1=2; ray2=4; height=longue ? height2 : height1; roundrect(width1,ray1,height); translate([diff,diff,-1]) roundrect(width2,ray2,height+2); } if (!longue){ translate([diff,diff,0]) intersection(){ translate([0,0,height1/2]) union(){ ray3=1; translate([width2/2,0,0]) sphere(r=ray3,$fn=80); translate([width2/2,width2,0]) sphere(r=ray3,$fn=80); } cube([width2,width2,height1]); } } } rscrew=12/2; wtete1=1.5*25+10-2+2; ltete1=1.5*25+12; htete1=3; htete2=8; wteteextra=15; tetescrew=4; tetech=thick_roue+0.5; wholdwidth=8; module wormholder (hole){ w=wholdwidth; for (x=[0,wtete1-w]){ translate([x,ltete1+wteteextra-10-2,-tetech]){ if (hole){ translate([-1,5,0]) rotate([0,90,0]) cylinder(r=4.5,h=12,$fn=40); translate([w/2,tetescrew/2+10,-1]) cylinder(r=1.8,h=20,$fn=40); }else{ translate([0,-2,0]) cube([w,10+tetescrew+2+2,tetech]); } } } } wtetebefore=10; module tetebefore(hole){ if (hole){ holer=2+0.2; translate([5,-wtetebefore+3,-tetech-1]) cylinder(r=holer,h=20,$fn=40); translate([wtete1-10+5,-wtetebefore+3,-tetech-1]) cylinder(r=holer,h=20,$fn=40); }else{ translate([0,-wtetebefore,-tetech]) cube([10,6,tetech]); translate([wtete1-10,-wtetebefore,-tetech]) cube([10,6,tetech]); } } module old_tete(){ wtete2=30; h1=htete1; h2=htete2; difference(){ union(){ difference(){ union(){ translate([0,-wtetebefore,0]) cube([wtete1,wtetebefore +ltete1+wteteextra+tetescrew,h1]); tetebefore(false); wormholder(false); } union(){ translate([wholdwidth,ltete1-2,-1]) cube([wtete1-2*wholdwidth ,wteteextra+tetescrew+4,h1+2]); tetebefore(true); wormholder(true); } } dw=(wtete1-wtete2)/2; dl=(ltete1-wtete2)/2; translate([dw,dl,h1]){ intersection(){ cube([wtete2,wtete2,h2]); translate([wtete2/2,wtete2/2,0]) cylinder(r=wtete2/2+5,h=h2,$fn=80); } } } union(){ // Receptacle pour le roue dentelée translate([wtete1/2,ltete1/2,-1]) cylinder(r=14+0.5,h=3.1,$fn=40); // Encoche pour que la vis puisse s'insérer translate([wtete1/2,ltete1/2,-1]) cylinder(r=rscrew,h=2+h1+h2,$fn=40); w1=wtete1/2-rscrew; translate([w1,-11,-1]) cube([rscrew*2,ltete1/2+1+10,10]); } } } htop=4; module old_tetetop(){ difference(){ union(){ translate([0,-wtetebefore,0]) cube([wtete1 ,wtetebefore+ltete1+wteteextra+tetescrew,htop]); tetebefore(false); wormholder(false); } union(){ translate([wholdwidth,ltete1-2,-1]) cube([wtete1-2*wholdwidth ,wteteextra+tetescrew+4,htop+2]); tetebefore(true); wormholder(true); // Trou pour laisser passer la tige translate([wtete1/2,ltete1/2,-1]) cylinder(r=12,h=htop+2,$fn=40); } } } module old_roue(){ difference(){ union(){ cylinder(r=45/2,h=6,$fn=40); translate([0,0,6]){ cylinder(r=14,h=3,$fn=40); } } translate([0,0,-1]) cylinder(r=10,h=20,$fn=40); } } // Ébauche de la vis réalisée dans un autre projet module vis(){ cylinder(r=4,h=8,$fn=40); translate([0,0,8]) cylinder(r=19/2,h=25,$fn=40); translate([0,0,8+25]) cylinder(r=4,h=15,$fn=40); } supportw=15; supportt=5; supporth=20; module tete(){ wtete2=32; h1=htete1; h2=htete2; difference(){ union(){ difference(){ union(){ translate([0,-wtetebefore,0]) cube([wtete1 ,ltete1+2*wtetebefore,h1]); } union(){ tetebefore(true); translate([0,ltete1+wtetebefore+4,0]) tetebefore(true); } } dw=(wtete1-wtete2)/2; dl=(ltete1-wtete2)/2; translate([dw,dl,h1]){ intersection(){ cube([wtete2,wtete2,h2]); translate([wtete2/2,wtete2/2,0]) cylinder(r=wtete2/2+5,h=h2,$fn=80); } } // Support pour seconde roue dentelée difference(){ extrat=2; translate([wtete1-supportt+1,ltete1/2-supportw/2,0]) cube([supportt+extrat,supportw,supporth]); translate([wtete1-supportt-1,ltete1/2,supporth/2+1]) rotate([0,90,0]) cylinder(r=4,h=supportt+extrat+2,$fn=80); } } union(){ // Receptacle pour le roue dentelée translate([wtete1/2,ltete1/2,-1]) cylinder(r=14+0.5,h=8,$fn=40); // Encoche pour que la vis puisse s'insérer hcoche=2+h1+h2; translate([wtete1/2,ltete1/2,-1]) cylinder(r=rscrew,h=hcoche,$fn=40); w1=wtete1/2-rscrew; translate([w1,-11,-1]) cube([rscrew*2,ltete1/2+1+10,hcoche]); } } } module tetetop(){ len=thick_roue+4.5+supportt; difference(){ union(){ translate([0,-wtetebefore,0]) cube([wtete1 ,2*wtetebefore+ltete1,htop]); tetebefore(false); translate([0,ltete1+wtetebefore+4,0]) tetebefore(false); // Support pour seconde roue dentelée translate([-len,ltete1/2-supportw/2,0]) cube([len,supportw,htop]); translate([-len,ltete1/2-supportw/2,-supporth-tetech]) cube([supportt,supportw,supporth+tetech]); } union(){ tetebefore(true); translate([0,ltete1+wtetebefore+4,0]) tetebefore(true); // Trou pour laisser passer la tige translate([wtete1/2,ltete1/2,-1]) cylinder(r=12,h=htop+2,$fn=40); // Trou pour seconde roue dentelée translate([-len-1,ltete1/2-4,-supporth-tetech-1]) cube([supportt+2,4*2,supporth/2+1]); translate([-len-1,ltete1/2,-supporth/2-tetech]) rotate([0,90,0]) cylinder(r=4,h=supportt+2,$fn=80); } } } // Tiens la vis sans fin module globohold(){ w1=1.5*25; l1=w1+10; thick1=12+4; thick2=thick1-4; difference(){ cube([w1,thick1,l1]); union(){ translate([2,2,2]) cube([w1,thick2,l1]); translate([w1/2,-1,l1-w1/2]) rotate([-90,0,0]) cylinder(r=rscrew,h=thick1+2,$fn=40); } } } module patte(){ off1=width_patte1/2; translate([-off1,-off1,move]) difference(){ cube([width_patte1,width_patte1,len_patte1],center=false); w1=width_patte1-2*thick_patte1; translate([thick_patte1,thick_patte1,-1]) cube([w1,w1,len_patte1+2],center=false); } off2=width_patte2/2; translate([-off2,-off2,0]) difference(){ cube([width_patte2,width_patte2,len_patte2]); w2=width_patte2-2*thick_patte2; translate([thick_patte2,thick_patte2,-1]) cube([w2,w2,len_patte2+2]); } translate([0,0,move]) cylinder(r=4,h=len_patte1+10); translate([0,0,move+len_patte1+2]) rouecote(); translate([-depth_table/2,0,0]) cube([depth_table,width_patte2,width_patte2]); } module old_poignee(){ rotate([0,90,0]) translate([0,0,-25]) cylinder(r=5,h=425); translate([400,0,0]) rotate([90-$t*3600,0,0]) cylinder(r=5,h=80); translate([-len_vissecentre,0,0]) rotate([0,90,0]) vissecentre(); } module poignee(){ difference(){ height=60; ray=10; union(){ translate([0,0,height-ray]) sphere(r=ray); cylinder(r=ray,h=height-ray,$fn=80); } union(){ translate([0,0,-1]){ cylinder(r=2,h=height+2,$fn=40); } translate([0,0,5]){ cylinder(r=4,h=height,$fn=40); } } } } support_poignee_ray=14; support_poignee_thick=8; module old_support_poignee(){ thick=6; ray=support_poignee_ray; difference(){ union(){ difference(){ cylinder(r=ray,h=thick,$fn=80); union(){ translate([0,0,1]) cylinder(r=ray-2,h=thick-2,$fn=80); translate([0,0,-1]) cylinder(r=ray-3,h=thick+2,$fn=80); } } translate([0,0,2]) cylinder(r=ray-3,h=thick-4,$fn=80); } w=14; w2=w/2; translate([-w2,-w2,-1]) cube([w,w,thick+2]); } difference(){ translate([-ray,0,0]) cube([ray*2,20,thick]); translate([0,0,-1]) cylinder(r=ray,h=thick+2,$fn=80); } } module support_poignee_roue(){ difference(){ cylinder(r=support_poignee_ray-2.5 ,h=support_poignee_thick-4,$fn=80); w=14; w2=w/2; translate([-w2,-w2,-1]) cube([w,w,support_poignee_thick+2]); } } support_poignee_basel=20+4; module support_poignee(){ thick=support_poignee_thick; ray=support_poignee_ray; difference(){ cylinder(r=ray,h=thick,$fn=80); translate([0,0,1]) cylinder(r=ray-2,h=thick,$fn=80); translate([0,0,-1]) cylinder(r=ray-4,h=thick+2,$fn=80); } basel=support_poignee_basel; difference(){ translate([-ray,0,0]) cube([ray*2,basel,thick]); translate([0,0,-1]) cylinder(r=ray,h=thick+2,$fn=80); translate([0,ray+2,-1]) cylinder(r=2,h=thick+2,$fn=80); } difference(){ tabl=8; len=ray*2+tabl*2; thick2=thick+2; translate([-len/2,basel,0]) cube([len,3,thick2]); translate([-ray-tabl/2,basel-1,thick2/2]) rotate([-90,0,0]) cylinder(r=2,h=5,$fn=40); translate([ray+tabl/2,basel-1,thick2/2]) rotate([-90,0,0]) cylinder(r=2,h=5,$fn=40); } } module support_poignee_top(){ thick=2; ray=support_poignee_ray; difference(){ union(){ cylinder(r=ray,h=thick,$fn=80); translate([0,0,thick]) cylinder(r=ray-2.2,h=2,$fn=80); } translate([0,0,-1]) cylinder(r=ray-4,h=thick+4,$fn=80); } difference(){ translate([-ray,0,0]) cube([ray*2,support_poignee_basel,thick]); translate([0,0,-1]) cylinder(r=ray,h=thick+2,$fn=80); translate([0,ray+2,-1]) cylinder(r=2,h=thick+2,$fn=80); } } module axehorizontal(){ rotate([90,0,0]){ cylinder(r=5,h=len_axe); translate([0,0,5]) vissecote(); translate([0,0,pos_poignee]) rouecentre(); translate([0,0,len_axe-25]) vissecote(); } } module rouecote(){ difference(){ union(){ rouepin(27+4,thick_roue); translate([0,0,thick_roue]) cylinder(r=14,h=3+3,$fn=80); } dianut=21-0.5+0.2; translate([0,0,-1]) cylinder(r=dianut/2,h=20,$fn=6); } } rouecote2_zoff=28; // Pour aider l'impression module rouecote2(){ rotate([0,0,4]) rouepin(15,thick_roue); translate([0,0,-28]){ cylinder(r=3.8,h=40,$fn=80); translate([-4,-4,0]) cube([8,8,20]); } } connect_rcube=4.2; connect_height1=15; module connect(){ rcube=connect_rcube; rtige=11.3/2+0.2; len=45; height1=connect_height1; difference(){ cylinder(r=rtige+2,h=len,$fn=80); union(){ // rainure permettant le glissement rayvis=1.5; offrainure=5; translate([3,-rayvis,height1+3]) cube([10,rayvis*2,len-height1-3-offrainure]); translate([3,0,height1+3]) rotate([0,90,0]) cylinder(r=rayvis,h=8,$fn=40); translate([3,0,len-offrainure]) rotate([0,90,0]) cylinder(r=rayvis,h=8,$fn=40); // Trou pour insérer la tige translate([0,0,height1-1]) cylinder(r=rtige,h=len,$fn=80); // Trou carré pour insérer rou2cote2 translate([-rcube,-rcube,-1]) cube([2*rcube,2*rcube,height1+1]); } } } distribuew=20; distribueh=26; // Bloc pour insérer les 3 rouecote2 module distribue(){ cubew=distribuew; cubeh=distribueh; difference(){ cube([cubew,cubew,distribueh]); translate([cubew/2,-1,cubeh-cubew/2]) rotate([-90,0,0]) cylinder(r=4,h=10,$fn=80); translate([-1,cubew/2,cubeh-cubew/2]) rotate([0,90,0]) cylinder(r=4,h=10,$fn=80); translate([cubew+1,cubew/2,cubeh-cubew/2]) rotate([0,-90,0]) cylinder(r=4,h=10,$fn=80); } w1=10; d1=6; translate([cubew/2-w1/2,cubew,0]) difference(){ cube([w1,d1,2]); translate([w1/2,d1/2,-1]) cylinder(r=2,h=4,$fn=40); } w2=20.5; translate([cubew-5-1.5+1,0,0]) rotate([0,0,-45]) difference(){ cube([w2,d1,2]); translate([w2-w1/2,d1/2,-1]) cylinder(r=2,h=4,$fn=40); } w3=21; translate([-5+1.5,0,0]) rotate([0,0,-135]) translate ([-7,0,0]) difference(){ cube([w3,d1,2]); translate([w2-w1/2,d1/2,-1]) cylinder(r=2,h=4,$fn=40); } } module distribue_holder(){ difference (){ cube([supportt,supportw,supporth+5]); union(){ sw2=supportw/2-4; hslot=9; translate([-1,sw2,-1]) cube([10,4*2,hslot+1]); translate([-1,supportw/2,hslot]) rotate([0,90,0]) cylinder(r=4,h=10,$fn=80); } } } dist_width=46-2; dist_depth=31-2; dist_thick1=3; module distribue_hole(){ len=12; translate([dist_depth-4,dist_width-4,0]) cylinder(r=2,h=len,$fn=40); translate([dist_depth-4,4,0]) cylinder(r=2,h=len,$fn=40); translate([-4-2,dist_width/2,0]) cylinder(r=2,h=len,$fn=40); } // Boitier pour retenir les 3 rouecote2 insérées dans distribue module distribue2(){ width=dist_width; depth=dist_depth; translate([-depth/2,-width/2,0]){ difference(){ translate([0,0,supporth+5]) union(){ translate([0,0,0]) cube([depth,width,dist_thick1]); w=10; translate([-9,width/2-w/2,0]) cube([9,w,dist_thick1]); } translate([0,0,-1+supporth+5]) union(){ distribue_hole(); } } translate([depth-supportt,width/2-supportw/2,0]) rotate([0,0,0]) distribue_holder(); translate([supportw,width-supportt,0]) rotate([0,0,90]) distribue_holder(); translate([0,supportt,0]) rotate([0,0,-90]) distribue_holder(); } } module distribue_socle(){ difference(){ thick1=2; thick2=8; union(){ cube([dist_depth,dist_width,thick1]); translate([dist_depth-9,0,0]) cube([9,10,thick1+thick2]); translate([dist_depth-9,dist_width-10,0]) cube([9,10,thick1+thick2]); translate([-9,dist_width/2-5,0]) cube([9,10,thick1+thick2]); } translate([0,0,-1]) distribue_hole(); } } module coulisse(){ height=connect_height1+80+30+30; wmani=14; width=17; difference(){ translate([-width/2,-width/2,0]) cube([width,width,height]); translate([-connect_rcube,-connect_rcube,-1]) cube([connect_rcube*2,connect_rcube*2,connect_height1+2]); translate([-wmani/2,-wmani/2,connect_height1]) cube([wmani,wmani,height-connect_height1+1]); } translate([0,0,connect_height1+20]) difference(){ cylinder(r=16,h=3,$fn=80); translate([-wmani/2,-wmani/2,-1]) cube([wmani,wmani,5]); } } module extension(len){ width=14-1; ray=10.89/2; difference(){ w2=width/2; translate([-w2,-w2,0]) cube([width,width,len]); translate([0,0,-1]) cylinder(r=ray,h=len+2,$fn=40); } } module support_coulisse(){ difference(){ translate([-20,0,0]) cube([40,6.5,40]); translate([0,1,20]){ translate([-16.2,0,0]) cube([32.4,4.5,50]); translate([-14,-2,0]) cube([28,8,50]); rotate([-90,0,0]) cylinder(r=16.2,h=4.5,$fn=80); translate([0,-2,0]) rotate([-90,0,0]) cylinder(r=14,h=8,$fn=80); } } difference(){ len=60; depth=10.5; translate([-len/2,-2,0]) cube([len,depth,3]); translate([-len/2+4,-2+depth/2,-1]) cylinder(r=2,h=5,$fn=40); translate([len/2-4,-2+depth/2,-1]) cylinder(r=2,h=5,$fn=40); } } module rouecentre(){ rouepin(8,5); } module ajustcentre(){ difference(){ width=10; len=50; height=2; len2=22; thick2=4; height2=9+0.5+2*thick2; union(){ cube([len,width,height]); translate([len,0,0]) difference(){ cube([len2,width,height2]); union(){ translate([5,-1,thick2]) cube([len2,width+2,9+0.5]); translate([len2-5,width/2,-1]) cylinder(r=3,h=height2+2,$fn=40); } } } wslot=4; translate([5,width/2-wslot/2,-1]) cube([len-10,wslot,height+2]); } } module main_view(view){ if (view=="vissecentre"){ vissecentre(); }else if (view=="vissecote"){ vissecote(); }else if (view=="rouecentre"){ rouecentre(); }else if (view=="ajustcentre"){ ajustcentre(); }else if (view=="asm-centre"){ ajustcentre(); translate([67,5,4]) rouecentre(); }else if (view=="rouecote"){ rouecote(); }else if (view=="rouecote2"){ translate([0,0,rouecote2_zoff]) rouecote2(); }else if (view=="connect"){ connect(); }else if (view=="test-connect"){ intersection(){ cylinder(r=10,h=1,$fn=80); connect(); } *translate([30,0,0]){ intersection(){ cylinder(r=10,h=1,$fn=80); translate([0,0,-15]) connect(); } } }else if (view=="glissiere"){ glissiere(false); }else if (view=="glissiere-longue"){ glissiere(true); }else if (view=="tete"){ translate([0,0,0]) rotate([0,0,90]) tete(); }else if (view=="tetetop"){ translate([0,0,htop]) rotate([180,0,0]) tetetop(); }else if (view=="testtete"){ intersection(){ union(){ translate([5,5,0]) cube([50,40,4]); //translate([0,-58,0]) cube([100,20,10]); } translate([0,0,-2]) tete(); } }else if (view=="testtete2"){ intersection(){ union(){ translate([0,-58,0]) cube([100,20,10]); } translate([0,0,3]) rotate([180,0,0]) tete(); } }else if (view=="globohold"){ globohold(); }else if (view=="axehorizontal"){ axehorizontal(); }else if (view=="patte"){ patte(); }else if (view=="roue-asm"){ gap=0; %rotate([180,0,0]) tete(); roue_offy=-19-6; translate([37+8+2.5,0,tetech+gap]) rotate([0,0,180]) tetetop(); translate([19+5,roue_offy,thick_roue+0.5/2+gap]) rotate([180,0,0]) rouecote(); translate([wtete1+5+3,roue_offy,-11]) rotate([0,270,0]) rouecote2(); translate([wtete1+20,roue_offy,-11]) rotate([0,90,0]) connect(); // Tube 1.5 metal translate([5,-37,-45]){ difference(){ w=1.5*25; thick=25/8; l=40; t2=thick*2; translate([0,0,0]) cube([w,w,l]); translate([thick,thick,-1]) cube([w-t2,w-t2,l+2]); } } }else if (view=="distribue"){ distribue(); }else if (view=="distribue2"){ translate([0,0,supporth+5+dist_thick1]) rotate([180,0,0]) distribue2(); }else if (view=="distribue-socle"){ distribue_socle(); }else if (view=="asm-distribue"){ translate([0,0,distribuew-distribueh]) distribue(); translate([10,2,19]) rotate([180,0,-90]) distribue2(); translate([-12,17,-20]) rotate([0,0,-90]) distribue_socle(); off=7; translate([distribuew/2,-off,distribuew/2]) rotate([-90,7,0]) rouecote2(); translate([-off,distribuew/2,distribuew/2]) rotate([0,90,0]) rouecote2(); translate([distribuew+off,distribuew/2,distribuew/2]) rotate([0,-90,0]) rouecote2(); }else if (view=="poignee"){ poignee(); }else if (view=="support-poignee"){ support_poignee(); }else if (view=="support-poignee-top"){ support_poignee_top(); }else if (view=="support-poignee-roue"){ support_poignee_roue(); }else if (view=="test-poignee"){ intersection(){ cylinder(r=20,h=10,$fn=20); poignee(); } }else if (view=="test-support-poignee"){ support_poignee(); translate([0,0,3]) support_poignee_roue(); translate([0,0,10]) rotate([0,180,0]) support_poignee_top(); }else if (view=="coulisse"){ coulisse(); }else if (view=="support-coulisse"){ support_coulisse(); }else if (view=="test-coulisse"){ intersection(){ translate([-20,-20,0]) cube([40,40,2]); translate([0,0,-30]) coulisse(); } }else if (view=="extension"){ extension(50); }else if (view=="test-extension"){ extension(5); }else if (view=="worm-asm"){ gap=3; rotate([180,0,0]) tete(); translate([37+8,0,tetech*2+gap]) rotate([0,0,180]) tetetop(); translate([19+4,-19,6+gap]) rotate([180,0,0]) roue(); translate([2,-48+2,4]) rotate([0,90,0]) vis(); }else if (view=="assemblage"){ translate([-radius_rouecote-radius_vissecote,0 ,len_patte1+radius_vissecote+move]){ axehorizontal(); translate([10,-pos_poignee-10,30]) poignee(); } translate([0,-radius_rouecote,0]) patte(); translate([0,-len_axe+radius_rouecote,0]) patte(); }else if (view=="testrouepin"){ difference(){ rouepin (10,thick_roue); translate([0,0,-1]) cylinder(r=3,h=thick_roue+2,$fn=80); } } }