From: Ian Jackson Date: Fri, 22 Jan 2021 22:48:59 +0000 (+0000) Subject: scaffold-clamp-cleat: wip X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=118142c10130701469483c5f0fc19ad89c95954b;hp=ed2e085aa9f3b6bd7e6a873f9abadf944a89a19b;p=reprap-play.git scaffold-clamp-cleat: wip Signed-off-by: Ian Jackson --- diff --git a/scaffold-clamp-common.scad b/scaffold-clamp-common.scad index 77f1388..c309c00 100644 --- a/scaffold-clamp-common.scad +++ b/scaffold-clamp-common.scad @@ -32,9 +32,9 @@ vhook_th = 14; cleat_frames = 10; cleat_curve_r = 200; -cleat_horn_l = 60; -cleat_horn_d_min = [8, 10]; -cleat_horn_d_max = [10, 12]; +cleat_horn_l = 40; +cleat_horn_d_min = [10, 12]; +cleat_horn_d_max = [12, 14]; cleat_height = 25; cleat_stem_l = 20; @@ -91,6 +91,10 @@ vhook_y0 = -max(main_r, (tube_dia/2 + vhook_th)); vhook_ctr = vhook_y0 - vhook_inside/2; vhook_outer_dia = vhook_inside + vhook_th*2; +// calculated - cleat + +cleat_horn_tl = cleat_horn_l + cleat_stem_l/2; + // calculated - hhook hhook_outer_dia = hhook_inside + hhook_th*2; @@ -250,7 +254,7 @@ module VHookPlanDemo(){ // ---------- cleat ---------- -function cleat_frame_theta(s) = s * cleat_horn_l / cleat_curve_r * 360/TAU; +function cleat_frame_theta(s) = s * cleat_horn_tl / cleat_curve_r * 360/TAU; function cleat_frame_z(s) = cleat_curve_r * (1 - cos(cleat_frame_theta(s))); function cleat_frame_x(s) = cleat_curve_r * sin(cleat_frame_theta(s)); function cleat_frame_r(s) = ( cleat_horn_d_min * s + @@ -273,38 +277,29 @@ module CleatHorn(){ for (si=[0 : cleat_frames-2]) { s0 = si / (cleat_frames-1); s1 = (si+1) / (cleat_frames-1); - //hull(){ + hull(){ CleatFrame(s0); CleatFrame(s1); - //} + } } } module CleatBase(){ frames = cleat_frames/2; - se = cleat_stem_l/2 / cleat_horn_l; + se = cleat_stem_l/2 / cleat_horn_tl; r = cleat_frame_r(se); - for (si=[0: frames-2]) { - s0 = se * si / (frames-1); - s1 = se * (si+1) / (frames-1); - hull(){ + hull(){ + for (s = [-se, se]) { for (z= [-(cleat_height + tube_dia/2), - cleat_frame_z(se)]) { - translate([cleat_frame_x(se), 0, z]) - CleatFrameSphere(r); + cleat_frame_z(s)]) { + translate([cleat_frame_x(s), 0, z]) + linear_extrude(height=0.1) + scale([1, r[1]/r[0]]) + circle(r=r[0]); } } } - - for (si=[0 : cleat_frames-2]) { - s0 = si / (cleat_frames-1); - s1 = (si+1) / (cleat_frames-1); - //hull(){ - CleatFrame(s0); - CleatFrame(s1); - //} - } } module VCleatA(){ ////toplevel @@ -312,13 +307,11 @@ module VCleatA(){ ////toplevel translate([0, -(main_r + cleat_height), 0]) { rotate([0, -90, 90]) { + CleatBase(); for (m=[0,1]) { mirror([m,0,0]) { CleatHorn(); } - mirror([m,0,0]) { - CleatBase(); - } } } }