diff --git a/src/BambuStudio.cpp b/src/BambuStudio.cpp index 38383d53d..41bb161ca 100644 --- a/src/BambuStudio.cpp +++ b/src/BambuStudio.cpp @@ -3166,7 +3166,7 @@ int CLI::run(int argc, char **argv) } } - if ((load_filament_count > 0) && m_print_config.option("filament_extruder_variant")) { + if (m_print_config.option("filament_extruder_variant")) { std::vector& filament_self_indice = m_print_config.option("filament_self_index", true)->values; int index_size = m_print_config.option("filament_extruder_variant")->size(); filament_self_indice.resize(index_size, 1); diff --git a/src/libslic3r/PresetBundle.cpp b/src/libslic3r/PresetBundle.cpp index 602148950..58cdb1e79 100644 --- a/src/libslic3r/PresetBundle.cpp +++ b/src/libslic3r/PresetBundle.cpp @@ -2544,7 +2544,13 @@ void PresetBundle::load_config_file_config(const std::string &name_or_path, bool bool process_multi_extruder = false; std::vector filament_variant_index; size_t extruder_variant_count; - std::vector filament_self_indice = std::move(config.option("filament_self_index", true)->values); + if (!config.option("filament_self_index")) { + std::vector& filament_self_indice = config.option("filament_self_index", true)->values; + filament_self_indice.resize(num_filaments); + for (int index = 0; index < num_filaments; index++) + filament_self_indice[index] = index + 1; + } + std::vector filament_self_indice = std::move(config.option("filament_self_index")->values); if (config.option("extruder_variant_list")) { //3mf support multiple extruder logic size_t extruder_count = config.option("nozzle_diameter")->values.size();