Sfoglia il codice sorgente

another round of the mount design, the previous one could not be printed correctly (we do not want knife edges in the vertical direction)

Fernando Pablo Lopez-Lezcano 10 anni fa
parent
commit
a33f148be4
1 ha cambiato i file con 37 aggiunte e 19 eliminazioni
  1. 37 19
      TinySphEAR.scad

+ 37 - 19
TinySphEAR.scad

@@ -54,7 +54,7 @@ wall = 1;
 mount_radius = 3.5;
 
 // height of mount
-mount_height = 12;
+mount_height = 20;
 
 //// end of model parameters
 ////
@@ -217,33 +217,51 @@ module capsule (azimuth, elevation, mounts, twist, ridge) {
 module mount (angles, wall, separation) {
 	translate([0, 0, -(separation + 0.0)]) {
 		difference() {
-			union() {
-				translate([0, 0, -mount_height]) {
-					cylinder(r = mount_radius + wall, h = mount_height, $fn = facets);
-				}
-			}
-			// make the hole for the mount (* 1.5 to cut the ridge as well)
-			translate([0, 0, -mount_height]) {
-				cylinder(r = mount_radius, h = mount_height * 1.5, $fn = facets);
-			}
+            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);
+                    }
+                }
+                // make rests for microphone ridges thicker
+                rotate([0, 0, 45]) {
+                    for (move = [- (ridge_slot_width / 2 + ridge_width), (ridge_slot_width / 2 + ridge_width) - 2 * wall]) {
+                        translate([move, -mount_radius, -mount_height]) {
+                            cube([2 * wall, mount_radius * 2, mount_height]);
+                        }
+                    }
+                }
+            }
+            // shave exterior of the cylinder, erases extensions that protrude
+            translate([0, 0, -mount_height]) {
+                difference() {
+                    cylinder(r = mount_radius + 2 * wall, h = mount_height, $fn = facets);
+                    cylinder(r = mount_radius + wall, h = mount_height, $fn = facets);
+                }
+            }
 			// 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_slot_width - fit / 2, mount_slot_depth - wall * 1.5]) {
+                    translate([-capsule_sep_max * 2, 0.5 * ridge_slot_width - fit / 2, mount_slot_depth - 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 - wall * 1.5]) {
+                    translate([-capsule_sep_max * 2, - 1.5 * ridge_slot_width - fit / 2, mount_slot_depth - 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]) {
-                        cube([capsule_sep_max * 2, 2 * ridge_slot_width + fit, mount_height]);
-                    }
+                    // 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]);
+            // lower the top of theo mount ridges (we have to do the geometry of all this...)
+            rotate([0, 0, -45]) {
+                translate([- capsule_sep_max, -ridge_slot_width / 2, -0.4]) {
+                    cube([capsule_sep_max * 2, ridge_slot_width, 2]);
+                }
             }
 		}
 	}
@@ -268,7 +286,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_bot, 60, 1); }
+        translate([part_sep, -part_sep, part_height]) { capsule(0, part_rot, leg_angles_top, 60, 0); }
         if (renderset != 0) {
             // #4
             translate([part_sep, part_sep, part_height]) { capsule(0, part_rot, leg_angles_top, 60, 0); }