ENH: Enhance ams synchronization prompts
jira: none Change-Id: Ide3141f980dc8de0284f3301414eca5c58a24204
This commit is contained in:
parent
b34395358b
commit
f30c7d3355
|
@ -706,6 +706,18 @@ void Sidebar::priv::sync_extruder_list()
|
||||||
dlg.ShowModal();
|
dlg.ShowModal();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::string machine_print_name = obj->printer_type;
|
||||||
|
PresetBundle *preset_bundle = wxGetApp().preset_bundle;
|
||||||
|
std::string target_model_id = preset_bundle->printers.get_edited_preset().get_printer_type(preset_bundle);
|
||||||
|
if (machine_print_name != target_model_id) {
|
||||||
|
MessageDialog dlg(this->plater, _L("The currently selected machine preset is inconsistent with the connected printer type.\n"
|
||||||
|
"Are you sure to continue syncing?"), _L("Sync extruder infomation"), wxICON_WARNING | wxYES | wxNO);
|
||||||
|
if (dlg.ShowModal() == wxID_NO) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
auto printer_tab = dynamic_cast<TabPrinter *>(wxGetApp().get_tab(Preset::TYPE_PRINTER));
|
auto printer_tab = dynamic_cast<TabPrinter *>(wxGetApp().get_tab(Preset::TYPE_PRINTER));
|
||||||
printer_tab->set_extruder_volume_type(0, NozzleVolumeType(obj->m_nozzle_data.nozzles[1].flow_type));
|
printer_tab->set_extruder_volume_type(0, NozzleVolumeType(obj->m_nozzle_data.nozzles[1].flow_type));
|
||||||
printer_tab->set_extruder_volume_type(1, NozzleVolumeType(obj->m_nozzle_data.nozzles[0].flow_type));
|
printer_tab->set_extruder_volume_type(1, NozzleVolumeType(obj->m_nozzle_data.nozzles[0].flow_type));
|
||||||
|
@ -2031,8 +2043,16 @@ std::map<int, DynamicPrintConfig> Sidebar::build_filament_ams_list(MachineObject
|
||||||
return filament_ams_list;
|
return filament_ams_list;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Sidebar::sync_extruder_list()
|
||||||
|
{
|
||||||
|
p->sync_extruder_list();
|
||||||
|
}
|
||||||
|
|
||||||
void Sidebar::load_ams_list(std::string const &device, MachineObject* obj)
|
void Sidebar::load_ams_list(std::string const &device, MachineObject* obj)
|
||||||
{
|
{
|
||||||
|
if (obj && obj->is_connected() && obj->is_multi_extruders() && wxGetApp().plater()->is_multi_extruder_ams_empty())
|
||||||
|
sync_extruder_list();
|
||||||
|
|
||||||
std::map<int, DynamicPrintConfig> filament_ams_list = build_filament_ams_list(obj);
|
std::map<int, DynamicPrintConfig> filament_ams_list = build_filament_ams_list(obj);
|
||||||
|
|
||||||
p->ams_list_device = device;
|
p->ams_list_device = device;
|
||||||
|
@ -12689,6 +12709,19 @@ void Plater::export_toolpaths_to_obj() const
|
||||||
p->preview->get_canvas3d()->export_toolpaths_to_obj(into_u8(path).c_str());
|
p->preview->get_canvas3d()->export_toolpaths_to_obj(into_u8(path).c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool Plater::is_multi_extruder_ams_empty()
|
||||||
|
{
|
||||||
|
std::vector<std::string> extruder_ams_count_str = p->config->option<ConfigOptionStrings>("extruder_ams_count", true)->values;
|
||||||
|
std::vector<std::map<int, int>> extruder_ams_counts = get_extruder_ams_count(extruder_ams_count_str);
|
||||||
|
for (auto extruder_ams_count : extruder_ams_counts) {
|
||||||
|
for (auto iter = extruder_ams_count.begin(); iter != extruder_ams_count.end(); ++iter) {
|
||||||
|
if (iter->second != 0)
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
//BBS: add multiple plate reslice logic
|
//BBS: add multiple plate reslice logic
|
||||||
void Plater::reslice()
|
void Plater::reslice()
|
||||||
{
|
{
|
||||||
|
|
|
@ -150,6 +150,7 @@ public:
|
||||||
void load_ams_list(std::string const & device, MachineObject* obj);
|
void load_ams_list(std::string const & device, MachineObject* obj);
|
||||||
std::map<int, DynamicPrintConfig> build_filament_ams_list(MachineObject* obj);
|
std::map<int, DynamicPrintConfig> build_filament_ams_list(MachineObject* obj);
|
||||||
void sync_ams_list();
|
void sync_ams_list();
|
||||||
|
void sync_extruder_list();
|
||||||
|
|
||||||
ObjectList* obj_list();
|
ObjectList* obj_list();
|
||||||
ObjectSettings* obj_settings();
|
ObjectSettings* obj_settings();
|
||||||
|
@ -279,6 +280,7 @@ public:
|
||||||
m_exported_file = exported_file;
|
m_exported_file = exported_file;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool is_multi_extruder_ams_empty();
|
||||||
// BBS
|
// BBS
|
||||||
wxString get_project_name();
|
wxString get_project_name();
|
||||||
void update_all_plate_thumbnails(bool force_update = false);
|
void update_all_plate_thumbnails(bool force_update = false);
|
||||||
|
|
Loading…
Reference in New Issue