// Rostock Platform Fan Holder, (c) 2013 David Smith // licensed under the Creative Commons - GNU GPL license. // http://www.thingiverse.com/thing:74728 hole_radius = 7.5; hole_depth = 8; tube_height = 16; fan_thickness = 20; //11.75; fan_corner_height = 16; // from platform base holder_width = fan_thickness + 6; smoothness = 64; rim_width = 4; fudge = 8; hole_offset = 7; intersection() { difference() { union() { cylinder( tube_height, hole_radius, hole_radius, $fn=smoothness ); translate([0,0,hole_depth]) cylinder( tube_height+sqrt(2*holder_width*holder_width)/2, hole_radius, rim_width+sqrt(2*holder_width*holder_width)/2, $fn=smoothness ); } cylinder( hole_depth+fan_corner_height+sqrt(2*holder_width*holder_width)/2, 5, 5, $fn=smoothness ); translate([-fan_thickness/2,0,hole_depth+fan_corner_height]) rotate([45,0,0]) cube(size = [fan_thickness,holder_width,holder_width], center = false); translate([-(2*rim_width+2*fan_thickness)/2,0,hole_depth+fan_corner_height+hole_offset]) rotate([0,90,0]) #cylinder( 2*rim_width+2*fan_thickness, 3, 3, $fn=smoothness); } translate([-sqrt(2*holder_width*holder_width)/2+fudge/2, -sqrt(2*holder_width*holder_width)/2-rim_width, 0]) cube(size=[sqrt(2*holder_width*holder_width)-fudge,sqrt(2*holder_width*holder_width)+rim_width*2, hole_depth+tube_height+sqrt(2*holder_width*holder_width)/2], center = false); }