Fixed a regression issue that wrong accel was used for PA Line

This commit is contained in:
SoftFever 2023-12-10 21:21:12 +08:00
parent 9e10266646
commit e70da30753
2 changed files with 8 additions and 8 deletions

View file

@ -2284,9 +2284,9 @@ this->placeholder_parser().set("z_offset", new ConfigOptionFloat(m_config.z_offs
float filament_max_volumetric_speed = m_config.option<ConfigOptionFloats>("filament_max_volumetric_speed")->get_at(initial_non_support_extruder_id); float filament_max_volumetric_speed = m_config.option<ConfigOptionFloats>("filament_max_volumetric_speed")->get_at(initial_non_support_extruder_id);
const double nozzle_diameter = m_config.nozzle_diameter.get_at(initial_non_support_extruder_id); const double nozzle_diameter = m_config.nozzle_diameter.get_at(initial_non_support_extruder_id);
float outer_wall_line_width = this->config().get_abs_value("outer_wall_line_width", nozzle_diameter); float outer_wall_line_width = print.default_region_config().get_abs_value("outer_wall_line_width", nozzle_diameter);
if (outer_wall_line_width == 0.0) { if (outer_wall_line_width == 0.0) {
float default_line_width = this->config().get_abs_value("line_width", nozzle_diameter); float default_line_width = print.default_object_config().get_abs_value("line_width", nozzle_diameter);
outer_wall_line_width = default_line_width == 0.0 ? nozzle_diameter : default_line_width; outer_wall_line_width = default_line_width == 0.0 ? nozzle_diameter : default_line_width;
} }
Flow outer_wall_flow = Flow(outer_wall_line_width, m_config.layer_height, m_config.nozzle_diameter.get_at(initial_non_support_extruder_id)); Flow outer_wall_flow = Flow(outer_wall_line_width, m_config.layer_height, m_config.nozzle_diameter.get_at(initial_non_support_extruder_id));
@ -2392,12 +2392,12 @@ this->placeholder_parser().set("z_offset", new ConfigOptionFloat(m_config.z_offs
// SoftFever: calib // SoftFever: calib
if (print.calib_params().mode == CalibMode::Calib_PA_Line) { if (print.calib_params().mode == CalibMode::Calib_PA_Line) {
std::string gcode; std::string gcode;
if ((m_config.default_acceleration.value > 0 && m_config.outer_wall_acceleration.value > 0)) { if ((print.default_object_config().outer_wall_acceleration.value > 0 && print.default_object_config().outer_wall_acceleration.value > 0)) {
gcode += m_writer.set_print_acceleration((unsigned int)floor(m_config.outer_wall_acceleration.value + 0.5)); gcode += m_writer.set_print_acceleration((unsigned int)floor(print.default_object_config().outer_wall_acceleration.value + 0.5));
} }
if (m_config.default_jerk.value > 0) { if (print.default_object_config().outer_wall_jerk.value > 0) {
double jerk = m_config.outer_wall_jerk.value; double jerk = print.default_object_config().outer_wall_jerk.value;
gcode += m_writer.set_jerk_xy(jerk); gcode += m_writer.set_jerk_xy(jerk);
} }

View file

@ -499,7 +499,7 @@ std::string CalibPressureAdvanceLine::print_pa_lines(double start_x, double star
DrawBoxOptArgs default_box_opt_args(2, m_height_layer, 0.6, fast); DrawBoxOptArgs default_box_opt_args(2, m_height_layer, 0.6, fast);
default_box_opt_args.is_filled = true; default_box_opt_args.is_filled = true;
gcode << draw_box(writer, start_x + m_length_short + m_length_long + m_length_short, start_y - m_space_y, number_spacing() * 8, gcode << draw_box(writer, start_x + m_length_short + m_length_long + m_length_short, start_y - m_space_y, number_spacing() * 8,
num * m_space_y, default_box_opt_args); (num + 1) * m_space_y, default_box_opt_args);
gcode << writer.travel_to_z(m_height_layer*2); gcode << writer.travel_to_z(m_height_layer*2);
for (int i = 0; i < num; i += 2) { for (int i = 0; i < num; i += 2) {
gcode << draw_number(start_x + m_length_short + m_length_long + m_length_short + 3, y_pos + i * m_space_y + m_space_y / 2, gcode << draw_number(start_x + m_length_short + m_length_long + m_length_short + 3, y_pos + i * m_space_y + m_space_y / 2,