23 screen_sz = [ 45, 46 ];
31 case_x_less = 0; //case_x_less = 10;
38 outer_cnr_rad = inner_cnr_rad + thick[2];
40 x_sliced = outer_cnr_rad * (1-sin(45));
42 module RoundedProfile(sz, cnr_rad){
44 for (x=[ cnr_rad, sz[0]-cnr_rad ])
45 for (y=[ cnr_rad, sz[1]-cnr_rad ])
47 circle(r= cnr_rad, $fn=20);
51 module RoundedCube(sz, cnr_rad){
53 for (x=[ cnr_rad, sz[0]-cnr_rad ])
54 for (y=[ cnr_rad, sz[1]-cnr_rad ])
55 for (z=[ cnr_rad, sz[2]-cnr_rad ])
57 sphere(r= cnr_rad, $fn=20);
68 - [1,0,0] * (thick[0])
69 + [1,0,0] * (x_sliced)
70 - [case_x_less, 0, 0],
73 for (yp= [ btn_yprop, 1-btn_yprop ])
77 cylinder(r= btn_dia/2, h=20);
82 cube(concat(abtn_sz, [ thick[2]*3 ]), center=true);
85 translate([ screen_xbot,
86 (psz[1] - screen_sz[1])/2,
88 cube(concat(screen_sz, [ thick[2]+2 ]));
91 for (x=[ thumb_xbot+thumb_dia/2, psz[0]+10 ])
95 cylinder(r= thumb_dia/2,
100 translate([ thick[0], -10, -10 ])
101 cube([ 10, psz[1]+20, psz[2]+20 ]);
103 //translate([-50,-50,10]) cube([100,100,100]);
107 RoundedCube(psz + [1,0,0],
110 if (0) for (m=[0,1]) {
111 translate([0,ym,0]) mirror([0,m,0]) translate([0,-ym,0])
112 translate([-1,-1, psz[2]-rail_zsz])
113 cube([psz[0]+1, rail_ysz+1, rail_zsz+1]);
120 //RoundedCube(psz, inner_cnr_rad);