//hole for Z axis is thru this
cube_fillet([xlen + zaxis_delta_x, bottom_y, bottom_thickness], vertical=[3, 0, 0, 3]);
- translate([bottom_x, bottom_y, 0]) {
- //large fillet that makes it stiffer by lot. Thanks to Marcus Wolschon
- difference(){
- cube([holder_inner_r, holder_inner_r, bottom_thickness]);
- translate([holder_inner_r, holder_inner_r, -0.5])
- cylinder(r=holder_inner_r, h=bottom_thickness + 1);
- }
- }
+ if (bottom_x < board_to_xz_distance - z_delta + zaxis_delta_y) {
+ translate([bottom_x, bottom_y, 0]) {
+ //large fillet that makes it stiffer by lot. Thanks to Marcus Wolschon
+ difference(){
+ cube([holder_inner_r, holder_inner_r, bottom_thickness]);
+ translate([holder_inner_r, holder_inner_r, -0.5])
+ cylinder(r=holder_inner_r, h=bottom_thickness + 1);
+ }
+ }
+ }
if (frame_type != frame_alu) {
translate([5, 5, 0]) {
difference(){
}
}
}
+ // 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])
}
//smooth rod insert
translate([board_to_xz_distance - z_delta + zaxis_delta_y, 9 - zaxis_delta_x, 0])
- cylinder(h=bottom_thickness * (am_top ? 1.75 : 1.0), r=smooth_rod_insert_radius);
+ 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=board_thickness+20, r=bushing_z[0] + single_wall_width / 4);
+ #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
if (frame_type != frame_alu) {
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
}
} else if (frame_type == frame_alu) {
// three screws on front
- translate([16, ylen - board_thickness/2, bottom_thickness/2 + board_thickness/2 + zdelta]) rotate([0, -90, 0]) plate_screw();
- translate([16, 5 + board_thickness/2, bottom_thickness/2 + board_thickness/2 + zdelta]) rotate([0, -90, 0]) plate_screw();
- translate([16, 5 + board_thickness/2, thickness - board_thickness/2]) rotate([0, -90, 0])
+ translate([18, ylen - board_thickness/2, bottom_thickness/2 + board_thickness/2 + zdelta]) rotate([0, -90, 0]) plate_screw();
+ translate([18, 5 + board_thickness/2, bottom_thickness/2 + board_thickness/2 + zdelta]) rotate([0, -90, 0]) plate_screw();
+ translate([18, 5 + board_thickness/2, thickness - board_thickness/2]) rotate([0, -90, 0])
plate_screw();
// motor mount screw for opposite extrusion
- translate([16, ylen - board_thickness/2, thickness - board_thickness/2]) rotate([0, -90, 0])
+ translate([18, ylen - board_thickness/2, thickness - board_thickness/2]) rotate([0, -90, 0])
plate_screw();
// back plate
- translate([-board_thickness-17, ylen - board_thickness/2, thickness - board_thickness/2]) rotate([0, 90, 0])
+ translate([-board_thickness-18, ylen - board_thickness/2, thickness - board_thickness/2]) rotate([0, 90, 0])
plate_screw();
- translate([-board_thickness-17, 5 + board_thickness/2, thickness - board_thickness/2]) rotate([0, 90, 0])
+ translate([-board_thickness-18, 5 + board_thickness/2, thickness - board_thickness/2]) rotate([0, 90, 0])
plate_screw();
- translate([-board_thickness-17, ylen - board_thickness/2, bottom_thickness/2 + board_thickness/2 + zdelta]) rotate([0, 90, 0]) plate_screw();
- translate([-board_thickness-17, 5 + board_thickness/2, bottom_thickness/2 + board_thickness/2 + zdelta]) rotate([0, 90, 0]) plate_screw();
+ translate([-board_thickness-18, ylen - board_thickness/2, bottom_thickness/2 + board_thickness/2 + zdelta]) rotate([0, 90, 0]) plate_screw();
+ #translate([-board_thickness-18, 5 + board_thickness/2, bottom_thickness/2 + board_thickness/2 + zdelta]) rotate([0, 90, 0]) plate_screw();
//side screws
- translate([-board_thickness/2, -11, thickness-board_thickness/2]) rotate([-90, 0, 0]) plate_screw();
- translate([-board_thickness/2, -11, bottom_thickness/2 + board_thickness/2 + zdelta]) rotate([-90, 0, 0]) plate_screw();
+ #translate([-board_thickness/2, -13, thickness-board_thickness/2]) rotate([-90, 0, 0]) plate_screw();
+ translate([-board_thickness/2, -13, bottom_thickness/2 + board_thickness/2 + zdelta]) rotate([-90, 0, 0]) plate_screw();
} else if (frame_type == frame_box) {
translate([16, 30, bottom_thickness+4]) rotate([0, -90, 0]) {
plate_screw();
}
}
}
-translate([10, -50, 0]) zmotorholder();
-translate([0, 50, 0]) mirror([0, 1, 0]) zmotorholder();
-translate([67, 14, 0]) rotate([0,0,90]) zrodholder();
-translate([77, -14, 0]) rotate([0, 0, -90]) mirror([0, 1, 0]) zrodholder();
+
+if (frame_type == frame_alu) {
+ // 2020 aluminum frame parts are larger
+ translate([10, -50, 0]) zmotorholder(thickness=55);
+ translate([0, 50, 0]) mirror([0, 1, 0]) zmotorholder(thickness=55);
+ translate([120, 30, 0]) rotate([0,0,90]) zrodholder(thickness=board_thickness * 2 + 5, ylen = 50);
+ translate([120, -30, 0]) rotate([0, 0, -90]) mirror([0, 1, 0]) zrodholder(thickness=board_thickness * 2 + 5, ylen = 50);
+}
+else {
+ translate([10, -50, 0]) zmotorholder();
+ translate([0, 50, 0]) mirror([0, 1, 0]) zmotorholder();
+ translate([67, 14, 0]) rotate([0,0,90]) zrodholder();
+ translate([77, -14, 0]) rotate([0, 0, -90]) mirror([0, 1, 0]) zrodholder();
+}