68 lines
1.6 KiB
OpenSCAD
68 lines
1.6 KiB
OpenSCAD
/* 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();
|
|
}
|