mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2026-01-27 19:30:57 -07: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:
parent
e26e2ca793
commit
a6dc8c27a8
4 changed files with 16 additions and 5 deletions
|
|
@ -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));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue