X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=fairphone-case.scad;h=ba710bd3c9da298aae089186ecf662edb1d7db66;hb=f3ab7d2a741fa8bad226fd1709a2ed3ed9d8e39e;hp=85bedf016a2897bf0940f81aa2b895d71700c0bd;hpb=005ae64e92e506e7cf71157d0eeea7f2cee19385;p=reprap-play.git diff --git a/fairphone-case.scad b/fairphone-case.scad index 85bedf0..ba710bd 100644 --- a/fairphone-case.scad +++ b/fairphone-case.scad @@ -210,6 +210,7 @@ lid_gap_z = 0.25; lid_lip = 1.75; lid_edgepart_width = 5.0; lid_buttoncover_thick = 1.3; +lid_buttoncover_reinf = 1.0; catch_slop = 0.50; @@ -262,7 +263,7 @@ catch_depth = 1.25; catch_height = 0.35; catch_finger_height = 1.5; catch_finger_depth = 2.5; -catch_catch_slope = 0; +catch_catch_slope = 0.25; catch_topcurve_r = 5.0; @@ -728,6 +729,22 @@ module ButtonPlan(l, deep, cut){ } } +module ButtonCoverReinf(){ ////toplevel + minkowski(){ + rotate([90,0,0]) + linear_extrude(height=0.01) + intersection(){ + ButtonCoverProfile(); + translate([bppJ[0] + 0.1, -50]) mirror([1,0]) + square([100,100]); + } + mirror([0,0,1]) linear_extrude(height=0.01) intersection(){ + circle(r= lid_buttoncover_reinf); + translate([-20,0]) square(40, center=true); + } + } +} + module CatchCatchProfile(){ hull(){ for (c=[ cppR, cppQ ]) @@ -1052,7 +1069,7 @@ module PropProfileAssignments(gamma){ children(); } -module PropProfile(gamma, cut=0, rot=0){ ////toplevel +module PropProfile(gamma, cut=0, rot=0){ PropProfileAssignments(gamma){ //#circleat($prpp3,1); @@ -1257,10 +1274,17 @@ module Lid(){ ////toplevel translate([0,0,-10]) linear_extrude(height= 20) ButtonPlan($button_l, 1,0); - rotate([90,0,0]) - translate([0,0,-100]) - linear_extrude(height= 200) - ButtonCoverProfile(); + union(){ + rotate([90,0,0]) + translate([0,0,-100]) + linear_extrude(height= 200) + ButtonCoverProfile(); + hull() + for (y= [-1,+1] * (($button_l + button_l_fudge)/2 + - lid_buttoncover_reinf)) + translate([0,y,0]) + ButtonCoverReinf(); + } } } @@ -1743,8 +1767,9 @@ module DemoProfiles(){ ////toplevel %EdgeProfile(); %LidEdgeProfile(); //translate([0,0,1]) CatchCutProfile(); + translate([0,0,+1]) color("red") + difference(){ EdgeProfile(); CatchCutProfile(); } color("blue") CatchCatchProfile(); - color("red") difference(){ EdgeProfile(); CatchCutProfile(); } } translate([40,-30]) {