z-axis: add leadscrew constraint on top holders
authorClinton Ebadi <clinton@unknownlamer.org>
Thu, 27 Oct 2016 01:17:43 +0000 (21:17 -0400)
committerClinton Ebadi <clinton@unknownlamer.org>
Thu, 27 Oct 2016 01:17:43 +0000 (21:17 -0400)
Takes a 608zz bearing

box_frame/z-axis.scad

index 30df7a7..bd1861e 100644 (file)
@@ -104,6 +104,12 @@ module zrodholder(thickness=(frame_type == frame_single ? 14 : 15), bottom_thick
                              }
                         }
                     }
+                   // leadscrew bearing hole is cut from this
+                   if (am_top) {
+                        lead_bearing_y = board_to_xz_distance + zaxis_delta_y - zmotor_delta_y;
+                        lead_bearing_x = board_to_xz_distance - zaxis_delta_x + zmotor_delta_x;
+                        translate ([lead_bearing_y, lead_bearing_x, 0]) cylinder (d = bearing_608[0] + 1 + 2, h = bearing_608[2] + layer_height*4);
+                   }
                     //piece along cut side of the board
                    if (frame_type == frame_box) {
                         translate([-board_thickness, 0, 0])
@@ -134,6 +140,9 @@ module zrodholder(thickness=(frame_type == frame_single ? 14 : 15), bottom_thick
                     translate([board_to_xz_distance - z_delta + zaxis_delta_y, 9 - zaxis_delta_x, 0])
                         cylinder(h=bottom_thickness * (am_top ? 1.75 : 1.75), r=smooth_rod_insert_radius);
                 }
+
+               // === difference ===
+
                 //smooth rod hole
                 #translate([board_to_xz_distance - z_delta + zaxis_delta_y, 9 - zaxis_delta_x, -1]) cylinder(h=am_top ? thickness+20 : bottom_thickness, r=bushing_z[0] + single_wall_width / 4);
                 //inside rouned corner
@@ -141,6 +150,21 @@ module zrodholder(thickness=(frame_type == frame_single ? 14 : 15), bottom_thick
                     translate([0, 5, -1]) cylinder(r=0.8, h=100, $fn=8);
                }
 
+               // leadscrew hole
+               if (am_top) {
+                    lead_bearing_y = board_to_xz_distance + zaxis_delta_y - zmotor_delta_y;
+                    lead_bearing_x = board_to_xz_distance - zaxis_delta_x + zmotor_delta_x;
+                    translate ([lead_bearing_y, lead_bearing_x, 0]) {
+                         difference () {
+                              union () {
+                                   translate ([0, 0, 1]) cylinder (d = 10.8, h = bearing_608[2]*2);
+                                   translate ([0, 0, -1]) cylinder (d = 23, h = bearing_608[2]+1);
+                              }
+                              #translate ([0, 0, bearing_608[2]-layer_height]) cylinder (d = 23, h = layer_height);
+                         }
+                    }
+               }
+
                 //front screws
                 if (frame_type == frame_single) {
                     //single plate has both screws on front