|
@@ -493,11 +493,10 @@ void tool_change(const uint8_t tmp_extruder, const float fr_mm_s/*=0.0*/, bool n
|
493
|
493
|
SYNC_PLAN_POSITION_KINEMATIC();
|
494
|
494
|
|
495
|
495
|
// Move to the "old position" (move the extruder into place)
|
|
496
|
+ #if ENABLED(SWITCHING_NOZZLE)
|
|
497
|
+ destination[Z_AXIS] += z_diff; // Include the Z restore with the "move back"
|
|
498
|
+ #endif
|
496
|
499
|
if (!no_move && IsRunning()) {
|
497
|
|
- #if ENABLED(SWITCHING_NOZZLE)
|
498
|
|
- if (z_raise != z_diff)
|
499
|
|
- destination[Z_AXIS] += z_diff; // Include the Z restore with the "move back"
|
500
|
|
- #endif
|
501
|
500
|
#if ENABLED(DEBUG_LEVELING_FEATURE)
|
502
|
501
|
if (DEBUGGING(LEVELING)) DEBUG_POS("Move back", destination);
|
503
|
502
|
#endif
|
|
@@ -505,12 +504,9 @@ void tool_change(const uint8_t tmp_extruder, const float fr_mm_s/*=0.0*/, bool n
|
505
|
504
|
do_blocking_move_to(destination[X_AXIS], destination[Y_AXIS], destination[Z_AXIS]);
|
506
|
505
|
}
|
507
|
506
|
#if ENABLED(SWITCHING_NOZZLE)
|
508
|
|
- // Move back down, if needed. (Including when the new tool is higher.)
|
509
|
|
- else if (z_raise != z_diff) {
|
510
|
|
- set_destination_from_current(); // Prevent any XY move
|
511
|
|
- destination[Z_AXIS] += z_diff;
|
512
|
|
- feedrate_mm_s = planner.max_feedrate_mm_s[Z_AXIS];
|
513
|
|
- prepare_move_to_destination();
|
|
507
|
+ else {
|
|
508
|
+ // Move back down. (Including when the new tool is higher.)
|
|
509
|
+ do_blocking_move_to_z(destination[Z_AXIS], planner.max_feedrate_mm_s[Z_AXIS]);
|
514
|
510
|
}
|
515
|
511
|
#endif
|
516
|
512
|
} // (tmp_extruder != active_extruder)
|