$fn=60; include include include frame_l=130; 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); } } // holes_positions color("red") { translate([-56.4,-41.9,5]) zcyl(l=20, d=1); translate([-56.4,56.4,5]) zcyl(l=20, d=1); translate([56.4,56.4,5]) zcyl(l=20, d=1); translate([56.4,-56.4,5]) zcyl(l=20, d=1); } color("pink") { // base_plate difference() { cuboid([frame_l,frame_l,frame_e], rounding=3, edges=[FWD+RIGHT,FWD+LEFT,BACK+RIGHT,BACK+LEFT]); cuboid([frame_l-30,frame_l-30,frame_e+1], rounding=3, edges=[FWD+RIGHT,FWD+LEFT,BACK+RIGHT,BACK+LEFT]); } *rect_tube(3, frame_l, wall=frame_e*6, rounding=frame_e, irounding=frame_e/2, center=true); // pcb_supports translate([0,0,p_height-1]) { translate([-56.4,-41.9,0]) pilar(); translate([-56.4,56.4,0]) pilar(); translate([56.4,56.4,0]) pilar(); translate([56.4,-56.4,0]) pilar(); } } translate([0,0,10]) pcb();