lid_lip = 1.75;
lid_edgepart_width = 5.0;
lid_buttoncover_thick = 1.3;
-lid_buttoncover_reinf = 1.0;
-
-catch_slop = 0.50;
+lid_buttoncover_reinf = 0.65;
foldover_gap = 0.50;
foldover_lever_gap = 0.50;
rearspeaker_gap = [ 2.0, 2.0 ]; // each side
-catch_len = 7.5;
+catch_slop = -0.75;
+
+catch_len = 4.5;
catch_width = 15;
catch_thickness = 1.3;
catch_side_gap = 0.75; // each side
-catch_depth = 1.25;
+catch_depth = 0.75;
catch_height = 0.35;
catch_finger_height = 1.5;
catch_finger_depth = 2.5;
-catch_catch_slope = 0.25;
+catch_catch_slope = 2.00;
+catch_close_slope = 3.00;
catch_topcurve_r = 5.0;
cppC = [ cppB[0], cppD[1] ];
cppT = cppS + [1, -catch_catch_slope] * catch_depth;
cppU = cppT + [0,-1] * catch_height;
-cppV = [ cppS[0], cppU[1] - catch_depth ];
+cppV = [ cppS[0], cppU[1] - catch_depth * catch_close_slope ];
cppR = 0.5*(cppP + cppJ);
}
}
-module CatchCatchProfile(){
- hull(){
- for (c=[ cppR, cppQ ])
- circleat(c, cp_rQ);
- }
- hull(){
- circleat(lpp12, lp_r12);
- circleat(lpp12 + [5,0], lp_r12);
- rectfromto(cppP, cppP + [5,0.1]);
- }
- polygon([cppJ, cppS, cppT, cppU, cppV, cppQ, cppR]);
-}
-
module CatchCutProfile(){
polygon([ cppB,
cppA,
LidEdgeProfile();
HingeLidProfile();
}
-
- // catch
- CatchPortion(0, lpp12[1])
- CatchCatchProfile();
}
Struts(lpp10[0] + strut_min_at_end, lpp13[1], -case_th_lid);
%EdgeProfile();
%LidEdgeProfile();
//translate([0,0,1]) CatchCutProfile();
- color("blue") CatchCatchProfile();
- color("red") difference(){ EdgeProfile(); CatchCutProfile(); }
+ translate([0,0,+1]) color("red")
+ difference(){ EdgeProfile(); CatchCutProfile(); }
}
translate([40,-30]) {