Browse Source

Merge pull request #6021 from Bob-the-Kuhn/BUG-FIX--Switching-extruder-tool-change-Z-height

Bug Fix: Switching extruder tool change leaves Z in wrong position
pull/1/head
Scott Lahteine 8 years ago
committed by GitHub
parent
commit
0b22069e82
  1. 2
      Marlin/Marlin_main.cpp

2
Marlin/Marlin_main.cpp

@ -8033,6 +8033,7 @@ void tool_change(const uint8_t tmp_extruder, const float fr_mm_s/*=0.0*/, bool n
z_raise = 0.3 + (z_diff > 0.0 ? z_diff : 0.0); z_raise = 0.3 + (z_diff > 0.0 ? z_diff : 0.0);
// Always raise by some amount (destination copied from current_position earlier) // Always raise by some amount (destination copied from current_position earlier)
float save_Z = destination[Z_AXIS]; // save Z for later on
destination[Z_AXIS] += z_raise; destination[Z_AXIS] += z_raise;
planner.buffer_line_kinematic(destination, planner.max_feedrate_mm_s[Z_AXIS], active_extruder); planner.buffer_line_kinematic(destination, planner.max_feedrate_mm_s[Z_AXIS], active_extruder);
stepper.synchronize(); stepper.synchronize();
@ -8046,6 +8047,7 @@ void tool_change(const uint8_t tmp_extruder, const float fr_mm_s/*=0.0*/, bool n
planner.buffer_line_kinematic(destination, planner.max_feedrate_mm_s[Z_AXIS], active_extruder); planner.buffer_line_kinematic(destination, planner.max_feedrate_mm_s[Z_AXIS], active_extruder);
stepper.synchronize(); stepper.synchronize();
} }
destination[Z_AXIS] = save_Z; // restore original Z position so the 'Move to the "old position"' is correct
#endif #endif
/** /**

Loading…
Cancel
Save