diff --git a/src/slic3r/GUI/AMSMaterialsSetting.cpp b/src/slic3r/GUI/AMSMaterialsSetting.cpp index dac47064e5..d382787122 100644 --- a/src/slic3r/GUI/AMSMaterialsSetting.cpp +++ b/src/slic3r/GUI/AMSMaterialsSetting.cpp @@ -419,7 +419,7 @@ void AMSMaterialsSetting::on_select_reset(wxCommandEvent& event) { } // set k / n value - if (obj->is_function_supported(PrinterFunction::FUNC_EXTRUSION_CALI)) { + if (obj->is_function_supported(PrinterFunction::FUNC_VIRTUAL_TYAY)) { // set extrusion cali ratio int cali_tray_id = ams_id * 4 + tray_id; @@ -477,7 +477,7 @@ void AMSMaterialsSetting::on_select_ok(wxCommandEvent &event) else { if (!m_is_third) { // check and set k n - if (obj->is_function_supported(PrinterFunction::FUNC_EXTRUSION_CALI)) { + if (obj->is_function_supported(PrinterFunction::FUNC_VIRTUAL_TYAY)) { if (!ExtrusionCalibration::check_k_validation(k_text)) { wxString k_tips = _L("Please input a valid value (K in 0~0.5)"); wxString kn_tips = _L("Please input a valid value (K in 0~0.5, N in 0.6~2.0)"); @@ -489,7 +489,7 @@ void AMSMaterialsSetting::on_select_ok(wxCommandEvent &event) // set k / n value - if (obj->is_function_supported(PrinterFunction::FUNC_EXTRUSION_CALI)) { + if (obj->is_function_supported(PrinterFunction::FUNC_VIRTUAL_TYAY)) { // set extrusion cali ratio int cali_tray_id = ams_id * 4 + tray_id; @@ -575,7 +575,7 @@ void AMSMaterialsSetting::on_select_ok(wxCommandEvent &event) } else { if (obj) { - if (obj->is_function_supported(PrinterFunction::FUNC_EXTRUSION_CALI)) { + if (obj->is_function_supported(PrinterFunction::FUNC_VIRTUAL_TYAY)) { if (!ExtrusionCalibration::check_k_validation(k_text)) { wxString k_tips = _L("Please input a valid value (K in 0~0.5)"); wxString kn_tips = _L("Please input a valid value (K in 0~0.5, N in 0.6~2.0)"); @@ -596,7 +596,7 @@ void AMSMaterialsSetting::on_select_ok(wxCommandEvent &event) } // set k / n value - if (obj->is_function_supported(PrinterFunction::FUNC_EXTRUSION_CALI)) { + if (obj->is_function_supported(PrinterFunction::FUNC_VIRTUAL_TYAY)) { // set extrusion cali ratio int cali_tray_id = ams_id * 4 + tray_id; @@ -698,7 +698,7 @@ void AMSMaterialsSetting::update_widgets() else m_panel_normal->Hide(); m_panel_kn->Show(); - } else if (obj && obj->is_function_supported(PrinterFunction::FUNC_EXTRUSION_CALI)) { + } else if (obj && obj->is_function_supported(PrinterFunction::FUNC_VIRTUAL_TYAY)) { m_panel_normal->Show(); m_panel_kn->Show(); } else { @@ -749,7 +749,7 @@ void AMSMaterialsSetting::Popup(wxString filament, wxString sn, wxString temp_mi if (!m_is_third) { m_button_reset->Hide(); - if (obj && obj->is_function_supported(PrinterFunction::FUNC_EXTRUSION_CALI)) { + if (obj && obj->is_function_supported(PrinterFunction::FUNC_VIRTUAL_TYAY)) { m_button_confirm->Show(); } else { m_button_confirm->Hide(); diff --git a/src/slic3r/GUI/StatusPanel.cpp b/src/slic3r/GUI/StatusPanel.cpp index 0d70160c43..ffed03067e 100644 --- a/src/slic3r/GUI/StatusPanel.cpp +++ b/src/slic3r/GUI/StatusPanel.cpp @@ -1921,7 +1921,9 @@ void StatusPanel::update_ams(MachineObject *obj) BOOST_LOG_TRIVIAL(trace) << "machine object" << obj->dev_name << " was disconnected, set show_ams_group is false"; } bool is_support_extrusion_cali = obj->is_function_supported(PrinterFunction::FUNC_EXTRUSION_CALI); - if (is_support_extrusion_cali) { + bool is_support_virtual_tray = obj->is_function_supported(PrinterFunction::FUNC_VIRTUAL_TYAY); + + if (is_support_virtual_tray) { m_ams_control->update_vams_kn_value(obj->vt_tray); } show_ams_group(false, obj->is_function_supported(PrinterFunction::FUNC_VIRTUAL_TYAY), obj->is_function_supported(PrinterFunction::FUNC_EXTRUSION_CALI), obj->is_support_filament_edit_virtual_tray); @@ -1929,7 +1931,9 @@ void StatusPanel::update_ams(MachineObject *obj) } bool is_support_extrusion_cali = obj->is_function_supported(PrinterFunction::FUNC_EXTRUSION_CALI); - if (is_support_extrusion_cali) { + bool is_support_virtual_tray = obj->is_function_supported(PrinterFunction::FUNC_VIRTUAL_TYAY); + + if (is_support_virtual_tray) { m_ams_control->update_vams_kn_value(obj->vt_tray); } diff --git a/src/slic3r/GUI/Widgets/AMSControl.cpp b/src/slic3r/GUI/Widgets/AMSControl.cpp index b32ce5dcd8..ccc45442c8 100644 --- a/src/slic3r/GUI/Widgets/AMSControl.cpp +++ b/src/slic3r/GUI/Widgets/AMSControl.cpp @@ -757,7 +757,7 @@ void AMSLib::render(wxDC &dc) } //draw k&n - if (m_obj && m_obj->is_function_supported(PrinterFunction::FUNC_EXTRUSION_CALI)) { + if (m_obj && m_obj->is_function_supported(PrinterFunction::FUNC_VIRTUAL_TYAY)) { if (m_show_kn){ wxString str_k = wxString::Format("K %1.3f", m_info.k); wxString str_n = wxString::Format("N %1.3f", m_info.n); @@ -2563,6 +2563,18 @@ void AMSControl::update_vams_kn_value(AmsTray tray) m_vams_lib->Refresh(); } +void AMSControl::reset_vams() +{ + m_vams_lib->m_info.k = 0; + m_vams_lib->m_info.n = 0; + m_vams_lib->m_info.material_name = wxEmptyString; + m_vams_lib->m_info.material_colour = AMS_CONTROL_WHITE_COLOUR; + m_vams_info.material_name = wxEmptyString; + m_vams_info.material_colour = AMS_CONTROL_WHITE_COLOUR; + m_vams_lib->Refresh(); +} + + void AMSControl::UpdateAms(std::vector info, bool keep_selection, bool has_extrusion_cali, bool is_reset) { std::string curr_ams_id = GetCurentAms(); diff --git a/src/slic3r/GUI/Widgets/AMSControl.hpp b/src/slic3r/GUI/Widgets/AMSControl.hpp index 33f00bc93f..e34267fa81 100644 --- a/src/slic3r/GUI/Widgets/AMSControl.hpp +++ b/src/slic3r/GUI/Widgets/AMSControl.hpp @@ -617,7 +617,8 @@ public: void show_vams_kn_value(bool show); void update_vams_kn_value(AmsTray tray); - void post_event(wxEvent &&event); + void reset_vams(); + void post_event(wxEvent&& event); virtual bool Enable(bool enable = true);