|
@@ -54,7 +54,7 @@ wall = 1;
|
|
|
mount_radius = 3.5;
|
|
mount_radius = 3.5;
|
|
|
|
|
|
|
|
// height of mount
|
|
// height of mount
|
|
|
-mount_height = 12;
|
|
|
|
|
|
|
+mount_height = 20;
|
|
|
|
|
|
|
|
//// end of model parameters
|
|
//// end of model parameters
|
|
|
////
|
|
////
|
|
@@ -217,33 +217,51 @@ module capsule (azimuth, elevation, mounts, twist, ridge) {
|
|
|
module mount (angles, wall, separation) {
|
|
module mount (angles, wall, separation) {
|
|
|
translate([0, 0, -(separation + 0.0)]) {
|
|
translate([0, 0, -(separation + 0.0)]) {
|
|
|
difference() {
|
|
difference() {
|
|
|
- union() {
|
|
|
|
|
- translate([0, 0, -mount_height]) {
|
|
|
|
|
- cylinder(r = mount_radius + wall, h = mount_height, $fn = facets);
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- // make the hole for the mount (* 1.5 to cut the ridge as well)
|
|
|
|
|
- translate([0, 0, -mount_height]) {
|
|
|
|
|
- cylinder(r = mount_radius, h = mount_height * 1.5, $fn = facets);
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ union() {
|
|
|
|
|
+ // main mount cylinder
|
|
|
|
|
+ translate([0, 0, -mount_height]) {
|
|
|
|
|
+ difference() {
|
|
|
|
|
+ cylinder(r = mount_radius + wall, h = mount_height, $fn = facets);
|
|
|
|
|
+ // make the hole for the mount (* 1.5 to cut the ridge as well)
|
|
|
|
|
+ cylinder(r = mount_radius, h = mount_height * 1.5, $fn = facets);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ // make rests for microphone ridges thicker
|
|
|
|
|
+ rotate([0, 0, 45]) {
|
|
|
|
|
+ for (move = [- (ridge_slot_width / 2 + ridge_width), (ridge_slot_width / 2 + ridge_width) - 2 * wall]) {
|
|
|
|
|
+ translate([move, -mount_radius, -mount_height]) {
|
|
|
|
|
+ cube([2 * wall, mount_radius * 2, mount_height]);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ // shave exterior of the cylinder, erases extensions that protrude
|
|
|
|
|
+ translate([0, 0, -mount_height]) {
|
|
|
|
|
+ difference() {
|
|
|
|
|
+ cylinder(r = mount_radius + 2 * wall, h = mount_height, $fn = facets);
|
|
|
|
|
+ cylinder(r = mount_radius + wall, h = mount_height, $fn = facets);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
// cut a slot for the ridges in the wall of the cylinder
|
|
// cut a slot for the ridges in the wall of the cylinder
|
|
|
for (rot = angles) {
|
|
for (rot = angles) {
|
|
|
rotate([0, -elev_angle, rot]) {
|
|
rotate([0, -elev_angle, rot]) {
|
|
|
- translate([-capsule_sep_max * 2, 0.5 * ridge_slot_width - fit / 2, mount_slot_depth - wall * 1.5]) {
|
|
|
|
|
|
|
+ translate([-capsule_sep_max * 2, 0.5 * ridge_slot_width - fit / 2, mount_slot_depth - wall]) {
|
|
|
cube([capsule_sep_max * 2, ridge_slot_width + fit, mount_height]);
|
|
cube([capsule_sep_max * 2, ridge_slot_width + fit, mount_height]);
|
|
|
}
|
|
}
|
|
|
- translate([-capsule_sep_max * 2, - 1.5 * ridge_slot_width - fit / 2, mount_slot_depth - wall * 1.5]) {
|
|
|
|
|
|
|
+ translate([-capsule_sep_max * 2, - 1.5 * ridge_slot_width - fit / 2, mount_slot_depth - wall]) {
|
|
|
cube([capsule_sep_max * 2, ridge_slot_width + fit, mount_height]);
|
|
cube([capsule_sep_max * 2, ridge_slot_width + fit, mount_height]);
|
|
|
}
|
|
}
|
|
|
// top of the ridge
|
|
// top of the ridge
|
|
|
- translate([-capsule_sep_max * 2, -ridge_slot_width, mount_slot_depth]) {
|
|
|
|
|
- cube([capsule_sep_max * 2, 2 * ridge_slot_width + fit, mount_height]);
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ // translate([-capsule_sep_max * 2, -ridge_slot_width, mount_slot_depth]) {
|
|
|
|
|
+ // cube([capsule_sep_max * 2, 2 * ridge_slot_width + fit, mount_height]);
|
|
|
|
|
+ // }
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
- // level the top of the ridge
|
|
|
|
|
- %translate([0, 0, -mount_height]) {
|
|
|
|
|
- cube([capsule_sep_max * 2, ridge_slot_width, -2]);
|
|
|
|
|
|
|
+ // lower the top of theo mount ridges (we have to do the geometry of all this...)
|
|
|
|
|
+ rotate([0, 0, -45]) {
|
|
|
|
|
+ translate([- capsule_sep_max, -ridge_slot_width / 2, -0.4]) {
|
|
|
|
|
+ cube([capsule_sep_max * 2, ridge_slot_width, 2]);
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -268,7 +286,7 @@ if (rendermic == 0) {
|
|
|
part_height = 0;
|
|
part_height = 0;
|
|
|
part_sep = capsule_radius * 2.5;
|
|
part_sep = capsule_radius * 2.5;
|
|
|
// #3
|
|
// #3
|
|
|
- translate([part_sep, -part_sep, part_height]) { capsule(0, part_rot, leg_angles_bot, 60, 1); }
|
|
|
|
|
|
|
+ translate([part_sep, -part_sep, part_height]) { capsule(0, part_rot, leg_angles_top, 60, 0); }
|
|
|
if (renderset != 0) {
|
|
if (renderset != 0) {
|
|
|
// #4
|
|
// #4
|
|
|
translate([part_sep, part_sep, part_height]) { capsule(0, part_rot, leg_angles_top, 60, 0); }
|
|
translate([part_sep, part_sep, part_height]) { capsule(0, part_rot, leg_angles_top, 60, 0); }
|