diff options
-rw-r--r-- | lib/connectors.scad | 19 | ||||
-rw-r--r-- | parts/cross-60.scad | 10 |
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); + |