hingescrew_shaft_dia = 2.0 + 0.25; // M2 x 12mm machine screw
hingescrew_shaft_len = 12;
hingescrew_nut_thick = 1.93 + 0.20; // incl. washer
-hingescrew_nut_dia = 4.72 + 0.50; // washer, actually
-hingescrew_nut_across = 3.92 + 0.25;
+hingescrew_nut_access_dia = 4.72 + 0.50;
+// ^ washer is 4.72 dia
+// also, want to get pliers or tiny spanner in to do up locknut
+hingescrew_nut_across = 3.92 + 0.25; // incl. slop around recess slop
+hingescrew_nut_thick_real = 1.93;
hingescrew_head_th = 1.38 + 0.75;
hingescrew_head_dia = 3.92;
lever_cover_th = 0.75;
hingemount_th = 2.5;
+hingescrew_nut_recess_portion = 2/3; // portion of nut in recess
+
$fa = 5;
$fs = 0.1;
bppW = lpp10;
// hinge plan
-hp_rn = hingescrew_nut_dia/2;
+hp_rn = hingescrew_nut_access_dia/2;
hp_r2_min = hp_rn + lever_cover_th;
hp_rs = hingescrew_shaft_dia/2;
hp_r1_min = hp_rs + hingemount_th;
hex22 = hex21 + hinge_x_gap;
hex23 = hex22 + hingescrew_portion_len
- hingescrew_nut_thick; // bodge, need to divvy this up more sensibly
+hex26 = hex23 + hingescrew_nut_thick_real * 2/3;
hex24 = hex20 + hingescrew_shaft_len + hinge_x_postscrew_gap;
-//echo(hex20, hex21, hex22, hex23, hex24);
+
+echo(hex20, hex21, hex22, hex23, hex24);
+// 6, 10.8725, 10.9975, 13.74, 18.75
+module chk(act,exp) {
+ if (abs(act-exp) > 1e-9) echo("WRONG", act, exp);
+ else echo("ok", act);
+}
+chk(hex20, 6);
+chk(hex21, 10.8725);
+chk(hex22, 10.9975);
+chk(hex23, 13.74);
+chk(hex24, 18.75);
//echo(hingescrew_portion_len);
// catch
HingeLeverOuterProfile();
// space for the screws
- HingePortion(hex23, hex24)
+ HingePortion(hex26, hex24)
HingeLeverInnerProfile();
+ // recesses for the nuts
+ HingePortion(hex23, hex26+1)
+ HingeLeverNutProfile();
+
// bores for the screws
HingeScrews();
}
module DemoHinge(){ ////toplevel
- DemoFrame();
- translate([0,0, -hp_k*3])
- DemoHingedFrame();
+ translate([ -0.5*phone_width, phone_height, hp_k*3 ]) {
+ DemoFrame();
+ translate([0,0, -hp_k*3])
+ DemoHingedFrame();
+ }
}
module DemoProfiles(){ ////toplevel