diff --git a/resources/images/fd_calibration_auto_multi_extruders.png b/resources/images/fd_calibration_auto_multi_extruders.png deleted file mode 100644 index d371879bd..000000000 Binary files a/resources/images/fd_calibration_auto_multi_extruders.png and /dev/null differ diff --git a/resources/images/fd_calibration_auto_multi_extruders_left.png b/resources/images/fd_calibration_auto_multi_extruders_left.png new file mode 100644 index 000000000..58ef0bde9 Binary files /dev/null and b/resources/images/fd_calibration_auto_multi_extruders_left.png differ diff --git a/resources/images/fd_calibration_auto_multi_extruders_right.png b/resources/images/fd_calibration_auto_multi_extruders_right.png new file mode 100644 index 000000000..992f02454 Binary files /dev/null and b/resources/images/fd_calibration_auto_multi_extruders_right.png differ diff --git a/src/slic3r/GUI/CalibrationWizardCaliPage.cpp b/src/slic3r/GUI/CalibrationWizardCaliPage.cpp index 61e5ac580..42ce2d482 100644 --- a/src/slic3r/GUI/CalibrationWizardCaliPage.cpp +++ b/src/slic3r/GUI/CalibrationWizardCaliPage.cpp @@ -106,7 +106,12 @@ void CalibrationCaliPage::set_cali_img() else if (m_cali_method == CalibrationMethod::CALI_METHOD_AUTO) { if (curr_obj) { if (curr_obj->is_multi_extruders()) { - m_picture_panel->set_bmp(ScalableBitmap(this, "fd_calibration_auto_multi_extruders", 400)); + if (m_cur_extruder_id == 0) { + m_picture_panel->set_bmp(ScalableBitmap(this, "fd_calibration_auto_multi_extruders_right", 400)); + } else { + assert(m_cur_extruder_id == 1); + m_picture_panel->set_bmp(ScalableBitmap(this, "fd_calibration_auto_multi_extruders_left", 400)); + } } else if (curr_obj->get_printer_arch() == PrinterArch::ARCH_I3) { m_picture_panel->set_bmp(ScalableBitmap(this, "fd_calibration_auto_i3", 400)); @@ -184,6 +189,11 @@ void CalibrationCaliPage::update(MachineObject* obj) // enable calibration when finished bool enable_cali = false; if (obj) { + if (obj->m_extder_data.current_extder_id != m_cur_extruder_id) { + m_cur_extruder_id = obj->m_extder_data.current_extder_id; + set_cali_img(); + } + if (obj->print_error > 0) { StatusPanel* status_panel = Slic3r::GUI::wxGetApp().mainframe->m_monitor->get_status_panel(); status_panel->obj = obj; diff --git a/src/slic3r/GUI/CalibrationWizardCaliPage.hpp b/src/slic3r/GUI/CalibrationWizardCaliPage.hpp index 6d102501a..b3ff01c2d 100644 --- a/src/slic3r/GUI/CalibrationWizardCaliPage.hpp +++ b/src/slic3r/GUI/CalibrationWizardCaliPage.hpp @@ -45,6 +45,7 @@ protected: PrintingTaskPanel* m_printing_panel { nullptr }; CaliPagePicture* m_picture_panel; SecondaryCheckDialog* abort_dlg { nullptr }; + int m_cur_extruder_id{0}; }; }} // namespace Slic3r::GUI diff --git a/src/slic3r/GUI/StatusPanel.cpp b/src/slic3r/GUI/StatusPanel.cpp index 3b33af4e1..781c4d2a2 100644 --- a/src/slic3r/GUI/StatusPanel.cpp +++ b/src/slic3r/GUI/StatusPanel.cpp @@ -3433,8 +3433,15 @@ void StatusPanel::update_subtask(MachineObject *obj) int height = m_project_task_panel->get_bitmap_thumbnail()->GetSize().y; if (m_calib_method == CALI_METHOD_AUTO) { if (m_calib_mode == CalibMode::Calib_PA_Line) { - if (obj->is_multi_extruders()) - png_path = (boost::format("%1%/images/fd_calibration_auto_multi_extruders.png") % resources_dir()).str(); + if (obj->is_multi_extruders()) { + if (obj->m_extder_data.current_extder_id == 0) { + png_path = (boost::format("%1%/images/fd_calibration_auto_multi_extruders_right.png") % resources_dir()).str(); + } + else { + assert(obj->m_extder_data.current_extder_id == 1); + png_path = (boost::format("%1%/images/fd_calibration_auto_multi_extruders_left.png") % resources_dir()).str(); + } + } else if (obj->get_printer_arch() == PrinterArch::ARCH_I3) png_path = (boost::format("%1%/images/fd_calibration_auto_i3.png") % resources_dir()).str(); else