// PRUSA iteration4 // lcd supports // GNU GPL v3 // Josef Průša and contributors // http://www.reprap.org/wiki/Prusa_Mendel // http://prusamendel.org module body() { difference() { // base block translate([-55,-2,0]) cube([69,81,10]); union () { // outer body shape translate([-69.6,32,-1]) rotate([0,0,45]) cube([60,53,15]); translate([13.7,89.7,-1]) rotate([0,0,135]) cube([60,42,15]); translate([-19,-9,-1]) cube([60,9,15] ); translate([7,-3,-1]) cube([60,68,16]); translate([-16,60,-1]) cube([60,50,15] ); translate([-41, -45,-1]) rotate([0,0,45]) cube([60,80,13]); // pcb cout out translate([4,1.5,-1]) cube([1.8,56.5,17]); translate([0,7.5,-1]) cube([5.8,44.5,17]); translate([4.8,3.5,-1]) cube([5.8,52.5,17]); translate([8,-5,-1] ) rotate([0,0,45]) cube([5,5,17]); translate([8,58,-1]) rotate([0,0,45]) cube([5,5,17]); } // pcb inserts translate([4,3,8]) rotate([45,0,0]) cube([1.8,5,5]); translate([4,56.5,8]) rotate([45,0,0]) cube([1.8,5,5]); translate([4,3,-5]) rotate([45,0,0]) cube([1.8,5,5]); translate([4,56.5,-5]) rotate([45,0,0]) cube([1.8,5,5]); } } module support() { difference() { union() { rotate([0,0,45]) body(); // screw block translate([-72,22,0]) cube([30,16,10]); } // lower angled part cut translate([-75,-2,-1]) cube([20,14,15]); translate([-70,-2,-1]) cube([20,14,15]); translate([-50,-16.3,-1]) rotate([0,0,45]) cube([20,20,15]); translate([-76.5,-2,-1]) cube([15,40,15]); difference() { translate([-28,0,-1]) rotate([0,0,45]) cube([10,40,15]); translate([-38,-12,-1]) cube([20,20,15]); translate([-58,23.5,-1]) cube([25,25,15]); } // screw holes translate([-71,18+4,5]) rotate([0,90,0]) cylinder(h=22, r=1.75, $fn=30); translate([-70,29+4,5]) rotate([0,90,0]) cylinder(h=22, r=1.75, $fn=30); // nut traps translate([-58,15.1+4,5-2.8]) cube([2.2,5.8,29.7]); translate([-58,26.1+4,5-2.8]) cube([2.2,5.8,29.7]); // version translate([-20,2,9.5]) rotate([0,0,0]) linear_extrude(height = 0.6) { text("R1",font = "helvetica:style=Bold", size=5, center=true); } } } module left_lcd_support() { support(); rotate([0,0,45]) difference() { // sd card shield translate([-3,3,10]) cube([2,55,10]); translate([-4,3,20]) rotate([0,90,0]) cylinder( h=4, r=7, $fn=30); translate([-4,58,20]) rotate([0,90,0]) cylinder( h=4, r=7, $fn=30); } } translate([-60,-2,0]) rotate([0,0,180]) support(); left_lcd_support();