1
0
Эх сурвалжийг харах

first try at windscreen support using helical structures, suggested by Huw McGregor (who is building his own arrays) at BEAST Feast 2017

Fernando Pablo Lopez-Lezcano 9 жил өмнө
parent
commit
9abf232f1f

+ 54 - 0
TinySpHEAR_mount_pcb.scad

@@ -24,6 +24,7 @@
 //   Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)
 // http://creativecommons.org/licenses/by-nc-sa/4.0/
 
+include <SpHEAR_common.scad>;
 include <TinySpHEAR_common.scad>;
 include <CCRMA_logo.scad>;
 
@@ -542,6 +543,59 @@ module tetra_capsule_array_mount(angles, mount_radius, mount_wall) {
     }
 }
 
+// windscreen
+
+module tetra_wind_screen(radius, corner, height, band_height, col_radius) {
+    // mount to body
+    difference() {
+        rounded_block_relative(band_height, radius, radius, corner, col_radius);
+        rounded_block_relative(band_height, radius, radius, corner, -(col_radius + lip_fit));
+        // indentation to trap nylon screen
+    }
+    // quad helix windscreen support
+    translate([0, 0, band_height]) {
+        for (r = [0, 90, -90, 180]) for (t = [1, -1]) rotate([0, 0, r]) {
+            linear_extrude(height = height, center = false, convexity = 0, twist = (360 + 45/2) * t, $fn = facets) {
+                translate([radius, 0, 0]) {
+                    circle(r = col_radius, $fn = facets);
+                }
+            }
+        }
+    }
+    // connectors to top
+    translate([0, 0, height + band_height]) {
+        for (r = [0, 90, -90, 180]) for (t = [22.5, -22.5]) rotate([0, 0, r + t]) {
+            translate([radius, 0, 0]) {
+                cylinder(r = col_radius * 2/3, h = 2.0, $fn = facets);
+            }
+        }
+    }
+}
+
+module tetra_wind_screen_top(radius, col_rad) {
+    // main ring
+    difference() {
+        cylinder(r = radius + 2 * col_rad, h = col_rad * 1.5, $fn = facets);
+        cylinder(r = radius, h = col_rad * 1.5, $fn = facets);
+    }
+    // cross
+    for (r = [-45, 45, 135, -135]) rotate([0, 0, r]) {
+        translate([0, -col_rad/2, 0]) {
+            cube([radius, col_rad, col_rad * 1.5]);
+        }
+    }
+    // connectors for quad helix
+    for (r = [0, 90, -90, 180]) for (t = [22.5, -22.5]) rotate([0, 0, r + t]) {
+        translate([radius + col_rad, 0, 0]) {
+            difference() {
+                cylinder(r = col_rad * 2/3 + wall/2, h = col_rad * 1.5 + 2.0, $fn = facets);
+                cylinder(r = col_rad * 2/3 - fit, h = col_rad * 1.5 + 2.0, $fn = facets);
+            }
+        }
+    }
+}
+
+
 ////
 //// render all the different parts
 ////