From 4102833288a860f53df35fbd023df44933aec3f0 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Wed, 19 Sep 2018 00:34:29 +0100 Subject: [PATCH] lock-inframe-bracket: DividePlan on its way Signed-off-by: Ian Jackson --- lock-inframe-bracket.scad | 35 ++++++++++++++++++----------------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/lock-inframe-bracket.scad b/lock-inframe-bracket.scad index b688252..d25e373 100644 --- a/lock-inframe-bracket.scad +++ b/lock-inframe-bracket.scad @@ -15,9 +15,9 @@ lockshaft_dia = 14.35; cliprecess_h = 16; total_h = 45; -back_gap = 14.5; +back_gap = 10.5; main_th = 3.25; -tube_th = 2.50; +tube_th = 3.75; midweb_d = 3; clip_th = 3.5; @@ -35,15 +35,16 @@ join_cr = 9; tube_rear_extra_th = 1; -divide_shaft_w = 1.5; +divide_shaft_w = 1.75; divide_shaft_l = 1.5; -divide_head_dx = 1.5; +divide_head_dx = 1.75; divide_head_th = 1.5; divide_gap = 0.50; -divide_heads = 1; +divide_heads = 2; -divide_angle = 35; -divide_fudge_r = 3; +divide_angle = 26; +divide_fudge_r = 4.75; +divide_around = 3.5; // calculated @@ -91,14 +92,14 @@ module JoinCircs(jr){ } } -module DividePlan(){ +module DividePlan(xl=10){ w = divide_shaft_w; g = divide_gap; l = divide_shaft_l + g; t = divide_head_th + g; dx = divide_head_dx; for (m=[0,1]) mirror([m,0]) { - translate([w, 0]) square([10, g]); + translate([w, 0]) square([xl, g]); for (i=[0:divide_heads-1]) { translate([w, i*(l + t)]) { translate([0, 0]) square([g, l + g]); @@ -113,10 +114,10 @@ module DividePlan(){ } } -module DividePlanInPlace(){ +module DividePlanInPlace(xl=10){ rotate([0,0, -divide_angle]) translate([ -tube_dia/2 -tube_th/2 - divide_fudge_r, 0]) - DividePlan(); + DividePlan(xl); } module MainPlan(){ @@ -145,20 +146,20 @@ module MainPlan(){ translate([-back_gap/2,1]) mirror([0,1]) square([back_gap, backflange_ymin+2]); - translate([0, lock_0y]){ - oval([lock_w/2, lock_d/2]); - } - JoinCircs(join_cr); } hull(){ minkowski(){ - DividePlanInPlace(); - circle(5); + DividePlanInPlace(0.1); + circle(divide_around); } } } + translate([0, lock_0y]){ + oval([lock_w/2, lock_d/2]); + } + circle(r = tube_dia/2); DividePlanInPlace(); -- 2.30.2