Automatically select external spool if it's the only installed filament (#13356)

* Clean up code

* Filament mapping select ext slot automatically when no AMS filament inserted (OrcaSlicer/OrcaSlicer#13103)

* Show warning if external filament type does not match the one in sliced file
This commit is contained in:
Noisyfox
2026-05-09 13:14:27 +08:00
committed by GitHub
parent 155f74ad21
commit 43e5afc302
7 changed files with 55 additions and 31 deletions

View File

@@ -1261,15 +1261,10 @@ bool SyncAmsInfoDialog::do_ams_mapping(MachineObject *obj_)
}
// single nozzle
else {
if (obj_->is_support_amx_ext_mix_mapping()) {
map_opt = {false, true, false, true}; // four values: use_left_ams, use_right_ams, use_left_ext, use_right_ext
filament_result = DevMappingUtil::ams_filament_mapping(obj_, m_filaments, m_ams_mapping_result, map_opt, std::vector<int>(),
wxGetApp().app_config->get_bool("ams_sync_match_full_use_color_dist") ? false : true);
// auto_supply_with_ext(obj_->vt_slot);
} else {
map_opt = {false, true, false, false};
filament_result = DevMappingUtil::ams_filament_mapping(obj_, m_filaments, m_ams_mapping_result, map_opt);
}
map_opt = {false, true, false, true}; // four values: use_left_ams, use_right_ams, use_left_ext, use_right_ext
filament_result = DevMappingUtil::ams_filament_mapping(obj_, m_filaments, m_ams_mapping_result, map_opt, std::vector<int>(),
wxGetApp().app_config->get_bool("ams_sync_match_full_use_color_dist") ? false : true);
// auto_supply_with_ext(obj_->vt_slot);
}
if (filament_result == 0) {