// 40mm fan adapter for delta frames // by zeus - zeus@ctdo.de - CC-BY-NC-4.0 // -> https://www.thingiverse.com/zeus // -> https://github.com/zeus86 // 2016-02-26 // --- //some vars $fn=24; mnt_hole_dia=5.1; fan_hole_dia=4; fan_hole_dist=32.5; fan_dia_effective=40; base_w=40*1.75; base_t=3; base_h=40+2*mnt_hole_dia; standoff_h=7; //==================================== module standoff(){ translate([0,0,standoff_h/2+base_t/2]){ difference(){ cylinder(r1=fan_hole_dia,r2=fan_hole_dia*0.75,h=standoff_h,center=true); cylinder(r=fan_hole_dia/2,h=standoff_h+1,center=true); } } } module base(){ difference(){ cube([base_w,base_h,base_t],center=true); cylinder(r=fan_dia_effective/2,h=base_t+1,center=true,$fn=48); translate([-(base_w/2-mnt_hole_dia),+(base_h/2-mnt_hole_dia),0])cylinder(r=mnt_hole_dia/2,h=base_t+1,center=true); translate([+(base_w/2-mnt_hole_dia),+(base_h/2-mnt_hole_dia),0])cylinder(r=mnt_hole_dia/2,h=base_t+1,center=true); translate([-(base_w/2-mnt_hole_dia),-(base_h/2-mnt_hole_dia),0])cylinder(r=mnt_hole_dia/2,h=base_t+1,center=true); translate([+(base_w/2-mnt_hole_dia),-(base_h/2-mnt_hole_dia),0])cylinder(r=mnt_hole_dia/2,h=base_t+1,center=true); } translate([-(fan_hole_dist/2),+(fan_hole_dist/2),0])standoff(); translate([+(fan_hole_dist/2),+(fan_hole_dist/2),0])standoff(); translate([-(fan_hole_dist/2),-(fan_hole_dist/2),0])standoff(); translate([+(fan_hole_dist/2),-(fan_hole_dist/2),0])standoff(); } base();