From ac4a4ca8bac32a2d8b4981147809751ee6747228 Mon Sep 17 00:00:00 2001 From: "lane.wei" Date: Wed, 12 Mar 2025 14:03:32 +0800 Subject: [PATCH] ENH: CLI: fix some potential issue under cli jira: no-jira Change-Id: I411e7a18b0eacc27f28a4b6d2205cd6460b6cd1a (cherry picked from commit 84bbf31ab5d4a30afde7c512147fcbe9b85fb57b) --- src/OrcaSlicer.cpp | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/OrcaSlicer.cpp b/src/OrcaSlicer.cpp index 0b91bf53cd..c173d69ce0 100644 --- a/src/OrcaSlicer.cpp +++ b/src/OrcaSlicer.cpp @@ -3030,8 +3030,13 @@ int CLI::run(int argc, char **argv) } } } - else - opt_vec_dst->set_at(opt_vec_src, filament_index-1, 0); + else { + if (current_is_multi_extruder && !new_is_multi_extruder && filament_options_with_variant.find(opt_key) != filament_options_with_variant.end()) { + if (opt_vec_dst->size() > filament_count) + opt_vec_dst->resize(filament_count); + } + opt_vec_dst->set_at(opt_vec_src, filament_index - 1, 0); + } } } @@ -5485,6 +5490,10 @@ int CLI::run(int argc, char **argv) std::vector& final_filament_maps = new_print_config.option("filament_map", true)->values; if (final_filament_maps.size() < filament_count) final_filament_maps.resize(filament_count, 1); + if (new_extruder_count == 1) { + for (int index = 0; index < filament_count; index++) + final_filament_maps[index] = 1; + } print->apply(model, new_print_config); BOOST_LOG_TRIVIAL(info) << boost::format("set no_check to %1%:")%no_check; print->set_no_check_flag(no_check);//BBS