X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=reprap-play.git;a=blobdiff_plain;f=fairphone-case.scad;h=0b73f657e2654df6e58b460341ae5a69d2bda72f;hp=783d19eb0eab86d236a6c2baeb76616d71ef0a87;hb=881387d225eb39aab986d4a605aeca9b379c309d;hpb=829b7e2a86c1a24f651594d305e2baddb22c1c8e diff --git a/fairphone-case.scad b/fairphone-case.scad index 783d19e..0b73f65 100644 --- a/fairphone-case.scad +++ b/fairphone-case.scad @@ -1,7 +1,7 @@ // -*- C -*- -phone_height = 146.5 - .80; -phone_width = 76.75 - .50; +phone_height = 146.5; +phone_width = 76.75; phone_cnr_rad = 6.0; @@ -47,6 +47,8 @@ $fs = 0.1; button_l_fudge = 4.5; +strut_min_at_end = 1.5; + // ---------- calculated ---------- // ----- could be changed ----- @@ -245,6 +247,18 @@ module AroundEdges(fill_zstart, fill_th, fill_downwards=0){ [phone_width, -phone_height] + [-1,+1] * phone_cnr_rad); } +module SideButton(y,l){ + $button_l= l; + translate([0, -y, 0]) + mirror([1,0,0]) + rotate([90,0,90]) + children(); +} + +module Buttons(){ + CaseBase_rhsflip([1]) SideButton(20.6, 8.8) children(); // power +} + module Struts(x_start, z_min, th){ // if th is negative, starts at z_min and works towards -ve z // and object should then be printed other way up @@ -254,8 +268,8 @@ module Struts(x_start, z_min, th){ z_min]) mirror([0,0, th<0 ? 1 : 0]) translate([0, - -phone_height * i / (case_struts_count+1), - case_struts_solid_below]) + -phone_height * i / (case_struts_count+1), + case_struts_solid_below]) linear_extrude(height= abs(th) -(case_struts_solid_below+case_struts_solid_above)) rectfromto([ x_start, -0.5 * case_struts_width ], @@ -309,15 +323,25 @@ module Case(){ ////toplevel // struts (invisible, because they're buried in the case) Struts(epp2i[0], epp2i[1] - case_th_bottom, case_th_bottom); + + Buttons(){ + translate([0,0,-10]) + linear_extrude(height= 20) + ButtonPlan($button_l, 0,1); + translate([0,0, -bppR[0]]) + linear_extrude(height= 20) + ButtonPlan($button_l, 1,1); + } } } module Lid(){ ////toplevel difference(){ union(){ - %AroundEdges(lpp10[1], lpp13[1] - lpp10[1], 0) + AroundEdges(lpp10[1], lpp13[1] - lpp10[1], 0) LidEdgeProfile(); } + Struts(lpp10[0] + strut_min_at_end, lpp13[1], -case_th_lid); } }