|
|
@@ -109,6 +109,12 @@ box_radius = pcb_front + (pcb_thickness + pcb_tfit) + pcb_back + 2 * wall;
|
|
|
// calculated main body corner radius
|
|
|
mount_corner = box_radius - pcb_width / 2 + pcb_slot_depth + 4.0;
|
|
|
|
|
|
+// body parameters
|
|
|
+render_screw_holes = true;
|
|
|
+radial_pcb_offset = 17.0;
|
|
|
+octa_pcb_mount_height = pcb_length - pcb_low_exp - pcb_hi_exp;
|
|
|
+octa_pcb_radius = radial_pcb_offset + pcb_width/2 + 5 * wall;
|
|
|
+
|
|
|
// body to flares snap joint arm slot width
|
|
|
snap_joint_slot_w = 0.75;
|
|
|
|
|
|
@@ -222,9 +228,6 @@ module rounded_octagon_wall(height, radius, wall) {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-render_screw_holes = true;
|
|
|
-radial_pcb_offset = 17.0;
|
|
|
-
|
|
|
module octa_mount_body(height, radius, lower_lip, upper_lip, clear) {
|
|
|
// rotate pcb assembly so it does not interfere with the screws
|
|
|
offset_angle = -16;
|
|
|
@@ -387,6 +390,8 @@ module octa_mount_flare_no_ws(height, lip, transition, radius, top_radius, stalk
|
|
|
}
|
|
|
|
|
|
module octa_mount_flare(height, lip, transition, radius, top_radius, stalk_height, dot) {
|
|
|
+ // transition from bottom box to windscreen mounting thread
|
|
|
+ transition_to_threads = 5;
|
|
|
// bottom box
|
|
|
difference() {
|
|
|
union() {
|
|
|
@@ -402,6 +407,10 @@ module octa_mount_flare(height, lip, transition, radius, top_radius, stalk_heigh
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ // indicator of "front" of microphone
|
|
|
+ rotate([0, 0, 180]) translate([radius - 0.75, 0, 0]) {
|
|
|
+ cylinder(r = 1.0, h = lip/2, $fn = facets);
|
|
|
+ }
|
|
|
}
|
|
|
// flange to mount on body
|
|
|
rounded_octagon_wall(lip + 1.00, radius - wall, wall);
|
|
|
@@ -427,8 +436,7 @@ module octa_mount_flare(height, lip, transition, radius, top_radius, stalk_heigh
|
|
|
}
|
|
|
}
|
|
|
// flare to windscreen threads
|
|
|
- transition_to_threads = 5.0;
|
|
|
- translate([0, 0, height]) {
|
|
|
+ translate([0, 0, height - windscreen_thread_height - transition_to_threads]) {
|
|
|
difference() {
|
|
|
hull() {
|
|
|
rounded_octagon(thin_mint, radius);
|
|
|
@@ -437,7 +445,7 @@ module octa_mount_flare(height, lip, transition, radius, top_radius, stalk_heigh
|
|
|
}
|
|
|
}
|
|
|
hull() {
|
|
|
- rounded_octagon(thin_mint, radius - 2 * wall);
|
|
|
+ rounded_octagon(thin_mint, radius - wall);
|
|
|
translate([0, 0, transition_to_threads]) {
|
|
|
cylinder(r = windscreen_thread_radius - windscreen_thread_depth - wall, h = thin_mint, $fn = facets);
|
|
|
}
|
|
|
@@ -445,24 +453,24 @@ module octa_mount_flare(height, lip, transition, radius, top_radius, stalk_heigh
|
|
|
}
|
|
|
}
|
|
|
// windscreen mounting threads
|
|
|
- translate([0, 0, height + transition_to_threads]) difference() {
|
|
|
+ translate([0, 0, height - windscreen_thread_height]) difference() {
|
|
|
metric_thread(diameter = windscreen_thread_radius * 2, pitch = windscreen_thread_pitch,
|
|
|
length = windscreen_thread_height, angle = windscreen_thread_angle, internal = false);
|
|
|
cylinder(r = windscreen_thread_radius - wall - windscreen_thread_depth, h = windscreen_thread_height + thin_mint, $fn = facets);
|
|
|
}
|
|
|
|
|
|
// flare to stalk
|
|
|
- translate([0, 0, height + transition_to_threads + windscreen_thread_height]) {
|
|
|
+ translate([0, 0, height - 1.5]) {
|
|
|
difference() {
|
|
|
hull() {
|
|
|
cylinder(r = windscreen_thread_radius - windscreen_thread_depth, h = thin_mint, $fn = facets);
|
|
|
- translate([0, 0, transition - transition_to_threads - windscreen_thread_height]) {
|
|
|
+ translate([0, 0, transition + 1.5]) {
|
|
|
cylinder(r = top_radius, h = thin_mint, $fn = facets);
|
|
|
}
|
|
|
}
|
|
|
hull() {
|
|
|
cylinder(r = windscreen_thread_radius - windscreen_thread_depth - wall, h = thin_mint, $fn = facets);
|
|
|
- translate([0, 0, transition - transition_to_threads - windscreen_thread_height]) {
|
|
|
+ translate([0, 0, transition + 1.5]) {
|
|
|
cylinder(r = top_radius - wall, h = thin_mint, $fn = facets);
|
|
|
}
|
|
|
}
|
|
|
@@ -474,19 +482,6 @@ module octa_mount_flare(height, lip, transition, radius, top_radius, stalk_heigh
|
|
|
cylinder(r = top_radius, h = stalk_height, $fn = facets);
|
|
|
cylinder(r = top_radius - wall, h = stalk_height, $fn = facets);
|
|
|
}
|
|
|
- // add marker for "back of microphone" orientation
|
|
|
- if (dot == 1) {
|
|
|
- rotate([0, 0, 90]) {
|
|
|
- translate([0, top_radius - wall * 2 / 3, stalk_height - top_radius]) {
|
|
|
- difference() {
|
|
|
- sphere(r = top_radius / 3, $fn = 32);
|
|
|
- translate([0, -top_radius + top_radius / 2, 0]) {
|
|
|
- cube([top_radius, top_radius, top_radius], center = true);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
// close stalk and add holes for cables
|
|
|
translate([0, 0, stalk_height - top_radius - wall]) {
|
|
|
difference() {
|
|
|
@@ -727,8 +722,6 @@ module render_octa_capsule_flare(z_offset) {
|
|
|
|
|
|
// microphone body: main body, holds printed circuit boards
|
|
|
//
|
|
|
-octa_pcb_mount_height = pcb_length - pcb_low_exp - pcb_hi_exp;
|
|
|
-octa_pcb_radius = radial_pcb_offset + pcb_width/2 + 5 * wall;
|
|
|
|
|
|
module render_octa_pcb_mount(z_offset, showint) {
|
|
|
translate([0, 0, z_offset]) {
|