23 screen_sz = [ 45, 46 ];
31 case_x_less = 0; //case_x_less = 10;
38 outer_cnr_rad = inner_cnr_rad + thick[2];
40 module RoundedProfile(sz, cnr_rad){
42 for (x=[ cnr_rad, sz[0]-cnr_rad ])
43 for (y=[ cnr_rad, sz[1]-cnr_rad ])
45 circle(r= cnr_rad, $fn=20);
49 module RoundedCube(sz, cnr_rad){
51 for (x=[ cnr_rad, sz[0]-cnr_rad ])
52 for (y=[ cnr_rad, sz[1]-cnr_rad ])
53 for (z=[ cnr_rad, sz[2]-cnr_rad ])
55 sphere(r= cnr_rad, $fn=20);
65 - [1,0,0] * (thick[0])
66 - [case_x_less, 0, 0],
69 for (yp= [ btn_yprop, 1-btn_yprop ])
73 cylinder(r= btn_dia/2, h=20);
78 cube(concat(abtn_sz, [ thick[2]*3 ]), center=true);
81 translate([ screen_xbot,
82 (psz[1] - screen_sz[1])/2,
84 cube(concat(screen_sz, [ thick[2]+2 ]));
87 for (x=[ thumb_xbot+thumb_dia/2, psz[0]+10 ])
91 cylinder(r= thumb_dia/2,
96 //translate([ thick[0] -
101 RoundedCube(psz + [1,0,0],
104 if (0) for (m=[0,1]) {
105 translate([0,ym,0]) mirror([0,m,0]) translate([0,-ym,0])
106 translate([-1,-1, psz[2]-rail_zsz])
107 cube([psz[0]+1, rail_ysz+1, rail_zsz+1]);
114 //RoundedCube(psz, inner_cnr_rad);