aboutsummaryrefslogtreecommitdiff
path: root/parts/triangular_connector.scad
diff options
context:
space:
mode:
authorElena of Valhalla'' Grandi <valhalla@trueelena.org>2014-04-09 21:40:12 +0200
committerElena of Valhalla'' Grandi <valhalla@trueelena.org>2014-04-09 21:40:12 +0200
commit0a58fbb28bb7b9199e8833d47c38951e16e8ee96 (patch)
treeaaa9a1f75d6ae06ac520337d875ba9c648deed21 /parts/triangular_connector.scad
Import of existing parts
Diffstat (limited to 'parts/triangular_connector.scad')
-rw-r--r--parts/triangular_connector.scad33
1 files changed, 33 insertions, 0 deletions
diff --git a/parts/triangular_connector.scad b/parts/triangular_connector.scad
new file mode 100644
index 0000000..4c7607f
--- /dev/null
+++ b/parts/triangular_connector.scad
@@ -0,0 +1,33 @@
+
+radius = 8.25;
+wall = 6;
+top_wall = 6;
+len = 40;
+
+module external(radius, wall, len, top_wall) {
+ w = len/2+radius+(radius+wall)*sin(60) ;
+ h = (radius + wall) / 2;
+ difference() {
+ translate([-len/2-radius,0,0]) rotate([0,30,0]) cylinder(r = radius + wall, h = len + top_wall);
+ translate ([-w,-w,-h]) cube([w*2, w*2, h*2]);
+ }
+}
+
+module tube(radius, wall, len) {
+ translate([-len/2-radius,0,0]) rotate([0,30,0]) translate([0,0,-wall/2]) cylinder(r = radius, h = len);
+}
+
+rotate([0,105,0]) difference() {
+ union() {
+ hull() {
+ //external(radius, wall, len, top_wall);
+ rotate([0,0,120]) external(radius, wall, len, top_wall);
+ rotate([0,0,-120]) external(radius, wall, len, top_wall);
+ translate([radius+wall,0,(len + top_wall)*sin(60)]) rotate([0,-90,0]) cylinder(r = radius + wall, h = wall*2);
+ }
+ translate([radius+wall,0,(len+top_wall)*sin(60)]) rotate([0,-90,0]) cylinder(r = radius + wall, h = len + wall);
+ }
+ rotate([0,0,120]) tube(radius, wall, len);
+ rotate([0,0,-120]) tube(radius, wall, len);
+ translate([radius,0,(len+top_wall)*sin(60)]) rotate([0,-90,0]) cylinder(r = radius, h = len + 2);
+}