X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=reprap-play.git;a=blobdiff_plain;f=fairphone-case.scad;h=64fe13d8e308f6b13ff4ee8eb74ec15ff56713b0;hp=91f2a1156caea5746d3b858e9787b699ee1674aa;hb=3280426eef100da072284693787efb97ca2fe848;hpb=8aea257735515a0acf09fa1ce73ccb77ac65d00e diff --git a/fairphone-case.scad b/fairphone-case.scad index 91f2a11..64fe13d 100644 --- a/fairphone-case.scad +++ b/fairphone-case.scad @@ -93,9 +93,12 @@ hinge_r_arms_gap = 0.55; rearspeaker_gap = [ 1.0, 1.0 ]; // each side -catch_len = 9; +catch_len = 7.5; +catch_width = 15; +catch_thickness = 1.0; +catch_side_gap = 0.75; // each side -catch_depth = 0.75; +catch_depth = 1.25; catch_height = 0.35; catch_finger_height = 1.5; catch_finger_depth = 2.5; @@ -185,7 +188,7 @@ hex20 = max(epp2o[0], phone_cnr_rad, kppd[0] + hingescrew_head_th + keeper_gap_x_holes); hex21 = hex20 + hingescrew_portion_len; -hex22 = hex21 - hinge_x_gap; +hex22 = hex21 + hinge_x_gap; hex23 = hex22 + hingescrew_portion_len; hex24 = hex20 + hingescrew_shaft_len + hinge_x_postscrew_gap; echo(hex20, hex21, hex22, hex23, hex24); @@ -193,7 +196,7 @@ echo(hingescrew_portion_len); // catch -cppJ = bppJ; +cppJ = [ epp4[0] + catch_thickness, lpp10[1] ]; cppA = cppJ + [lid_gap_x, -lid_gap_z]; cppB = [ epp0[0], cppA[1] ]; cppP = [ epp4[0], cppJ[1] ]; @@ -203,7 +206,7 @@ cppD = [ cppA[0], cppS[1] + catch_slop ]; cppC = [ cppB[0], cppD[1] ]; cppT = cppS + [1,0] * catch_depth; cppU = cppT + [0,-1] * catch_height; -cppV = [ cppS[0], cppU[1] - catch_height ]; +cppV = [ cppS[0], cppU[1] - catch_depth ]; cppR = 0.5*(cppP + cppJ); @@ -539,6 +542,13 @@ module HingePortion(x0,x1){ children(0); } +module CatchPortion(width){ + translate([phone_width/2, 0,0]) + rotate([90,0,-90]) + linextr(-width/2, width/2) + children(0); +} + module CaseBase(){ AroundEdges(epp3[1], case_th_bottom, 1) EdgeProfile(); @@ -622,6 +632,10 @@ module Case(){ ////toplevel // screw holes in the hinge arms HingeScrews(); + + // catch striker + CatchPortion(catch_width + catch_side_gap*2) + CatchCutProfile(); } } @@ -647,6 +661,10 @@ module Lid(){ ////toplevel // hinge arms HingePortion(hex20, hex21) HingeLidProfile(); + + // catch + CatchPortion(catch_width) + CatchCatchProfile(); } Struts(lpp10[0] + strut_min_at_end, lpp13[1], -case_th_lid);