// PRUSA iteration4 // Y holder front // GNU GPL v3 // Josef Průša and contributors // http://www.reprap.org/wiki/Prusa_Mendel // http://prusamendel.org module ziptie_round_edge() { difference() { translate([0,0,0]) rotate([90,0,0]) cylinder( h=3.2, r=4, $fn=50 ); translate([0,1,0]) rotate([90,0,0]) cylinder( h=5, r=2, $fn=50 ); translate([-10,-4,0]) cube([20,5,5]); translate([-20,-4,-13]) cube([20,5,20]); } } module part() { difference() { union() { // body block difference() { translate([-13,-3,0]) cube([26,10,12]); // upper corners translate([4,-3.5,20]) rotate([0,60,0]) cube([20,30,20]); translate([-21.2,-3.5,30]) rotate([0,120,0]) cube([20,30,20]); translate([-15,-3.3,-6]) rotate([45,0,0]) cube([30,5,5]); translate([15,7.3,-6]) rotate([45,0,180]) cube([30,5,5]); } difference() { translate([-4,2,-2]) cube([8,5,3]); // upper corners translate([-15,2,-7.07]) rotate([45,0,0]) cube([30,5,5]); translate([15,9.5,-6]) rotate([45,0,180]) cube([30,5,5]); } } // y-axis cut translate([0,11,10.5]) rotate([90,0,0]) cylinder( h=14, r=4, $fn=50 ); translate([0,8,10.5]) rotate([90,0,0]) cylinder( h=2, r1=4.5, r2=4, $fn=50 ); translate([0,-2,10.5]) rotate([90,0,0]) cylinder( h=2, r1=4, r2=4.5, $fn=50 ); translate([-7,-4,14.5]) rotate([0,45,0]) cube([10,20,10]); translate([0,8,10.5]) rotate([90,0,0]) cylinder( h=1.4, r1=5, r2=4, $fn=50 ); // screw holes translate([-5.5,4,3.5]) rotate([90,0,0]) cylinder( h=20, r=1.55, $fn=60 ); translate([5.5,4,3.5]) rotate([90,0,0]) cylinder( h=20, r=1.55, $fn=60 ); translate([-5.5,-2.4,3.5]) rotate([90,0,0]) cylinder( h=2, r1=1.5, r2=2.6, $fn=60 ); translate([5.5,-2.4,3.5]) rotate([90,0,0]) cylinder( h=2, r1=1.5, r2=2.6, $fn=60 ); // ziptie translate([7.8,5.75,9]) ziptie_round_edge(); translate([-7.8,2.55,9]) rotate([0,0,180]) ziptie_round_edge(); translate([-8.1,2.55,5]) cube([16.2,3.2,2]); translate([0.8,2.55,25]) rotate([0,60,0]) cube([20,3.2,2]); translate([-1.8,2.55,27]) rotate([0,120,0]) cube([20,3.2,2]); // nuts difference () { union(){ translate([-8.2,-0.45,-3.4]) cube([5.6,2.1,10]); translate([2.8,-0.45,-3.4]) cube([5.6,2.1,10]);} // nut holding ' translate([-14,-0.45,-0.02]) cube([24,0.5,0.5]); } // nut print supports translate([-8.2,-0.25,3.5-3.2/2]) cube([5.6,2.1,3.2]); translate([2.8,-0.25,3.5-3.2/2]) cube([5.6,2.1,3.2]); translate([-7.1,0,3.5-3.2/2]) cube([3.2,2.1,3.2]); translate([3.9,0,3.5-3.2/2]) cube([3.2,2.1,3.2]); // upper corners } } rotate([90,0,0])part();