8 tot_height = 22.74 + 1.0;
9 screw_ctr_to_tr = [ 7.89, 3.87 ];
15 app_slop = 0.60; // total across both sides
19 tab_h = tot_height - ap_height;
21 real_main_sz = [ ap_width, ap_height ] - app_slop * [ 1,1 ];
22 real_all_sz = real_main_sz + tab_h * [0,1];
23 real_inner_sz = real_main_sz - wall_th * [ 2,1 ];
25 screw_pos = real_all_sz - (screw_ctr_to_tr - 0.5 * app_slop * [1,1]);
28 rectfromto([ wall_th, -1 ],
29 real_main_sz - wall_th * [1,1]);
38 rectfromto([0,0], real_all_sz);
41 module Grommet(){ ////toplevel
44 linextr(0, tab_th + wall_h) MainPlan();
45 linextr(0, tab_th) AllPlan();
47 linextr(-1, tab_th + wall_h + 1) GapPlan();
48 translate(concat(screw_pos, [-1]))
49 english_thread(diameter = 0.1380,
50 threads_per_inch = 32,