handle_d = 2;
handle_w = 8;
handle_rh = 2;
+handle_rcut = 3;
// calculated
ins_orad = openingcnr_dia/2 + opening_height - gap;
ins_th = ins_orad - ins_irad;
+handle_x0 = ins_irad;
handle_h = bot_overlap + ins_th;
handle_y0 = -ins_orad-bot_overlap;
+handle_y1 = handle_y0 + handle_h;
+
+handle_x1 = handle_x0 + bot_w + handle_w;
module InsertSection(){
translate([-ins_orad, 0]) square([ins_th, opening_topprotr]);
translate([0.1,0.1]) mirror([1,1]) square([100,100]);
difference(){
circle(r= ins_orad);
- circle(r= ins_irad, $fn=10);
+ circle(r= ins_irad, $fn=20);
}
}
}
module HandleSection(){
- hull(){
- translate([ins_irad, handle_y0])
- square([bot_w, handle_h]);
+ difference(){
+ hull(){
+ translate([handle_x0, handle_y0])
+ square([bot_w, handle_h]);
+ for (dy= [handle_rh/2, handle_h - handle_rh/2]) {
+ translate([handle_x1 - handle_rh/2, handle_y0 + dy])
+ circle(r= handle_rh/2, $fn=20);
+ }
+ }
+ hull(){
+ for (x= [handle_x0 + bot_w + handle_rcut/2,
+ handle_x1 - handle_rh/2 - handle_rcut/2]) {
+ translate([x, handle_y1])
+ circle(r = handle_rcut/2, $fn=20);
+ }
+ }
}
}