$fn=60; include // board module board() { color("blue") difference() { cuboid([85,56,1], rounding=3, edges=[FWD+RIGHT,FWD+LEFT,BACK+RIGHT,BACK+LEFT]); translate([-39,-24.5,0]) zcyl(l=2, d=3); translate([-39,24.5,0]) zcyl(l=2, d=3); translate([19,-24.5,0]) zcyl(l=2, d=3); translate([19,24.5,0]) zcyl(l=2, d=3); } } // fan module fan() { color("orange", alpha=.5) difference() { cuboid([120,120,25], rounding=3, edges=[FWD+RIGHT,FWD+LEFT,BACK+RIGHT,BACK+LEFT]); translate([-52.75,-52.75,0]) zcyl(l=25, d=4.5, rounding=-1); translate([-52.75,52.75,0]) zcyl(l=25, d=4.5, rounding=-1); translate([52.75,-52.75,0]) zcyl(l=25, d=4.5, rounding=-1); translate([52.75,52.75,0]) zcyl(l=25, d=4.5, rounding=-1); } } /*[sliding_base]*/ rotate([90,0,0]) { translate([-72,-15,40]) import("sliding_block_base.stl"); translate([-72,-15,-60]) import("sliding_block_base.stl"); } difference() { translate([-5,0,0]) cuboid([140,130,3], rounding=3, edges=[FWD+RIGHT,FWD+LEFT,BACK+RIGHT,BACK+LEFT]); translate([-10,0,0]) cuboid([60,40,3], rounding=3, edges=[FWD+RIGHT,FWD+LEFT,BACK+RIGHT,BACK+LEFT]); translate([-39,-24.5,0]) zcyl(l=3, d=2.8); translate([-39,24.5,0]) zcyl(l=3, d=2.8); translate([19,-24.5,0]) zcyl(l=3, d=2.8); translate([19,24.5,0]) zcyl(l=3, d=2.8);translate([-52.75,-52.75,0]) zcyl(l=3, d=2.8); translate([-52.75,52.75,0]) zcyl(l=3, d=2.8); translate([52.75,-52.75,0]) zcyl(l=3, d=2.8); translate([52.75,52.75,0]) zcyl(l=3, d=2.8); } // pilars color("cyan") { difference() { union() { // tubes translate([0,0,13]) { translate([-52.75,-52.75,0]) tube(l=25, od=10, id=2.8); translate([-52.75,52.75,0]) tube(l=25, od=10, id=2.8); translate([52.75,-52.75,0]) tube(l=25, od=10, id=2.8); translate([52.75,52.75,0]) tube(l=25, od=10, id=2.8); } // arches translate([0,0,36.5]) { translate([0,52.75,0]) cuboid([126,10,33], rounding=1); translate([0,-52.75,0]) cuboid([126,10,33], rounding=1); } } // holes translate([0,0,36.5]) { translate([52.75,52.75,0]) zcyl(l=33, d=4.5, rounding=-1); translate([-52.75,52.75,0]) zcyl(l=33, d=4.5, rounding=-1); translate([52.75,-52.75,0]) zcyl(l=33, d=4.5, rounding=-1); translate([-52.75,-52.75,0]) zcyl(l=33, d=4.5, rounding=-1); } // fan translate([0,0,37]) cuboid([122,122,27]); } } translate([0,0,7]) board(); translate([0,0,37]) fan();