aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/connectors.scad19
-rw-r--r--parts/cross-60.scad10
2 files changed, 29 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);
+ }
+}
diff --git a/parts/cross-60.scad b/parts/cross-60.scad
new file mode 100644
index 0000000..ce8f8d2
--- /dev/null
+++ b/parts/cross-60.scad
@@ -0,0 +1,10 @@
+
+include <../lib/connectors.scad>
+
+radius = 8.25;
+wall = 6;
+len = 40;
+angle = 30;
+
+cross_connector(radius,wall,len,angle);
+