X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=scaffold-clamp-common.scad;h=9c9a831b3d6c3c4903afb89ba3b74afb12b84894;hb=eb06f06509cc2403d8592cd147d89d9a1b8bb97f;hp=3207b5e208a23f6a662c8da94bc658991818a3e1;hpb=0bb75071782fbce522c31e6d0a384f40ac379dfb;p=reprap-play.git diff --git a/scaffold-clamp-common.scad b/scaffold-clamp-common.scad index 3207b5e..9c9a831 100644 --- a/scaffold-clamp-common.scad +++ b/scaffold-clamp-common.scad @@ -20,12 +20,17 @@ hinge_z_gap = 1; hinge_units = 4; -// vhook +// ---------- vhook ---------- + +vhook_th = 14; -vhook_th = 10; +// ---------- hhook ---------- +hhook_inside = 40; +hhook_th = 4; +hhook_l = 40; -// calculated +// ========== calculated ========== pin_dia = th; hole_dia = th + pin_gap; @@ -60,6 +65,12 @@ 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 - hhook + +hhook_outer_dia = hhook_inside + hhook_th*2; + +hhook_ctr = -max(main_r + hhook_inside/2, + tube_dia/2 + hhook_outer_dia/2); $fa = 3; $fs = 0.1; @@ -151,22 +162,6 @@ module HalfClampX(flatten=false){ } } -module PlanDemo(){ ////toplevel - MainPlan(); - translate([0,0,-4]) color("red") Portion(1); - translate([0,0,-2]) color("grey") Portion(0); - - translate([0, tube_dia*1.5]) { - MainPlanB(); - MainPlanA(); - } - - translate([0, -tube_dia*1.5]) { - VHookPlanDemo(); - } -// translate([max_x - hinge_x + 20, 0]) color("blue") MainPlanA(); -} - // ---------- vhook ---------- module VHookProfile() { @@ -189,7 +184,7 @@ module VHookHookMain(outer=false){ ////toplevel module VHookPartA(){ ////toplevel DummyA(); - translate([0, vhook_ctr, min_z + vhook_outer_dia/2]){ + translate([0, vhook_ctr, 0]){ for (m=[0,1]) { mirror([0, m, 0]) { linextr(-0.1, vhook_outer_dia/2) @@ -219,7 +214,7 @@ module VHookPartA(){ ////toplevel } module VHookPlanDemo(){ - VHookPlan(); + MainPlanA(); translate([0, vhook_ctr, 5]) for (m=[0,1]) { mirror([0,m]) @@ -227,6 +222,38 @@ module VHookPlanDemo(){ } } +// ---------- hhook ---------- + +module HHookHookPlan(){ + translate([0, hhook_ctr]){ + difference(){ + circle(r = hhook_outer_dia/2); + circle(r = hhook_inside/2); + rectfromto([+hhook_outer_dia, -hhook_outer_dia], + [0, +hhook_outer_dia]); + } + translate([0, -(hhook_inside/2 + hhook_th/2)]){ + hull(){ + for (x=[-0.1, hhook_l]) { + translate([x,0]) square(center=true, hhook_th); + } + } + } + } +} + +module HHookPartA(){ ////toplevel + DummyA(); + linextr(min_z, max_z) { + HHookHookPlan(); + } +} + +module HHookPlanDemo(){ + MainPlanA(); + HHookHookPlan(); +} + // ---------- misc ---------- module GeneralB(){ ////toplevel @@ -237,6 +264,25 @@ module DummyA(){ ////toplevel HalfClampX(); } +module PlanDemo(){ ////toplevel + MainPlan(); + translate([0,0,-4]) color("red") Portion(1); + translate([0,0,-2]) color("grey") Portion(0); + + translate([0, tube_dia*1.5]) { + MainPlanB(); + MainPlanA(); + } + + translate([0, -tube_dia*1.5]) { + VHookPlanDemo(); + } + translate([tube_dia*4, 0]) { + HHookPlanDemo(); + } +// translate([max_x - hinge_x + 20, 0]) color("blue") MainPlanA(); +} + module Demo(){ ////toplevel color("red") rotate([180,0,0]) GeneralB(); color("blue") DummyA();