$fn=60; include b_length=200; b_height=42; sb_height=5; m_width=b_height+5; m_length=b_length+5; m_height=8; wall=3; blades=1; sliders=4; // board module bladeboard() { color("blue") difference() { cuboid([200,2,42], rounding=2, edges=[TOP+LEFT,TOP+RIGHT,BOT+LEFT,BOT+RIGHT]); // holes translate([-97.5,2,18.5]) ycyl(l=m_width-wall, d=2.7); translate([88,2,8.75]) ycyl(l=m_width-wall, d=2.7); } color("grey", alpha=0.5) translate([0,-9.5,0]) cuboid([200,17,40], rounding=2, edges=[TOP+LEFT,TOP+RIGHT,BOT+LEFT,BOT+RIGHT]); } module enclosure() { difference() { cuboid([m_length,m_width+2,m_height], rounding=1.5); translate([0,0,sb_height]) rotate([-90,0,0]) cuboid([202,sb_height,m_width-2], rounding=2, edges=[TOP+LEFT,TOP+RIGHT,BOT+LEFT,BOT+RIGHT]); translate([0,0,1]) rotate([-90,0,0]) cuboid([b_length-wall,sb_height,b_height-wall], rounding=2, edges=[TOP+LEFT,TOP+RIGHT,BOT+LEFT,BOT+RIGHT]); translate([-97.5,18.5,0]) zcyl(l=m_height, d=2.7, rounding=-1); translate([88,8.75,0]) zcyl(l=m_height, d=2.7, rounding=-1); } translate([-97.5,18.5,0]) tube(l=sb_height, od=6, id=2.7); translate([88,8.75,0]) tube(l=sb_height, od=6, id=2.7); /*[bladeboards]*/ * translate([0,0,6]) rotate([-90,0,0]) bladeboard(); } difference() { /*[rack]*/ for (i=[0:1:blades-1]) { translate([0,i*m_width,0]) enclosure(); } /*[sliding_base]*/ for (i=[0:50:50*(sliders-1)]) { translate([i-90,m_width-60,-m_height-10]) rotate([90,0,90]) import("sliding_block_base.stl"); } } /*[quad_rack]*/ * color("blue", alpha=1) translate([0,-83.5,128]) rotate([0,90,0]) import("obj_1_Soquartz Blade 1 U Server Rack Mount Quad.stl"); color("red") { difference() { union() { translate([0,0,23]) rotate([0,90,0]) rect_tube(h=m_length, size=m_width+5, wall=3, rounding=1.5, center=true); translate([-m_length/2,0,23]) cuboid([3,m_width+5,m_width+5], rounding=1.5); } cuboid([m_length+2,m_width+2,m_height+1.5], rounding=1.5); translate([-m_length/2,0,25]) xcyl(l=10, d=30); for (i=[-2:1:2]) { translate([i*40,0,47.5]) zcyl(l=3, d=30, rounding=-1.5); translate([i*40,0,25]) ycyl(l=m_width+5, d=30, rounding=-1.5); } } }