Ver Fonte

make ridges that connect to the mount printable and smaller so that we can print a micrphone with radius 10mm - this could be tied to the size of the microphone shrinking when it is smaller

Fernando Pablo Lopez-Lezcano há 11 anos atrás
pai
commit
58317e8641
1 ficheiros alterados com 16 adições e 20 exclusões
  1. 16 20
      first_order.scad

+ 16 - 20
first_order.scad

@@ -35,7 +35,7 @@ capsule_radius = 5;
 capsule_height = 4.5;
 
 // distance between face of capsule and center of array
-mic_radius = 10.5;
+mic_radius = 10;
 
 // dimensions of capsule holder connection legs
 leg_width = 4;
@@ -43,7 +43,7 @@ leg_thick = 2.5;
 
 // width of the ridge that connects to the mount
 ridge_width = 2;
-ridge_length = 3;
+ridge_length = 2;
 
 // dimensions of microphone holder
 mount_radius = 3.5;
@@ -66,7 +66,7 @@ renderset = 0;
 // 0 -> original cylinder beams
 // 1 -> interlocking beams (out)
 // 2 -> interlocking beams (in)
-connect = 2;
+connect = 1;
 
 //// end of rendering control
 ////
@@ -111,8 +111,9 @@ mount_slot_depth = ridge_length * sin(elev_angle);
 // elevation: vertical orientation of the capsure
 // mounts: vector with angles that correspond to the orientation of the legs
 // twist: rotate the whole capsule to match mounting legs
+// ridge: 1 -> print ridge for mount
 
-module capsule (azimuth, elevation, mounts, twist) {
+module capsule (azimuth, elevation, mounts, twist, ridge) {
 	rotate([0, 0, azimuth]) {
 		rotate([0, (90 - elevation), 0]) {
   			translate([0, 0, rendermic == 0 ? 0 : mic_radius - capsule_height]) {
@@ -162,15 +163,10 @@ module capsule (azimuth, elevation, mounts, twist) {
 							}
 						}
 						// add ridges for microphone mount
-						if (elevation < 0) {
+						if (ridge == 1) {
 							rotate([0, 0, twist]) {
 								translate([capsule_radius + fudge, - wall , 0]) {
-									difference() {
-										cube([ridge_length, ridge_width, capsule_height], center = false);
-										rotate([0, 90 - elev_angle, 0]) {
-											cube([ridge_length, ridge_width, capsule_height], center = false);
-										}
-									}
+                                    cube([ridge_length, ridge_width, capsule_height], center = false);
 								}
 							}
 						}
@@ -241,10 +237,10 @@ module mount (angles, wall, separation) {
 
 // render a complete microphone
 if (rendermic == 1) {
-	capsule(45, elev_angle, [-120, 0, 120], 60);
-	capsule(-45, -elev_angle, [-120, 120], 0);
-	capsule(-135, elev_angle, [-120, 0, 120], 60);
-	capsule(135, -elev_angle, [-120, 120], 0);
+	capsule(45, elev_angle, [-120, 0, 120], 60, 0);
+	capsule(-45, -elev_angle, [-120, 120], 0, 1);
+	capsule(-135, elev_angle, [-120, 0, 120], 60, 0);
+	capsule(135, -elev_angle, [-120, 120], 0, 1);
 	// the mount
 	mount([-45, 135], 1, capsule_bottom);
 }
@@ -252,12 +248,12 @@ if (rendermic == 1) {
 // print all the parts separately
 part_sep = capsule_radius * 2 * 3;
 if (rendermic == 0) {
-	capsule(0, -90, [-120, 0, 120], 0);
+	capsule(0, 90, [-120, 0, 120], 0, 0);
     if (renderset != 0) {
-        translate([0, part_sep, 0]) { capsule(0, -90, [-120, 0, 120], 0); }
-        translate([part_sep, 0, 0]) { capsule(0, -90, [-120, 120], 0); }
-        translate([part_sep, part_sep]) { capsule(0, -90, [-120, 120], 0); }
-        translate([part_sep / 2, -part_sep, 0]) { mount(1, 0); }
+        translate([0, part_sep, 0]) { capsule(0, 90, [-120, 0, 120], 0, 0); }
+        translate([part_sep, 0, 0]) { capsule(0, 90, [-120, 120], 0, 1); }
+        translate([part_sep, part_sep]) { capsule(0, 90, [-120, 120], 0, 1); }
+        translate([part_sep / 2, -part_sep, 0]) { mount([-45, 135], 1, 0); }
     }
 }