mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-05-17 18:42:24 +00:00
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:
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user