ENH: Pass ams information for slicing
jira: none Change-Id: I3fe12189b6e8246fd553dcd8659bf7f98e622767
This commit is contained in:
parent
fd257a2910
commit
b620a4122e
|
@ -1881,6 +1881,23 @@ void PresetBundle::set_calibrate_printer(std::string name)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::vector<std::vector<DynamicPrintConfig>> PresetBundle::get_extruder_filament_info() const
|
||||||
|
{
|
||||||
|
std::vector<std::vector<DynamicPrintConfig>> filament_infos;
|
||||||
|
int extruder_nums = get_printer_extruder_count();
|
||||||
|
if (extruder_nums > 1) {
|
||||||
|
filament_infos.resize(extruder_nums, std::vector<DynamicPrintConfig>());
|
||||||
|
for (auto ams_item : filament_ams_list) {
|
||||||
|
if (ams_item.first & 0x10000) { // right
|
||||||
|
filament_infos[1].push_back(ams_item.second);
|
||||||
|
} else { // left
|
||||||
|
filament_infos[0].push_back(ams_item.second);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return filament_infos;
|
||||||
|
}
|
||||||
|
|
||||||
std::set<std::string> PresetBundle::get_printer_names_by_printer_type_and_nozzle(const std::string &printer_type, std::string nozzle_diameter_str)
|
std::set<std::string> PresetBundle::get_printer_names_by_printer_type_and_nozzle(const std::string &printer_type, std::string nozzle_diameter_str)
|
||||||
{
|
{
|
||||||
BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << " " << __LINE__ << "printer_type: " << printer_type << "nozzle_diameter_str" << nozzle_diameter_str;
|
BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << " " << __LINE__ << "printer_type: " << printer_type << "nozzle_diameter_str" << nozzle_diameter_str;
|
||||||
|
@ -2007,9 +2024,9 @@ bool PresetBundle::is_the_only_edited_filament(unsigned int filament_index)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
int PresetBundle::get_printer_extruder_count()
|
int PresetBundle::get_printer_extruder_count() const
|
||||||
{
|
{
|
||||||
Preset& printer_preset = this->printers.get_edited_preset();
|
const Preset& printer_preset = this->printers.get_edited_preset();
|
||||||
|
|
||||||
int count = printer_preset.config.option<ConfigOptionFloatsNullable>("nozzle_diameter")->values.size();
|
int count = printer_preset.config.option<ConfigOptionFloatsNullable>("nozzle_diameter")->values.size();
|
||||||
|
|
||||||
|
|
|
@ -102,6 +102,8 @@ public:
|
||||||
|
|
||||||
void set_calibrate_printer(std::string name);
|
void set_calibrate_printer(std::string name);
|
||||||
|
|
||||||
|
std::vector<std::vector<DynamicPrintConfig>> get_extruder_filament_info() const;
|
||||||
|
|
||||||
std::set<std::string> get_printer_names_by_printer_type_and_nozzle(const std::string &printer_type, std::string nozzle_diameter_str);
|
std::set<std::string> get_printer_names_by_printer_type_and_nozzle(const std::string &printer_type, std::string nozzle_diameter_str);
|
||||||
bool check_filament_temp_equation_by_printer_type_and_nozzle_for_mas_tray(const std::string &printer_type,
|
bool check_filament_temp_equation_by_printer_type_and_nozzle_for_mas_tray(const std::string &printer_type,
|
||||||
std::string & nozzle_diameter_str,
|
std::string & nozzle_diameter_str,
|
||||||
|
@ -158,7 +160,7 @@ public:
|
||||||
DynamicPrintConfig full_config_secure(std::vector<int> filament_maps = std::vector<int>()) const;
|
DynamicPrintConfig full_config_secure(std::vector<int> filament_maps = std::vector<int>()) const;
|
||||||
|
|
||||||
//BBS: add some functions for multiple extruders
|
//BBS: add some functions for multiple extruders
|
||||||
int get_printer_extruder_count();
|
int get_printer_extruder_count() const;
|
||||||
bool support_different_extruders();
|
bool support_different_extruders();
|
||||||
|
|
||||||
// Load user configuration and store it into the user profiles.
|
// Load user configuration and store it into the user profiles.
|
||||||
|
|
|
@ -828,6 +828,10 @@ public:
|
||||||
// get the group label of filament
|
// get the group label of filament
|
||||||
size_t get_extruder_id(unsigned int filament_id) const;
|
size_t get_extruder_id(unsigned int filament_id) const;
|
||||||
|
|
||||||
|
const std::vector<std::vector<DynamicPrintConfig>>& get_extruder_filament_info() const { return m_extruder_filament_info; }
|
||||||
|
void set_extruder_filament_info(const std::vector<std::vector<DynamicPrintConfig>>& filament_info) { m_extruder_filament_info = filament_info; }
|
||||||
|
|
||||||
|
// 1 based ids
|
||||||
const std::vector<std::vector<int>>& get_unprintable_filament_ids() const { return m_unprintable_filament_ids; }
|
const std::vector<std::vector<int>>& get_unprintable_filament_ids() const { return m_unprintable_filament_ids; }
|
||||||
void set_unprintable_filament_ids(const std::vector<std::vector<int>> &filament_ids) { m_unprintable_filament_ids = filament_ids; }
|
void set_unprintable_filament_ids(const std::vector<std::vector<int>> &filament_ids) { m_unprintable_filament_ids = filament_ids; }
|
||||||
|
|
||||||
|
@ -936,6 +940,8 @@ private:
|
||||||
Polygon m_first_layer_convex_hull;
|
Polygon m_first_layer_convex_hull;
|
||||||
Points m_skirt_convex_hull;
|
Points m_skirt_convex_hull;
|
||||||
|
|
||||||
|
std::vector<std::vector<DynamicPrintConfig>> m_extruder_filament_info;
|
||||||
|
|
||||||
// Following section will be consumed by the GCodeGenerator.
|
// Following section will be consumed by the GCodeGenerator.
|
||||||
ToolOrdering m_tool_ordering;
|
ToolOrdering m_tool_ordering;
|
||||||
WipeTowerData m_wipe_tower_data {m_tool_ordering};
|
WipeTowerData m_wipe_tower_data {m_tool_ordering};
|
||||||
|
|
|
@ -5492,6 +5492,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());
|
||||||
}
|
}
|
||||||
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…
Reference in New Issue