// -*- C -*- opening_height = 7.84; opening_depth = 7.88; openingedge_dia = 1.34; opening_protrh = 1.8; pivot_x = 6; inside_len = 4; pivoting_gap = 1; outside_gap = 3; outside_len = 10; outend_height = 4; ourcirc_r = 0.5 / 2; opening_protr_slop = 0.1; intooth_top_slop = 0.1; inside_h_xgap = 1; // calculated inside_h = opening_height/2 - opening_protrh - inside_h_xgap/2; Q0 = [ openingedge_dia/2, openingedge_dia/2 + opening_height/2 ]; P0 = [ pivot_x, pivoting_gap ]; P4 = Q0 + [ -(openingedge_dia/2 + opening_protr_slop + ourcirc_r), 0 ]; P3 = [ P4[0], Q0[1] - openingedge_dia/2 + opening_protrh - intooth_top_slop - ourcirc_r ]; P2 = P4 + [ -(inside_len - ourcirc_r*2), 0 ]; P1 = [ P2[0], P3[1] - (inside_h + ourcirc_r*2) ]; P9 = [ outside_len - ourcirc_r, outside_gap/2 + ourcirc_r ]; P8 = P9 + [ 0, outend_height - ourcirc_r*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]); } } } } translate([-opening_depth, -toph]) { difference(){ translate([-5,-5]) square([opening_depth+6, toph*2+10]); square([opening_depth+2, toph*2]); } } } module LeverSect(){ } ExtrusionSect();