diff --git a/coolingFanMount.scad b/coolingFanMount.scad new file mode 100644 index 0000000..7b3c216 --- /dev/null +++ b/coolingFanMount.scad @@ -0,0 +1,67 @@ +/* mount options */ +wt = 5; // wall thickness (min 5mm for m2 inserts) +tb = 40; +bpt = 7; + + +/* fan size */ +lf = 40; // length +tf = 10; // thickness +lhf = 34.8; // distance mounting holes +lof = 28; // length of outlet +wof = 8; // width of outlet +rc = 2; // radius corners + + +t= tb-bpt-tf; +$fn= 100; + +module through(l=7, lh=3.3, lt=1, lb=1){ + union(){ + translate([0,0,l-lh])cylinder(h=lh+lt, d=5.6); + translate([0,0,-lb])cylinder(h=l+lh+lb, d=3.5); + } +} + +module m3 (h=8, lt=1){ + //translate([0,0,-lt])cylinder(h, d=2.5); // tapped M3 + translate([0,0,-lt])cylinder(h, d=4); // rutex insert +} + +module m2 (h=8, lt=1){ + translate([0,0,-lt])cylinder(h, d=1.5); // tapped M3 + //translate([0,0,-lt])cylinder(h, d=3.2); // rutex insert +} + +module mount(){ + translate([4,4,-12])difference(){ + hull(){ + translate([0,0,6])cylinder(h=6, d=8); + translate([4,-4,0])cube([0.01,8,12]); + } + translate([0,0,12])mirror([0,0,1])through(l=10,lb=1,lt=1,lh=7); + } +} + +difference(){ + union(){ + hull(){ + for(x=[rc, lf-rc]){ + for(y=[rc, lf-rc]){ + translate([x,y])cylinder(h=wt,r=rc); + } + } + } + translate([lf,5,wt+8])rotate([0,90,0])mount(); + translate([lf,lf-5-8,wt+8])rotate([0,90,0])mount(); + } + + for(x=[(lf-lhf)/2, (lf-lhf)/2+lhf]){ + for(y=[(lf-lhf)/2, (lf-lhf)/2+lhf]){ + translate([x,y])m2(); + } + } + + translate([8, 0,wt/2])rotate([-90,0,0])m2(); + translate([lf-8, 0,wt/2])rotate([-90,0,0])m2(); +}