ソースを参照

add stop/support for shock mount to upper flare of tetra mic, first version of new external ring for shock mount

Fernando Pablo Lopez-Lezcano 9 年 前
親
コミット
c37ffbf9c5
2 ファイル変更、51 行追加、35 行削除
  1. 47 35
      SpHEAR_common.scad
  2. 4 0
      TinySpHEAR_mount_pcb.scad

+ 47 - 35
SpHEAR_common.scad

@@ -611,41 +611,6 @@ module tetra_shock_mount_band(band_height, radius, corner, gap) {
 
 // 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
@@ -684,4 +649,51 @@ module tetra_shock_mount_internal_ring(height, radius, band_height, corner, gap)
     }
 }
 
+// tetra shock mount external ring
+
+module tetra_shock_mount_external_ring(height, radius, corner, gap) {
+    // main ring
+    difference() {
+        rounded_block_relative(height, radius, radius, corner, gap);
+        rounded_block_relative(height, radius, radius, corner, gap - ring_wall);
+    }
+    for (rot = [0, 90, 180, 270]) {
+        // anchors for rubber bands
+        rotate([0, 0, rot + 45]) {
+            translate([radius + gap + 2.25 * ring_wall, -5, 0]) {
+                minkowski() {
+                    cube([4 - 2, 10, ring_ext_height]);
+                    cylinder(r = 1.5, h = thin_mint, $fn = facets);
+                }
+            }
+            translate([radius + gap + ring_wall - 2, -2, 0]) {
+                cube([9, 4, ring_ext_height]);
+            }
+        }
+    }
+    // reinforcement
+    intersection() {
+        difference() {
+            rounded_block_relative(height * 2, radius, radius, corner, gap);
+            rounded_block_relative(height * 2, radius, radius, corner, gap - ring_wall);
+        }
+        //rotate([0, 0, 22.5]) rounded_octagon_wall(ring_ext_height * 2, 2 * radius - ring_wall, ring_wall);
+        translate([radius + gap - ring_wall/2, 0, 0]) {
+            rotate([0, 0, 45]) cylinder(r1 = 2 * radius, r2 = ring_wall/2 + 1, h = ring_ext_height * 2, $fn = 4);
+        }
+    }
+    // connection to hub
+    translate([radius + gap, -2, 0]) {
+        cube([10, 4, ring_ext_height * 2]);
+    }
+    // rotating mount
+    o_rad = 8;
+    i_rad = 3;
+    rotate([0, 90, -90]) {
+        translate([-o_rad, radius + gap + o_rad + 8, -2]) {
+            shock_mount_ring(o_rad, i_rad, ring_wall);
+        }
+    }
+}
+
 

+ 4 - 0
TinySpHEAR_mount_pcb.scad

@@ -331,6 +331,10 @@ module tetra_mount_flare(height, lip, transition, bot_radius, bot_corner, top_ra
                 translate([-bot_radius, 0, 0]) {
                     cylinder(r = 1.0, h = height, $fn = facets);
                 }
+                // stops for shock mount
+                for (r = [0, 90, 180, 270]) rotate([0, 0, r]) {
+                    translate([bot_radius, 0, 0]) scale([2.0, 1.0, 1.0]) cylinder(r = 2.0, h = lip, $fn = facets);
+                }
             }
             if (render_screw_holes) {
                 // small supports for the screws that attach the flare to the body