mirror of
https://git.mirrors.martin98.com/https://github.com/bambulab/BambuStudio.git
synced 2025-08-19 18:19:10 +08:00
FIX: When the printer is inconsistent with the current preset
when the ams is 0/0, should not consider the print connect status jira:none Change-Id: I2288ff15894d5c734a98b830df6678cab2bd12fc
This commit is contained in:
parent
d9ea1a4b24
commit
20837717d4
@ -978,8 +978,9 @@ std::vector<int> ToolOrdering::get_recommended_filament_maps(const std::vector<s
|
|||||||
used_colors.emplace_back(print_config->filament_colour.get_at(used_filaments[idx]));
|
used_colors.emplace_back(print_config->filament_colour.get_at(used_filaments[idx]));
|
||||||
|
|
||||||
auto ams_filament_info = print->get_extruder_filament_info();
|
auto ams_filament_info = print->get_extruder_filament_info();
|
||||||
std::vector<std::vector<std::string>> ams_colors;
|
std::vector<std::vector<std::string>> ams_colors(extruder_nums);
|
||||||
for (auto& arr : ams_filament_info) {
|
for (size_t i = 0; i < ams_filament_info.size(); ++i) {
|
||||||
|
auto& arr = ams_filament_info[i];
|
||||||
std::vector<std::string>colors;
|
std::vector<std::string>colors;
|
||||||
for (auto& item : arr)
|
for (auto& item : arr)
|
||||||
colors.emplace_back(item.option<ConfigOptionStrings>("filament_colour")->get_at(0));
|
colors.emplace_back(item.option<ConfigOptionStrings>("filament_colour")->get_at(0));
|
||||||
|
@ -2860,6 +2860,7 @@ struct Plater::priv
|
|||||||
return false;
|
return false;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
std::vector<std::vector<DynamicPrintConfig>> get_extruder_filament_info();
|
||||||
void update_print_volume_state();
|
void update_print_volume_state();
|
||||||
void schedule_background_process();
|
void schedule_background_process();
|
||||||
// Update background processing thread from the current config and Model.
|
// Update background processing thread from the current config and Model.
|
||||||
@ -5455,6 +5456,24 @@ void Plater::priv::schedule_background_process()
|
|||||||
this->view3D->get_canvas3d()->set_config(this->config);
|
this->view3D->get_canvas3d()->set_config(this->config);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::vector<std::vector<DynamicPrintConfig>> Plater::priv::get_extruder_filament_info()
|
||||||
|
{
|
||||||
|
std::vector<std::vector<DynamicPrintConfig>> filament_infos;
|
||||||
|
DeviceManager *dev = Slic3r::GUI::wxGetApp().getDeviceManager();
|
||||||
|
if (!dev)
|
||||||
|
return filament_infos;
|
||||||
|
|
||||||
|
MachineObject *obj_ = dev->get_selected_machine();
|
||||||
|
if (obj_ == nullptr)
|
||||||
|
return filament_infos;
|
||||||
|
|
||||||
|
if (!obj_->is_multi_extruders())
|
||||||
|
return filament_infos;
|
||||||
|
|
||||||
|
filament_infos = wxGetApp().preset_bundle->get_extruder_filament_info();
|
||||||
|
return filament_infos;
|
||||||
|
}
|
||||||
|
|
||||||
void Plater::priv::update_print_volume_state()
|
void Plater::priv::update_print_volume_state()
|
||||||
{
|
{
|
||||||
//BBS: use the plate's bounding box instead of the bed's
|
//BBS: use the plate's bounding box instead of the bed's
|
||||||
@ -5546,7 +5565,7 @@ unsigned int Plater::priv::update_background_process(bool force_validation, bool
|
|||||||
PartPlate* cur_plate = background_process.get_current_plate();
|
PartPlate* cur_plate = background_process.get_current_plate();
|
||||||
std::vector<int> f_maps = cur_plate->get_filament_maps();
|
std::vector<int> f_maps = cur_plate->get_filament_maps();
|
||||||
invalidated = background_process.apply(this->model, wxGetApp().preset_bundle->full_config(false, f_maps));
|
invalidated = background_process.apply(this->model, wxGetApp().preset_bundle->full_config(false, f_maps));
|
||||||
background_process.fff_print()->set_extruder_filament_info(wxGetApp().preset_bundle->get_extruder_filament_info());
|
background_process.fff_print()->set_extruder_filament_info(get_extruder_filament_info());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
invalidated = background_process.apply(this->model, wxGetApp().preset_bundle->full_config(false));
|
invalidated = background_process.apply(this->model, wxGetApp().preset_bundle->full_config(false));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user