// PRUSA iteration4 // cable holder // GNU GPL v3 // Josef Průša and contributors // http://www.reprap.org/wiki/Prusa_Mendel // http://prusamendel.org module zip_main() { // ziptie cut for upper cables translate([-10, -30.5, 24]) cube([20, 2, 3]); translate([-6, -30.5, 24]) cube([2, 20, 3]); translate([5, -30.5, 24]) cube([2, 20, 3]); difference() { translate([0.5, -26, 24]) rotate([0, 0, 90]) cylinder(h = 3, r = 6, $fn = 30); translate([0.5, -26, 23]) rotate([0, 0, 90]) cylinder(h = 5, r = 4.6, $fn = 30); translate([-10, -35.5, 23]) cube([20, 5, 5]); translate([-10, -27, 23]) cube([20, 10, 5]); } } module zip_ext_cables() { // ziptie cut for lower cables translate([-10, -25.5, 24]) cube([20, 2, 3]); translate([-4.5, -45.5, 24]) cube([2, 20, 3]); translate([3.5, -45.5, 24]) cube([2, 20, 3]); } module cable_holder() { difference() { union() { // base block translate([0.5, -26, 24]) rotate([0, 0, 90]) cylinder(h = 39.5, r = 5, $fn = 30); translate([-4.5, -26, 24]) cube([10, 9, 39.5]); translate([-3, -35, 24]) cube([7, 10, 39.5]); } // screw translate([0.5, -27, 19.5]) rotate([0, 0, 90]) cylinder(h = 42, r = 1.75, $fn = 30); translate([0.5, -27, 19.5 + 41]) rotate([0, 0, 90]) cylinder(h = 5, r = 3.15, $fn = 30); // upper cables cut translate([0.5, -18, 23]) rotate([0, 5, 90]) cylinder(h = 41, r = 5, $fn = 30); translate([-10, -20, 23]) rotate([-5, 0, 0]) cube([20, 9, 45]); // lower angled cut translate([-10, -44, 23]) rotate([-4, 0, 0]) cube([20, 9, 45]); // wires translate([-0.8, -35, 23]) rotate([0, 4, 90]) cylinder(h = 41, r = 1.25, $fn = 30); translate([1.8, -35, 23]) rotate([0, 4, 90]) cylinder(h = 41, r = 1.25, $fn = 30); // ziptie openings translate([0, 0, 5]) zip_main(); translate([0, 0, 18]) zip_main(); translate([0, 0, 32]) zip_main(); translate([0, 0, 11]) zip_ext_cables(); translate([0, 0, 25]) zip_ext_cables(); // round edge cut translate([0, 1.8, -1.5]) difference() { translate([-10, -32, 63]) rotate([0, 90, 0]) cylinder(h = 41, r = 4, $fn = 30); translate([-10, -32, 63]) rotate([0, 90, 0]) cylinder(h = 41, r = 2, $fn = 30); translate([-10, -36, 53]) rotate([0, 0, 0]) cube([20, 9, 10]); translate([-10, -32, 58]) rotate([0, 0, 0]) cube([20, 9, 10]); } } } cable_holder();