X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=fairphone-case.scad;h=761c2509fe55920eec9dd6b8b41560b5135c3834;hb=1da57d56e67f897e7b4ac43afbd3db6f0a23d145;hp=ec9d7f65d52e5627e5a5db327a12b78accecb098;hpb=c1a384bb8a5b8d960ddb02a7340d10ed13d557df;p=reprap-play.git diff --git a/fairphone-case.scad b/fairphone-case.scad index ec9d7f6..761c250 100644 --- a/fairphone-case.scad +++ b/fairphone-case.scad @@ -1,7 +1,10 @@ // -*- C -*- -phone_height = 146.5; -phone_width = 76.75; +phone = [ 145.0, 75.0 ]; + +bumper = [ 0.250, 0.250 ]; +// ^ One side. Overall size is increased by twice this. +// If no bumpers, is the gap around the phone. phone_cnr_rad = 6.0; @@ -12,8 +15,8 @@ phone_total_thick = 12.0; phone_backside_slope_inner = 1.5; // larger means shallower phone_backside_slope_outer = 1.0; // larger means shallower -camera_pos_tl = [ 7.0, 13.0 ]; // measured from tl corner -camera_pos_br = [ 22.85,37.85]; // tl/br as seen from back +camera_pos_tl = [ 6.450, 12.750 ]; // measured from tl corner +camera_pos_br = [ 22.300, 37.600 ]; // tl/br as seen from back case_th_bottom = 2.5; case_th_lid = 2.5; @@ -45,12 +48,18 @@ lid_lip = 1.75; $fa = 5; $fs = 0.1; -button_l_fudge = 4.5; +button_l_fudge = 4.4; strut_min_at_end = 1.5; // ---------- calculated ---------- +phone_height = (phone + bumper*2)[0]; +phone_width = (phone + bumper*2)[1]; + +echo(camera_pos_tl + bumper, + camera_pos_br + bumper); + // ----- could be changed ----- lid_buttoncover_gap = lid_gap_x; lid_buttoncover_overlap = case_th_lip + keeper_gap_z_top; @@ -83,8 +92,6 @@ lp_r12 = case_th_lid - (lpp11[1] - lpp10[1]); lpp12 = [ epp4[0] + lp_r12, lpp11[1] ]; lpp13 = [ lpp12[0], lpp12[1] + lp_r12 ]; -echo(lpp13 - lpp10); - // button profile bppM = epp4 + [0,5]; bppN = [ 0.5 * (epp0[0] + epp4[0]), bppM[1] ]; @@ -258,7 +265,7 @@ module SideButton(y,l){ } module Buttons(){ - CaseBase_rhsflip([1]) SideButton(20.6, 8.8) children(); // power + CaseBase_rhsflip([1]) SideButton(19.650, 8.9) children(); // power } module Struts(x_start, z_min, th){ @@ -321,6 +328,7 @@ module Case(){ ////toplevel mirror([0, 0, 1]) linear_extrude(height = 20) mirror([0, 1, 0]) + translate(bumper) rectfromto(camera_pos_tl, camera_pos_br); // struts (invisible, because they're buried in the case) @@ -395,7 +403,7 @@ module TestSelectCamera(){ linear_extrude(height = 50) mirror([0, 1, 0]) rectfromto([-20, -20], - camera_pos_br + [ 5, 5 ]); + camera_pos_br + bumper + [ 5, 5 ]); } module TestCamera(){ ////toplevel