From 274a05367313daac913e58b98dd8944e934ebabe Mon Sep 17 00:00:00 2001 From: "xun.zhang" Date: Thu, 27 Mar 2025 14:08:40 +0800 Subject: [PATCH] FIX: filament savings not consider flush multiplier github:6214 Signed-off-by: xun.zhang Change-Id: I9cb9f8d172bfa501732bb50f437e261793e18972 --- src/libslic3r/GCode/ToolOrdering.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/libslic3r/GCode/ToolOrdering.cpp b/src/libslic3r/GCode/ToolOrdering.cpp index 8c5c0d550..a59919489 100644 --- a/src/libslic3r/GCode/ToolOrdering.cpp +++ b/src/libslic3r/GCode/ToolOrdering.cpp @@ -994,6 +994,14 @@ std::vector ToolOrdering::get_recommended_filament_maps(const std::vector other_layers_seqs = get_other_layers_print_sequence(print_config.other_layers_print_sequence_nums.value, print_config.other_layers_print_sequence.values); @@ -1113,6 +1121,15 @@ void ToolOrdering::reorder_extruders_for_minimum_flush_volume(bool reorder_first nozzle_flush_mtx.emplace_back(wipe_volumes); } + auto flush_multiplies = print_config->flush_multiplier.values; + flush_multiplies.resize(nozzle_nums, 1); + for (size_t nozzle_id = 0; nozzle_id < nozzle_nums; ++nozzle_id) { + for (auto& vec : nozzle_flush_mtx[nozzle_id]) { + for (auto& v : vec) + v *= flush_multiplies[nozzle_id]; + } + } + std::vectorfilament_maps(number_of_extruders, 0); FilamentMapMode map_mode = FilamentMapMode::fmmAutoForFlush;