aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorElena of Valhalla'' Grandi <valhalla@trueelena.org>2015-03-30 11:15:02 +0200
committerElena of Valhalla'' Grandi <valhalla@trueelena.org>2015-03-30 11:15:02 +0200
commit1696f8a6e701fed26854450a0fd364a8c68381e1 (patch)
treec04457b825e3aa94dfe071c69d51c81d33ffa81a /lib
parent7bd1d6c069bfe92a73367984930e8d7333793513 (diff)
cross_connector: new part
Diffstat (limited to 'lib')
-rw-r--r--lib/connectors.scad19
1 files changed, 19 insertions, 0 deletions
diff --git a/lib/connectors.scad b/lib/connectors.scad
index dd4a973..078844e 100644
--- a/lib/connectors.scad
+++ b/lib/connectors.scad
@@ -61,3 +61,22 @@ module star_connector(radius, wall, len, angles) {
}
}
}
+
+module cross_connector(radius, wall, len, angle) {
+ cc_cylinder_len = len + (radius+wall)*tan(angle)*2;
+ intersection() {
+ difference() {
+ union() {
+ translate([0, radius, 0]) rotate([0, angle, 0])
+ cylinder(r=radius + wall, h=cc_cylinder_len, center=true);
+ translate([0, -radius, 0]) rotate([0, -angle, 0])
+ cylinder(r=radius + wall, h=cc_cylinder_len, center=true);
+ }
+ translate([0, radius + 0.2, 0]) rotate([0, angle, 0])
+ cylinder(r=radius, h=cc_cylinder_len+2, center=true);
+ translate([0, -radius + 0.2, 0]) rotate([0, -angle, 0])
+ cylinder(r=radius, h=cc_cylinder_len+2, center=true);
+ }
+ cube([(len+radius)*2, (len+radius)*2, len*sin(90-angle)], center=true);
+ }
+}