diff --git a/Printed-Parts/SCAD/heatbed-cable-cover-clip.scad b/Printed-Parts/SCAD/heatbed-cable-cover-clip.scad index d59134e..5fa0521 100644 --- a/Printed-Parts/SCAD/heatbed-cable-cover-clip.scad +++ b/Printed-Parts/SCAD/heatbed-cable-cover-clip.scad @@ -1,120 +1,120 @@ -// 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]); - - } -} - -/** -* These protusions prevent cable breakage in the event of the build platform colliding -* with an object behind the printer. Hours of wasted life will be saved :) -* -* square collision ends allow a solid easily detected hit and will not cause the -* machine to jump up or down. -**/ -module cable_break_preventer() -{ - z_offset = -3; - center_offset = 4.4; - block_length = 12; - block_width = 5; - block_height = 6; - - translate([center_offset, 20.5 + 15.5, z_offset]) - cube([block_width, block_length, block_height]); - - translate([-block_width - center_offset, 20.5 + 15.5, z_offset]) - cube([block_width, block_length, block_height]); - -} - -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(); -cable_break_preventer(); - - - - - - +// 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]); + + } +} + +/** +* These protusions prevent cable breakage in the event of the build platform colliding +* with an object behind the printer. Hours of wasted life will be saved :) +* +* square collision ends allow a solid easily detected hit and will not cause the +* machine to jump up or down. +**/ +module cable_break_preventer() +{ + z_offset = -3; + center_offset = 4.4; + block_length = 12; + block_width = 5; + block_height = 6; + + translate([center_offset, 20.5 + 15.5, z_offset]) + cube([block_width, block_length, block_height]); + + translate([-block_width - center_offset, 20.5 + 15.5, z_offset]) + cube([block_width, block_length, block_height]); + +} + +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(); +cable_break_preventer(); + + + + + +