summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Huwald <jh@sotun.de>2014-02-26 10:27:01 (GMT)
committerJan Huwald <jh@sotun.de>2014-02-26 10:27:01 (GMT)
commit2f076868426b8e2b7a569eb259f413bb2f20ff93 (patch)
treeebfeff0cfb58e7b8fcffadfe420bd83b7781f45f
parent88aa2da2a7286797ebec9b83b8ce7e72a3279439 (diff)
add central rod retainer
-rw-r--r--con_bar_v.scad20
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);
contact: Jan Huwald // Impressum