Original-Prusa-i3/Printed-Parts/scad/lcd-supports.scad

99 lines
3.1 KiB
OpenSCAD

// PRUSA iteration4
// lcd supports
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> 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();