$fn=60; include include include frame_l=180; frame_e=3; p_height=5; module pilar() { difference() { zcyl(l=p_height, d=8, rounding1=-2); zcyl(l=p_height, d=3, rounding=-1); } } // module io_board() { cuboid([110,80,frame_e], rounding=3, edges=[FWD+RIGHT,FWD+LEFT,BACK+RIGHT,BACK+LEFT]); translate([-39,-24.5,p_height-1]) pilar(); translate([-39,24.5,p_height-1]) pilar(); translate([19,-24.5,p_height-1]) pilar(); translate([19,24.5,p_height-1]) pilar(); } // io_mount difference() { union() { //base cuboid([frame_l,frame_l,frame_e], rounding=5, edges=[FWD+RIGHT,FWD+LEFT,BACK+RIGHT,BACK+LEFT]); // io_boards translate([-25,40,0]) io_board(); translate([-25,-40,0]) io_board(); } translate([-35,40,0]) cuboid([60,40,frame_e+1], rounding=3, edges=[FWD+RIGHT,FWD+LEFT,BACK+RIGHT,BACK+LEFT]); translate([-35,-40,0]) cuboid([60,40,frame_e+1], rounding=3, edges=[FWD+RIGHT,FWD+LEFT,BACK+RIGHT,BACK+LEFT]); translate([frame_l/4+5,frame_l/4-2.5,0]) cuboid([frame_l/2-30,frame_l/2-17.5,frame_e+1], rounding=5, edges=[FWD+RIGHT,FWD+LEFT,BACK+RIGHT,BACK+LEFT]); translate([frame_l/4+5,-frame_l/4+2.5,0]) cuboid([frame_l/2-30,frame_l/2-17.5,frame_e+1], rounding=5, edges=[FWD+RIGHT,FWD+LEFT,BACK+RIGHT,BACK+LEFT]); }