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