6 opening_topprotr = 1.54;
20 ins_irad = openingcnr_dia/2 + gap;
21 ins_orad = openingcnr_dia/2 + opening_height - gap;
22 ins_th = ins_orad - ins_irad;
25 handle_h = bot_overlap + ins_th;
26 handle_y0 = -ins_orad-bot_overlap;
27 handle_y1 = handle_y0 + handle_h;
29 handle_x1 = handle_x0 + bot_w + handle_w;
31 module InsertSection(){
32 translate([-ins_orad, 0]) square([ins_th, opening_topprotr]);
33 translate([0, -ins_orad]) square([ins_irad+1, ins_th]);
35 translate([0.1,0.1]) mirror([1,1]) square([100,100]);
38 circle(r= ins_irad, $fn=20);
43 module HandleSection(){
46 translate([handle_x0, handle_y0])
47 square([bot_w, handle_h]);
48 for (dy= [handle_rh/2, handle_h - handle_rh/2]) {
49 translate([handle_x1 - handle_rh/2, handle_y0 + dy])
50 circle(r= handle_rh/2, $fn=20);
54 for (x= [handle_x0 + bot_w + handle_rcut/2,
55 handle_x1 - handle_rh/2 - handle_rcut/2]) {
56 translate([x, handle_y1])
57 circle(r = handle_rcut/2, $fn=20);