Ver código fonte

octathingy: change slots in capsule holder so they are bigger (now 10 slots), add overhang to stop the capsule when inserted into holder, add flange and guide for inserting stalk into body flare, remove old code

Fernando Pablo Lopez-Lezcano 8 anos atrás
pai
commit
5bb312dad9
1 arquivos alterados com 20 adições e 29 exclusões
  1. 20 29
      Octathingy_common.scad

+ 20 - 29
Octathingy_common.scad

@@ -184,26 +184,15 @@ module capsule_holder(ratio, transition, hollow = true) {
     translate([0, 0, - transition_h]) {
         difference() {
             cylinder(r2 = capsule_radius + fudge + wall, r1 = (capsule_radius) * ratio + wall, h = transition_h, $fn = facets);
-            if (hollow) cylinder(r2 = capsule_radius + fudge, r1 = (capsule_radius) * ratio, h = transition_h, $fn = facets);
-            // add holes in the walls of the transition
-            *if (hollow) {
-                for (r = [0:30:360]) {
-                    rotate([0, 90, r]) {
-                        translate([-transition_h + 1.75, 0, -capsule_radius/2])
-                            scale([1.5, 1, 1]) cylinder(r = 1.0, h = capsule_radius * 2, $fn = facets);
-                    }
-                    rotate([0, 90, r + 15]) {
-                        translate([-transition_h + 5.0, 0, -capsule_radius/2])
-                            scale([1.5, 1, 1]) cylinder(r = 0.9, h = capsule_radius * 2, $fn = facets);
-                    }
-                }
-            }
+            // add overhang so that we have a stop for the capsule
+            overhang = 0.2;
+            if (hollow) cylinder(r2 = capsule_radius + fudge - overhang, r1 = (capsule_radius) * ratio, h = transition_h, $fn = facets);
             // add holes in the walls of the transition
             if (hollow) {
-                for (r = [0:30:360]) {
+                for (r = [0:36:179]) {
                     rotate([0, 90, r]) {
-                        translate([-transition_h + 3, 0, -capsule_radius/2])
-                            scale([2.5, 1, 1]) cylinder(r = 1.0, h = capsule_radius * 2, $fn = facets);
+                        translate([-transition_h, 0, -capsule_radius - 2 * wall])
+                            scale([7, 1.4, 1]) cylinder(r = 1.0, h = (capsule_radius + 2 * wall) * 2, $fn = facets);
                     }
                 }
             }
@@ -223,7 +212,6 @@ module capsule_holder(ratio, transition, hollow = true) {
 
 module capsule_holder_array(hollow = true) {
     for (az = [45, 135, -45, -135]) {
-//    for (az = [45]) {
         rotate([0, elev_angle, az]) {
             translate([0, 0, mic_radius - capsule_height]) {
                 capsule_holder(holder_ratio, transition_ratio, hollow);
@@ -288,14 +276,6 @@ module capsule_holder_core(render = 0, offset = 3.5) {
                 translate([0, 0, -ring_h/2]) {
                     cylinder(r = s_radius - 2.5 * wall, h = ring_h, $fn = facets);
                 }
-                // make holes for connection "pins" (to glue both halves together)
-                pin_h = 2.0;
-                pin_r = 0.6;
-                *for (az = [45, 135, -45, -135]) rotate([0, 0, az + 22.5]) {
-                    translate([s_radius - 1.4 * wall, 0, -pin_h/2]) {
-                        cylinder(r = pin_r, h = pin_h, $fn = facets);
-                    }
-                }
                 // hole for stalk
                 if (render == -1) {
                     translate([0, 0, -mic_radius]) cylinder(r = mount_radius, h = mic_radius, $fn = facets);
@@ -305,16 +285,27 @@ module capsule_holder_core(render = 0, offset = 3.5) {
             if (render == -1) {
                 //stalk_len = 15.0;
                 // normal length plus 10 to insert into flare
-                stalk_len = stalk_height + 10.0;
+                stalk_len = stalk_height + 10.0 + 10.0;
                 inset = wall;
                 translate([0, 0, - (stalk_len - inset + s_radius)]) {
                     difference() {
-                        //cylinder(r = mount_radius, h = stalk_len + inset, $fn = facets);
-                        //cylinder(r = mount_radius - wall, h = stalk_len + inset + thin_mint, $fn = facets);
                         cylinder(r = top_radius, h = stalk_len + inset, $fn = facets);
                         cylinder(r = top_radius - wall, h = stalk_len + inset + thin_mint, $fn = facets);
                     }
                 }
+                // add flange for coupling into flare
+                translate([0, 0, - (stalk_height - inset - 0.5 + 10.0 + 10.0)]) {
+                    difference() {
+                        cylinder(r2 = top_radius, r1 = top_radius + wall, h = 10.0, $fn = facets);
+                        cylinder(r2 = top_radius - wall, r1 = top_radius, h = 10.0, $fn = facets);
+                    }
+                }
+                translate([top_radius, 0, - (stalk_height - inset - 0.5 + 10.0 + 10.0 + 10.0)]) {
+                    // add key to stalk so orientation is always correct
+                    difference() {
+                        cylinder(r = 0.4, h = 10.0, $fn = facets);
+                    }
+                }
             }
         }
         // make holes for capsule holders