diff --git a/src/slic3r/GUI/AMSMaterialsSetting.cpp b/src/slic3r/GUI/AMSMaterialsSetting.cpp index bb2bf9d98..bb1278232 100644 --- a/src/slic3r/GUI/AMSMaterialsSetting.cpp +++ b/src/slic3r/GUI/AMSMaterialsSetting.cpp @@ -462,10 +462,23 @@ void AMSMaterialsSetting::on_select_reset(wxCommandEvent& event) { if (obj) { // set filament if (is_virtual_tray()) { - obj->command_ams_filament_settings(255, VIRTUAL_TRAY_MAIN_ID, ams_filament_id, ams_setting_id, std::string(col_buf), m_filament_type, nozzle_temp_min_int, nozzle_temp_max_int); + auto tar_tray = VIRTUAL_TRAY_DEPUTY_ID; + + if (!obj->is_enable_np) { + tar_tray = VIRTUAL_TRAY_DEPUTY_ID; + } + else { + tar_tray = 0; + } + obj->command_ams_filament_settings(ams_id, tar_tray, ams_filament_id, ams_setting_id, std::string(col_buf), m_filament_type, nozzle_temp_min_int, nozzle_temp_max_int); } else if(m_is_third){ - obj->command_ams_filament_settings(ams_id, tray_id, ams_filament_id, ams_setting_id, std::string(col_buf), m_filament_type, nozzle_temp_min_int, nozzle_temp_max_int); + if (obj->is_enable_np) { + obj->command_ams_filament_settings(ams_id, slot_id, ams_filament_id, ams_setting_id, std::string(col_buf), m_filament_type, nozzle_temp_min_int, nozzle_temp_max_int); + } + else { + obj->command_ams_filament_settings(ams_id, ams_id * 4 + slot_id, ams_filament_id, ams_setting_id, std::string(col_buf), m_filament_type, nozzle_temp_min_int, nozzle_temp_max_int); + } } // set k / n value