ENH: Add gcode check for multi_extruder

jira: none
Change-Id: Iebc43e608c4509eb62b280af2d401fa9e0e089ba
(cherry picked from commit c75c10e312b8d0bd5404d92db88c95a9e6186bc1)
This commit is contained in:
zhimin.zeng
2024-09-02 17:59:57 +08:00
committed by Noisyfox
parent 7bd16a3ca7
commit 135b39526e
12 changed files with 149 additions and 2 deletions

View File

@@ -2898,6 +2898,7 @@ void PartPlate::update_slice_context(BackgroundSlicingProcess & process)
process.select_technology(this->printer_technology);
process.set_current_plate(this);
m_print->set_status_callback(statuscb);
m_print->set_unprintable_filament_ids(m_unprintable_filament_ids);
process.switch_print_preprocess();
return;
@@ -3223,6 +3224,14 @@ std::vector<int> PartPlate::get_filament_maps()
return filament_maps;
}
void PartPlate::append_unprintable_filament_ids(int extruder_id, const std::vector<int> &filament_ids)
{
if (extruder_id > m_unprintable_filament_ids.size()) {
m_unprintable_filament_ids.resize(extruder_id + 1);
}
m_unprintable_filament_ids[extruder_id].insert(m_unprintable_filament_ids[extruder_id].end(), filament_ids.begin(), filament_ids.end());
}
void PartPlate::set_filament_maps(const std::vector<int>& f_maps)
{
std::vector<int>& filament_maps = m_config.option<ConfigOptionInts>("filament_map", true)->values;