NEW: Add Ellis' pattern method for pressure advance calibration

Add a new calibration pattern method for pressure advance calibration, which can better test the influence of k value on the corner. The changes of this patch are picked from OrcaSlicer by thewildmage, thanks to thewildmage for the great work!

github issue: https://github.com/bambulab/BambuStudio/issues/2222

Change-Id: Icc8fd4d52b20c1668bfa08716b48549dfada515b
(cherry picked from commit eb72d8b681bef270906406a2d10a36d4efbce900)
(cherry picked from commit 2b07c1154f4a009612f951938e7865dc338b2d9b)
This commit is contained in:
thewildmage 2023-08-10 12:19:15 +08:00 committed by lane.wei
parent d3785577ef
commit 047015fa5e
12 changed files with 1131 additions and 279 deletions

View file

@ -1890,7 +1890,7 @@ void GCode::_do_export(Print& print, GCodeOutputStream &file, ThumbnailsGenerato
gcode += m_writer.set_jerk_xy(jerk);
}
calib_pressure_advance pa_test(this);
CalibPressureAdvanceLine pa_test(this);
double filament_max_volumetric_speed = m_config.option<ConfigOptionFloats>("filament_max_volumetric_speed")->get_at(initial_extruder_id);
Flow pattern_line = Flow(pa_test.line_width(), 0.2, m_config.nozzle_diameter.get_at(0));
auto fast_speed = std::min(print.default_region_config().outer_wall_speed.value, filament_max_volumetric_speed / pattern_line.mm3_per_mm());