mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-05-16 10:02:12 +00:00
FIX: the bed_type is incorrect for flowrate cali
jira: STUDIO-14901 Change-Id: I8a1fcdf5eb051a81f0fcd0c5d9a590bce2646994 (cherry picked from commit 49edbe52572137ff79f1b17dab261d5b800b2499)
This commit is contained in:
@@ -646,6 +646,7 @@ std::string AppConfig::load()
|
||||
preset_info.nozzle_volume_type = NozzleVolumeType(cali_it.value()["nozzle_volume_type"].get<int>());
|
||||
preset_info.nozzle_diameter = cali_it.value()["nozzle_diameter"].get<float>();
|
||||
preset_info.filament_id = cali_it.value()["filament_id"].get<std::string>();
|
||||
preset_info.bed_type = BedType(cali_it.value()["bed_type"].get<int>());
|
||||
preset_info.setting_id = cali_it.value()["setting_id"].get<std::string>();
|
||||
preset_info.name = cali_it.value()["name"].get<std::string>();
|
||||
cali_info.selected_presets.push_back(preset_info);
|
||||
@@ -790,6 +791,7 @@ void AppConfig::save()
|
||||
preset_json["tray_id"] = filament_preset.tray_id;
|
||||
preset_json["extruder_id"] = filament_preset.extruder_id;
|
||||
preset_json["nozzle_volume_type"] = int(filament_preset.nozzle_volume_type);
|
||||
preset_json["bed_type"] = int(filament_preset.bed_type);
|
||||
preset_json["nozzle_diameter"] = filament_preset.nozzle_diameter;
|
||||
preset_json["filament_id"] = filament_preset.filament_id;
|
||||
preset_json["setting_id"] = filament_preset.setting_id;
|
||||
|
||||
@@ -81,6 +81,7 @@ public:
|
||||
int tray_id;
|
||||
int extruder_id;
|
||||
NozzleVolumeType nozzle_volume_type;
|
||||
BedType bed_type;
|
||||
float nozzle_diameter;
|
||||
std::string filament_id;
|
||||
std::string setting_id;
|
||||
|
||||
@@ -375,7 +375,7 @@ bool CalibrationWizard::save_preset_with_index(const std::string &old_preset_nam
|
||||
return true;
|
||||
}
|
||||
|
||||
void CalibrationWizard::cache_preset_info(MachineObject* obj, float nozzle_dia)
|
||||
void CalibrationWizard::cache_preset_info(MachineObject *obj, float nozzle_dia, BedType bed_type)
|
||||
{
|
||||
if (!obj) return;
|
||||
|
||||
@@ -388,6 +388,7 @@ void CalibrationWizard::cache_preset_info(MachineObject* obj, float nozzle_dia)
|
||||
CaliPresetInfo result;
|
||||
result.tray_id = item.first;
|
||||
result.nozzle_diameter = nozzle_dia;
|
||||
result.bed_type = bed_type;
|
||||
result.filament_id = item.second->filament_id;
|
||||
result.setting_id = item.second->setting_id;
|
||||
result.name = item.second->name;
|
||||
@@ -696,7 +697,7 @@ void PressureAdvanceWizard::on_cali_start()
|
||||
float nozzle_dia = -1;
|
||||
preset_page->get_preset_info(nozzle_dia, plate_type);
|
||||
|
||||
CalibrationWizard::cache_preset_info(curr_obj, nozzle_dia);
|
||||
CalibrationWizard::cache_preset_info(curr_obj, nozzle_dia, plate_type);
|
||||
if (/*nozzle_dia < 0 || */ plate_type == BedType::btDefault) {
|
||||
BOOST_LOG_TRIVIAL(error) << "CaliPreset: get preset info, nozzle and plate type error";
|
||||
return;
|
||||
@@ -1207,7 +1208,7 @@ void FlowRateWizard::on_cali_start(CaliPresetStage stage, float cali_value, Flow
|
||||
msg_dlg.ShowModal();
|
||||
return;
|
||||
}
|
||||
CalibrationWizard::cache_preset_info(curr_obj, nozzle_dia);
|
||||
CalibrationWizard::cache_preset_info(curr_obj, nozzle_dia, plate_type);
|
||||
}
|
||||
else if (from_page == FlowRatioCaliSource::FROM_COARSE_PAGE) {
|
||||
selected_filaments = get_cached_selected_filament(curr_obj);
|
||||
@@ -1278,6 +1279,7 @@ void FlowRateWizard::on_cali_start(CaliPresetStage stage, float cali_value, Flow
|
||||
int selected_tray_id = curr_obj->selected_cali_preset.front().tray_id;
|
||||
PresetCollection *filament_presets = &wxGetApp().preset_bundle->filaments;
|
||||
Preset* preset = filament_presets->find_preset(curr_obj->selected_cali_preset.front().name);
|
||||
plate_type = curr_obj->selected_cali_preset.front().bed_type;
|
||||
if (preset) {
|
||||
selected_filaments.insert(std::make_pair(selected_tray_id, preset));
|
||||
}
|
||||
@@ -1673,7 +1675,7 @@ void MaxVolumetricSpeedWizard::on_cali_start()
|
||||
|
||||
preset_page->get_preset_info(nozzle_dia, plate_type);
|
||||
|
||||
CalibrationWizard::cache_preset_info(curr_obj, nozzle_dia);
|
||||
CalibrationWizard::cache_preset_info(curr_obj, nozzle_dia, plate_type);
|
||||
|
||||
wxArrayString values = preset_page->get_custom_range_values();
|
||||
Calib_Params params;
|
||||
|
||||
@@ -69,7 +69,7 @@ public:
|
||||
bool save_preset(const std::string &old_preset_name, const std::string &new_preset_name, const std::map<std::string, ConfigOption *> &key_values, wxString& message);
|
||||
bool save_preset_with_index(const std::string &old_preset_name, const std::string &new_preset_name, const std::map<std::string, ConfigIndexValue> &key_values, wxString &message);
|
||||
|
||||
virtual void cache_preset_info(MachineObject* obj, float nozzle_dia);
|
||||
virtual void cache_preset_info(MachineObject *obj, float nozzle_dia, BedType bed_type);
|
||||
virtual void recover_preset_info(MachineObject *obj);
|
||||
virtual void back_preset_info(MachineObject *obj, bool cali_finish, bool back_cali_flag = true);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user