// PRUSA iteration4 // X carriage back 2.5 upgrade // GNU GPL v3 // Josef Průša and contributors // http://www.reprap.org/wiki/Prusa_Mendel // http://prusamendel.org module m3head() { intersection(){ translate([30,5,9])cylinder(r=3.1,h = 25, $fn=30); // head cut translate([30,5,17-3.5]) cube([6.2,3.4,1], center=true); } translate([30,5,17-4]) cube([3.4,3.4,1], center=true); translate([30,5,17-3.5])cylinder(r=3.1,h = 20, $fn=30); // head cut } module x_back() { difference() { union() { // body base translate([-16,-39.0,15.1]) cube([33,72,8]); translate([-25.5,-5,15.1]) cube([52,39.5,8]); } //cables opening translate([-17,-22,7.5]) cube([35,4,10]); translate([-6.5,-18,15]) cube([10,4,10]); translate([-1.5,-18,10]) rotate([0,0,90]) cylinder( h=32, r=5, $fn=30 ); translate([-1.5,-14,10]) rotate([0,0,90]) cylinder( h=32, r=5, $fn=30 ); // cables horizontal space translate([-20,-19.5,9]) cube([50,7.5,10]); //bearings translate([-15,-25,11.75]) rotate([0,90,0]) cylinder( h=31, r=7.6, $fn=30 ); translate([-30,20,11.75]) rotate([0,90,0]) cylinder( h=60, r=7.6, $fn=30 ); translate([-17,-25,11.75]) rotate([0,90,0]) cylinder( h=60, r=7, $fn=30 ); translate([-32,20,11.75]) rotate([0,90,0]) cylinder( h=80, r=7, $fn=30 ); // lower screws translate([-9.5,-36,10]) rotate([0,0,0]) cylinder( h=50, r=1.6, $fn=30 ); translate([10.5,-36,10]) rotate([0,0,0]) cylinder( h=50, r=1.6, $fn=30 ); translate([-9.5,-36,19]) cylinder( h=6, r=3.1, $fn=30 ); translate([10.5,-36,19]) cylinder( h=50, r=3.1, $fn=30 ); translate([-12.6,-46,18]) cube([6.2,10,10]); translate([7.4,-46,18]) cube([6.2,10,10]); // middle screw translate([1,4,10]) rotate([0,0,0]) cylinder( h=50, r=1.6, $fn=30 ); translate([1,4,18]) cylinder( h=7, r=3.1, $fn=30 ); // upper screws translate([13,31,10]) rotate([0,0,0]) cylinder( h=50, r=1.6, $fn=30 ); translate([-10.5,31,10]) rotate([0,0,0]) cylinder( h=50, r=1.6, $fn=30 ); translate([13,31,19]) cylinder( h=50, r=3.1, $fn=30 ); translate([-10.5,31,19]) cylinder( h=50, r=3.1, $fn=30 ); // hotend cables cut translate([0.5,-42.5,0]) rotate([-5,0,0]) cylinder( h=50, r=6, $fn=30 ); // cable holder screw translate([-1.5,-27,11]) rotate([0,0,90]) cylinder( h=40, r=1.6, $fn=30 ); translate([-1.5,-27,16.5]) rotate([0,0,0]) cylinder( h=5, r=3.1, $fn=6 ); // extruder hold together screws opening translate([11.5,-0.5,10]) rotate([0,0,90]) cylinder( h=40, r=3, $fn=30 ); translate([-11.5,-0.5,10]) rotate([0,0,90]) cylinder( h=40, r=3, $fn=30 ); // corners translate([-20.8,-46.1,10]) rotate([0,0,45]) cube([10,10,15]); translate([21.8,-46.1,10]) rotate([0,0,45]) cube([10,10,15]); translate([-24.4,15.2,10]) rotate([0,0,45]) cube([14,10,15]); translate([26.9,15.2,10]) rotate([0,0,45]) cube([10,14,15]); translate([-19.55,28,10]) rotate([0,0,45]) cube([10,10,15]); translate([22.05,28,10]) rotate([0,0,45]) cube([10,10,15]); translate([-22,35,21]) rotate([30,0,0]) cube([44,10,10]); translate([-22,35,17]) rotate([30,0,0]) cube([14.5,10,10]); translate([10,35,17]) rotate([30,0,0]) cube([14.5,10,10]); // upper side cuts translate([17,25,10]) rotate([0,0,0]) cube([10,10,15]); translate([-29.5,25,10]) rotate([0,0,0]) cube([15,15,15]); translate([17,22,13]) rotate([0,0,0]) cube([10,10,5]); translate([-24.5,22,13]) rotate([0,0,0]) cube([10,10,5]); // side angle cuts translate([27,-20,16]) rotate([0,-30,0]) cube([10,50,10]); translate([-34.2,-20,21]) rotate([0,30,0]) cube([10,50,10]); translate([19.5,-55,16]) rotate([0,-30,0]) cube([10,50,10]); translate([-27.1,-55,21]) rotate([0,30,0]) cube([10,50,10]); translate([-1,-19.5,14]) rotate([0,30,0]) cube([10,7.5,10]); translate([-5,-19.5,10]) rotate([0,-30,0]) cube([10,7.5,10]); // filament sensor cable translate([4.5,28.5,12]) rotate([0,0,0]) cube([3.5,4,20]); translate([0.5,28.5,12]) rotate([0,0,0]) cube([4.5,7,20]); translate([4.5,-5,19.5]) rotate([0,0,0]) cube([3.5,35,4.3]); translate([-1.55,-9.60,19.5]) rotate([0,0,-45]) cube([3.5,10,4]); translate([-1.9,-9.95,15]) rotate([45,0,-45]) cube([3.5,10,4]); translate([4.5,29,16]) rotate([45,0,0]) cube([3.5,5,5]); translate([3.5,-4.60,19.5]) rotate([0,0,-15]) cube([3,4,4]); translate([-18,11,22.8]) rotate([0,0,0]) linear_extrude(height = 0.4) { text("MK2.5",font = "helvetica:style=Bold", size=5, center=true); } translate([-15,3,15.6]) rotate([0,180,0]) linear_extrude(height = 1) { text("R1",font = "helvetica:style=Bold", size=4, center=true); } translate([-23,2.3,14.3]) cube([9,5.0,1]); // upper ziptie left translate([-21.5,-25,0]) difference() { translate([1,45,12]) rotate([0,90,0]) cylinder(r=8.5, h=4, $fn=25); translate([0,45,12]) rotate([0,90,0]) cylinder(r=7, h=6, $fn=25); } translate([19.5,8,14.5]) rotate([-60,0,0]) cube([4,3,10]); translate([-20.5,8,14.5]) rotate([-60,0,0]) cube([4,3,10]); // upper ziptie right translate([19,-25,0]) difference() { translate([0.5,45,12]) rotate([0,90,0]) cylinder(r=8.5, h=4, $fn=25); translate([0,45,12]) rotate([0,90,0]) cylinder(r=7, h=6, $fn=25); } // screw heads support translate([-17,26,5]) m3head(); translate([-40.5,26,5]) m3head(); translate([-29,-1,4]) m3head(); translate([-19.5,-41,5]) m3head(); translate([-39.5,-41,5]) m3head(); } } rotate([0,180,0]) x_back();