|
@@ -105,7 +105,9 @@ 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;
|
|
|
|
|
|
|
|
-// render span joints to join all three main assemblies
|
|
|
|
|
|
|
+//// snap joints to join the body to the two flares
|
|
|
|
|
+//
|
|
|
|
|
+// render snap joints to join all three main assemblies
|
|
|
render_snap_joints = false;
|
|
render_snap_joints = false;
|
|
|
|
|
|
|
|
// body to flares snap joint arm slot width
|
|
// body to flares snap joint arm slot width
|
|
@@ -115,6 +117,10 @@ snap_joint_slot_w = 0.75;
|
|
|
snap_joint_hook_w = 5.0;
|
|
snap_joint_hook_w = 5.0;
|
|
|
snap_joint_hook_r = 1.4;
|
|
snap_joint_hook_r = 1.4;
|
|
|
|
|
|
|
|
|
|
+//// screw holes to join the body to the two flares
|
|
|
|
|
+//
|
|
|
|
|
+render_screw_holes = true;
|
|
|
|
|
+
|
|
|
// dimensions of 12 pin male bottom connector
|
|
// dimensions of 12 pin male bottom connector
|
|
|
//
|
|
//
|
|
|
// Amphenol T 3635 002
|
|
// Amphenol T 3635 002
|
|
@@ -186,7 +192,17 @@ module tetra_mount_body(height, radius, corner, lower_lip, upper_lip, clear) {
|
|
|
// remove slots from inside body
|
|
// remove slots from inside body
|
|
|
slot_len = 30;
|
|
slot_len = 30;
|
|
|
translate([0, 0, slot_len]) {
|
|
translate([0, 0, slot_len]) {
|
|
|
|
|
+ difference() {
|
|
|
rounded_block_relative(height, radius, radius, corner, - (2 * wall));
|
|
rounded_block_relative(height, radius, radius, corner, - (2 * wall));
|
|
|
|
|
+ if (render_screw_holes) {
|
|
|
|
|
+ // add columns for upper screw holes
|
|
|
|
|
+ col_w = 3.5;
|
|
|
|
|
+ for (r = [45, 135, 225, 315]) rotate([0, 0, r])
|
|
|
|
|
+ translate([radius - col_w*2/3, -col_w/2, 0]) {
|
|
|
|
|
+ cube([col_w, col_w, height]);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
// upper lip for flare to microphone
|
|
// upper lip for flare to microphone
|
|
|
translate([0, 0, height - upper_lip]) {
|
|
translate([0, 0, height - upper_lip]) {
|
|
@@ -202,6 +218,19 @@ 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));
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
+ if (render_screw_holes) {
|
|
|
|
|
+ // make eight holes in the the body for screws that hold both flares
|
|
|
|
|
+ // (number 0 size, 1/4" long = thread diameter: 1.6mm, head diameter: 2.75)
|
|
|
|
|
+ for (z = [lower_lip/2, height - upper_lip/2])
|
|
|
|
|
+ for (r = [45, 135, 225, 315]) {
|
|
|
|
|
+ rotate([0, 0, r])
|
|
|
|
|
+ translate([-(radius + 2 * wall), 0, z]) {
|
|
|
|
|
+ rotate([0, 90, 0]) {
|
|
|
|
|
+ cylinder(r = 0.7, h = radius + wall, $fn = facets);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
if (render_snap_joints) {
|
|
if (render_snap_joints) {
|
|
|
// slots for snap joint hooks
|
|
// slots for snap joint hooks
|
|
|
// lower
|
|
// lower
|
|
@@ -271,6 +300,17 @@ module tetra_mount_flare(height, lip, transition, bot_radius, bot_corner, top_ra
|
|
|
difference() {
|
|
difference() {
|
|
|
union() {
|
|
union() {
|
|
|
rounded_block(height, bot_radius, bot_radius, bot_corner);
|
|
rounded_block(height, bot_radius, bot_radius, bot_corner);
|
|
|
|
|
+ if (render_screw_holes) {
|
|
|
|
|
+ // small supports for the screws that attach the flare to the body
|
|
|
|
|
+ // (number 0 size, 1/4" long = thread diameter: 1.6mm, head diameter: 2.75)
|
|
|
|
|
+ for (r = [45, 135, 225, 315]) rotate([0, 0, r]) {
|
|
|
|
|
+ translate([bot_radius + wall/3, 0, lip/2]) {
|
|
|
|
|
+ rotate([0, 90, 0]) {
|
|
|
|
|
+ cylinder(r = 1.5, h = 2 * wall, $fn = facets);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
if (render_snap_joints) {
|
|
if (render_snap_joints) {
|
|
|
// make snap joint arm thicker
|
|
// make snap joint arm thicker
|
|
|
for (r = [0, 180]) rotate([0, 0, r]) {
|
|
for (r = [0, 180]) rotate([0, 0, r]) {
|
|
@@ -283,6 +323,17 @@ module tetra_mount_flare(height, lip, transition, bot_radius, bot_corner, top_ra
|
|
|
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));
|
|
|
|
|
+ if (render_screw_holes) {
|
|
|
|
|
+ // holes for screws that attach the flare to the body
|
|
|
|
|
+ // Number 0 Size, 1/4" Long = thread diameter: 1.6mm, head diameter: 2.75
|
|
|
|
|
+ for (r = [45, 135, 225, 315]) rotate([0, 0, r]) {
|
|
|
|
|
+ translate([bot_radius + wall, 0, lip/2]) {
|
|
|
|
|
+ rotate([0, 90, 0]) {
|
|
|
|
|
+ cylinder(r = (1.6 + 0.1)/2, h = bot_radius, $fn = facets);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
if (render_snap_joints) {
|
|
if (render_snap_joints) {
|
|
|
// cut slots for snap joint hooks
|
|
// cut slots for snap joint hooks
|
|
|
for (r = [0, 180]) rotate([0, 0, r]) {
|
|
for (r = [0, 180]) rotate([0, 0, r]) {
|