// -*- C -*- psz = [ 120, 56 + 5, 15 + 3, ]; thick = [ 2, 3, 2.5, ]; btn_x = 58; btn_dia = 14; btn_yprop = 0.23; rail_ysz = 4; rail_zsz = 2.5; module Case(){ difference(){ mirror([1,0,0]) translate(-thick) cube(psz + 2*thick - [1,0,0] * (thick[0])); for (yp= [ btn_yprop, 1-btn_yprop ]) translate([ -btn_x, yp * psz[1], 0.5 * psz[2] ]) cylinder(r= btn_dia/2, h=20); #mirror([1,0,0]) difference(){ cube(psz + [1,0,0]); } } } Case();