From cbb0e4d6d3271817b28dbfcc8a7b27a61ffbbbb2 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Thu, 5 Nov 2020 19:30:20 +0000 Subject: [PATCH] scaffold-clamp: wip vhook Signed-off-by: Ian Jackson --- scaffold-clamp-common.scad | 4 +++- scaffold-clamp-vhook.scad | 35 ++++++++++++++++++++++++++++++++--- 2 files changed, 35 insertions(+), 4 deletions(-) diff --git a/scaffold-clamp-common.scad b/scaffold-clamp-common.scad index dd714d4..73a5500 100644 --- a/scaffold-clamp-common.scad +++ b/scaffold-clamp-common.scad @@ -23,6 +23,8 @@ hinge_z_gap = 1; pin_dia = th; hole_dia = th + pin_gap; +main_r = tube_dia/2 + th; + hinge_gap = pin_gap; hinge_o_r = 0.5 * hole_dia + th; @@ -49,7 +51,7 @@ module SmoothPlan(){ } module TubePlan(){ circle(r = tube_dia/2); } -module MainCirclePlan(){ circle(r = tube_dia/2 + th); } +module MainCirclePlan(){ circle(r = main_r); } module PlanWeldMainCircle(){ intersection(){ diff --git a/scaffold-clamp-vhook.scad b/scaffold-clamp-vhook.scad index c7303d2..c62edf9 100644 --- a/scaffold-clamp-vhook.scad +++ b/scaffold-clamp-vhook.scad @@ -4,13 +4,35 @@ hinge_units = 4; include +vhook_th = 10; + +vhook_smooth = 3; + +theta = atan2( smooth_r, main_r ); + +vhook_inside = 15; + +// calculated + +vhook_y0 = -cos(theta) * (main_r + smooth_r); +vhook_ctr = vhook_y0 - vhook_inside/2; + +//echo(theta); + module VHookPlan() { PlanWeldMainCircle(){ - rectfromto([ -5, 0 ], - [ +5, -60 ]); + rectfromto([ -vhook_th/2, 0 ], + [ +vhook_th/2, vhook_y0 ]); } } +module VHookProfile() { + offset(r=+vhook_smooth) + offset(delta=-vhook_smooth) + rectfromto([ -vhook_th/2, -vhook_inside/2 ], + [ +vhook_th/2, -vhook_inside/2 - vhook_th]); +} + module PartB(){ ////toplevel GeneralB(); } @@ -19,11 +41,18 @@ module PartA(){ ////toplevel DummyA(); linextr(min_z, max_z) VHookPlan(); + //translate([0, vhook_y0, 50]) rotate([0,0,-90]) color("black") cube(10); + // translate([0,0,-150]) rotate([0,0,180 + theta]) color("blue") cube(100); } -module PlanDemo(){ +module PlanDemo(){ ////toplevel GeneralPlanDemo(); translate([0, -tube_dia*1.5]) { VHookPlan(); + translate([0, vhook_ctr, 5]) + for (m=[0,1]) { + mirror([0,m]) + color("blue") VHookProfile(); + } } } -- 2.30.2