diff --git a/Printed-Parts/scad/heatbed-cable-cover.scad b/Printed-Parts/scad/heatbed-cable-cover.scad new file mode 100644 index 0000000..89594b4 --- /dev/null +++ b/Printed-Parts/scad/heatbed-cable-cover.scad @@ -0,0 +1,225 @@ +// PRUSA iteration4 +// Heatbed cover MK2.5 +// GNU GPL v3 +// Josef Průša and contributors +// http://www.reprap.org/wiki/Prusa_Mendel +// http://prusamendel.org + +module cover() +{ + + + difference() + { + + + + // base block + translate([-18,0,0]) cube([36,36,9]); + + // inner cut + translate([-15,-0.5,-3]) cube([30,16,9]); + translate([-0,37,3]) rotate([90,0,0]) cylinder(h = 15, r=4, $fn=60); + translate([-15,15,-6]) cube([30,22,9]); + + // inner edges + translate([3.5,2,0]) rotate([0,0,0]) cube([10.5,15,6]); + translate([-14,2,0]) rotate([0,0,0]) cube([10.5,15,6]); + + translate([2.5,15,0]) rotate([0,0,0]) cube([8,8,6]); + translate([-10.5,15,0]) rotate([0,0,0]) cube([8,8,6]); + + translate([6.96,19.45,0]) rotate([0,0,45]) cube([5,10,6]); + translate([-6.96,19.45,0]) rotate([0,0,45]) cube([10,5,6]); + + translate([3.96,18.45,0]) rotate([0,0,20]) cube([5,6,6]); + translate([-3.96,18.45,0]) rotate([0,0,70]) cube([6,5,6]); + + + translate([-0,36,3]) rotate([90,0,0]) cylinder(h = 21, r=4, $fn=60); + + translate([2,14,-1]) rotate([0,0,10]) cube([8,13,6]); + translate([-9.88,15.21,-1]) rotate([0,0,-10]) cube([8,13,6]); + + // outer edges + translate([-18.0,32,-1]) rotate([0,0,25]) cube([11,11,11]); + translate([18,32,-1]) rotate([0,0,65]) cube([11,11,11]); + + // screw holes for clip + translate([-11,30,0]) cylinder(h = 10, r=1.6, $fn=50); + translate([11,30,0]) cylinder(h = 10, r=1.6, $fn=50); + + + // clip nuts entry + translate([-11,30,8]) rotate([0,0,30]) cylinder(h = 4, r1=3.15, r2=5, $fn=6); + translate([11,30,8]) rotate([0,0,-30]) cylinder(h = 4, r1=3.15, r2=5, $fn=6); + + // heatbed terminal screw pockets + + translate([8.5,7.5,0]) cylinder(h = 8.6, r=3.25, $fn=50); + translate([-8.5,7.5,0]) cylinder(h = 8.6, r=3.25, $fn=50); + + + // clip nuts with print supports + difference() + { + union() + { + translate([-11,30,5.4]) rotate([0,0,30]) cylinder(h = 4, r=3.15, $fn=6); + translate([11,30,5.4]) rotate([0,0,-30]) cylinder(h = 4, r=3.15, $fn=6); + } + translate([-9.4,4,0]) cube([18.8,40,5.7]); + translate([-17.6,4,0]) cube([5,40,5.7]); + translate([12.6,4,0]) cube([5,40,5.7]); + translate([-22,18.4,0]) cube([70,10,6]); + translate([-20,31.6,0]) cube([70,10,6]); + + } + + difference() + { + union() + { + translate([0,7.5,5.7]) cylinder(h = 4, r=3.15, $fn=60); + } + translate([-11.6,0,0.9]) cube([10,40,5.7]); + translate([1.6,0,0.9]) cube([10,40,5.7]); + translate([-5,-4.1,0.9]) cube([10,10,6]); + translate([-5,9.1,0.9]) cube([10,10,6]); + } + + // heatbed screw + translate([0,7.5,8]) cylinder(h = 4, r1=2.75, r2=5, $fn=50); + translate([0,7.5,3]) cylinder(h = 4, r=1.6, $fn=50); + + // LED window + translate([-2.5,-1,-4]) cube([5,3.5,10]); + translate([-14,-4,-6]) rotate([0,0,45]) cube([5,5,10]); + translate([14,-4,-6]) rotate([0,0,45]) cube([5,5,10]); + + // edges + translate([-20,-0,6.5]) rotate([45,0,0]) cube([40,5,5]); + translate([-23.3,-1,9.7]) rotate([0,45,0]) cube([6,45,6]); + translate([14.8,-1,9.7]) rotate([0,45,0]) cube([6,45,5]); + +} + + // heatbed pcb support + translate([-17,0,4]) cube([3,20,2]); + translate([14,0,4]) cube([3,20,2]); + translate([-17,0,4]) cube([14,2,2]); + translate([3,0,4]) cube([14,2,2]); + + + // heatbed screw body + difference() + { + + + translate([0,7.5,4]) rotate(90, v = [0,0,1]) cylinder(h = 4, r=2.75, $fn=50); + translate([0,7.5,6.3]) cylinder(h = 4, r=2.76, $fn=50); + translate([0,7.5,3]) cylinder(h = 4, r=1.6, $fn=50); + } + + +} + +module clip() +{ + + difference() + { + // base body + translate([-15,15.5,-3]) cube([30,20.5,6]); + + // inner angled cut + translate([3.5,2,0]) rotate([0,0,0]) cube([10.5,15,6]); + translate([-14,2,0]) rotate([0,0,0]) cube([10.5,15,6]); + + translate([3.5,15,0]) rotate([0,0,0]) cube([7,8,6]); + translate([-10.5,15,0]) rotate([0,0,0]) cube([7,8,6]); + + translate([6.96,19.45,1]) rotate([0,0,45]) cube([5,10,6]); + translate([-6.96,19.45,1]) rotate([0,0,45]) cube([10,5,6]); + + translate([-0,37,3]) rotate([90,0,0]) cylinder(h = 17, r=3.5, $fn=60); + + translate([-7,15,0]) rotate([0,0,0]) cube([14,11,6]); + + translate([3,14,1]) rotate([0,0,10]) cube([7,13,6]); + translate([-9.88,15.21,1]) rotate([0,0,-10]) cube([7,13,6]); + + // cables cut + translate([-0,36,3]) rotate([90,0,0]) cylinder(h = 187, r=4, $fn=60); + + // screws + translate([-11,30,-3]) cylinder(h = 10, r=1.6, $fn=50); + translate([11,30,-3]) cylinder(h = 10, r=1.6, $fn=50); + translate([-11,30,-5.5]) cylinder(h = 3, r2=3.1, r1=5, $fn=50); + translate([11,30,-5.5]) cylinder(h = 3, r2=3.1, r1=5,$fn=50); + + // print support for nut heads + difference() + { + union() + { + translate([-11,30,-3.5]) cylinder(h = 3, r=3.1, $fn=50); + translate([11,30,-3.5]) cylinder(h = 3, r=3.1, $fn=50); + } + translate([-30,18.4,-0.8]) cube([60,10,2]); + translate([-30,31.6,-0.8]) cube([60,10,2]); + translate([-9.4,25,-1.1]) cube([18.8,10,2]); + translate([-22.6,25,-1.1]) cube([10,10,2]); + translate([12.6,25,-1.1]) cube([10,10,2]); + } + + // thermistor cable entry + translate([-0,22,4]) rotate([115,0,0]) cylinder(h = 15, r=3, $fn=60); + + + // edges + + translate([-18.0,32,-5]) rotate([0,0,25]) cube([11,11,15]); + translate([18,32,-5]) rotate([0,0,65]) cube([11,11,15]); + + + + + } + + // cable rims + difference() + { + difference() + { + translate([-0,36,3]) rotate([90,0,0]) cylinder(h = 10, r=4.5, $fn=60); + translate([-0,37,3]) rotate([90,0,0]) cylinder(h = 17, r=3.5, $fn=60); + + } + translate([-15,18,3]) cube([30,20,6]); + translate([-15,27,-5]) cube([30,2,16]); + translate([-15,30,-5]) cube([30,2,16]); + translate([-15,33,-5]) cube([30,2,16]); + translate([6.96,19.45,1]) rotate([0,0,45]) cube([5,10,6]); + translate([-6.96,19.45,1]) rotate([0,0,45]) cube([10,5,6]); + translate([-4,20,0]) rotate([0,0,0]) cube([8,11,6]); + + + + } + +} + + + + +translate([0,40,3]) +clip(); + +translate([0,40,9]) rotate([180,0,0]) +cover(); + + + + +