|
@@ -597,3 +597,91 @@ module shock_mount_threaded_stand(height, wall, stand_wall) {
|
|
|
// connection to microphone
|
|
// connection to microphone
|
|
|
mount_connector_top(height, diam/2 + wall, diam/2, 23.0);
|
|
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);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+
|