// Motor holding part
difference(){
union(){
- zrodholder(thickness=thickness, xlen=45 + zmotor_delta_x + zaxis_delta_x, ylen=48 + 5 + zmotor_delta_y + zaxis_delta_y, zdelta=((i_want_to_use_single_plate_dxf_and_make_my_z_weaker == 0) ? 0 : 5), bottom_x = 50 + zaxis_delta_x + zmotor_delta_x, bottom_y = 15 + zmotor_delta_y + zaxis_delta_y, am_top=0, bottom_thickness=bottom_thickness);
+ zrodholder(thickness=thickness, xlen=45 + zmotor_delta_x + zaxis_delta_x, ylen=48 + 5 + zmotor_delta_y + zaxis_delta_y, zdelta=((i_want_to_use_single_plate_dxf_and_make_my_z_weaker == 0) ? 0 : 5), bottom_x = 14 + zaxis_delta_x + zmotor_delta_x, bottom_y = 15 + zmotor_delta_y + zaxis_delta_y, am_top=0, bottom_thickness=bottom_thickness);
translate([position_x, position_y, 0]) {
- nema17(places=[1, 1, 1, 1], h=bottom_thickness + layer_height, $fn=23, shadow=layer_height + 2);
+ nema17(places=[0, 1, 1, 1], h=bottom_thickness + layer_height, $fn=23, shadow=layer_height + 2);
}
}
// remove any interfering walls
module zrodholder(thickness=(frame_type == frame_single ? 14 : 15), bottom_thickness=5, ylen=44, xlen=34, zdelta=0, bottom_y=14, bottom_x=14, am_top=1){
holder_inner_r = 9;
holder_inner_r2 = 2;
- smooth_rod_insert_radius = bushing_z[0] + 5 * single_wall_width;
+ smooth_rod_insert_radius = bushing_z[0] + 6 * single_wall_width;
difference(){
union(){
difference(){
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_x, lead_bearing_y, 0]) cylinder (d = bearing_608[0] + 1 + 2, h = bearing_608[2] + layer_height*4);
+ translate ([lead_bearing_x, lead_bearing_y, 0]) cylinder (d = bearing_608[0] + single_wall_width * 6, h = bearing_608[2] + layer_height*6);
}
//piece along cut side of the board
if (frame_type == frame_box) {
// front
//cube_fillet([am_top ? board_to_xz_distance + zaxis_delta_x - smooth_rod_insert_radius : xlen + zaxis_delta_x , side_thickness, thickness], vertical = [2, 0, 0, 0], top = [0, 0, 0, thickness]);
cube_fillet([am_top ? board_to_xz_distance + zaxis_delta_x - smooth_rod_insert_radius : xlen , side_thickness, thickness / (am_top ? 1 : 1.5)], vertical = [2, 0, 0, 0], top = [0, 0, 0, thickness]);
-
- // extra support for motor
- if (!am_top) {
- translate ([0, ylen - side_thickness, 0]) cube_fillet([xlen/* board_to_xz_distance + zaxis_delta_x - smooth_rod_insert_radius */ , side_thickness, thickness/1.5], vertical = [2, 0, 0, 0], top = [0, 0, 0, thickness]);
- }
}
- // extra support along edge of smooth rod hole
- radius_diff = smooth_rod_insert_radius - bushing_z[0];
- hull () {
- translate([-board_thickness/3, -zaxis_delta_y/3, 0]) {
- cube_fillet([board_thickness/3 + board_to_xz_distance + zaxis_delta_x - bushing_z[0] , -zaxis_delta_y/3 , thickness/2], vertical = [2, 0, 4, 0], top = [0, 0, 4, thickness/2]);
- }
- translate([board_to_xz_distance/2, -zaxis_delta_x + radius_diff/6, 0]) {
- cube_fillet([board_to_xz_distance/2 + zaxis_delta_x + smooth_rod_insert_radius*0.75, radius_diff/3 , bottom_thickness*2], vertical = [2, 0, 4, bushing_z[0] * smooth_rod_insert_radius/bushing_z[0]], top = [0, 0, 2, thickness/4]);
+ if (zaxis_delta_x > 0 || zaxis_delta_y < 0) {
+ // extra support along edge of smooth rod hole, if it has been moved away from the frame
+ radius_diff = smooth_rod_insert_radius - bushing_z[0];
+ hull () {
+ translate([-board_thickness/3, zaxis_delta_x/3, 0]) {
+ cube_fillet([board_thickness/3 + board_to_xz_distance + zaxis_delta_x - bushing_z[0] , -zaxis_delta_y/3 , thickness/2], vertical = [2, 0, 4, 0], top = [0, 0, 4, thickness/2]);
+ }
+ translate([board_to_xz_distance/2, zaxis_delta_y + radius_diff/6, 0]) {
+ cube_fillet([board_to_xz_distance/2 + zaxis_delta_x + smooth_rod_insert_radius*0.75, radius_diff/3 , bottom_thickness*2], vertical = [2, 0, 4, bushing_z[0] * smooth_rod_insert_radius/bushing_z[0]], top = [0, 0, 2, thickness/4]);
+ }
}
}
} else {
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_x, lead_bearing_y, 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);
- }
+ union () {
+ translate ([0, 0, 1]) cylinder (d = 10.8, h = bearing_608[2]*2);
+ translate ([0, 0, -1]) cylinder (d = bearing_608[0], h = bearing_608[2]+1);
}
}
}
translate([-board_thickness-18, 5 + board_thickness/2, thickness - board_thickness/2]) 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();
+ 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, -13, thickness-board_thickness/2]) 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]) {
translate([0, -60, 0]) zmotorholder(thickness=55, bottom_thickness=6);
translate([0, 60, 0]) mirror([0, 1, 0]) zmotorholder(thickness=55, bottom_thickness=6);
- translate([110 + board_thickness, board_thickness+10, 0]) rotate([0,0,90]) zrodholder(thickness=board_thickness * 2 + 5, ylen = board_thickness * 2 + 10, bottom_x=48, bottom_thickness=6);
- translate([110 + board_thickness, -(board_thickness+10), 0]) rotate([0, 0, -90]) mirror([0, 1, 0]) zrodholder(thickness=board_thickness * 2 + 5, ylen = board_thickness * 2 + 10, bottom_x=48, bottom_thickness=6);
+ translate([110 + board_thickness, board_thickness+10, 0]) rotate([0,0,90]) zrodholder(thickness=board_thickness * 2 + 5, ylen = board_thickness * 2 + 10, bottom_x=43 + zaxis_delta_x, bottom_thickness=6);
+ translate([110 + board_thickness, -(board_thickness+10), 0]) rotate([0, 0, -90]) mirror([0, 1, 0]) zrodholder(thickness=board_thickness * 2 + 5, ylen = board_thickness * 2 + 10, bottom_x=43 + zaxis_delta_x, bottom_thickness=6);
+
}
else {