Bläddra i källkod

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 år sedan
förälder
incheckning
5bb312dad9
1 ändrade filer med 20 tillägg och 29 borttagningar
  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