Pārlūkot izejas kodu

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 gadi atpakaļ
vecāks
revīzija
5bb312dad9
1 mainītis faili ar 20 papildinājumiem un 29 dzēšanām
  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