Bläddra i källkod

start design of new version of tetra mic shock mount based on the mount shock for the Octathingy

Fernando Pablo Lopez-Lezcano 9 år sedan
förälder
incheckning
79e4376888
1 ändrade filer med 88 tillägg och 0 borttagningar
  1. 88 0
      SpHEAR_common.scad

+ 88 - 0
SpHEAR_common.scad

@@ -597,3 +597,91 @@ module shock_mount_threaded_stand(height, wall, stand_wall) {
     // connection to microphone
     mount_connector_top(height, diam/2 + wall, diam/2, 23.0);
 }
+
+//
+// new version of tetra shock mount
+//
+
+module tetra_shock_mount_band(band_height, radius, corner, gap) {
+    difference() {
+        rounded_block_relative(band_height, radius + gap, radius + gap, corner, 3 * wall);
+        rounded_block(band_height, radius + gap, radius + gap, corner);
+    }
+}
+
+// tetra shock mount internal ring
+
+module tetra_shock_mount_internal_ring_old(height, radius, band_height, corner, gap) {
+    difference() {
+        // four sided band
+        tetra_shock_mount_band(band_height, radius, corner, gap);
+        // slots so that the band clears the screws
+        for (r = [0 + 45, 90 + 45, 180 + 45, 270 + 45]) rotate([0, 0, r]) {
+            translate([radius + gap + 2, -2.0, 0]) cube([2.0, 4.0, band_height]);
+        }
+    }
+    // 8 columns for mounting rubber bands
+    for (r = [0, 90, 180, 270]) rotate([0, 0, r]) {
+        for (m = [0, 1]) mirror([m, 0, 0]) {
+            translate([radius + 1 + gap, radius*3/4, 0]) {
+                rotate([0, 0, 0]) {
+                    difference() {
+                        // columns
+                        union() {
+                            translate([3, 0, 0]) rotate([0, 0, 0]) scale([1.2, 0.85, 1.0]) 
+                                cylinder(r = 3, h = height, $fn = facets);
+                        }
+                        // lower slots for rubber bands
+                        rotate([0, 0, 0]) translate([2.5, radius/2, 0]) scale([1.0, 1.0, 3.0]) rotate([90, 0, 0]) {
+                            cylinder(r = 1.2, h = radius * 2, $fn = facets);
+                        }
+                        // upper slots for rubber bands
+                        rotate([0, 0, 0]) translate([2.5, radius/2, height]) scale([1.0, 1.0, 3.0]) rotate([90, 0, 0]) {
+                            cylinder(r = 1.2, h = radius * 2, $fn = facets);
+                        }
+                    }
+                }
+            }
+        }
+    }
+}
+
+module tetra_shock_mount_internal_ring(height, radius, band_height, corner, gap) {
+    difference() {
+        // four sided band
+        tetra_shock_mount_band(band_height, radius, corner, gap);
+        // slots so that the band clears the lower screws
+        for (r = [0, 90, 180, 270]) rotate([0, 0, r + 45]) {
+            translate([radius + gap + 2.5, -2.0, 0]) cube([2.0, 4.0, band_height]);
+        }
+    }
+    // 8 columns for mounting rubber bands
+    for (r = [0, 90, 180, 270]) rotate([0, 0, r]) {
+        for (m = [0, 1]) mirror([m, 0, 0]) {
+            translate([radius + 4.0 + gap, radius*1/3, 0]) {
+                rotate([0, 0, 0]) {
+                    difference() {
+                        // columns
+                        union() {
+                            translate([3, 0, 0]) rotate([0, 0, 45]) scale([1.2, 0.85, 1.0]) 
+                                cylinder(r = 3, h = height, $fn = facets);
+                            // connect column to body
+                            translate([-2, -2, 0]) rotate([0, 0, 0])
+                                cube([4, 3, band_height]);
+                        }
+                        // lower slots for rubber bands
+                        rotate([0, 0, 45]) translate([2.5, radius/2, 0]) scale([1.0, 1.0, 3.0]) rotate([90, 0, 0]) {
+                            cylinder(r = 1.2, h = radius * 2, $fn = facets);
+                        }
+                        // upper slots for rubber bands
+                        rotate([0, 0, 45]) translate([2.5, radius/2, height]) scale([1.0, 1.0, 3.0]) rotate([90, 0, 0]) {
+                            cylinder(r = 1.2, h = radius * 2, $fn = facets);
+                        }
+                    }
+                }
+            }
+        }
+    }
+}
+
+