Переглянути джерело

another design for the outer ring of the shock mount

Fernando Pablo Lopez-Lezcano 10 роки тому
батько
коміт
92a7090ff8
1 змінених файлів з 81 додано та 13 видалено
  1. 81 13
      TinySpHEAR_mount_pcb.scad

+ 81 - 13
TinySpHEAR_mount_pcb.scad

@@ -398,6 +398,18 @@ module tetra_shock_mount_body_ring(height, radius, corner, gap, lip) {
     }    
 }
 
+module tetra_shock_mount_ring(outside_radius, inside_radius, thickness) {
+    difference() {
+        union() {
+            cylinder(r = outside_radius, h = thickness, $fn = facets);
+            translate([0, -outside_radius, 0]) {
+                cube([outside_radius, outside_radius, thickness]);
+            }
+        }
+        cylinder(r = inside_radius, h = thickness, $fn = facets);
+    }
+}
+
 module tetra_shock_mount_main_ring(height, radius, corner, gap, lip) {
     difference() {
         tetra_mount_box_relative(6, radius, mount_corner, gap);
@@ -414,26 +426,28 @@ module tetra_shock_mount_main_ring(height, radius, corner, gap, lip) {
         }
     }
     // connection to stand mount
-    for (m = [0, 1]) mirror([m, 0, 0]) {
-        rotate([0, 0, 19.5]) {
-            translate([25, radius * 1.35, 0]) cube([4, 50, 6]);
+    translate([0, 18, 0]) {
+        intersection() {
+            difference() {
+                tetra_mount_box_relative(6, radius, mount_corner - 5, gap);
+                tetra_mount_box_relative(6, radius, mount_corner - 5, gap - 4 * wall);
+            }
+            translate([-(radius + 2 * mount_corner), 0, 0]) {
+                cube([2 * (radius + 2 * mount_corner), radius + 2 * mount_corner, 6]);
+            }
         }
     }
+    // connection to hub
+    translate([-2, radius + 2 * mount_corner + 12, 0]) {
+        cube([4, 10, 6]);
+    }
     // rotating mount
     o_rad = 8;
     i_rad = 3;
     thk = 4;
     rotate([0, 90, 0]) {
-        translate([-o_rad, 89, -2]) {
-            difference() {
-                union() {
-                    cylinder(r = o_rad, h = thk, $fn = facets);
-                    translate([0, -o_rad, 0]) {
-                        cube([o_rad, o_rad, thk]);
-                    }
-                }
-                cylinder(r = i_rad, h = thk, $fn = facets);
-            }
+        translate([-o_rad, 66, -2]) {
+            tetra_shock_mount_ring(o_rad, i_rad, thk);
         }
     } 
 }
@@ -445,6 +459,60 @@ module tetra_shock_mount_connector(length, lip, width, thickness, fit) {
         cube([length , width + thickness, thickness * 3 / 2]);
 }
 
+module tetra_shock_mount_stand(height, wall, stand_wall) {
+    // stand mount
+    translate([0, 0, 0]) {
+        difference() {
+            union() {
+                // main mount cylinder
+                translate([0, 0, 0]) {
+                    difference() {
+                        cylinder(r = mic_mount_radius + mic_mount_fit + stand_wall, 
+                                h = height, $fn = facets);
+                        // make the hole for the mount (* 1.5 to cut the ridge as well)
+                        cylinder(r = mic_mount_radius + mic_mount_fit, h = height, $fn = facets);
+                    }
+                }
+            }
+            // slot for fitting into microphone stand
+            translate([mic_mount_radius - stand_wall / 2, - mic_mount_slot_width / 2, 0]) {
+                cube([2 * stand_wall, mic_mount_slot_width, mic_mount_slot_height]);
+            }
+            // eyelet for microphone stand
+            translate([mic_mount_radius - stand_wall / 2, 0,  mic_mount_slot_height]) {
+                rotate([0, 90, 0]) {
+                    cylinder(r = mic_mount_slot_radius, h = 2 * stand_wall, $fn = facets);
+                }
+            }
+        }
+        // top of mount
+        translate([0, 0, mic_mount_height]) {
+            difference() {
+                cylinder(h = mic_mount_radius, 
+                        r1 = mic_mount_radius + mount_wall + wall, r2 = 5, $fn = facets);
+                cylinder(h = mic_mount_radius, 
+                        r1 = mic_mount_radius + mount_wall, r2 = 1, $fn = facets);
+            }
+            translate([0, 0, mic_mount_radius - 1]) {
+                cylinder(h = 1, r = 5, $fn = facets);
+            }
+        }
+        // eyelets
+        o_rad = 8;
+        i_rad = 3;
+        thk = 4;
+        for (m = [0, 1]) mirror([0, m, 0]) {
+            rotate([90, 90, 0]) {
+                translate([-(mic_mount_height + o_rad + 6), 0, thk/2 + fit]) {
+                    rotate([0, 0, 45]) 
+                        tetra_shock_mount_ring(o_rad, i_rad, thk);
+                }
+            }
+        }
+    }
+}
+
+*tetra_shock_mount_stand(mic_mount_height, mount_wall, mic_mount_wall);
 
 *translate([-18, 10, 0])
     tetra_shock_mount_connector(ring_sep, 4, 10, 2, 0.1);