// PRUSA iteration3 // Y belt holder // GNU GPL v3 // Josef Průša and contributors // http://www.reprap.org/wiki/Prusa_Mendel // http://prusamendel.org module main_body() { difference() { union() { translate([-1, -1, -1 ]) cube([ 30, 27, 15 ]); translate([-10, 16, -1 ]) cube([ 50.5, 10, 15 ]); translate([-10, 23, -1 ]) cube([ 52, 3, 15 ]); } translate([ 16, 18, 2 ]) cylinder( h = 16, r = 7.2, $fn=30 ); // upper belt space cutaway translate([ 12, 5, 2 ]) cylinder( h = 16, r = 7.2, $fn=30 ); // lower belt space cutaway } } module belt_holders() { translate([ 16, 18, 0 ]) cylinder( h=11, r=3.5, $fn=30 ); // upper belt holder translate([ 16, 18, 11 ]) cylinder( h=3, r1=3.5, r2=2.5, $fn=30 ); // upper belt holder cone translate([ 12, 5, 0 ]) cylinder( h=11, r=3.5, $fn=30 ); // lower belt holder translate([ 12, 5, 11 ]) cylinder( h=3 , r1=3.5, r2=2.5, $fn=30 ); // lower belt holder cone } module screws() { translate( [ -2.5 , 28 , 7.5 ] ) rotate([90,0,0]) cylinder( h = 10, r = 1.6, $fn=30); //screw hole translate( [ -5.5 , 28 , 7.5 ] ) rotate([90,0,0]) cylinder( h = 10, r = 1.6, $fn=30); //screw hole translate( [ -2.5, 22 , 7.5 ] ) rotate([90,0,0]) cylinder( h = 7, r = 3, $fn=30); //screw hole - head translate( [ -5.5 , 22 , 7.5 ] ) rotate([90,0,0]) cylinder( h = 10, r = 3, $fn=30); //screw hole - head translate( [ 35.5 , 28 , 7.5 ] ) rotate([90,0,0]) cylinder( h = 10, r = 1.6, $fn=30); //screw hole translate( [ 38.5 , 28 , 7.5 ] ) rotate([90,0,0]) cylinder( h = 10, r = 1.6, $fn=30); //screw hole translate( [ 35.5 , 22 , 7.5 ] ) rotate([90,0,0]) cylinder( h = 10, r = 3, $fn=30); //screw hole - head translate( [ 38.5 , 22 , 7.5 ] ) rotate([90,0,0]) cylinder( h = 10, r = 3, $fn=30); //screw hole - head translate([-5.5, 21, 5.9 ]) cube([ 3, 6, 3.2 ]); translate([35.5, 21, 5.9 ]) cube([ 3, 6, 3.2 ]); translate([-5.5, 15, 4.5 ]) cube([ 3, 7, 6 ]); translate([35.5, 15, 4.5 ]) cube([ 6, 7, 6 ]); } difference() { union() { main_body(); belt_holders(); } translate([-20, 9, 2]) cube([ 28, 2.1, 16 ]); rotate([0,0,40]) translate([11, 1, 2 ]) cube([ 8, 4, 16 ]); translate([16, 7, 2 ]) cube([ 16, 2.1, 16 ]); translate([16, 8, 11 ]) rotate([45,0,0]) cube([ 15, 5, 5 ]); translate([-2, 10, 11 ]) rotate([45,0,0]) cube([ 10, 5, 5 ]); screws(); // print part reinforcement translate([1,0.5,-0.5]) cube([0.1,5,13]); translate([3,0.5,-0.5]) cube([0.1,5,13]); translate([21.2,0.5,-0.5]) cube([0.1,4,12]); translate([23.5,0.5,-0.5]) cube([0.1,4,12]); translate([25.5,0.5,-0.5]) cube([0.1,4,12]); translate([11.5,3,-0.5]) cube([1,0.3,12]); translate([10,5,-0.5]) cube([4,0.3,12]); translate([11.5,6.5,-0.5]) cube([1,0.3,12]); translate([15.5,16,-0.5]) cube([1,0.3,12]); translate([14,18,-0.5]) cube([4,0.3,12]); translate([15.5,20,-0.5]) cube([1,0.3,12]); // corner cutoff translate([30,-13,-2]) rotate([0,0,45]) cube([10,10,20]); translate([-2,-13,-2]) rotate([0,0,45]) cube([10,10,20]); }