diff --git a/Printed-Parts/scad/heatbed-cable-cover.scad b/Printed-Parts/scad/heatbed-cable-cover.scad index 796b7c0..89594b4 100644 --- a/Printed-Parts/scad/heatbed-cable-cover.scad +++ b/Printed-Parts/scad/heatbed-cable-cover.scad @@ -1,54 +1,78 @@ // PRUSA iteration4 -// Heatbed cover +// 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,32,8.6]); + translate([-18,0,0]) cube([36,36,9]); // inner cut - translate([-15,-0.5,-3]) cube([30,16.5,9]); - translate([-0,33,3]) rotate([90,0,0]) cylinder(h = 15, r=4, $fn=60); - translate([-15,15,-6]) cube([30,19,9]); + 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([-4,4.5,0]) rotate([0,0,45]) cube([15,15,6]); - translate([4.0,4.51,0]) rotate([0,0,45]) cube([15,15,6]); + 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,25,-1]) rotate([0,0,45]) cube([11,11,10]); - translate([18,25,-1]) rotate([0,0,45]) cube([11,11,10]); + 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([-10,25,0]) cylinder(h = 10, r=1.6, $fn=50); - translate([10,25,0]) cylinder(h = 10, r=1.6, $fn=50); + 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([-10,25,8]) cylinder(h = 4, r1=3.15, r2=5, $fn=6); - translate([10,25,8]) 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); + 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([-10,25,5.4]) cylinder(h = 4, r=3.15, $fn=6); - translate([10,25,5.4]) 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([11,30,5.4]) rotate([0,0,-30]) cylinder(h = 4, r=3.15, $fn=6); } - translate([-8.4,0,0]) cube([16.8,40,5.7]); - translate([-16.6,0,0]) cube([5,40,5.7]); - translate([11.6,0,0]) cube([5,40,5.7]); - translate([-20,13.4,0]) cube([70,10,6]); - translate([-20,26.6,0]) cube([70,10,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]); } @@ -56,7 +80,7 @@ module cover() { union() { - translate([0,7.5,5.7]) cylinder(h = 4, r=3.15, $fn=6); + 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]); @@ -65,7 +89,7 @@ module cover() } // heatbed screw - translate([0,7.5,8]) cylinder(h = 4, r1=3.15, r2=5, $fn=6); + 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 @@ -75,10 +99,9 @@ module cover() // edges translate([-20,-0,6.5]) rotate([45,0,0]) cube([40,5,5]); - translate([-23,-1,8.5]) rotate([0,45,0]) cube([5,45,6]); - translate([15.8,-1,8.7]) rotate([0,45,0]) cube([6,45,5]); - translate([30,12,8.7]) rotate([0,45,45]) cube([6,45,5]); - translate([-40.6,12,9.7]) rotate([0,45,-45]) cube([6,45,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 @@ -91,76 +114,76 @@ module cover() // heatbed screw body difference() { - translate([0,7.5,4]) cylinder(h = 4, r=5, $fn=6); - translate([0,7.5,6.3]) cylinder(h = 4, r=3.15, $fn=6); + + + 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); } - // filament holder - difference() - { - translate([-3.5,15,2]) cube([7,7,6]); - translate([-0,28,4.5]) rotate([90,0,0]) cylinder(h = 15, r=1.5, $fn=60); - translate([-10.2,11,2]) rotate([0,45,0]) cube([7,12,6]); - translate([1.95,11,2]) rotate([0,45,0]) cube([7,12,6]); - } + } - - - - module clip() { difference() { // base body - translate([-15,15.5,-3]) cube([30,16.5,6]); + 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,33,3]) rotate([90,0,0]) cylinder(h = 15, r=4, $fn=60); + translate([-0,36,3]) rotate([90,0,0]) cylinder(h = 187, r=4, $fn=60); // screws - translate([-10,25,-3]) cylinder(h = 10, r=1.6, $fn=50); - translate([10,25,-3]) cylinder(h = 10, r=1.6, $fn=50); - translate([-10,25,-5.5]) cylinder(h = 3, r2=3.1, r1=5, $fn=50); - translate([10,25,-5.5]) cylinder(h = 3, r2=3.1, r1=5,$fn=50); + 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([-10,25,-3.5]) cylinder(h = 3, r=3.1, $fn=50); - translate([10,25,-3.5]) cylinder(h = 3, r=3.1, $fn=50); + 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,13.4,-0.8]) cube([60,10,2]); - translate([-30,26.6,-0.8]) cube([60,10,2]); - translate([-8.4,20,-1.1]) cube([16.8,10,2]); - translate([-21.6,20,-1.1]) cube([10,10,2]); - translate([11.6,20,-1.1]) cube([10,10,2]); + 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,25,-5]) rotate([0,0,45]) cube([11,11,15]); - translate([18,25,-5]) rotate([0,0,45]) cube([11,11,15]); + // 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]); - // inner angled cut - difference() - { - translate([-15,15,0]) cube([30,11,4]); - translate([-14.5,14.5,-1]) rotate([0,0,45]) cube([17,17,6]); - translate([14.5,14.5,-1]) rotate([0,0,45]) cube([17,17,6]); - - translate([-13,11,-1]) rotate([-45,0,45]) cube([20,20,6]); - translate([13,11,-1]) rotate([0,45,45]) cube([20,20,6]); - translate([-10,16,-10]) rotate([30,0,0]) cube([20,20,6]); - } + + } @@ -169,23 +192,32 @@ module clip() { difference() { - translate([-0,32,3]) rotate([90,0,0]) cylinder(h = 7, r=4.5, $fn=60); - translate([-0,34,3]) rotate([90,0,0]) cylinder(h = 17, r=3.5, $fn=60); + 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,17,3]) cube([30,20,6]); - translate([-15,26,-5]) cube([30,2,16]); - translate([-15,29,-5]) cube([30,2,16]); + 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,0,8.6]) rotate([0,180,0]) -{ -translate([0,20,5.6]) rotate([0,180,0]) clip(); + + + +translate([0,40,3]) +clip(); + +translate([0,40,9]) rotate([180,0,0]) cover(); -}