From 84bbf31ab5d4a30afde7c512147fcbe9b85fb57b 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 --- src/BambuStudio.cpp | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/BambuStudio.cpp b/src/BambuStudio.cpp index 987ae22f5..fc4b05d6e 100644 --- a/src/BambuStudio.cpp +++ b/src/BambuStudio.cpp @@ -3187,8 +3187,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); + } } } @@ -5834,6 +5839,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