// 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();