From 15358b211d5c352fa6d72eff00859629e648b750 Mon Sep 17 00:00:00 2001 From: SoftFever Date: Sun, 12 Nov 2023 01:17:44 +0800 Subject: [PATCH] Fix a regression issue that retraction is not correct when wipe is off Fix #2697 --- src/libslic3r/Extruder.hpp | 2 +- src/libslic3r/GCode.cpp | 2 +- src/libslic3r/PrintConfig.hpp | 1 - 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/libslic3r/Extruder.hpp b/src/libslic3r/Extruder.hpp index d5066f91e..0568653e7 100644 --- a/src/libslic3r/Extruder.hpp +++ b/src/libslic3r/Extruder.hpp @@ -33,7 +33,7 @@ public: double retract(double length, double restart_extra); double unretract(); double E() const { return m_share_extruder ? m_share_E : m_E; } - void reset_E() { reset(); } + void reset_E() { m_E = 0.; m_share_E = 0.; } double e_per_mm(double mm3_per_mm) const { return mm3_per_mm * m_e_per_mm3; } double e_per_mm3() const { return m_e_per_mm3; } // Used filament volume in mm^3. diff --git a/src/libslic3r/GCode.cpp b/src/libslic3r/GCode.cpp index fd8a164f0..977db19bd 100644 --- a/src/libslic3r/GCode.cpp +++ b/src/libslic3r/GCode.cpp @@ -710,7 +710,7 @@ static std::vector get_path_of_change_filament(const Print& print) if (is_ramming) gcodegen.m_wipe.reset_path(); // We don't want wiping on the ramming lines. toolchange_gcode_str = gcodegen.set_extruder(new_extruder_id, tcr.print_z); // TODO: toolchange_z vs print_z - if (gcodegen.config().has_prime_tower) + if (gcodegen.config().enable_prime_tower) deretraction_str = gcodegen.unretract(); } diff --git a/src/libslic3r/PrintConfig.hpp b/src/libslic3r/PrintConfig.hpp index a44137a1a..6404b367a 100644 --- a/src/libslic3r/PrintConfig.hpp +++ b/src/libslic3r/PrintConfig.hpp @@ -1124,7 +1124,6 @@ PRINT_CONFIG_CLASS_DERIVED_DEFINE( // BBS: project filaments ((ConfigOptionFloats, filament_colour_new)) // BBS: not in any preset, calculated before slicing - ((ConfigOptionBool, has_prime_tower)) ((ConfigOptionFloat, nozzle_volume)) ((ConfigOptionPoints, start_end_points)) ((ConfigOptionEnum, timelapse_type))