X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=scaffold-clamp-common.scad;h=4e9f36759e267902306214f23f3b5aca9536a674;hb=ba7c5b240dcdab5fa3f4e3f7823bb828551471f0;hp=c16fbd8bce6dcb593b5101b543908aeb3d8af8f1;hpb=87fec0a73fe233ee27a0be196ea12df48ae21535;p=reprap-play.git diff --git a/scaffold-clamp-common.scad b/scaffold-clamp-common.scad index c16fbd8..4e9f367 100644 --- a/scaffold-clamp-common.scad +++ b/scaffold-clamp-common.scad @@ -38,6 +38,8 @@ cleat_horn_d_max = [12, 14]; cleat_height = 25; cleat_stem_l = 20; +cleat_overlap = (1-cos(60)); + // ---------- hhook ---------- hhook_inside = 40; @@ -96,7 +98,10 @@ vhook_outer_dia = vhook_inside + vhook_th*2; cleat_horn_tl = cleat_horn_l + cleat_stem_l/2; vcleat_dz = max(0, - cleat_horn_tl + cleat_horn_d_min[0]/2 - total_z/2 + cleat_horn_tl + + cleat_horn_d_min[0]/2 + - cleat_horn_d_min[0]/2 * cleat_overlap + - total_z/2 ); // calculated - hhook @@ -307,21 +312,27 @@ module CleatBase(){ } module VCleat(){ - translate([0,0, vcleat_dz]){ - difference(){ - translate([0, -(main_r + cleat_height), 0]) { - rotate([0, -90, 90]) { - CleatBase(); - for (m=[0,1]) { - mirror([m,0,0]) { - CleatHorn(); + intersection(){ + translate([0,0, vcleat_dz]){ + difference(){ + translate([0, -(main_r + cleat_height), 0]) { + rotate([0, -90, 90]) { + CleatBase(); + for (m=[0,1]) { + mirror([m,0,0]) { + CleatHorn(); + } } } } + linextr(-cleat_stem_l, +cleat_stem_l) + circle(r = tube_dia/2 + 0.1); } - linextr(-cleat_stem_l, +cleat_stem_l) - circle(r = tube_dia/2 + 0.1); } + translate([0,0, total_z * 0.5]) + cube(center=true, + (main_r + cleat_stem_l)*4 * [1,1,0] + + total_z * [0,0,2]); } }