|
@@ -93,7 +93,7 @@ lip_fit = 0.05;
|
|
|
flare_height = 50;
|
|
flare_height = 50;
|
|
|
stalk_height = 40;
|
|
stalk_height = 40;
|
|
|
|
|
|
|
|
-// adjust mic array to mount fit
|
|
|
|
|
|
|
+// adjust mic array to mount relative height
|
|
|
mic_to_mount_fit = 0.0;
|
|
mic_to_mount_fit = 0.0;
|
|
|
|
|
|
|
|
// wall thickness
|
|
// wall thickness
|
|
@@ -105,27 +105,37 @@ box_radius = pcb_front + (pcb_thickness + pcb_tfit) + pcb_back + 2 * wall;
|
|
|
// calculated main body corner radius
|
|
// calculated main body corner radius
|
|
|
mount_corner = box_radius - pcb_width / 2 + pcb_slot_depth + 4.0;
|
|
mount_corner = box_radius - pcb_width / 2 + pcb_slot_depth + 4.0;
|
|
|
|
|
|
|
|
|
|
+// body to flares snap joint arm slot width
|
|
|
|
|
+snap_joint_slot_w = 0.75;
|
|
|
|
|
+
|
|
|
|
|
+// width and radius of snap joint hook that locks upper and lower flanges to body
|
|
|
|
|
+snap_joint_hook_w = 5.0;
|
|
|
|
|
+snap_joint_hook_r = 1.4;
|
|
|
|
|
+
|
|
|
// dimensions of 12 pin male bottom connector
|
|
// dimensions of 12 pin male bottom connector
|
|
|
//
|
|
//
|
|
|
// Amphenol T 3635 002
|
|
// Amphenol T 3635 002
|
|
|
// 12 pin DIN male to cable, gold plated contacts
|
|
// 12 pin DIN male to cable, gold plated contacts
|
|
|
//
|
|
//
|
|
|
-conn_diam_fit = 0.4;
|
|
|
|
|
-conn_max_diam = 18.00 + conn_diam_fit;
|
|
|
|
|
-conn_min_diam = 17.12 + conn_diam_fit;
|
|
|
|
|
-conn_bottom_h = 7.25;
|
|
|
|
|
-conn_sleeve = 7.00;
|
|
|
|
|
-conn_lock_diam = 15.1;
|
|
|
|
|
-conn_top_h = 12.40;
|
|
|
|
|
-
|
|
|
|
|
-// width and radius of "click" that locks upper and lower flanges to body
|
|
|
|
|
-click_width = 5.0;
|
|
|
|
|
-click_radius = 1.4;
|
|
|
|
|
-
|
|
|
|
|
-// dimensions of 5/32 screws for the collar that locks the connector in place
|
|
|
|
|
-collar_screw_head = 4.00;
|
|
|
|
|
-collar_screw_hole = 2.40;
|
|
|
|
|
-collar_screw_nut = 5.30 + 0.2;
|
|
|
|
|
|
|
+// inner diameter of connector core
|
|
|
|
|
+conn_core_diam = 13.00 + 0.2;
|
|
|
|
|
+// outer diameter of connector core sleeve
|
|
|
|
|
+conn_core_o_diam = 17.00;
|
|
|
|
|
+// inner diameter of connector core sleeve
|
|
|
|
|
+conn_core_s_diam = 15.00;
|
|
|
|
|
+
|
|
|
|
|
+// from top of connector to sleeve
|
|
|
|
|
+conn_core_sleeve = 13.00;
|
|
|
|
|
+// from top of connector to holes
|
|
|
|
|
+conn_core_holes_h = 6.00;
|
|
|
|
|
+// between holes
|
|
|
|
|
+conn_core_holes_w = 9.20;
|
|
|
|
|
+// hole diameter
|
|
|
|
|
+conn_core_holes_d = 1.95 + 0.2;
|
|
|
|
|
+// screw head diameter
|
|
|
|
|
+conn_core_screw_d = 2.75 + 0.5;
|
|
|
|
|
+// sleeve overlap
|
|
|
|
|
+conn_core_overlap = 3.00;
|
|
|
|
|
|
|
|
// shock mount parameters
|
|
// shock mount parameters
|
|
|
//
|
|
//
|
|
@@ -189,28 +199,28 @@ module tetra_mount_body(height, radius, corner, lower_lip, upper_lip, clear) {
|
|
|
rounded_block_relative(lower_lip, radius, radius, corner, -(wall + lip_fit));
|
|
rounded_block_relative(lower_lip, radius, radius, corner, -(wall + lip_fit));
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- // slots for click tonges
|
|
|
|
|
|
|
+ // slots for snap joint hooks
|
|
|
// lower
|
|
// lower
|
|
|
for (m=[-1, 1]) rotate([0, 90, 0]) {
|
|
for (m=[-1, 1]) rotate([0, 90, 0]) {
|
|
|
- translate([-lower_lip * 3/4, (radius - wall/2)*m, -(click_width/2 + 0.25)]) {
|
|
|
|
|
- cylinder(r = click_radius, h = click_width + 0.5, $fn = facets);
|
|
|
|
|
|
|
+ translate([-lower_lip * 3/4, (radius - wall/2)*m, -(snap_joint_hook_w/2 + 0.25)]) {
|
|
|
|
|
+ cylinder(r = snap_joint_hook_r, h = snap_joint_hook_w + 0.5, $fn = facets);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
// upper
|
|
// upper
|
|
|
for (m=[-1, 1]) rotate([0, 90, 0]) {
|
|
for (m=[-1, 1]) rotate([0, 90, 0]) {
|
|
|
- translate([- height + upper_lip * 3/4, (radius - wall/2)*m, -(click_width/2 + 0.25)]) {
|
|
|
|
|
- cylinder(r = click_radius, h = click_width + 0.5, $fn = facets);
|
|
|
|
|
|
|
+ translate([- height + upper_lip * 3/4, (radius - wall/2)*m, -(snap_joint_hook_w/2 + 0.25)]) {
|
|
|
|
|
+ cylinder(r = snap_joint_hook_r, h = snap_joint_hook_w + 0.5, $fn = facets);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- // upper lip is too thin, reinforce the back of the click holes
|
|
|
|
|
|
|
+ // upper lip is too thin, reinforce the back of the snap joint hook holes
|
|
|
for (r = [0, 180]) rotate([0, 90, r]) {
|
|
for (r = [0, 180]) rotate([0, 90, r]) {
|
|
|
- translate([- height + upper_lip * 3/4, (radius - wall), -(click_width/2 + 0.25)]) {
|
|
|
|
|
|
|
+ translate([- height + upper_lip * 3/4, (radius - wall), -(snap_joint_hook_w/2 + 0.25)]) {
|
|
|
difference() {
|
|
difference() {
|
|
|
- cylinder(r = click_radius * 1.25, h = click_width + 0.5, $fn = facets);
|
|
|
|
|
- translate([- click_radius * 1.25, - wall, 0]) {
|
|
|
|
|
- cube([click_radius * 3, click_radius * 3, click_width * 1.5]);
|
|
|
|
|
|
|
+ cylinder(r = snap_joint_hook_r * 1.25, h = snap_joint_hook_w + 0.5, $fn = facets);
|
|
|
|
|
+ translate([- snap_joint_hook_r * 1.25, - wall, 0]) {
|
|
|
|
|
+ cube([snap_joint_hook_r * 3, snap_joint_hook_r * 3, snap_joint_hook_w * 1.5]);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -252,15 +262,23 @@ module tetra_mount_body(height, radius, corner, lower_lip, upper_lip, clear) {
|
|
|
module tetra_mount_flare(height, lip, transition, bot_radius, bot_corner, top_radius, stalk_height, dot) {
|
|
module tetra_mount_flare(height, lip, transition, bot_radius, bot_corner, top_radius, stalk_height, dot) {
|
|
|
// bottom rounded box
|
|
// bottom rounded box
|
|
|
difference() {
|
|
difference() {
|
|
|
- rounded_block(height, bot_radius, bot_radius, bot_corner);
|
|
|
|
|
|
|
+ union() {
|
|
|
|
|
+ rounded_block(height, bot_radius, bot_radius, bot_corner);
|
|
|
|
|
+ // make snap joint arm thicker
|
|
|
|
|
+ for (r = [0, 180]) rotate([0, 0, r]) {
|
|
|
|
|
+ translate([- snap_joint_hook_w - snap_joint_slot_w / 2, bot_radius, 0]) {
|
|
|
|
|
+ cube([snap_joint_hook_w * 2 + snap_joint_slot_w, wall / 2, lip * 1.25]);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
rounded_block_relative(height, bot_radius, bot_radius, bot_corner, -(2 * wall));
|
|
rounded_block_relative(height, bot_radius, bot_radius, bot_corner, -(2 * wall));
|
|
|
// cut flange to mount on body
|
|
// cut flange to mount on body
|
|
|
rounded_block_relative(lip + 1.00, bot_radius, bot_radius, bot_corner, - (wall));
|
|
rounded_block_relative(lip + 1.00, bot_radius, bot_radius, bot_corner, - (wall));
|
|
|
- // cut slots for tonge
|
|
|
|
|
|
|
+ // cut slots for snap joint hooks
|
|
|
for (r = [0, 180]) rotate([0, 0, r]) {
|
|
for (r = [0, 180]) rotate([0, 0, r]) {
|
|
|
for (m = [-1, 1]) {
|
|
for (m = [-1, 1]) {
|
|
|
- translate([m * (click_width + 0.5) - 0.25, bot_radius - 1.5 * wall, 0]) {
|
|
|
|
|
- cube([0.5, 2 * wall, lip * 2/3]);
|
|
|
|
|
|
|
+ translate([m * (snap_joint_hook_w + snap_joint_slot_w) - snap_joint_slot_w / 2, bot_radius - 1.5 * wall, 0]) {
|
|
|
|
|
+ cube([snap_joint_slot_w, 2 * wall, lip - 1.0]);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -274,14 +292,14 @@ module tetra_mount_flare(height, lip, transition, bot_radius, bot_corner, top_ra
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- // add click to secure to lip
|
|
|
|
|
|
|
+ // add snap joint hook to arm
|
|
|
for (r = [0, 180]) rotate([0, 0, r]) {
|
|
for (r = [0, 180]) rotate([0, 0, r]) {
|
|
|
- translate([- click_width / 2, bot_radius - wall/2, 1/4 * lip]) {
|
|
|
|
|
|
|
+ translate([- snap_joint_hook_w / 2, bot_radius - wall/2, 1/4 * lip]) {
|
|
|
rotate([90, 0, 90]) {
|
|
rotate([90, 0, 90]) {
|
|
|
difference() {
|
|
difference() {
|
|
|
- cylinder(r = click_radius - 0.2, h = click_width, $fn = facets);
|
|
|
|
|
- translate([0, -click_radius, 0]) {
|
|
|
|
|
- cube([click_radius, click_width, click_width]);
|
|
|
|
|
|
|
+ cylinder(r = snap_joint_hook_r - 0.2, h = snap_joint_hook_w, $fn = facets);
|
|
|
|
|
+ translate([0, -snap_joint_hook_r, 0]) {
|
|
|
|
|
+ cube([snap_joint_hook_r, snap_joint_hook_w, snap_joint_hook_w]);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -331,15 +349,23 @@ module tetra_mount_flare(height, lip, transition, bot_radius, bot_corner, top_ra
|
|
|
module tetra_mount_connector_flare(height, lip, transition, bot_radius, bot_corner, top_radius, stalk_height, dot) {
|
|
module tetra_mount_connector_flare(height, lip, transition, bot_radius, bot_corner, top_radius, stalk_height, dot) {
|
|
|
// bottom rounded box
|
|
// bottom rounded box
|
|
|
difference() {
|
|
difference() {
|
|
|
- rounded_block(height, bot_radius, bot_radius, bot_corner);
|
|
|
|
|
|
|
+ union() {
|
|
|
|
|
+ rounded_block(height, bot_radius, bot_radius, bot_corner);
|
|
|
|
|
+ // make snap joint arm thicker
|
|
|
|
|
+ for (r = [90, 270]) rotate([0, 0, r]) {
|
|
|
|
|
+ translate([- snap_joint_hook_w - snap_joint_slot_w / 2, bot_radius, 0]) {
|
|
|
|
|
+ cube([snap_joint_hook_w * 2 + snap_joint_slot_w, wall / 2, lip * 1.25]);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
rounded_block_relative(height, bot_radius, bot_radius, bot_corner, -(2 * wall));
|
|
rounded_block_relative(height, bot_radius, bot_radius, bot_corner, -(2 * wall));
|
|
|
// cut flange to mount on body
|
|
// cut flange to mount on body
|
|
|
rounded_block_relative(lip + 1.00, bot_radius, bot_radius, bot_corner, - (wall));
|
|
rounded_block_relative(lip + 1.00, bot_radius, bot_radius, bot_corner, - (wall));
|
|
|
- // cut slots for tonge
|
|
|
|
|
- for (r = [0, 180]) rotate([0, 0, r]) {
|
|
|
|
|
|
|
+ // cut slots for snap joint hooks
|
|
|
|
|
+ for (r = [90, 270]) rotate([0, 0, r]) {
|
|
|
for (m = [-1, 1]) {
|
|
for (m = [-1, 1]) {
|
|
|
- translate([m * (click_width + 0.5) - 0.25, bot_radius - 1.5 * wall, 0]) {
|
|
|
|
|
- cube([0.5, 2 * wall, lip * 2/3]);
|
|
|
|
|
|
|
+ translate([m * (snap_joint_hook_w + snap_joint_slot_w) - snap_joint_slot_w / 2, bot_radius - 1.5 * wall, 0]) {
|
|
|
|
|
+ cube([snap_joint_slot_w, 2 * wall, lip - 1.0]);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -353,14 +379,14 @@ module tetra_mount_connector_flare(height, lip, transition, bot_radius, bot_corn
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- // add click to secure to lip
|
|
|
|
|
- for (r = [0, 180]) rotate([0, 0, r]) {
|
|
|
|
|
- translate([- click_width / 2, bot_radius - wall/2, 1/4 * lip]) {
|
|
|
|
|
|
|
+ // add snap joint hook to arm
|
|
|
|
|
+ for (r = [90, 270]) rotate([0, 0, r]) {
|
|
|
|
|
+ translate([- snap_joint_hook_w / 2, bot_radius - wall/2, 1/4 * lip]) {
|
|
|
rotate([90, 0, 90]) {
|
|
rotate([90, 0, 90]) {
|
|
|
difference() {
|
|
difference() {
|
|
|
- cylinder(r = click_radius - 0.2, h = click_width, $fn = facets);
|
|
|
|
|
- translate([0, -click_radius, 0]) {
|
|
|
|
|
- cube([click_radius, click_width, click_width]);
|
|
|
|
|
|
|
+ cylinder(r = snap_joint_hook_r - 0.2, h = snap_joint_hook_w, $fn = facets);
|
|
|
|
|
+ translate([0, -snap_joint_hook_r, 0]) {
|
|
|
|
|
+ cube([snap_joint_hook_r, snap_joint_hook_w, snap_joint_hook_w]);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -386,107 +412,37 @@ module tetra_mount_connector_flare(height, lip, transition, bot_radius, bot_corn
|
|
|
// connector holder
|
|
// connector holder
|
|
|
translate([0, 0, height + transition]) {
|
|
translate([0, 0, height + transition]) {
|
|
|
difference() {
|
|
difference() {
|
|
|
- cylinder(r = top_radius, h = conn_sleeve + conn_top_h / 2, $fn = facets);
|
|
|
|
|
- cylinder(r = top_radius - wall, h = conn_sleeve + conn_top_h / 2, $fn = facets);
|
|
|
|
|
- // holes for bolts for securing connector
|
|
|
|
|
- rotate([0, 0, 90]) for (m = [0, 1]) {
|
|
|
|
|
- mirror([m, 0, 0]) scale([2/3, 1, 1]) translate([top_radius / 2, top_radius, conn_top_h / 2 + conn_sleeve / 2]) {
|
|
|
|
|
|
|
+ union() {
|
|
|
|
|
+ cylinder(r = top_radius, h = conn_core_sleeve, $fn = facets);
|
|
|
|
|
+ // add seats for screw heads
|
|
|
|
|
+ for (m = [-1, 1]) translate([m * conn_core_holes_w / 2, top_radius / 2, conn_core_holes_h]) {
|
|
|
rotate([90, 0, 0]) {
|
|
rotate([90, 0, 0]) {
|
|
|
- cylinder(r = conn_sleeve / 2 - thin_mint, h = top_radius * 2, $fn = facets);
|
|
|
|
|
|
|
+ scale([1, 1, 1]) cylinder(r = conn_core_screw_d / 2, h = top_radius * 1.43, $fn = facets);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- // connector bottom transition
|
|
|
|
|
- translate([0, 0, height + transition + conn_sleeve + conn_top_h / 2 - thin_mint]) {
|
|
|
|
|
- radius_diff = (conn_max_diam - conn_min_diam) / 2;
|
|
|
|
|
- difference() {
|
|
|
|
|
- hull() {
|
|
|
|
|
- cylinder(r = top_radius, h = thin_mint, $fn = facets);
|
|
|
|
|
- translate([0, 0, conn_bottom_h]) {
|
|
|
|
|
- cylinder(r = top_radius - radius_diff, h = thin_mint, $fn = facets);
|
|
|
|
|
|
|
+ cylinder(r = conn_core_diam / 2, h = conn_core_sleeve, $fn = facets);
|
|
|
|
|
+ // transition from thin wall to thick wall at the bottom of connector
|
|
|
|
|
+ cylinder(r1 = top_radius - wall, r2 = conn_core_diam / 2, h = 2.0, $fn = facets);
|
|
|
|
|
+ // holes for connector core screws
|
|
|
|
|
+ for (m = [-1, 1]) translate([m * conn_core_holes_w / 2, - top_radius / 3, conn_core_holes_h]) {
|
|
|
|
|
+ rotate([90, 0, 0]) {
|
|
|
|
|
+ cylinder(r = conn_core_holes_d / 2, h = top_radius, $fn = facets);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- hull() {
|
|
|
|
|
- cylinder(r = top_radius - wall, h = thin_mint, $fn = facets);
|
|
|
|
|
- translate([0, 0, conn_bottom_h]) {
|
|
|
|
|
- cylinder(r = top_radius - radius_diff - wall, h = thin_mint, $fn = facets);
|
|
|
|
|
|
|
+ // substract cutout for screw heads
|
|
|
|
|
+ for (m = [-1, 1]) translate([m * conn_core_holes_w / 2, - top_radius + 1.5, conn_core_holes_h]) {
|
|
|
|
|
+ rotate([90, 0, 0]) {
|
|
|
|
|
+ cylinder(r = conn_core_screw_d / 2, h = 2.0, $fn = facets);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
-// connector lock collar
|
|
|
|
|
-
|
|
|
|
|
-module tetra_mount_connector_lock(height, radius, side) {
|
|
|
|
|
- difference() {
|
|
|
|
|
- union() {
|
|
|
|
|
- difference() {
|
|
|
|
|
- cylinder(r = radius + wall, h = height, $fn = facets);
|
|
|
|
|
- cylinder(r = radius, h = height, $fn = facets);
|
|
|
|
|
- }
|
|
|
|
|
- difference() {
|
|
|
|
|
- // bolts for securing connector
|
|
|
|
|
- for (m = [0, 1]) {
|
|
|
|
|
- mirror([m, 0, 0]) scale([2/3, 1, 1]) translate([radius / 2, radius, height / 2]) {
|
|
|
|
|
- rotate([90, 0, 0]) {
|
|
|
|
|
- cylinder(r = (conn_sleeve - wall) / 2, h = radius * 2, $fn = facets);
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- // shave bolts to size of internal connector collar
|
|
|
|
|
- intersection() {
|
|
|
|
|
- translate([-conn_lock_diam/2, -conn_lock_diam/2, 0]) {
|
|
|
|
|
- cube([conn_lock_diam, conn_lock_diam, height]);
|
|
|
|
|
- }
|
|
|
|
|
- cylinder(r = radius - wall, h = height, $fn = facets);
|
|
|
|
|
- }
|
|
|
|
|
- // and shave everything outside of the cylinder
|
|
|
|
|
- difference() {
|
|
|
|
|
- cylinder(r = radius + 4 * wall, h = height, $fn = facets);
|
|
|
|
|
- cylinder(r = radius + wall, h = height, $fn = facets);
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- // screw holders
|
|
|
|
|
- difference() {
|
|
|
|
|
- for (m = [0, 1]) mirror([m, 0, 0]) {
|
|
|
|
|
- translate([radius, 0, 0]) {
|
|
|
|
|
- cube([wall + 0.5 + collar_screw_head + 1.00, 3 * wall, height]);
|
|
|
|
|
- }
|
|
|
|
|
- translate([radius, - 3 * wall, 0]) {
|
|
|
|
|
- cube([wall + 0.5 + collar_screw_head + 1.00, 3 * wall, height]);
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- // through holes for screws
|
|
|
|
|
- for (m = [0, 1]) mirror([m, 0, 0]) {
|
|
|
|
|
- translate([radius + wall + 0.5 + collar_screw_head / 2, 4 * wall, height / 2]) {
|
|
|
|
|
- rotate([90, 0, 0]) {
|
|
|
|
|
- cylinder(r = collar_screw_hole / 2, h = 8 * wall, $fn = facets);
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- // recessed nuts
|
|
|
|
|
- translate([radius + wall + 0.5 + collar_screw_head / 2, - 2.333 * wall, height / 2]) {
|
|
|
|
|
- rotate([90, 30, 0]) {
|
|
|
|
|
- cylinder(r = collar_screw_nut / 2, h = wall, $fn = 6);
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- // substract one half (or the other)...
|
|
|
|
|
- cut_size = 2 * (radius + wall); // + 0.5 + collar_screw_head / 2 + 0.5);
|
|
|
|
|
- // cut internal cylinder
|
|
|
|
|
- translate([-cut_size / 2, 0, 0]) {
|
|
|
|
|
- cube([cut_size, cut_size, height]);
|
|
|
|
|
- }
|
|
|
|
|
- // cut screw holder assymetrically
|
|
|
|
|
- translate([radius + wall, wall, 0]) {
|
|
|
|
|
- cube([0.5 + collar_screw_head + 1.00, 5 * wall, height]);
|
|
|
|
|
- }
|
|
|
|
|
- mirror([1, 0, 0]) translate([radius + wall, -wall, 0]) {
|
|
|
|
|
- cube([0.5 + collar_screw_head + 1.00, 5 * wall, height]);
|
|
|
|
|
|
|
+ // thinner cylinder sits inside connector sleeve
|
|
|
|
|
+ translate([0, 0, height + transition + conn_core_sleeve]) {
|
|
|
|
|
+ difference() {
|
|
|
|
|
+ cylinder(r = conn_core_s_diam / 2, h = conn_core_overlap, $fn = facets);
|
|
|
|
|
+ cylinder(r = conn_core_diam / 2, h = conn_core_overlap, $fn = facets);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -628,16 +584,7 @@ module render_tetra_cable_flare(z_offset, flip) {
|
|
|
|
|
|
|
|
module render_tetra_connector_flare(z_offset, flip) {
|
|
module render_tetra_connector_flare(z_offset, flip) {
|
|
|
translate([0, 0, z_offset]) {
|
|
translate([0, 0, z_offset]) {
|
|
|
- tetra_mount_connector_flare(pcb_low_clear + pcb_low_exp, mount_lip, 20, box_radius + wall, mount_corner, conn_max_diam / 2 + wall, 10, 0);
|
|
|
|
|
- }
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
-// microphone body: 12 pin connector lock collar
|
|
|
|
|
-//
|
|
|
|
|
-
|
|
|
|
|
-module render_tetra_connector_lock(z_offset) {
|
|
|
|
|
- translate([0, 0, z_offset]) {
|
|
|
|
|
- tetra_mount_connector_lock(conn_sleeve + 2 * wall, (conn_max_diam / 2) + wall);
|
|
|
|
|
|
|
+ tetra_mount_connector_flare(pcb_low_clear + pcb_low_exp, mount_lip, 20, box_radius + wall, mount_corner, conn_core_o_diam / 2, 10, 0);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|