FIX: the gcode.3mf cannot display correctly

because the empty value of unprintable_filament_map
jira: none

Change-Id: I223fde51e31c2206b81512737058c7015cb10816
(cherry picked from commit bde01dc1814f7cef812d7f441cd969e0f3ab7747)
This commit is contained in:
zhimin.zeng
2024-11-20 10:50:51 +08:00
committed by Noisyfox
parent ac19851e52
commit 96f081df27

View File

@@ -271,6 +271,15 @@ static t_config_option_keys print_config_diffs(
else if ((plate_index < option_new->values.size())||(plate_index < option_old->values.size()))
print_diff.emplace_back(opt_key);
}
else if (opt_key == "unprintable_filament_map") {
size_t extruder_nums = new_full_config.option<ConfigOptionFloatsNullable>("nozzle_diameter")->values.size();
std::vector<std::vector<int>> old_map = current_config.option<ConfigOptionIntsGroups>("unprintable_filament_map")->values;
std::vector<std::vector<int>> new_map = new_full_config.option<ConfigOptionIntsGroups>("unprintable_filament_map")->values;
old_map.resize(extruder_nums, std::vector<int>());
new_map.resize(extruder_nums, std::vector<int>());
if (old_map != new_map)
print_diff.emplace_back(opt_key);
}
else
print_diff.emplace_back(opt_key);
}
@@ -302,6 +311,18 @@ static t_config_option_keys full_print_config_diffs(const DynamicPrintConfig &cu
else if ((plate_index < option_new->values.size())||(plate_index < option_old->values.size()))
full_config_diff.emplace_back(opt_key);
}
else if (opt_key == "unprintable_filament_map") {
size_t extruder_nums = new_full_config.option<ConfigOptionFloatsNullable>("nozzle_diameter")->values.size();
std::vector<std::vector<int>> old_map;
if (opt_old) {
old_map = current_full_config.option<ConfigOptionIntsGroups>("unprintable_filament_map")->values;
}
std::vector<std::vector<int>> new_map = new_full_config.option<ConfigOptionIntsGroups>("unprintable_filament_map")->values;
old_map.resize(extruder_nums, std::vector<int>());
new_map.resize(extruder_nums, std::vector<int>());
if (old_map != new_map)
full_config_diff.emplace_back(opt_key);
}
else
full_config_diff.emplace_back(opt_key);
}