From 3e9e3fd1027e3cf9abb193c12c19ebf11f385bc0 Mon Sep 17 00:00:00 2001 From: Vojtech Bubnik Date: Mon, 14 Feb 2022 15:11:19 +0100 Subject: 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 --- src/libslic3r/Print.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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."); -- cgit v1.2.3