|
|
@@ -1,25 +1,27 @@
|
|
|
//
|
|
|
-// First Order (B-format) Ambisonics Microphone, or Bambi for short
|
|
|
+// First Order (B-format) Ambisonics Microphone, or SphEAR for short
|
|
|
//
|
|
|
// Copyright 2015 Fernando Lopez-Lezcano
|
|
|
//
|
|
|
-// Code released under the GNU GPL License
|
|
|
+// Source code released under the GNU GPL License
|
|
|
// http://www.gnu.org/licenses/gpl-3.0.en.html
|
|
|
//
|
|
|
-// 3d models under Creative Commons Non-Commercial Share-alike, CC-NC-SA 3.0
|
|
|
+// 3d model released under Creative Commons Non-Commercial Share-Alike
|
|
|
+// CC-NC-SA 3.0
|
|
|
// http://creativecommons.org/licenses/by-nc-sa/3.0/
|
|
|
|
|
|
-// what to render
|
|
|
+
|
|
|
+// what to render:
|
|
|
// 0 -> a single capsule holder
|
|
|
// 1 -> the whole microhone with four capsules
|
|
|
|
|
|
-rendermic = 0;
|
|
|
+rendermic = 1;
|
|
|
|
|
|
-// what type of connection between holders
|
|
|
+// what type of connection between capsule holders:
|
|
|
// 0 -> original cylinder beams
|
|
|
// 1 -> interlocking beams (out)
|
|
|
// 2 -> interlocking beams (in)
|
|
|
-connect = 1;
|
|
|
+connect = 2;
|
|
|
|
|
|
// number of facets for cylinders
|
|
|
facets = 64;
|
|
|
@@ -28,6 +30,7 @@ facets = 64;
|
|
|
// (measured inside diameter was around 7.5 to 8.2 instead of 10, capsule diameter was 9.99)
|
|
|
fudge = 0.1;
|
|
|
|
|
|
+////////
|
|
|
// microphone capsule holder
|
|
|
|
|
|
// azimuth: orientation of the capsule
|
|
|
@@ -57,25 +60,38 @@ module capsule (azimuth, elevation, ambradius, radius, height, wall, twist, moun
|
|
|
// }
|
|
|
// the attachment point to the other capsules
|
|
|
for (rot = [-120 : 120 : mounts == 2 ? 0 : 120]) {
|
|
|
+ // connect with cylindrical beams, very pretty
|
|
|
rotate(a = rot + twist, v = [0, 0, 1]) {
|
|
|
if (connect == 0) {
|
|
|
- translate([radius - wall, 0, height - wall]) {
|
|
|
- rotate(a = 145, v = [0, 1, 0]) {
|
|
|
- cylinder(d = wall * 4, h = 6, center = false, $fn = facets);
|
|
|
+ translate([radius - wall, 0, height - wall]) {
|
|
|
+ rotate(a = 145, v = [0, 1, 0]) {
|
|
|
+ cylinder(d = wall * 4, h = 6, center = false, $fn = facets);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
- }
|
|
|
+ // connect with flat square beams pointing out
|
|
|
if (connect == 1) {
|
|
|
- translate([radius - wall, 3 * wall / 4, wall]) {
|
|
|
- rotate(a = 90, v = [0, 1, 0]) {
|
|
|
- difference() {
|
|
|
- cube([wall * 2, wall * 4, height * 4], center = true);
|
|
|
- translate([0, 0, wall * 8]) {
|
|
|
- cube([wall * 2, wall * 1.5, height], center = true);
|
|
|
+ translate([radius - wall, 3 * wall / 4, wall]) {
|
|
|
+ rotate(a = 90, v = [0, 1, 0]) {
|
|
|
+ difference() {
|
|
|
+ cube([wall * 2, wall * 4, height * 4], center = true);
|
|
|
+ translate([0, 0, wall * 8]) {
|
|
|
+ cube([wall * 2, wall * 1.5, height], center = true);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ // connect with flat square beams pointing in
|
|
|
+ if (connect == 2) {
|
|
|
+ translate([radius + fudge, - wall * 1.29 , - height]) {
|
|
|
+ difference() {
|
|
|
+ cube([wall * 2, wall * 4, height * 2], center = false);
|
|
|
+ translate([0, wall * 1.25, - wall * 2]) {
|
|
|
+ cube([wall * 2, wall * 1.5, height], center = false);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|