diff --git a/src/slic3r/GUI/DeviceManager.cpp b/src/slic3r/GUI/DeviceManager.cpp index 2d3344f53..201caf832 100644 --- a/src/slic3r/GUI/DeviceManager.cpp +++ b/src/slic3r/GUI/DeviceManager.cpp @@ -1790,6 +1790,9 @@ bool MachineObject::is_function_supported(PrinterFunction func) case FUNC_PRINT_WITHOUT_SD: func_name = "FUNC_PRINT_WITHOUT_SD"; break; + case FUNC_USE_AMS: + func_name = "FUNC_USE_AMS"; + break; default: return true; } diff --git a/src/slic3r/GUI/DeviceManager.hpp b/src/slic3r/GUI/DeviceManager.hpp index 0b2f3b420..d576bd736 100644 --- a/src/slic3r/GUI/DeviceManager.hpp +++ b/src/slic3r/GUI/DeviceManager.hpp @@ -71,6 +71,7 @@ enum PrinterFunction { FUNC_LOCAL_TUNNEL, FUNC_PRINT_WITHOUT_SD, FUNC_VIRTUAL_CAMERA, + FUNC_USE_AMS, FUNC_MAX }; diff --git a/src/slic3r/GUI/SelectMachine.cpp b/src/slic3r/GUI/SelectMachine.cpp index fb45abe6b..8e919acdf 100644 --- a/src/slic3r/GUI/SelectMachine.cpp +++ b/src/slic3r/GUI/SelectMachine.cpp @@ -2175,8 +2175,12 @@ void SelectMachineDialog::on_selection_changed(wxCommandEvent &event) void SelectMachineDialog::update_ams_check(MachineObject* obj) { - if (obj && obj->ams_support_use_ams && obj->has_ams()) { + if (obj && obj->is_function_supported(FUNC_USE_AMS) + && obj->ams_support_use_ams + && obj->has_ams()) { select_use_ams->Show(); + // set ams_check to true by default + ams_check->SetValue(true); } else { select_use_ams->Hide(); }