Sfoglia il codice sorgente

the previous mount design cannot house the microphone cables - they are very thin but not thin enough to fit, so I am trying several other designs in this commit, we will have to route the cables externally it seems, ugly...

Fernando Pablo Lopez-Lezcano 10 anni fa
parent
commit
be9f762d95
1 ha cambiato i file con 61 aggiunte e 7 eliminazioni
  1. 61 7
      TinySphEAR.scad

+ 61 - 7
TinySphEAR.scad

@@ -43,8 +43,8 @@ leg_width = 5;
 leg_thick = 2.5;
 
 // width of the ridge that connects to the mount
-ridge_width = 2;
-ridge_slot_width = 4.5;
+ridge_width = 1.5;
+ridge_slot_width = 2;
 ridge_length = 2.5;
 
 // wall thickness of capsule holder
@@ -54,7 +54,7 @@ wall = 1;
 mount_radius = 3.5;
 
 // height of mount
-mount_height = 20;
+mount_height = 8;
 
 //// end of model parameters
 ////
@@ -214,7 +214,62 @@ module capsule (azimuth, elevation, mounts, twist, ridge) {
 // wall: thickness of cylinder wall
 // separation: height of mount with respect of the microphone assembly
 
+box_height = 4.0;
+
 module mount (angles, wall, separation) {
+    translate([0, 0, -separation]) {
+        rotate([0, 0, 45]) {
+            difference() {
+                int_width = leg_width * 4 / 3;
+                translate([-(int_width) / 2, -(capsule_sep_max - 2.1), - box_height]) {
+                    difference() {
+                        translate([-wall, -wall, 0]) {
+                            cube([int_width + 2 * wall, (capsule_sep_max - 2.1) * 2 + 2 * wall, box_height]);
+                        }
+                        cube([int_width, (capsule_sep_max - 2.1) * 2, box_height]);
+                    }
+                }
+            }
+        }
+    }
+}
+
+mount_top_depth = 2.0;
+mount_stalk_radius = 1.5;
+mount_stalk_length = 8;
+
+module mount_cube (angles, wall, separation) {
+    translate([0, 0, -separation]) {
+        rotate([0, 0, 45]) {
+            difference() {
+                translate([-(ridge_slot_width + 2 * ridge_width) / 2, -capsule_sep_max, - mount_top_depth]) {
+                    cube([ridge_slot_width + 2 * ridge_width, capsule_sep_max * 2, mount_top_depth]);
+                }
+                // cut a slot for the ridges in the mount
+                for (rot = angles) {
+                    rotate([0, -elev_angle, -45 + rot]) {
+                        translate([-capsule_sep_max * 2, 0.5 * ridge_slot_width - fit / 2, mount_slot_depth - 0.6 * wall]) {
+                            cube([capsule_sep_max * 2, ridge_slot_width + fit, mount_height]);
+                        }
+                        translate([-capsule_sep_max * 2, - 1.5 * ridge_slot_width - fit / 2, mount_slot_depth - 0.6 * wall]) {
+                            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 + wall]) {
+                            cube([capsule_sep_max * 2, 2 * ridge_slot_width + fit, mount_height]);
+                        }
+                    }
+                }
+                // cut a hole for the mounting stalk
+                translate([0, 0, -mount_top_depth]) {
+                    cylinder(r = mount_stalk_radius, h = mount_top_depth, $fn = facets);
+                }
+            }
+        }
+    }
+}
+
+module mount_cylinder (angles, wall, separation) {
 	translate([0, 0, -(separation + 0.0)]) {
 		difference() {
             union() {
@@ -272,8 +327,8 @@ module mount (angles, wall, separation) {
 if (rendermic == 1) {
 	capsule(45, elev_angle, leg_angles_top, 60, 0);
 	capsule(-135, elev_angle, leg_angles_top, 60, 0);
-	capsule(-45, -elev_angle, leg_angles_bot, 0, 1);
-	capsule(135, -elev_angle, leg_angles_bot, 0, 1);
+	capsule(-45, -elev_angle, leg_angles_top, 0, 0);
+	capsule(135, -elev_angle, leg_angles_top, 0, 0);
 	// the mount
 	mount([-45, 135], 1, capsule_bottom);
 }
@@ -295,7 +350,7 @@ if (rendermic == 0) {
             // #1
             translate([-part_sep, -part_sep, part_height]) { capsule(0, part_rot, leg_angles_bot, 90, 1); }
             // mount
-            translate([0, 0, mount_height]) { mount([-45, 135], 1, 0); }            
+            translate([0, 0, box_height]) { mount([-45, 135], 1, 0); }
             // add connecting ridges to make it all one part
             difference() {
                 for (rot_a = [-45, 45]) {
@@ -325,7 +380,6 @@ if (rendermic == 0) {
             translate([-part_sep, -part_sep, part_height]) { capsule(0, part_rot, leg_angles_bot, 90, 1); }
             // mount
             translate([0, 0, mount_height]) { mount([-45, 135], 1, 0); }
-
             // add connecting ridges to make it all one part
             difference() {
                 for (rot_a = [-45, 45]) {