catch_finger_height = 1.5;
catch_finger_depth = 2.5;
+catch_topcurve_r = 5.0;
+
prop_recess_under = 0.50;
prop_recess_slop = 0.200; // each side
prop_end_dia = 0.5;
children();
}
-module CatchPortion(width){
- translate([phone_width/2, 0,0])
- rotate([90,0,-90])
- linextr(-width/2, width/2)
- children(0);
+module CatchPortion(xwidth, ztop){
+ width = catch_width + xwidth;
+ w = width + catch_topcurve_r*2 + 1;
+ translate([phone_width/2, 0,0]){
+ difference(){
+ rotate([90,0,-90])
+ linextr(-w/2, w/2)
+ children(0);
+ translate([0, 50, 0])
+ rotate([90,0,0])
+ 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, -50])
+ square(catch_topcurve_r*2, center=true);
+ }
+ }
+ }
+ }
+ }
}
module CaseBase(){
HingeScrews();
// catch striker
- CatchPortion(catch_width + catch_side_gap*2)
+ CatchPortion(catch_side_gap*2, epp4[1])
CatchCutProfile();
// prop recess
}
// catch
- CatchPortion(catch_width)
+ CatchPortion(0, lpp12[1])
CatchCatchProfile();
}
Struts(lpp10[0] + strut_min_at_end, lpp13[1], -case_th_lid);