From 8578b172793bc3ee9c9b9b1a2f1ecf46b911c9d8 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Thu, 5 Nov 2020 18:44:01 +0000 Subject: [PATCH] scaffold-clamp: wip Signed-off-by: Ian Jackson --- scaffold-clamp.scad | 36 ++++++++++++++++++++++++++++-------- 1 file changed, 28 insertions(+), 8 deletions(-) diff --git a/scaffold-clamp.scad b/scaffold-clamp.scad index d0e7668..19c86ef 100644 --- a/scaffold-clamp.scad +++ b/scaffold-clamp.scad @@ -8,7 +8,7 @@ th = 7; pin_gap = 1.5; // around -smooth_r = 10; +smooth_r = 15; bolt_dia = 5 + 0.75; bolt_flat = 10 + 1; @@ -29,7 +29,7 @@ hinge_gap = pin_gap; hinge_o_r = 0.5 * hole_dia + th; hinge_x = -0.5 * tube_dia - hinge_o_r; -bolt_x = 0.5 * tube_dia + bolt_flat * 0.5; +bolt_x = 0.5 * tube_dia + th + bolt_flat * 0.5; max_x = bolt_x + max(0.5 + bolt_dia + th, 0.5 * bolt_flat/2); flats_y = open_gap/2 + th; @@ -85,12 +85,24 @@ module MainPlanB(flatten){ } } -module HalfClampX(flatten){ - translate([0,0, -total_z/2]) { - linextr(0, total_z) mirror([0,1]) MainPlanB(); - for (i=[0 : hinge_units-1]) { - translate([0,0, stride_z*i]) - linextr(0, hinge_unit) MainPlanA(flatten); +module HalfClampX(flatten=false){ + difference(){ + translate([0,0, -total_z/2]) { + linextr(0, total_z) mirror([0,1]) MainPlanB(); + for (i=[0 : hinge_units-1]) { + translate([0,0, stride_z*i]) + linextr(0, hinge_unit) MainPlanA(flatten); + } + } + for (dz=[-1,+1]) { + translate([ bolt_x, 0, dz * total_z/4 ]) { + translate([0, -tube_dia/2, 0]) + rotate([-90,0,0]) + cylinder(r= bolt_dia/2, h= tube_dia); + translate([0, -flats_y, 0]) + rotate([90,0,0]) + cylinder(r= bolt_flat/2, h= tube_dia/2); + } } } } @@ -110,6 +122,14 @@ module PlanDemo(){ ////toplevel // translate([max_x - hinge_x + 20, 0]) color("blue") MainPlanA(); } +module GeneralB(){ ////toplevel + HalfClampX(true); +} + +module DummyB(){ ////toplevel + HalfClampX(); +} + module Demo(){ ////toplevel color("red") HalfClampA(); color("blue") HalfClampB(); -- 2.30.2