mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-05-16 10:02:12 +00:00
FIX: invalid pop up when changing machine profile
1. Machine with multi extruder should set length of extruder offset to extruder num 2. Register retract_restart_extra jira:NONE Signed-off-by: xun.zhang <xun.zhang@bambulab.com> Change-Id: Ic3eb324cb91dc70b091c8922936d2709c361cc38 (cherry picked from commit 13df1ee7bab2bf13c9f5ffca6ad1228ff48e885e)
This commit is contained in:
@@ -804,8 +804,13 @@ void GCodeProcessor::apply_config(const PrintConfig& config)
|
||||
for (size_t idx = 0; idx < m_result.nozzle_type.size(); ++idx) {
|
||||
m_result.nozzle_type[idx] = NozzleType(config.nozzle_type.values[idx]);
|
||||
}
|
||||
|
||||
std::vector<int> filament_map = config.filament_map.values; // 1 based idxs
|
||||
// if filament map has wrong length, set filament to master extruder_id
|
||||
filament_map.resize(filament_count, config.master_extruder_id.value);
|
||||
|
||||
for (size_t i = 0; i < filament_count; ++ i) {
|
||||
m_extruder_offsets[i] = to_3d(config.extruder_offset.get_at(i).cast<float>().eval(), 0.f);
|
||||
m_extruder_offsets[i] = to_3d(config.extruder_offset.get_at(filament_map[i] - 1).cast<float>().eval(), 0.f);
|
||||
m_extruder_colors[i] = static_cast<unsigned char>(i);
|
||||
m_extruder_temps_first_layer_config[i] = static_cast<int>(config.nozzle_temperature_initial_layer.get_at(i));
|
||||
m_extruder_temps_config[i] = static_cast<int>(config.nozzle_temperature.get_at(i));
|
||||
|
||||
Reference in New Issue
Block a user