FIX: wrong filament map in plate params

1.Always clear filament map when global map mode change if
plate filament map mode is default

jira:NONE

Signed-off-by: xun.zhang <xun.zhang@bambulab.com>
Change-Id: I38055b7c77668fdb211f6b459be1044d8d3c8f8c
(cherry picked from commit b492ab13a28b25599da9668d84447be260cbbc34)
(cherry picked from commit 48c45e06a571decf9cfe460cd680bfad75ace3fe)
This commit is contained in:
xun.zhang
2024-12-26 20:40:57 +08:00
committed by Noisyfox
parent 439761f71e
commit c0cda458e5
5 changed files with 32 additions and 7 deletions

View File

@@ -3271,12 +3271,17 @@ void PartPlate::set_filament_maps(const std::vector<int>& f_maps)
m_config.option<ConfigOptionInts>("filament_map", true)->values = f_maps;
}
void PartPlate::clear_filament_map_info()
void PartPlate::clear_filament_map()
{
if (m_config.has("filament_map"))
m_config.erase("filament_map");
}
void PartPlate::clear_filament_map_mode()
{
if (m_config.has("filament_map_mode"))
m_config.erase("filament_map_mode");
}
const std::vector<std::vector<int>>& PartPlate::get_unprintable_filament_ids()
@@ -3295,7 +3300,8 @@ void PartPlate::on_extruder_count_changed(int extruder_count)
{
if (extruder_count < 2) {
// clear filament map and mode in single extruder mode
clear_filament_map_info();
clear_filament_map();
clear_filament_map_mode();
}
}