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_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;
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(hingescrew_portion_len);
c = s > 0 ? hppT : hppB;
translate(c)
mirror([0,0,s>0])
- rotate(-s * 45)
+ rotate(s<0 ? -40 : 0)
hull()
for (x=[-20,20])
for (y=[0, s * 10])
}
}
+module HingeLeverNutProfile(){
+ for (c= [hppB, hppT]) {
+ translate(c)
+ circle($fn=6, r= 0.5 * hingescrew_nut_across / cos(30));
+ }
+}
+
module Flip_hinge(doflip=1){
hinge_origin = [0, -(phone_height - hppB[0]), hppB[1]];
translate(hinge_origin)
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 HingeLeverPrint(){ ////toplevel
- rotate([90,0,0])
+ rotate([-90,0,0])
+ translate([-phone_width/2, phone_height, 0])
HingeLever();
}
color("blue") HingeLidProfile();
color("red") HingeBaseProfile();
color("black") translate([0,0,-2]) HingeLeverOuterProfile();
- color("orange") translate([0,0,-1]) HingeLeverInnerProfile();
+ }
+
+ for (f=[0,1]) {
+ translate([-30, -60 + 30*f]) {
+ translate([0,0,-4]) EdgeProfile();
+ %translate([0,0,-10]) HingeBaseProfile();
+ translate([0,-2] * f * hp_k) {
+ translate([0,0,-4]) LidEdgeProfile();
+ %translate([0,0,-10]) %HingeLidProfile();
+ }
+ translate(+hppB) rotate([0,0,180*f]) translate(-hppB) {
+ translate([0,0,-2]) color("black") HingeLeverOuterProfile();
+ translate([0,0,0]) color("red") difference(){
+ HingeLeverOuterProfile();
+ HingeLeverInnerProfile();
+ }
+ translate([0,0,3]) color("yellow") HingeLeverNutProfile();
+ }
+ }
}
translate([20,-30]) {