ENH: add default item for pa

jira: none
Change-Id: I4ad3bd094325bdbd1e6b013a91766214951dc032
This commit is contained in:
zhimin.zeng 2024-09-27 18:44:03 +08:00 committed by Lane.Wei
parent 791be19547
commit 0c772105f9

View File

@ -13,6 +13,31 @@ namespace Slic3r { namespace GUI {
wxDEFINE_EVENT(EVT_SELECTED_COLOR, wxCommandEvent);
static void get_default_k_n_value(const std::string &filament_id, float &k, float &n)
{
if (filament_id.compare("GFG00") == 0) {
// PETG
k = 0.04;
n = 1.0;
} else if (filament_id.compare("GFB00") == 0 || filament_id.compare("GFB50") == 0) {
// ABS
k = 0.04;
n = 1.0;
} else if (filament_id.compare("GFU01") == 0) {
// TPU
k = 0.2;
n = 1.0;
} else if (filament_id.compare("GFB01") == 0) {
// ASA
k = 0.04;
n = 1.0;
} else {
// PLA , other
k = 0.02;
n = 1.0;
}
}
static std::string float_to_string_with_precision(float value, int precision = 3)
{
std::stringstream stream;
@ -1093,6 +1118,14 @@ void AMSMaterialsSetting::on_select_filament(wxCommandEvent &evt)
m_comboBox_cali_result->SetValue(wxEmptyString);
if (obj->cali_version >= 0) {
// add default item
PACalibResult default_item;
default_item.filament_id = ams_filament_id;
default_item.cali_idx = -1;
get_default_k_n_value(ams_filament_id, default_item.k_value, default_item.n_coef);
m_pa_profile_items.emplace_back(default_item);
items.push_back(_L("Default"));
m_input_k_val->GetTextCtrl()->SetValue(wxEmptyString);
std::vector<PACalibResult> cali_history = this->obj->pa_calib_tab;
for (auto cali_item : cali_history) {
@ -1109,6 +1142,9 @@ void AMSMaterialsSetting::on_select_filament(wxCommandEvent &evt)
if (cali_select_idx >= 0) {
m_comboBox_cali_result->SetSelection(cali_select_idx);
}
else {
m_comboBox_cali_result->SetSelection(0);
}
}
else {
Ams* selected_ams = this->obj->amsList[std::to_string(ams_id)];
@ -1119,6 +1155,9 @@ void AMSMaterialsSetting::on_select_filament(wxCommandEvent &evt)
if (cali_select_idx >= 0) {
m_comboBox_cali_result->SetSelection(cali_select_idx);
}
else {
m_comboBox_cali_result->SetSelection(0);
}
}
if (cali_select_idx >= 0) {