// allviews view1 // viewopts view1 brim20mm // testviews test1 test2 test3 serrage // viewopts serrage brim5mm include hubray=10.3; leghw=28.5-0.5-1; legwall=4.4-0.25-0.25; module legholder(dohole,legwidth){ w=leghw; height=10; if (!dohole){ cube([30+5,w,height+20]); }else{ union(){ t=legwidth; translate([15,t,height]) cube([30,w-2*t,21]); translate([23.5,-1,height+20-8]) rotate([-90,0,0]) cylinder(r=3,h=w+2,$fn=20); } } } module legholders(dohole,legwidth){ translate([0,-leghw/2,0]) legholder(dohole,legwidth); rotate([0,0,120]) translate([0,-leghw/2,0]) legholder(dohole,legwidth); rotate([0,0,240]) translate([0,-leghw/2,0]) legholder(dohole,legwidth); } module view1_hubr(hubr,legwidth){ difference(){ union(){ legholders(false,legwidth); cw=15+25+4; rotate([0,0,60]) translate([0,-cw/2,0]) cube([25+3,cw,20-4]); } union(){ legholders(true,legwidth); translate([0,0,-1]) cylinder(r=hubr,h=40,$fn=40); // Trou pour boulon de serrage translate([0,0,9]) rotate([0,90,60]) cylinder(r=4.8,h=30,$fn=40); // Trou pour insérer l'écrou ecrouw=16; ecrout=9; translate([0,0,16.5]) rotate([0,90,60]) translate([0,-ecrouw/2,15]) cube([24,ecrouw,ecrout]); } } } module view1(){ if(vs_nozzle_diameter==0.4){ view1_hubr(hubray,legwall); }else if (vs_nozzle_diameter==0.5){ view1_hubr(hubray+0.3,legwall-0.2-0.5); }else{ view1_hubr(5,4.4); } } module view2(){ } module main_view(view){ if (view=="view1"){ view1(); }else if (view=="test1"){ intersection(){ translate([-20,0,0]) cube([50,40,22]); translate([10,0,-7]) view1(); } }else if (view=="test2"){ intersection(){ translate([-10,0,0]) rotate([0,0,180+60]) cube([33,40,22]); translate([10,0,-9]) view1(); } }else if (view=="test3"){ intersection(){ l=28; translate([-l/2,-l/2,0]) cube([l,l,5]); view1(); } }else if (view=="serrage"){ intersection(){ l=24; rotate([0,0,60]) translate([8,-l/2,0]) cube([l,l,17]); view1(); } } }