|
|
@@ -502,7 +502,7 @@ module octa_mount_flare(height, lip, transition, radius, top_radius, stalk_heigh
|
|
|
sphere(r = top_radius - wall, $fn = facets);
|
|
|
}
|
|
|
wire_diam = mic_wire_diam + mic_wire_fit;
|
|
|
- for (r = [0, 90, 180, 270]) rotate([0, 0, r]) {
|
|
|
+ for (r = [0, 90, 180, 270]) rotate([0, 0, r + 45]) {
|
|
|
for (t = [0, 1]) {
|
|
|
rotate([0, 0, 45 * t]) translate([top_radius - wire_diam - t * wire_diam * 2/3, 0, wall]) {
|
|
|
cylinder(r = wire_diam / 2, h = top_radius * 2, $fn = facets);
|
|
|
@@ -835,11 +835,11 @@ module octa_capsule_array_mount(angles) {
|
|
|
for (rot = [45, 135, -135, -45]) {
|
|
|
translate([0, 0, 0]) {
|
|
|
rotate([0, 90, rot]) {
|
|
|
- linear_extrude(height = mount_radius_capsule) {
|
|
|
+ scale([0.5, 0.5, 1.0]) linear_extrude(height = mount_radius_capsule, scale = 2.5) {
|
|
|
minkowski() {
|
|
|
- polygon(points = [[0, mount_radius_capsule * 0.35], [0, - mount_radius_capsule * 0.35],
|
|
|
- [mount_radius_capsule * 2 / 3, 0]]);
|
|
|
- circle(r = 1.0, $fn = facets);
|
|
|
+ polygon(points = [[0, mount_radius_capsule * 0.2], [0, - mount_radius_capsule * 0.2],
|
|
|
+ [mount_radius_capsule, 0]]);
|
|
|
+ circle(r = 2.0, $fn = facets);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
@@ -883,7 +883,7 @@ module octa_shock_mount_internal_ring(height, radius, band_height, corner, gap)
|
|
|
// 8 columns for mounting rubber bands
|
|
|
for (r = [0, 90, 180, 270]) rotate([0, 0, r]) {
|
|
|
for (m = [0, 1]) mirror([m, 0, 0]) {
|
|
|
- translate([radius + 1.0, radius/2 - 2, 0]) {
|
|
|
+ translate([radius + 2.25, radius/2 - 2, 0]) {
|
|
|
rotate([0, 0, 0]) {
|
|
|
difference() {
|
|
|
// columns
|
|
|
@@ -903,6 +903,10 @@ module octa_shock_mount_internal_ring(height, radius, band_height, corner, gap)
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ // walls between columns so that they cannot bend
|
|
|
+ rotate([0, 0, 45]) translate([radius + 2.25 * wall, -14, 0]) {
|
|
|
+ cube([wall, 28, height]);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -1053,11 +1057,28 @@ module render_octa_connector_flare(z_offset, flip) {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+// microphone body: flare to db25 connector (slips into PCB holder body)
|
|
|
+//
|
|
|
+module render_octa_mount_dsub_flare(z_offset, flip) {
|
|
|
+ updown = 0;
|
|
|
+ if (flip) {
|
|
|
+ updown = 180;
|
|
|
+ }
|
|
|
+ rotate([0, updown, 90]) {
|
|
|
+ conn_offset = 2.0;
|
|
|
+ translate([0, 0, -mount_lip]) {
|
|
|
+ octa_mount_flare_dsub(pcb_low_clear + pcb_low_exp, mount_lip, 20,
|
|
|
+ octa_pcb_radius,
|
|
|
+ conn_core_o_diam / 2, conn_core_o_diam + conn_offset);
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
// microphone body: render all parts with a vertical separation
|
|
|
//
|
|
|
module render_octa_body(z_offset, spread, showint) {
|
|
|
rotate([0, 180, 0]) {
|
|
|
- render_octa_connector_flare(0);
|
|
|
+ render_octa_mount_dsub_flare(0);
|
|
|
}
|
|
|
lippy = spread - mount_lip;
|
|
|
render_octa_pcb_mount(lippy, showint);
|