// Addons for Gen 6 electronics // Fan Holder // Used to mount a 60mm fan above the Gen 6 board usig the existing mointing holes // GNU GPL v2 // Geoff Drake // geoffd123 at gmail dot com /** * @id gen6-fan-holder * @name Gen6 Fan holder * @category Printed * @using 4 m4x15 * @using 4 m4x40 * @using 8 m4nut * @using 16 m4washer */ $fn = 40; bdh = 5; // Height above PCB fap = 56/2; // Radius for fan aperture fsz = 60; // Fan size (assumes it is square) fmh = 50; // Fan mounting hole distance thk = 4; // Thickness of mounting plate translate([0, 0, 20])rotate([180, 0, 0]) plate(); translate([0, 0, 20])%cylinder(r = 28, h = 2); // Basic Plate with cutout module plate() { vect1 = [ [ 50, 25, 0], [ 50,-25, 0], [-50, 25, 0], [-50,-25, 0] ]; difference() { union() { // Fan mount translate([0, 0, bdh/2]) fan_mount(); // Pillars for (i = vect1) { translate(i) cylinder(r=5, h=bdh+(thk), center=true); } } // Bolt holes for pillars for (i = vect1) { translate(i) cylinder(r=2.1, h=bdh + (thk+10), center=true); } } } // Cube for fan and mounting holes module fan_mount() { dist = fmh / 2; thk2 = thk / 2; corner_rad = 14; vect2 = [ [ dist, dist, 0], [ dist,-dist, 0], [-dist, dist, 0], [-dist,-dist, 0] ]; difference() { union() { // fan plate translate([0,0, -1]) minkowski() { cube([fap*2-corner_rad, fap*2-corner_rad, thk2], center=true); cylinder(r = corner_rad, h=thk2); } // top and bottom strips translate([-53, 22, -thk2]) minkowski() { cube([106, 6, thk2]); cylinder(r = 2, h=thk2); } translate([-53, -28, -thk2]) minkowski() { cube([106, 6, thk2]); cylinder(r = 2, h=thk2); } } // Central cutout cylinder(r = fap, h= thk+0.2, center=true); // 4 mounting bolt holes for fan for (i = vect2) { translate(i) cylinder(r=2.1, h=5, center=true); } } }