|
|
@@ -71,6 +71,9 @@ connect = 2;
|
|
|
//// end of rendering control
|
|
|
////
|
|
|
|
|
|
+// elevation angle for the capsule holders (fixed for this microphone)
|
|
|
+elev_angle = atan(sqrt(1/2));
|
|
|
+
|
|
|
// adjustment for the radius of the capsule
|
|
|
// measured inside diameter of a trial print was around 7.5 to 8.2
|
|
|
// instead of 10, capsule diameter was 9.99)
|
|
|
@@ -86,21 +89,20 @@ wall = 1;
|
|
|
facets = 64;
|
|
|
|
|
|
// the rest of the connection leg geometry
|
|
|
-tetra = atan(sqrt(2));
|
|
|
leg_length =
|
|
|
connect == 0 ?
|
|
|
- mic_radius * sin(tetra) - capsule_radius * cos(tetra) :
|
|
|
+ mic_radius * cos(elev_angle) - capsule_radius * sin(elev_angle) :
|
|
|
connect == 1 ?
|
|
|
- (mic_radius - capsule_height + leg_thick) * sin(tetra) / sin(90 - tetra) - capsule_radius :
|
|
|
+ (mic_radius - capsule_height + leg_thick) * cos(elev_angle) / cos(90 - elev_angle) - capsule_radius :
|
|
|
mic_radius - (capsule_radius / sqrt(2));
|
|
|
slot_depth = connect == 1 ?
|
|
|
- leg_thick * 1.5 : leg_thick;
|
|
|
+ leg_thick * cos(elev_angle) / sin(elev_angle) + fit: leg_thick * cos (90 - (2 * elev_angle));
|
|
|
|
|
|
// microphone holder geometry
|
|
|
-capsule_sep_min = (mic_radius - capsule_height) * sin(tetra) - (capsule_radius + wall) * cos(tetra);
|
|
|
-capsule_sep_max = mic_radius * sin(tetra) - (capsule_radius + wall) * cos(tetra);
|
|
|
-capsule_bottom = mic_radius * cos(tetra) + (capsule_radius + wall) * sin(tetra);
|
|
|
-mount_slot_depth = ridge_length * cos(tetra);
|
|
|
+capsule_sep_min = (mic_radius - capsule_height) * cos(elev_angle) - (capsule_radius + wall) * sin(elev_angle);
|
|
|
+capsule_sep_max = mic_radius * cos(elev_angle) - (capsule_radius + wall) * sin(elev_angle);
|
|
|
+capsule_bottom = mic_radius * sin(elev_angle) + (capsule_radius + wall) * cos(elev_angle);
|
|
|
+mount_slot_depth = ridge_length * sin(elev_angle);
|
|
|
|
|
|
////////
|
|
|
// microphone capsule holder
|
|
|
@@ -124,7 +126,7 @@ module capsule (azimuth, elevation, mounts, twist) {
|
|
|
// connect with cylindrical beams, very pretty
|
|
|
if (connect == 0) {
|
|
|
translate([capsule_radius - wall, 0, capsule_height - wall]) {
|
|
|
- rotate([0, 90 + tetra, 0]) {
|
|
|
+ rotate([0, 180 - elev_angle, 0]) {
|
|
|
cylinder(d = leg_width, h = leg_length - 0.3, center = false, $fn = facets);
|
|
|
}
|
|
|
}
|
|
|
@@ -165,7 +167,7 @@ module capsule (azimuth, elevation, mounts, twist) {
|
|
|
translate([capsule_radius + fudge, - wall , 0]) {
|
|
|
difference() {
|
|
|
cube([ridge_length, ridge_width, capsule_height], center = false);
|
|
|
- rotate([0, tetra, 0]) {
|
|
|
+ rotate([0, 90 - elev_angle, 0]) {
|
|
|
cube([ridge_length, ridge_width, capsule_height], center = false);
|
|
|
}
|
|
|
}
|
|
|
@@ -191,7 +193,7 @@ module capsule (azimuth, elevation, mounts, twist) {
|
|
|
|
|
|
// microphone mount
|
|
|
//
|
|
|
-// angles:
|
|
|
+// angles: angles for mount slots
|
|
|
// wall: thickness of cylinder wall
|
|
|
// separation: height of mount with respect of the microphone assembly
|
|
|
|
|
|
@@ -204,8 +206,8 @@ module mount (angles, wall, separation) {
|
|
|
rotate([0, 0, rot]) {
|
|
|
translate([-capsule_sep_max, -(ridge_width - fit / 2), -mount_height]) {
|
|
|
cube([capsule_sep_max, ridge_width * 2 - fit, mount_height]);
|
|
|
- rotate([0, -(90 - tetra), 0]) {
|
|
|
- cube([capsule_sep_max, ridge_width * 2 - fit, mount_height * sin(tetra)]);
|
|
|
+ rotate([0, -elev_angle, 0]) {
|
|
|
+ cube([capsule_sep_max, ridge_width * 2 - fit, mount_height * cos(elev_angle)]);
|
|
|
}
|
|
|
}
|
|
|
}
|