FIX: filament savings not consider flush multiplier

github:6214

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I9cb9f8d172bfa501732bb50f437e261793e18972
This commit is contained in:
xun.zhang 2025-03-27 14:08:40 +08:00 committed by Lane.Wei
parent b122af7b8f
commit 274a053673

View File

@ -994,6 +994,14 @@ std::vector<int> ToolOrdering::get_recommended_filament_maps(const std::vector<s
nozzle_flush_mtx.emplace_back(wipe_volumes); nozzle_flush_mtx.emplace_back(wipe_volumes);
} }
auto flush_multiplies = print_config.flush_multiplier.values;
flush_multiplies.resize(extruder_nums, 1);
for (size_t nozzle_id = 0; nozzle_id < extruder_nums; ++nozzle_id) {
for (auto& vec : nozzle_flush_mtx[nozzle_id]) {
for (auto& v : vec)
v *= flush_multiplies[nozzle_id];
}
}
std::vector<LayerPrintSequence> other_layers_seqs = get_other_layers_print_sequence(print_config.other_layers_print_sequence_nums.value, print_config.other_layers_print_sequence.values); std::vector<LayerPrintSequence> 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); 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::vector<int>filament_maps(number_of_extruders, 0); std::vector<int>filament_maps(number_of_extruders, 0);
FilamentMapMode map_mode = FilamentMapMode::fmmAutoForFlush; FilamentMapMode map_mode = FilamentMapMode::fmmAutoForFlush;