Procházet zdrojové kódy

go back to the initial idea of just one slot for the mount to see if we can fit all four wires inside the mount, add rounded rests for better support

Fernando Pablo Lopez-Lezcano před 10 roky
rodič
revize
7c1e107b09
1 změnil soubory, kde provedl 59 přidání a 9 odebrání
  1. 59 9
      TinySphEAR.scad

+ 59 - 9
TinySphEAR.scad

@@ -64,8 +64,8 @@ mount_height = 8;
 // 0 -> ready to print
 // 0 -> ready to print
 //   set = 0 -> one capsule, set = 1 -> four capsules
 //   set = 0 -> one capsule, set = 1 -> four capsules
 // 1 -> the whole microhone with four capsules
 // 1 -> the whole microhone with four capsules
-rendermic = 1;
-renderset = 0;
+rendermic = 0;
+renderset = 1;
 
 
 // what type of connection to use between capsule holders:
 // what type of connection to use between capsule holders:
 // 0 -> original cylinder beams
 // 0 -> original cylinder beams
@@ -73,6 +73,12 @@ renderset = 0;
 // 2 -> interlocking beams (in)
 // 2 -> interlocking beams (in)
 connect = 1;
 connect = 1;
 
 
+// what type of mount ridges to use
+// 0 -> nothing
+// 1 -> 1 ridge
+// 2 -> 2 ridges
+ridges = 1;
+
 //// end of rendering control
 //// end of rendering control
 ////
 ////
 
 
@@ -181,12 +187,19 @@ module capsule (azimuth, elevation, mounts, twist, ridge) {
 							}
 							}
 						}
 						}
 						// add ridges for microphone mount
 						// add ridges for microphone mount
-						if (ridge == 1) {
+						if (ridge == 2) {
 							rotate([0, 0, twist]) {
 							rotate([0, 0, twist]) {
 								translate([capsule_radius - ridge_length / 2 + fudge, ridge_slot_width / 2, 0]) {
 								translate([capsule_radius - ridge_length / 2 + fudge, ridge_slot_width / 2, 0]) {
                                     cube([ridge_length * 3 / 2, ridge_width, capsule_height], center = false);
                                     cube([ridge_length * 3 / 2, ridge_width, capsule_height], center = false);
 								}
 								}
 								translate([capsule_radius - ridge_length / 2 + fudge, -ridge_width - ridge_slot_width / 2, 0]) {
 								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);
+								}
+							}
+						}
+						if (ridge == 1) {
+							rotate([0, 0, twist]) {
+								translate([capsule_radius - ridge_length / 2 + fudge, -ridge_width / 2, 0]) {
                                     cube([ridge_length * 3 / 2, ridge_width, capsule_height], center = false);
                                     cube([ridge_length * 3 / 2, ridge_width, capsule_height], center = false);
 								}
 								}
 							}
 							}
@@ -214,9 +227,46 @@ module capsule (azimuth, elevation, mounts, twist, ridge) {
 // wall: thickness of cylinder wall
 // wall: thickness of cylinder wall
 // separation: height of mount with respect of the microphone assembly
 // separation: height of mount with respect of the microphone assembly
 
 
+module mount (angles, wall, separation) {
+	translate([0, 0, -(separation + 0.0)]) {
+		difference() {
+            union() {
+                // main mount cylinder
+                translate([0, 0, -mount_height]) {
+                    difference() {
+                        cylinder(r = mount_radius + wall, h = mount_height, $fn = facets);
+                        // make the hole for the mount (* 1.5 to cut the ridge as well)
+                        cylinder(r = mount_radius, h = mount_height * 1.5, $fn = facets);
+                    }
+                }
+            }
+            // indentations that match the lower capsule holders
+            for (rot = [0, 180]) {
+                rotate([0, 0, rot]) {
+                    translate([-mount_radius * 1.6, mount_radius * 1.6, mount_height / 3]) {
+                        rotate([0, 90 - elev_angle, -45]) {
+                            cylinder(r = capsule_radius + wall, h = capsule_height * 2, $fn = facets);
+                        }
+                    }
+                }
+            }
+            // slots for the mounting ridges
+            for (rot = angles) {
+                rotate([0, -elev_angle, rot]) {
+                    translate([-capsule_sep_max * 2, -ridge_width / 2, mount_slot_depth - 2 * wall]) {
+                        cube([capsule_sep_max * 2, ridge_width + fit, mount_height]);
+                    }
+                }
+			}
+            
+        }
+    }
+}
+
+
 box_height = 4.0;
 box_height = 4.0;
 
 
-module mount (angles, wall, separation) {
+module mount_cube_2 (angles, wall, separation) {
     translate([0, 0, -separation]) {
     translate([0, 0, -separation]) {
         rotate([0, 0, 45]) {
         rotate([0, 0, 45]) {
             difference() {
             difference() {
@@ -327,8 +377,8 @@ module mount_cylinder (angles, wall, separation) {
 if (rendermic == 1) {
 if (rendermic == 1) {
 	capsule(45, elev_angle, leg_angles_top, 60, 0);
 	capsule(45, elev_angle, leg_angles_top, 60, 0);
 	capsule(-135, elev_angle, leg_angles_top, 60, 0);
 	capsule(-135, elev_angle, leg_angles_top, 60, 0);
-	capsule(-45, -elev_angle, leg_angles_top, 0, 0);
-	capsule(135, -elev_angle, leg_angles_top, 0, 0);
+	capsule(-45, -elev_angle, leg_angles_bot, 0, 1);
+	capsule(135, -elev_angle, leg_angles_bot, 0, 1);
 	// the mount
 	// the mount
 	mount([-45, 135], 1, capsule_bottom);
 	mount([-45, 135], 1, capsule_bottom);
 }
 }
@@ -341,16 +391,16 @@ if (rendermic == 0) {
         part_height = 0;
         part_height = 0;
         part_sep = capsule_radius * 2.5;
         part_sep = capsule_radius * 2.5;
         // #3
         // #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_top, 60, 0); }
         if (renderset != 0) {
         if (renderset != 0) {
             // #4
             // #4
-            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_top, 60, 0); }
             // #2
             // #2
             translate([-part_sep, part_sep, part_height]) { capsule(0, part_rot, leg_angles_bot, -90, 1); }
             translate([-part_sep, part_sep, part_height]) { capsule(0, part_rot, leg_angles_bot, -90, 1); }
             // #1
             // #1
             translate([-part_sep, -part_sep, part_height]) { capsule(0, part_rot, leg_angles_bot, 90, 1); }
             translate([-part_sep, -part_sep, part_height]) { capsule(0, part_rot, leg_angles_bot, 90, 1); }
             // mount
             // mount
-            translate([0, 0, box_height]) { mount([-45, 135], 1, 0); }
+            translate([0, 0, mount_height]) { mount([-45, 135], 1, 0); }
             // add connecting ridges to make it all one part
             // add connecting ridges to make it all one part
             difference() {
             difference() {
                 for (rot_a = [-45, 45]) {
                 for (rot_a = [-45, 45]) {