소스 검색

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 년 전
부모
커밋
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]) {
         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