Просмотр исходного кода

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 лет назад
Родитель
Сommit
5bb312dad9
1 измененных файлов с 20 добавлено и 29 удалено
  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]) {
     translate([0, 0, - transition_h]) {
         difference() {
         difference() {
             cylinder(r2 = capsule_radius + fudge + wall, r1 = (capsule_radius) * ratio + wall, h = transition_h, $fn = facets);
             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
             // add holes in the walls of the transition
             if (hollow) {
             if (hollow) {
-                for (r = [0:30:360]) {
+                for (r = [0:36:179]) {
                     rotate([0, 90, r]) {
                     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) {
 module capsule_holder_array(hollow = true) {
     for (az = [45, 135, -45, -135]) {
     for (az = [45, 135, -45, -135]) {
-//    for (az = [45]) {
         rotate([0, elev_angle, az]) {
         rotate([0, elev_angle, az]) {
             translate([0, 0, mic_radius - capsule_height]) {
             translate([0, 0, mic_radius - capsule_height]) {
                 capsule_holder(holder_ratio, transition_ratio, hollow);
                 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]) {
                 translate([0, 0, -ring_h/2]) {
                     cylinder(r = s_radius - 2.5 * wall, h = ring_h, $fn = facets);
                     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
                 // hole for stalk
                 if (render == -1) {
                 if (render == -1) {
                     translate([0, 0, -mic_radius]) cylinder(r = mount_radius, h = mic_radius, $fn = facets);
                     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) {
             if (render == -1) {
                 //stalk_len = 15.0;
                 //stalk_len = 15.0;
                 // normal length plus 10 to insert into flare
                 // normal length plus 10 to insert into flare
-                stalk_len = stalk_height + 10.0;
+                stalk_len = stalk_height + 10.0 + 10.0;
                 inset = wall;
                 inset = wall;
                 translate([0, 0, - (stalk_len - inset + s_radius)]) {
                 translate([0, 0, - (stalk_len - inset + s_radius)]) {
                     difference() {
                     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, h = stalk_len + inset, $fn = facets);
                         cylinder(r = top_radius - wall, h = stalk_len + inset + thin_mint, $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
         // make holes for capsule holders