diff --git a/scad/positions.scad b/scad/positions.scad index 491a1c9..5ed826d 100644 --- a/scad/positions.scad +++ b/scad/positions.scad @@ -60,10 +60,11 @@ z_nut_offset = frame_nut_traps ? -z_slot_inset + nut_radius(frame_nut) + 0.5 : 0 function z_motor_bracket_hole_offset() = ceil(NEMA_width(Z_motor)) / 2 - z_slot_inset + z_nut_offset; left_stay_x = max(-base_width / 2 + left_w / 2, - idler_end - z_bar_offset() + z_motor_bracket_hole_offset() + washer_diameter(M4_washer) / 2 + 1) + sheet_thickness(frame) / 2; + idler_end - z_bar_offset() + z_motor_bracket_hole_offset() + washer_diameter(frame_washer) / 2 + (squeeze ? 0 : 1)) + + sheet_thickness(frame) / 2; -right_stay_x = frame_nuts ? min(motor_end, motor_end + z_bar_offset() - z_motor_bracket_hole_offset() - washer_diameter(M4_washer) / 2 - 1 - sheet_thickness(frame) / 2) - : max(motor_end, base_width / 2 - right_w + sheet_thickness(frame) / 2 + fixing_block_height() + base_clearance); +right_stay_x = frame_nuts ? min(motor_end, motor_end + z_bar_offset() - z_motor_bracket_hole_offset() - washer_diameter(frame_washer) / 2 - 1 - sheet_thickness(frame) / 2) + : max(motor_end, base_width / 2 - right_w + sheet_thickness(frame) / 2 + fixing_block_height() + base_clearance); Y_belt_height = y_motor_height() + pulley_inner_radius + belt_thickness(Y_belt); @@ -83,7 +84,8 @@ psu_y = base_depth / 2 - base_clearance - psu_width(psu) / 2 - (atx_psu(psu) ? a psu_top = psu_z + psu_length(psu) / 2 + (atx_psu(psu) ? 0 : mains_inlet_depth()); -controller_z = (height + psu_top) / 2 - controller_length(controller) / 2; +controller_z = (height + (psu_length(psu) ? psu_top : fixing_block_height() + pi_width)) / 2 - controller_length(controller) / 2; + controller_y = (base_depth / 2 + gantry_Y + sheet_thickness(frame)) / 2 - controller_width(controller) / 2; spool_z = height - gantry_thickness + spool_diameter(spool) / 2 + 10;