瀏覽代碼

Filled in the section for printing Octathingy parts separately

Wisam Reid 11 年之前
父節點
當前提交
fbee59d9c2
共有 1 個文件被更改,包括 40 次插入 和 9 次删除
  1. 40 9
      Octathingy.scad

+ 40 - 9
Octathingy.scad

@@ -68,7 +68,7 @@ tetra_compat = 0;
 // what to render:
 // 0 -> ready to print
 //   set = 0 -> one capsule, set = 1 -> four capsules
-// 1 -> the whole microhone with four capsules
+// 1 -> the whole microhone with eight capsules
 rendermic = 0;
 renderset = 1;
 
@@ -146,7 +146,7 @@ mount_slot_depth = ridge_length * sin(elev_angle);
 // microphone capsule holder
 
 // azimuth: horizontal orientation of the capsule
-// elevation: vertical orientation of the capsure
+// elevation: vertical orientation of the capsule
 // mounts: vectors containing the angle of the mount and the angle to the adjacent capsule
 // twist: rotate the whole capsule to match mounting legs
 
@@ -293,11 +293,42 @@ if (rendermic == 1) {
 }
 
 // print all the parts separately
-part_sep = capsule_radius * 2 * 3;
+part_sep = capsule_radius * 4;
 if (rendermic == 0) {
-	//translate([0, 0, 0]) { capsule(0, 90, leg_angles, 0, 0); }
-	//translate([0, part_sep, 0]) { capsule(0, 90, leg_angles, 0); }
-	translate([0, 0, 0]) { capsule(0, 90, leg_angles, 0, 1); }
-	//translate([part_sep, part_sep]) { capsule(0, 90, leg_angles, 0); }
-}
-
+    twist_top = -90;
+    twist_bottom = 100;
+    if (connect == 1) {
+        // part numbering is from right to left (negative x-axis translations -> positive)
+        
+        /////////////// top row /////////////////
+        // part 1
+        translate([0, part_sep, 0]) { capsule(0, 90, leg_angles, twist_top, 0); }
+        // part 2
+        translate([2*part_sep, part_sep]) { capsule(0, 90, leg_angles, twist_top, 0); }
+        // part 3
+        translate([-part_sep, part_sep]) { capsule(0, 90, leg_angles, twist_top, 0); }
+        // part 4
+        translate([part_sep, part_sep]) { capsule(0, 90, leg_angles, twist_top, 0); }
+        
+        /////////////// bottom row /////////////////
+        // part 1
+        translate([-part_sep, 0, 0]) { capsule(0, 90, leg_angles, twist_bottom, 1); }
+        // part 2
+        translate([0, 0, 0]) { capsule(0, 90, leg_angles, twist_bottom, 1); }
+        // part 3
+        translate([part_sep, 0, 0]) { capsule(0, 90, leg_angles, twist_bottom, 1); }
+        // part 4
+        translate([2*part_sep, 0]) { capsule(0, 90, leg_angles, twist_bottom, 1); }
+        
+        // ridges to connect all parts
+        translate([-part_sep + wall, part_sep / 2 - wall, 0]) {
+            cube([part_sep * 3, wall, wall / 2]);
+        }
+        for (d = [-part_sep, 0, part_sep, 2*part_sep]) {
+            translate([wall + d, capsule_radius, 0]) {
+                cube([wall, part_sep - capsule_radius * 2, wall / 2]);
+            }
+        }
+    
+    }
+}