IMG_3346.JPG
Lite mera reklam för OpenScad där det bara behövs några få rader för att göra dessa från en konfigurerbar fläktgaller CAD:
// FANGrid Customizable fan grid by
elile@tele2.se 180220
dc=30; // inner diam of inner ring
hdist=5; // distance from screw hole center to outer side of frame.
hi=3; // hight of rings. Outer frame=+1
nr=5; // number of rings
squ=80; // outer square frame size
ds=3.3; // diameter of screws
w=1.2; // wall thickness. Use mult. of line width
$fn=16; // circle fragments
rsp=w*3+(squ-dc)/nr; echo("rsp",rsp/2); // ring spacing
module ring(dy,w,hi){ difference(){ cylinder(d=dy,h=hi,center=true); cylinder(d=dy-2*w,h=hi,center=true); }}
module sm(){ translate([squ/2-hdist,squ/2-hdist,0])union(){ rotate([0,0,45]){ // screw mount
translate([0,0,-0.5])cube([0.27*squ,2*w,hi],true); } ring(3*w+1.2*ds,2*w,hi+1); }}
module bars(){ union(){ difference(){ cube([squ,squ,hi+1],true); cube([squ-2*w,squ-2*w,hi+1],true); }
for(v=[0:45:315]){ rotate([0,0,v]){ translate([squ/4,0,-0.5])cube([squ/1.7,w,hi],true); }}}}
module fangrid(){ intersection(){ cube([squ,squ,hi+2],true); // cut outside frame
intersection(){ cylinder( h=hi+2,d=squ*1.37,center=true,$fn=16); // cut frame corners
difference(){ union(){ bars(); translate([0,0,-0.5])for(dy=[dc+2*w:rsp:squ+rsp]){ ring(dy,w,hi); }
for(v=[0:90:270]){ rotate([0,0,v]){ sm(); }}} cylinder(d=dc,h=hi+2,center=true); // center hole
for(v=[0:90:270]){ rotate([0,0,v]){ translate([squ/2-hdist,squ/2-hdist,0])
cylinder(d=ds,h=hi+2,center=true); // screw voids
}}}}}} fangrid();