rearspeaker_gap = [ 2.0, 2.0 ]; // each side
thumbrecess_depth = 1.3;
-
-catch_slop = -0.75;
-
-catch_len = 4.5;
-catch_width = 15;
-catch_thickness = 1.3;
-catch_side_gap = 0.75; // each side
-
-catch_depth = 0.75;
-catch_height = 0.35;
-catch_finger_height = 1.5;
-catch_finger_depth = 2.5;
-catch_catch_slope = 2.00;
-catch_close_slope = 3.00;
-
-catch_topcurve_r = 5.0;
+thumbrecess_width = 16.5;
+thumbrecess_topcurve_r = 5.0;
prop_recess_under = 0.50;
prop_recess_slop = 0.200; // each side
lid_fold_clearance_antislop = 0.5;
+$button_leg_only = false;
+$suppress_forward_holes = false;
+
// ---------- calculated ----------
phone_width = (phone + bumper*2)[0];
}
}
-module CatchCutProfile(){
+module ThumbRecessCutProfile(){
difference(){
polygon([ cppA + [-10,0],
cppB + [-10,0],
children();
}
-module CatchPortion(xwidth, ztop){
- width = catch_width + xwidth;
- w = width + catch_topcurve_r*2 + 1;
+module ThumbRecessApply(ztop){
+ width = thumbrecess_width;
+ w = width + thumbrecess_topcurve_r*2 + 1;
translate([phone_width/2, 0,0]){
difference(){
rotate([90,0,-90])
linear_extrude(height=100){
for (m=[0,1]) mirror([m,0,0]) {
hull(){
- translate([w/2, ztop - catch_topcurve_r])
- circle(catch_topcurve_r);
+ translate([w/2, ztop - thumbrecess_topcurve_r])
+ circle(thumbrecess_topcurve_r);
translate([w/2, -50])
- square(catch_topcurve_r*2, center=true);
+ square(thumbrecess_topcurve_r*2, center=true);
}
}
}
}
// apertures along top edge
- CaseAperture(jack_pos, jack_dia, 8);
- Flip_rhs(1)
- CaseAperture(noisecancelmic_pos, noisecancelmic_dia, 8);
+ if (!$suppress_forward_holes) {
+ CaseAperture(jack_pos, jack_dia, 8);
+ Flip_rhs(1)
+ CaseAperture(noisecancelmic_pos, noisecancelmic_dia, 8);
+ }
OrdinaryRearApertures();
// screw holes in the hinge arms
HingeScrews();
- // catch striker
- CatchPortion(catch_side_gap*2, epp4[1])
- CatchCutProfile();
+ // thumb recess
+ ThumbRecessApply(epp4[1])
+ ThumbRecessCutProfile();
// lanyard
Flip_bot(1)
translate([20,-30]) {
%EdgeProfile();
%LidEdgeProfile();
- //translate([0,0,1]) CatchCutProfile();
+ //translate([0,0,1]) ThumbRecessCutProfile();
translate([0,0,+1]) color("red")
- difference(){ EdgeProfile(); CatchCutProfile(); }
+ difference(){ EdgeProfile(); ThumbRecessCutProfile(); }
}
translate([40,-30]) {