From: Ian Jackson Date: Fri, 19 Jan 2018 20:45:18 +0000 (+0000) Subject: fairphone-case: wip, have EdgeProfile X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=b3145f0ebb1dcfa4d8d07c1f44d3a7f5e1dddc4b;p=reprap-play.git fairphone-case: wip, have EdgeProfile Signed-off-by: Ian Jackson --- diff --git a/fairphone-case.scad b/fairphone-case.scad index 11074a4..d6a50d5 100644 --- a/fairphone-case.scad +++ b/fairphone-case.scad @@ -1,33 +1,54 @@ // -*- C -*- -phone_edge_thick = ; -phone_total_thick = ; +phone_edge_thick = 9.0; +phone_total_thick = 12.0; phone_backside_slope = 1.0; // larger means shallower +case_th_bottom = 2; +case_th_lid = 2; +case_th_side = 2; +case_th_lip = 1.2; + +case_lip = 2; + +$fa = 5; +$fs = 0.1; + // calculated phone_backside_slope_thick = phone_total_thick - phone_edge_thick; -lid_lip_overlap_width xxx bad name = ; -lid_lip_inner_slope = [ 5, 5 ]; // xxx +//lid_lip_overlap_width xxx bad name = ; +//lid_lip_inner_slope = [ 5, 5 ]; // xxx epp0 = [0,0]; epp1 = [0, -phone_edge_thick]; -epp2 = epp1 + phone_backside_slope_thick * [ phone_backside_slope, 1 ]; -epp3 = epp1 + [10, 0]; -epp16 = epp0 + [lid_lip_overlap_width, 0]; -epp15 = epp16 + lid_lip_overlap_slope; -epp14 = epp15 + [10, 0]; -epp11_12_inner = epp0 + lid_lip_overlap_slope; +epp2 = epp1 + phone_backside_slope_thick * [ phone_backside_slope, -1 ]; +epp3 = epp2 + [10, 0]; +epp4 = epp0 - [1,0] * (case_th_side - case_th_lip); +epp5 = epp0 + [1,0] * case_lip; +epp6 = epp5 + [0,1] * case_th_lip; + +module rectfromto(a,b) { translate(a) square(b - a); } +module circleat(c,r) { translate(c) circle(r); } module EdgeProfile(){ difference(){ - offset(r= ) - polygon - polygon([epp0, - epp1, - epp2, - epp3, - epp14, - epp15, - epp16]); + hull(){ + circleat(epp3, r=case_th_bottom); + circleat(epp2, r=case_th_bottom); + circleat(epp1, r=case_th_side); + circleat(epp4, r=case_th_lip); + rectfromto(epp0, epp6); + } + polygon([ epp6 + [10,10], + epp6 + [0,10], + epp5, + epp0, + epp1, + epp2, + epp3 + [10,0] ]); + } +} + +EdgeProfile();