Original-Prusa-i3/Printed-Parts/scad/heatbed_cable_cover.scad

198 lines
5.9 KiB
OpenSCAD
Executable File

module cover()
{
difference()
{
// base block
translate([-18,0,0]) cube([36,32,8.6]);
// 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]);
// 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]);
// 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]);
// 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);
// 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);
// 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([-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]);
}
difference()
{
union()
{
translate([0,7.5,5.7]) cylinder(h = 4, r=3.15, $fn=6);
}
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=3.15, r2=5, $fn=6);
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,-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]);
}
// 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]) 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,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]);
}
}
// PRUSA iteration4
// Heatbed cover
// GNU GPL v3
// Josef Průša <iam@josefprusa.cz> and contributors
// http://www.reprap.org/wiki/Prusa_Mendel
// http://prusamendel.org
module clip()
{
difference()
{
// base body
translate([-15,15.5,-3]) cube([30,16.5,6]);
// cables cut
translate([-0,33,3]) rotate([90,0,0]) cylinder(h = 15, 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);
// 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([-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]);
}
// 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]);
// 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]);
}
}
// cable rims
difference()
{
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([-15,17,3]) cube([30,20,6]);
translate([-15,26,-5]) cube([30,2,16]);
translate([-15,29,-5]) cube([30,2,16]);
}
}
translate([0,20,5.5]) rotate([0,180,0]) clip();
cover();