include ; module fanmount(){ translate([0,0,0])fan_mount(40,20); difference(){ cube([40,40,5]); for(i=[4,12,20,28]){ translate([i,4,-1])cube([7,32,7]); } } } module whole(){ union(){ difference(){ cube([40,60,30]); translate([3,3,3])cube([34,60,24]); translate([3,3,25])cube([36,36,6]); } translate([0,0,29])fanmount(); } } module righttriangle(length=1,height=1){ difference(){ cube([length,length,height]); translate([0,0,-1])rotate([0,0,45])cube([2*length,2*length,height+2]); } } module anglesupport(){ translate([20,60,20])rotate([90,180,0])righttriangle(20,3); translate([40,60,0])rotate([90,270,0])righttriangle(20,3); translate([0,57,15])cube([40,3,15]); } module anglesupport2(){ translate([20,60,20])rotate([90,180,0])righttriangle(20,3); translate([40,60,0])rotate([90,270,0])righttriangle(20,3); translate([0,57,18])cube([40,3,2]); } union(){ whole(); anglesupport(); translate([0,-40,10])anglesupport2(); }