X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=reprap-play.git;a=blobdiff_plain;f=fairphone-case.scad;h=4daf80736ad901006c1ea1bdc78c7bc2bad8f63f;hp=8c427d462c93b4ff9db9e88fa22d7f6e4ef6d700;hb=6562f4b2558c850a0c98b71971b2569b401d4a95;hpb=3cba7243866fc437fddfcd7abfde216b0dd6af76 diff --git a/fairphone-case.scad b/fairphone-case.scad index 8c427d4..4daf807 100644 --- a/fairphone-case.scad +++ b/fairphone-case.scad @@ -210,8 +210,7 @@ lid_gap_z = 0.25; lid_lip = 1.75; lid_edgepart_width = 5.0; lid_buttoncover_thick = 1.3; - -catch_slop = 0.50; +lid_buttoncover_reinf = 0.65; foldover_gap = 0.50; foldover_lever_gap = 0.50; @@ -253,16 +252,19 @@ hinge_r_arms_gap = 0.55; 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; @@ -439,7 +441,7 @@ cppD = [ cppA[0], cppS[1] + catch_slop ]; 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); @@ -728,6 +730,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 +1070,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 +1275,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 +1768,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]) {