Fix setting AMS calib profile

ENH: calib support multi_extruder

1. backend support multi_extrude data structure
2. Compatible with third-party calibration

(cherry picked from commit bambulab/BambuStudio@21e6271e59)

Co-authored-by: zhimin.zeng <zhimin.zeng@bambulab.com>
This commit is contained in:
Noisyfox
2025-05-06 22:58:57 +08:00
parent 9b9c9ba569
commit dad7320f4b
9 changed files with 148 additions and 52 deletions

View File

@@ -373,7 +373,7 @@ bool CalibUtils::get_PA_calib_results(std::vector<PACalibResult>& pa_calib_resul
return pa_calib_results.size() > 0;
}
void CalibUtils::emit_get_PA_calib_infos(float nozzle_diameter)
void CalibUtils::emit_get_PA_calib_infos(const PACalibExtruderInfo &cali_info)
{
DeviceManager *dev = Slic3r::GUI::wxGetApp().getDeviceManager();
if (!dev)
@@ -383,7 +383,7 @@ void CalibUtils::emit_get_PA_calib_infos(float nozzle_diameter)
if (obj_ == nullptr)
return;
obj_->command_get_pa_calibration_tab(nozzle_diameter);
obj_->command_get_pa_calibration_tab(cali_info);
}
bool CalibUtils::get_PA_calib_tab(std::vector<PACalibResult> &pa_calib_infos)
@@ -402,7 +402,7 @@ bool CalibUtils::get_PA_calib_tab(std::vector<PACalibResult> &pa_calib_infos)
return obj_->has_get_pa_calib_tab;
}
void CalibUtils::emit_get_PA_calib_info(float nozzle_diameter, const std::string &filament_id)
void CalibUtils::emit_get_PA_calib_info(const PACalibExtruderInfo &cali_info)
{
DeviceManager *dev = Slic3r::GUI::wxGetApp().getDeviceManager();
if (!dev) return;
@@ -410,7 +410,7 @@ void CalibUtils::emit_get_PA_calib_info(float nozzle_diameter, const std::string
MachineObject *obj_ = dev->get_selected_machine();
if (obj_ == nullptr) return;
obj_->command_get_pa_calibration_tab(nozzle_diameter, filament_id);
obj_->command_get_pa_calibration_tab(cali_info);
}
bool CalibUtils::get_PA_calib_info(PACalibResult & pa_calib_info) {