-module HandleSection(){
- difference(){
- hull(){
- translate([handle_x0, handle_y0])
- square([bot_w, handle_h]);
- for (y= [handle_y1 - handle_rh/2,
- handle_y1 - ins_th + handle_rh/2]) {
- translate([handle_x1 - handle_rh/2, y])
- 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);
+P8t = [ outside_len - ourcirc_r, P5[1] ];
+P9t = P8t + [ 0, -(strap_above + strap_th + strap_below - ourcirc_r*2) ];
+
+P9b = [ P9t[0], -P9t[1] + outside_gap ];
+P8b = P9b + [ 0, outend_height ];
+
+P6t = P5 + [ 0, outside_pushh - ourcirc_r*2 ];
+P7 = [ P6t[0] + (P6t[1] - P1[1]) / outside_pushslope,
+ P1[1] ];
+
+P3a = P3t + [ -outside_push_inadj, 0 ];
+P6a = P6t + [ -outside_push_inadj, 0 ];
+
+outside_push_inadj_slope = (P3t[1]-P4[1]) / (P6a[1]-P5[1]);
+
+ribble_rad = ribble_dia/2;
+
+module ExtrusionSect(){
+ cr = openingedge_dia/2;
+ toph = opening_height/2 + opening_protrh;
+
+ for (my=[0,1]) {
+ mirror([0,my]) {
+ translate(Q0) {
+ hull(){
+ circle(r=cr, $fn=20);
+ translate([-cr,10]) square([cr*2, 1]);
+ }