diff options
author | Jan Huwald <jh@sotun.de> | 2014-02-26 10:27:01 (GMT) |
---|---|---|
committer | Jan Huwald <jh@sotun.de> | 2014-02-26 10:27:01 (GMT) |
commit | 2f076868426b8e2b7a569eb259f413bb2f20ff93 (patch) | |
tree | ebfeff0cfb58e7b8fcffadfe420bd83b7781f45f | |
parent | 88aa2da2a7286797ebec9b83b8ce7e72a3279439 (diff) |
add central rod retainer
-rw-r--r-- | con_bar_v.scad | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/con_bar_v.scad b/con_bar_v.scad index 6ef6ec2..7e609e6 100644 --- a/con_bar_v.scad +++ b/con_bar_v.scad @@ -1,6 +1,9 @@ bar_width = 4; bar_height = 20; +rod_rad = 5; +rod_bury = 10; // how deep the rod sticks in its retainer + clamp_thick = 5; clamp_l1 = 10; clamp_l2 = 50; @@ -12,6 +15,7 @@ angle = 30; // fake value; TODO clamp_width = 2 * clamp_thick + bar_width; clamp_height = bar_height + clamp_thick; +clamp_length = clamp_l2 - clamp_l1; module strut(num, r1, r2, h) { a = 360 / num; @@ -37,6 +41,21 @@ module clamp() { } } +module rod_retainer(h) { + $fs = 0.1; + difference() { + union() { + cylinder(h=h, r=rod_rad + strut_thick); + + translate([0, -strut_thick/2, 0]) + cube([clamp_l1, strut_thick, h]); + } + + translate([0, 0, max(strut_thick, h - rod_bury)]) + cylinder(h=h, r=rod_rad); + } +} + module con(num) { for (i = [0:num-1]) rotate(i*360/num) { @@ -45,6 +64,7 @@ module con(num) { strut(num, clamp_l2, clamp_l2 - strut_height, strut_thick); strut(num, clamp_l2, clamp_l2 - strut_thick, strut_height); } + rod_retainer(max(clamp_thick, clamp_length * sin(angle))); } con(3); |