Bladeren bron

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 jaren geleden
bovenliggende
commit
a33f148be4
1 gewijzigde bestanden met toevoegingen van 37 en 19 verwijderingen
  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); }