Przeglądaj źródła

rework a bit the mount of the tetrahedral microphone, more exact fit into the ridges, still needs some geometry work so that everything fits exactly together

Fernando Pablo Lopez-Lezcano 10 lat temu
rodzic
commit
cbb6a2ad8a
1 zmienionych plików z 21 dodań i 12 usunięć
  1. 21 12
      TinySphEAR.scad

+ 21 - 12
TinySphEAR.scad

@@ -43,7 +43,8 @@ leg_width = 5;
 leg_thick = 2.5;
 
 // width of the ridge that connects to the mount
-ridge_width = 3;
+ridge_width = 2;
+ridge_slot_width = 4.5;
 ridge_length = 2.5;
 
 // wall thickness of capsule holder
@@ -182,11 +183,11 @@ module capsule (azimuth, elevation, mounts, twist, ridge) {
 						// add ridges for microphone mount
 						if (ridge == 1) {
 							rotate([0, 0, twist]) {
-								translate([capsule_radius - ridge_length * 0.5 + fudge, - 1.5 * ridge_width , 0]) {
-                                    cube([ridge_length * 1.5, ridge_width, capsule_height], center = false);
+								translate([capsule_radius - ridge_length / 2 + fudge, ridge_slot_width / 2, 0]) {
+                                    cube([ridge_length * 3 / 2, ridge_width, capsule_height], center = false);
 								}
-								translate([capsule_radius - ridge_length * 0.5 + fudge, 0.5 * ridge_width , 0]) {
-                                    cube([ridge_length * 1.5, ridge_width, capsule_height], center = false);
+								translate([capsule_radius - ridge_length / 2 + fudge, -ridge_width - ridge_slot_width / 2, 0]) {
+                                    cube([ridge_length * 3 / 2, ridge_width, capsule_height], center = false);
 								}
 							}
 						}
@@ -214,7 +215,7 @@ module capsule (azimuth, elevation, mounts, twist, ridge) {
 // separation: height of mount with respect of the microphone assembly
 
 module mount (angles, wall, separation) {
-	translate([0, 0, -(separation + 0.1)]) {
+	translate([0, 0, -(separation + 0.0)]) {
 		difference() {
 			union() {
 				translate([0, 0, -mount_height]) {
@@ -225,17 +226,25 @@ module mount (angles, wall, separation) {
 			translate([0, 0, -mount_height]) {
 				cylinder(r = mount_radius, h = mount_height * 1.5, $fn = facets);
 			}
-			// and cut a slot for the ridges in the wall of the cylinder
+			// cut a slot for the ridges in the wall of the cylinder
             for (rot = angles) {
                 rotate([0, -elev_angle, rot]) {
-                    translate([-capsule_sep_max * 2, 0.5 * ridge_width - fit, mount_slot_depth - wall / 2]) {
-                        cube([capsule_sep_max * 2, ridge_width + 2 * fit, mount_height]);
+                    translate([-capsule_sep_max * 2, 0.5 * ridge_slot_width - fit / 2, mount_slot_depth - wall * 1.5]) {
+                        cube([capsule_sep_max * 2, ridge_slot_width + fit, mount_height]);
                     }
-                    translate([-capsule_sep_max * 2, - 1.5 * ridge_width - fit, mount_slot_depth - wall / 2]) {
-                        cube([capsule_sep_max * 2, ridge_width + 2 * fit, mount_height]);
+                    translate([-capsule_sep_max * 2, - 1.5 * ridge_slot_width - fit / 2, mount_slot_depth - wall * 1.5]) {
+                        cube([capsule_sep_max * 2, ridge_slot_width + fit, mount_height]);
+                    }
+                    // top of the ridge
+                    translate([-capsule_sep_max * 2, -ridge_slot_width, mount_slot_depth]) {
+                        cube([capsule_sep_max * 2, 2 * ridge_slot_width + fit, mount_height]);
                     }
                 }
 			}
+            // level the top of the ridge
+            %translate([0, 0, -mount_height]) {
+                cube([capsule_sep_max * 2, ridge_slot_width, -2]);
+            }
 		}
 	}
 }
@@ -259,7 +268,7 @@ if (rendermic == 0) {
         part_height = 0;
         part_sep = capsule_radius * 2.5;
         // #3
-        translate([part_sep, -part_sep, part_height]) { capsule(0, part_rot, leg_angles_top, 60, 0); }
+        translate([part_sep, -part_sep, part_height]) { capsule(0, part_rot, leg_angles_bot, 60, 1); }
         if (renderset != 0) {
             // #4
             translate([part_sep, part_sep, part_height]) { capsule(0, part_rot, leg_angles_top, 60, 0); }