diff options
author | Vojtech Bubnik <bubnikv@gmail.com> | 2022-02-14 17:11:19 +0300 |
---|---|---|
committer | Vojtech Bubnik <bubnikv@gmail.com> | 2022-02-14 17:11:19 +0300 |
commit | 3e9e3fd1027e3cf9abb193c12c19ebf11f385bc0 (patch) | |
tree | b1308ddb8d5d43d1ab6e6f0dd309ddc3a1301133 | |
parent | a062a889d87a7ccc11bf8f8d5b6e1a2c067c94c6 (diff) |
Follow-up to 58d64bae7762e225a9755a79c80068f56a81b5f5
Disabled check for "G92 E0" in layer change G-code for other firmware types
than Marlin 2 and Marlin Legacy. We don't know whether other firmware
flavors are sensitive to E axis accumulation error and we know that
RepRapFirmware is not.
Fixes #7846
-rw-r--r-- | src/libslic3r/Print.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/libslic3r/Print.cpp b/src/libslic3r/Print.cpp index dc47b382d..f0a596e46 100644 --- a/src/libslic3r/Print.cpp +++ b/src/libslic3r/Print.cpp @@ -659,7 +659,8 @@ std::string Print::validate(std::string* warning) const bool layer_gcode_resets_extruder = boost::regex_search(m_config.layer_gcode.value, regex_g92e0); if (m_config.use_relative_e_distances) { // See GH issues #6336 #5073 - if (! before_layer_gcode_resets_extruder && ! layer_gcode_resets_extruder) + if ((m_config.gcode_flavor == gcfMarlinLegacy || m_config.gcode_flavor == gcfMarlinFirmware) && + ! before_layer_gcode_resets_extruder && ! layer_gcode_resets_extruder) return L("Relative extruder addressing requires resetting the extruder position at each layer to prevent loss of floating point accuracy. Add \"G92 E0\" to layer_gcode."); } else if (before_layer_gcode_resets_extruder) return L("\"G92 E0\" was found in before_layer_gcode, which is incompatible with absolute extruder addressing."); |