FIX: Cali thumbnails distinguish left and right nozzle

jira: STUDIO-9747
Change-Id: Ie28901288c166cdcd7403311cb467b72453c2ca4
This commit is contained in:
zhimin.zeng 2025-02-19 19:49:52 +08:00 committed by lane.wei
parent aad1ab2090
commit 0b3cd958d5
6 changed files with 21 additions and 3 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 172 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 173 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 166 KiB

View File

@ -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;

View File

@ -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

View File

@ -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