FIX: config: fix some loading issue with filament_self_index

1. generate filament_self_index for old files in cli
2. set filament_self_index to default for old files using single extruder
jira: no-jira

Change-Id: I6e3f520723ee7f3a75634121604023ba319ff97a
This commit is contained in:
lane.wei 2024-11-12 18:42:13 +08:00
parent b495bfd4e9
commit d050aa4d36
2 changed files with 8 additions and 2 deletions

View File

@ -3166,7 +3166,7 @@ int CLI::run(int argc, char **argv)
}
}
if ((load_filament_count > 0) && m_print_config.option<ConfigOptionStrings>("filament_extruder_variant")) {
if (m_print_config.option<ConfigOptionStrings>("filament_extruder_variant")) {
std::vector<int>& filament_self_indice = m_print_config.option<ConfigOptionInts>("filament_self_index", true)->values;
int index_size = m_print_config.option<ConfigOptionStrings>("filament_extruder_variant")->size();
filament_self_indice.resize(index_size, 1);

View File

@ -2544,7 +2544,13 @@ void PresetBundle::load_config_file_config(const std::string &name_or_path, bool
bool process_multi_extruder = false;
std::vector<int> filament_variant_index;
size_t extruder_variant_count;
std::vector<int> filament_self_indice = std::move(config.option<ConfigOptionInts>("filament_self_index", true)->values);
if (!config.option<ConfigOptionInts>("filament_self_index")) {
std::vector<int>& filament_self_indice = config.option<ConfigOptionInts>("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<int> filament_self_indice = std::move(config.option<ConfigOptionInts>("filament_self_index")->values);
if (config.option("extruder_variant_list")) {
//3mf support multiple extruder logic
size_t extruder_count = config.option<ConfigOptionFloatsNullable>("nozzle_diameter")->values.size();