// 3. use "make" to generate the necessary files:
//
// make -j8 fairphone-case.auto.scads `for f in \
-// HingePrint \
+// HingeLeverPrint \
// LidPrint \
// OneKeeperPrint \
// Case \
// 4. Print them. Case and OneKeeperPrint should probably be
// the same colour.
//
-// 5. Assemble the hinge.
+// 5. Assemble the hinge. After placing the parts in the appropirate
+// relative placement:
//
-// Cut short bits of wire
-// Push in with long bit of wire
-// Use gas flame to melt end of 2.85mm PLA
-// Dab
+// Use long bit of wire to ensure holes are lined up and proper
+// Cut four short bits of wire, using above as a guage
+//
+// Push two short bits into two holes on same side
+// Use long bit of wire to ensure properly in holes
+// Keep that side up so they don't fall out!
+//
+// For each of the two holes
+// Use 20-30cm hunk of 2.85mm PLA
+// Use gas flame to melt end until it catches fire (!)
+// Remove from flame, wave to extinguish, and quickly:
+// Dab end onto where hole is
+// As it congeals, use sidecutters to cut off by hole
+//
+// Repeat for two holes on other side
+// When cool, file down rough edges
//
// 6. In use:
//
case_th_bottom = 2.5;
case_th_lid = 3.0;
-case_th_side = 2.3;
+case_th_side = 2.6;
case_th_lip = 1.2;
lid_screen_gap_extra = .66;
keeper_gap_x_holes = 0.75;
keeper_fatter = 0.45;
keeper_fatter_hole = 1.20;
+keeper_stubbier = 0.0;
keeper_side = 0; // 0 = lhs; 1 = rhs
lid_lip = 1.75;
lid_edgepart_width = 5.0;
lid_buttoncover_thick = 1.3;
-lid_buttoncover_reinf = 0.65;
+lid_buttoncover_reinf = 0.95;
foldover_gap = 0.50;
foldover_lever_gap = 0.50;
}
}
-module KeeperProfile(fatter, slant=0){
+module KeeperProfile(fatter=0, slant=0, stubbier=0){
use_e = kppe + [0,-1] * slant * keeper_inner_width / keeper_slant_slope;
polygon([use_e + [+1,-1] * fatter,
- kppd + [ 0,-1] * fatter,
- kppc,
+ kppd + [ 0,-1] * fatter - stubbier * [1,0],
+ kppc - stubbier * [1,0],
kppb,
- kppa,
- kppf + [+1, 0] * fatter
+ kppa + stubbier * [0,1],
+ kppf + [+1, 0] * fatter + stubbier * [0,1]
]);
}
Flip_rhs(1) SideButton(64.220, +1, 14.500 ) children(); // power
Flip_rhs(1) LidButtonishLeg(14, -1) children();
Flip_rhs(0) LidButtonishLeg(21, -1) children();
- Flip_rhs(0) LidButtonishLeg(21, +1) children();
+ Flip_rhs(0) LidButtonishLeg(38, +1) children();
+ Flip_rhs(0) LidButtonishLeg(14, +1) children();
}
module Struts(x_start, z_min, th){
translate([0, -phone_cnr_rad, 0])
rotate([90, 0, 0])
linear_extrude(height = phone_height - phone_cnr_rad * 2)
- KeeperProfile(fatter=keeper_fatter);
+ KeeperProfile(fatter=keeper_fatter, stubbier=keeper_stubbier);
}
module OneKeeperPrint(){ ////toplevel