Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
catch_finger_depth = 2.5;
prop_main_width = 3;
catch_finger_depth = 2.5;
prop_main_width = 3;
prop_wing_len = 3;
prop_nose_slope = 1.5; // bigger means pointier
prop_side_gap = 0.75; // each side
prop_wing_len = 3;
prop_nose_slope = 1.5; // bigger means pointier
prop_side_gap = 0.75; // each side
prop_recess_under = 0.30;
prop_backfwd_gap = 1.0; // total
prop_recess_under = 0.30;
prop_backfwd_gap = 1.0; // total
+prop_recess_slop = 0.125; // each side
+prop_end_dia = 0.5;
+prop_main_th = 3;
+prop_taper_len = 6;
+
// ---------- calculated ----------
phone_width = (phone + bumper*2)[0];
// ---------- calculated ----------
phone_width = (phone + bumper*2)[0];
prp3 = [ prp4[0], prp2[1] ];
prp5 = prp4 + [1,0] * prop_recess_depth;
prp3 = [ prp4[0], prp2[1] ];
prp5 = prp4 + [1,0] * prop_recess_depth;
+// prop recess in lid
+
+prlp1 = [ lpp10[0] + prop_recess_slop + prop_end_dia/2,
+ lpp10[1] + prop_recess_slop + prop_end_dia/2 ];
+
// ---------- modules ----------
module KeeperProfile(slant=0){
// ---------- modules ----------
module KeeperProfile(slant=0){
+module SomePropProfile(gamma){
+// prop-internal
+ pip1 = [0,0];
+ pip2 = [ 0.5 * (prop_main_th - prop_end_dia),
+ prop_taper_len ];
+
+ translate(prlp1) {
+ circleat([0,0], prop_end_dia/2);
+ cirecleat(pip2, prop_main_th);
+
+ }
+}
+
module CasePropRecess(pas) {
// destructure entry in prop_angle_specs
beta = pas[0];
module CasePropRecess(pas) {
// destructure entry in prop_angle_specs
beta = pas[0];