diff --git a/src/libslic3r/GCode.cpp b/src/libslic3r/GCode.cpp index 2ec1718e6b..58281f7ef7 100644 --- a/src/libslic3r/GCode.cpp +++ b/src/libslic3r/GCode.cpp @@ -2894,6 +2894,13 @@ void GCode::_do_export(Print& print, GCodeOutputStream &file, ThumbnailsGenerato // mark the first filament used in print file.write_format(";VT%d\n", initial_extruder_id); } + // Orca: add missing PA settings for initial filament + if (m_config.enable_pressure_advance.get_at(initial_non_support_extruder_id)) { + file.write(m_writer.set_pressure_advance(m_config.pressure_advance.get_at(initial_non_support_extruder_id))); + // Orca: Adaptive PA + // Reset Adaptive PA processor last PA value + m_pa_processor->resetPreviousPA(m_config.pressure_advance.get_at(initial_non_support_extruder_id)); + } } //flush FanMover buffer to avoid modifying the start gcode if it's manual. @@ -7453,6 +7460,9 @@ std::string GCode::set_extruder(unsigned int new_filament_id, double print_z, bo if (m_config.enable_pressure_advance.get_at(new_filament_id)) { gcode += m_writer.set_pressure_advance(m_config.pressure_advance.get_at(new_filament_id)); + // Orca: Adaptive PA + // Reset Adaptive PA processor last PA value + m_pa_processor->resetPreviousPA(m_config.pressure_advance.get_at(new_filament_id)); } //Orca: tool changer or IDEX's firmware may change Z position, so we set it to unknown/undefined m_last_pos_defined = false; diff --git a/src/slic3r/GUI/Plater.cpp b/src/slic3r/GUI/Plater.cpp index f98ef6fcb6..3225e25cb3 100644 --- a/src/slic3r/GUI/Plater.cpp +++ b/src/slic3r/GUI/Plater.cpp @@ -12349,6 +12349,7 @@ void Plater::calib_retraction(const Calib_Params& params) print_config->set_key_value("initial_layer_print_height", new ConfigOptionFloat(layer_height)); obj->config.set_key_value("layer_height", new ConfigOptionFloat(layer_height)); obj->config.set_key_value("alternate_extra_wall", new ConfigOptionBool(false)); + obj->config.set_key_value("seam_position", new ConfigOptionEnum(spAligned)); changed_objects({ 0 });