make triangle window for bearing and weight
authordaniel watson <ozzloy@gmail.com>
Sun, 14 May 2017 02:54:14 +0000 (19:54 -0700)
committerdaniel watson <ozzloy@gmail.com>
Sun, 14 May 2017 02:54:14 +0000 (19:54 -0700)
triangle window should be easier for the printer to bridge
than the manhole-cover-slightly smaller circle.

spin-data.scad

index f8d671d41fbead627ed6ac7310ad8c8d769e7117..99ce243388d96f6d6cef9603a7f0b22d0a4b28b8 100644 (file)
@@ -344,20 +344,41 @@ module spin_cosine(weight_radius,
                               round_extra,
                               wall,
                               arms); } } } }
-    cylinder(h = actual_height + 0.1,
+    // bearing window hole
+    /*cylinder(h = actual_height + 0.1,
              r = bearing_radius - bearing_lip_overhang,
-             center = true);
+             center = true);*/
+    linear_extrude(height = actual_height + 0.1, center = true) {
+      intersection() {
+        polygon([[bearing_radius + 3 * wall, 0],
+                 [cos(120) * (bearing_radius + 3 * wall),
+                  sin(120) * (bearing_radius + 3 * wall)],
+                 [cos(240) * (bearing_radius + 3 * wall),
+                  sin(240) * (bearing_radius + 3 * wall)]]);
+        circle(bearing_radius + 0.1); } }
+    // bearing cavity
     cylinder(h = bearing_thickness + 0.05,
              r = bearing_radius + 0.15,
              center = true);
+    // arm holes
     for(arm = [0 : arms - 1]) {
       rotate(arm * (360 / arms)) {
         translate([bearing_radius + wall + weight_radius, 0]) {
-          cylinder(h = actual_height + 0.1,
-                   r = weight_radius - weight_lip_overhang,
-                   center = true);
+          // weight window hole
+          mirrored([0, 0, 1]) {
+            translate([0, 0, (weight_thickness + 0.05) / 2]) {
+              linear_extrude(height = wall + 0.1) {
+                intersection(){
+                  polygon([[cos(0) * (weight_radius + 2.5 * wall),
+                            sin(0) * (weight_radius + 2.5 * wall)],
+                           [cos(120) * (weight_radius + 2.5 * wall),
+                            sin(120) * (weight_radius + 2.5 * wall)],
+                           [cos(240) * (weight_radius + 2.5 * wall),
+                            sin(240) * (weight_radius + 2.5 * wall)]]);
+                  circle(weight_radius + 0.2); } } } }
+          // weight cavity
           cylinder(h = weight_thickness + 0.05,
-                   r = weight_radius + 0.15,
+                   r = weight_radius + 0.20,
                    center = true); } } } } }
 
 module spin_donut(weight_radius,