mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-05-19 19:33:47 +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_volume_type = NozzleVolumeType(cali_it.value()["nozzle_volume_type"].get<int>());
|
||||||
preset_info.nozzle_diameter = cali_it.value()["nozzle_diameter"].get<float>();
|
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.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.setting_id = cali_it.value()["setting_id"].get<std::string>();
|
||||||
preset_info.name = cali_it.value()["name"].get<std::string>();
|
preset_info.name = cali_it.value()["name"].get<std::string>();
|
||||||
cali_info.selected_presets.push_back(preset_info);
|
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["tray_id"] = filament_preset.tray_id;
|
||||||
preset_json["extruder_id"] = filament_preset.extruder_id;
|
preset_json["extruder_id"] = filament_preset.extruder_id;
|
||||||
preset_json["nozzle_volume_type"] = int(filament_preset.nozzle_volume_type);
|
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["nozzle_diameter"] = filament_preset.nozzle_diameter;
|
||||||
preset_json["filament_id"] = filament_preset.filament_id;
|
preset_json["filament_id"] = filament_preset.filament_id;
|
||||||
preset_json["setting_id"] = filament_preset.setting_id;
|
preset_json["setting_id"] = filament_preset.setting_id;
|
||||||
|
|||||||
@@ -81,6 +81,7 @@ public:
|
|||||||
int tray_id;
|
int tray_id;
|
||||||
int extruder_id;
|
int extruder_id;
|
||||||
NozzleVolumeType nozzle_volume_type;
|
NozzleVolumeType nozzle_volume_type;
|
||||||
|
BedType bed_type;
|
||||||
float nozzle_diameter;
|
float nozzle_diameter;
|
||||||
std::string filament_id;
|
std::string filament_id;
|
||||||
std::string setting_id;
|
std::string setting_id;
|
||||||
|
|||||||
@@ -375,7 +375,7 @@ bool CalibrationWizard::save_preset_with_index(const std::string &old_preset_nam
|
|||||||
return true;
|
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;
|
if (!obj) return;
|
||||||
|
|
||||||
@@ -388,6 +388,7 @@ void CalibrationWizard::cache_preset_info(MachineObject* obj, float nozzle_dia)
|
|||||||
CaliPresetInfo result;
|
CaliPresetInfo result;
|
||||||
result.tray_id = item.first;
|
result.tray_id = item.first;
|
||||||
result.nozzle_diameter = nozzle_dia;
|
result.nozzle_diameter = nozzle_dia;
|
||||||
|
result.bed_type = bed_type;
|
||||||
result.filament_id = item.second->filament_id;
|
result.filament_id = item.second->filament_id;
|
||||||
result.setting_id = item.second->setting_id;
|
result.setting_id = item.second->setting_id;
|
||||||
result.name = item.second->name;
|
result.name = item.second->name;
|
||||||
@@ -696,7 +697,7 @@ void PressureAdvanceWizard::on_cali_start()
|
|||||||
float nozzle_dia = -1;
|
float nozzle_dia = -1;
|
||||||
preset_page->get_preset_info(nozzle_dia, plate_type);
|
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) {
|
if (/*nozzle_dia < 0 || */ plate_type == BedType::btDefault) {
|
||||||
BOOST_LOG_TRIVIAL(error) << "CaliPreset: get preset info, nozzle and plate type error";
|
BOOST_LOG_TRIVIAL(error) << "CaliPreset: get preset info, nozzle and plate type error";
|
||||||
return;
|
return;
|
||||||
@@ -1207,7 +1208,7 @@ void FlowRateWizard::on_cali_start(CaliPresetStage stage, float cali_value, Flow
|
|||||||
msg_dlg.ShowModal();
|
msg_dlg.ShowModal();
|
||||||
return;
|
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) {
|
else if (from_page == FlowRatioCaliSource::FROM_COARSE_PAGE) {
|
||||||
selected_filaments = get_cached_selected_filament(curr_obj);
|
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;
|
int selected_tray_id = curr_obj->selected_cali_preset.front().tray_id;
|
||||||
PresetCollection *filament_presets = &wxGetApp().preset_bundle->filaments;
|
PresetCollection *filament_presets = &wxGetApp().preset_bundle->filaments;
|
||||||
Preset* preset = filament_presets->find_preset(curr_obj->selected_cali_preset.front().name);
|
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) {
|
if (preset) {
|
||||||
selected_filaments.insert(std::make_pair(selected_tray_id, 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);
|
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();
|
wxArrayString values = preset_page->get_custom_range_values();
|
||||||
Calib_Params params;
|
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(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);
|
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 recover_preset_info(MachineObject *obj);
|
||||||
virtual void back_preset_info(MachineObject *obj, bool cali_finish, bool back_cali_flag = true);
|
virtual void back_preset_info(MachineObject *obj, bool cali_finish, bool back_cali_flag = true);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user