From d4f24eb3342d1f21a319316d0d0bd5c4aef8132b Mon Sep 17 00:00:00 2001 From: Alexandr Kukan Date: Mon, 10 Jun 2019 18:46:01 +0200 Subject: [PATCH] Heatbed cable cover using opposite screw direction --- .../SCAD/heatbed-cable-cover-clip.scad | 102 +++++++++++++ Printed-Parts/SCAD/heatbed-cable-cover.scad | 137 ++++++++++++++++++ 2 files changed, 239 insertions(+) create mode 100644 Printed-Parts/SCAD/heatbed-cable-cover-clip.scad create mode 100644 Printed-Parts/SCAD/heatbed-cable-cover.scad diff --git a/Printed-Parts/SCAD/heatbed-cable-cover-clip.scad b/Printed-Parts/SCAD/heatbed-cable-cover-clip.scad new file mode 100644 index 0000000..fb7ed3d --- /dev/null +++ b/Printed-Parts/SCAD/heatbed-cable-cover-clip.scad @@ -0,0 +1,102 @@ +// PRUSA iteration4 +// Heatbed cable cover clip MK3S +// GNU GPL v3 +// Josef Průša and contributors +// http://www.reprap.org/wiki/Prusa_Mendel +// http://prusamendel.org + + +module m3_nut() +{ + difference() + { + union() + { + cylinder( h = 4, r = 3.15, $fn=6); + translate([0,0,2.5]) cylinder( h = 4, r1 = 3.15, r2=4,$fn=6); + translate([0,0,-9]) cylinder( h = 12, r = 1.7, $fn=30); + translate([0,0,-0.49]) cylinder( h = 0.5, r1 = 1.7, r2=1.95,$fn=30); + } + translate([1.7,-5,-1]) cube([5,10,2]); + translate([-6.7,-5,-1]) cube([5,10,2]); + + translate([-5,1.7,-1.5]) cube([10,5,2]); + translate([-5,-6.7,-1.5]) cube([10,5,2]); + + } +} + + +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); + + translate([-11,30,0]) rotate([0,180,30]) m3_nut(); + translate([11,30,0]) rotate([0,180,30]) m3_nut(); + + // 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, $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]); + + } + +} + + + + + +clip(); + + + + + + diff --git a/Printed-Parts/SCAD/heatbed-cable-cover.scad b/Printed-Parts/SCAD/heatbed-cable-cover.scad new file mode 100644 index 0000000..3b79892 --- /dev/null +++ b/Printed-Parts/SCAD/heatbed-cable-cover.scad @@ -0,0 +1,137 @@ +// PRUSA iteration4 +// Heatbed cable cover MK3S +// GNU GPL v3 +// Josef Průša and contributors +// http://www.reprap.org/wiki/Prusa_Mendel +// http://prusamendel.org + + +module m3_nut() +{ + difference() + { + union() + { + cylinder( h = 4, r = 3.15, $fn=6); + translate([0,0,2.5]) cylinder( h = 4, r1 = 3.15, r2=4,$fn=6); + translate([0,0,-9]) cylinder( h = 12, r = 1.7, $fn=30); + translate([0,0,-0.49]) cylinder( h = 0.5, r1 = 1.7, r2=1.95,$fn=30); + } + translate([1.7,-5,-1]) cube([5,10,2]); + translate([-6.7,-5,-1]) cube([5,10,2]); + + translate([-5,1.7,-1.5]) cube([10,5,2]); + translate([-5,-6.7,-1.5]) cube([10,5,2]); + + } + +} + +module m3_head() +{ + // heatbed screw + difference() + { + + + translate([0,0,5]) cylinder(h=4,r=3.15, $fn=50); + + translate([-11.7,-7.5,0.8]) cube([10,40,5.7]); + translate([1.7,-7.5,0.8]) cube([10,40,5.7]); + translate([-5,-4.2-7.5,0.8]) cube([10,10,6]); + translate([-5,9.2-7.5,0.8]) cube([10,10,6]); + + translate([-2,-7.5,0.4]) cube([10,40,5.7]); + + + } + translate([0,0,-1]) cylinder(h = 10, r=1.7, $fn=50); + translate([0,0,8.2]) cylinder(h = 2, r1=3.15, r2=4, $fn=50); + } + + +module cover() +{ + + + difference() + { + + + + // base block + translate([-18,0,0]) cube([36,36,9]); + + // inner cut + difference() + { + translate([-15,-0.5,-3]) cube([30,16,9]); + translate([0,7.5,4]) rotate(90, v = [0,0,1]) cylinder(h = 2.2, r=2.75, $fn=50); + } + translate([-0,37,3]) rotate([90,0,0]) cylinder(h = 15, r=3.3, $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,20,0.5]) rotate([90,0,0]) cube([11,11,11], center = true); + + 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]); + + // 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 + translate([11,30,0] ) m3_head(); + translate([-11,30,0] ) m3_head(); + + // hold screw + translate([0,7.5,0]) m3_head(); + + // 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]); + +} + + +rotate([0,180,0]) cover(); + + + + +