diff --git a/src/slic3r/GUI/CalibrationWizard.cpp b/src/slic3r/GUI/CalibrationWizard.cpp index c264884d6a..093bdb3de9 100644 --- a/src/slic3r/GUI/CalibrationWizard.cpp +++ b/src/slic3r/GUI/CalibrationWizard.cpp @@ -523,6 +523,7 @@ void PressureAdvanceWizard::on_cali_save() MessageDialog msg_dlg(nullptr, _L("Pressure advance calibration result has been saved to the printer"), wxEmptyString, wxICON_WARNING | wxOK); msg_dlg.ShowModal(); } + show_step(start_step); } FlowRateWizard::FlowRateWizard(wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style) @@ -787,6 +788,7 @@ void FlowRateWizard::on_cali_save() if (!save_preset(old_preset_name, new_results[i].first.ToStdString(), key_value_map, message)) { MessageDialog error_msg_dlg(nullptr, message, wxEmptyString, wxICON_WARNING | wxOK); error_msg_dlg.ShowModal(); + return; } } @@ -835,6 +837,7 @@ void FlowRateWizard::on_cali_save() assert(false); } } + show_step(start_step); } void FlowRateWizard::update(MachineObject* obj) @@ -1082,6 +1085,7 @@ void MaxVolumetricSpeedWizard::on_cali_save() MessageDialog msg_dlg(nullptr, _L("Max volumetric speed calibration result has been saved to preset"), wxEmptyString, wxICON_WARNING | wxOK); msg_dlg.ShowModal(); + show_step(start_step); } void MaxVolumetricSpeedWizard::on_cali_job_finished(wxString evt_data) diff --git a/src/slic3r/GUI/CalibrationWizardPage.cpp b/src/slic3r/GUI/CalibrationWizardPage.cpp index 9c4b2daf8c..d001b8379a 100644 --- a/src/slic3r/GUI/CalibrationWizardPage.cpp +++ b/src/slic3r/GUI/CalibrationWizardPage.cpp @@ -109,6 +109,26 @@ CalibMode get_obj_calibration_mode(const MachineObject* obj, CalibrationMethod& return CalibMode::Calib_Flow_Rate; } + if (obj->printer_type == "C11" || obj->printer_type == "C12") { + if (boost::contains(obj->subtask_name, "auto_filament_cali")) { + method = CalibrationMethod::CALI_METHOD_AUTO; + return CalibMode::Calib_PA_Line; + } + if (boost::contains(obj->subtask_name, "user_cali_manual_pa")) { + method = CalibrationMethod::CALI_METHOD_MANUAL; + return CalibMode::Calib_PA_Line; + } + if (boost::contains(obj->subtask_name, "extrusion_cali")) { + method == CalibrationMethod::CALI_METHOD_MANUAL; + return CalibMode::Calib_PA_Line; + } + + if (boost::contains(obj->subtask_name, "abs_flowcalib_cali")) { + method = CalibrationMethod::CALI_METHOD_AUTO; + return CalibMode::Calib_Flow_Rate; + } + } + CalibMode cali_mode = CalibUtils::get_calib_mode_by_name(obj->subtask_name, cali_stage); if (cali_mode != CalibMode::Calib_None) { method = CalibrationMethod::CALI_METHOD_MANUAL; diff --git a/src/slic3r/GUI/DeviceManager.hpp b/src/slic3r/GUI/DeviceManager.hpp index 87520a8639..90559f55ca 100644 --- a/src/slic3r/GUI/DeviceManager.hpp +++ b/src/slic3r/GUI/DeviceManager.hpp @@ -347,7 +347,7 @@ public: CALI_RESULT_FAILED = 2, }; int tray_id; - int cali_idx; + int cali_idx = -1; float nozzle_diameter; std::string filament_id; std::string setting_id;