6.2 KiB
Cornering
Cornering is a critical aspect of 3D printing that affects print quality and accuracy. It's how the printer handles changes in direction during movement, particularly at corners and curves. Proper cornering settings can reduce artifacts such as ringing, ghosting, and overshooting, resulting in cleaner and more precise prints.
Types of Cornering Settings
Tip
Read more in Jerk XY and check Cornering Control Types
Calibration
This test will be set detect automatically your printer firmware type and will adapt to the specific calibration process.
- Klipper: square_corner_velocity
- Marlin 2:
- Junction Deviation if
Maximum Junction Deviationin Printer settings/Motion ability/Jerk limitations is bigger than0. - Classic Jerk if
Maximum Junction Deviationis set to0.
- Junction Deviation if
- Marlin Legacy: Classic Jerk.
- RepRap: Maximum instantaneous speed changes
Note
This calibration example uses Junction Deviation as an example. The process is similar for Jerk calibration; just read the Jerk values instead of JD values.
JD values are between0.0and0.3(in mm) while Jerk values are usually between1and20or higher (in mm/s).
- Pre-requisites:
- If using Marlin 2 firmware, Check if your printer has Junction Deviation enabled. Look for
Junction deviationin the printer's advanced settings. - In OrcaSlicer, set:
- Acceleration high enough to trigger ringing or the speed you want to check out (e.g., 2000 mm/s²).
- Speed high enough to trigger ringing (e.g., 100 mm/s).
- Use an opaque, high-gloss filament to make ringing more visible.
- If using Marlin 2 firmware, Check if your printer has Junction Deviation enabled. Look for
- Open the Cornering test.
- In this first approximation, set a wide range of Start and End values.
- Print a new calibration tower with a maximum set near the point where corners start losing sharpness.
RECOMMENDED: Use the Ringing Tower test model to more easily visualize the jerk limit. - Print the second Cornering test with the new maximum value.

- Measure the maximum height when the corners start losing sharpness and read the Cornering/Jerk/JunctionDeviation value set at that point in OrcaSlicer.


- Save the settings
- Into your OrcaSlicer printer profile (RECOMMENDED):
- Directly into your printer firmware:
-
Restore your 3D Printer settings to avoid keeping high acceleration and jerk values used for the test.
-
Klipper:
- Skeleton
SET_VELOCITY_LIMIT SQUARE_CORNER_VELOCITY=#SquareCornerVelocityExample:
SET_VELOCITY_LIMIT SQUARE_CORNER_VELOCITY=5.0Note: You can also set
square_corner_velocitypersistently in yourprinter.cfg(restart required). -
Marlin 2 (Junction Deviation enabled):
- Skeleton
M205 J#JunctionDeviationValue M500Example:
M205 J0.012 M500- To make the change permanent in firmware, set in
Configuration.hand recompile:
#define JUNCTION_DEVIATION_MM 0.012 // (mm) Distance from real junction edgeAlso ensure classic jerk is disabled if using junction deviation:
//#define CLASSIC_JERK -
Marlin Classic Jerk / Marlin Legacy:
- Skeleton — set the per-axis jerk limits using
M205(X/Y optional depending on firmware build):
M205 X#JerkX Y#JerkY M500Example:
M205 X10 Y10 M500 - Skeleton — set the per-axis jerk limits using
-
RepRap (Duet / RepRapFirmware): IMPORTANT: Set in mm/min so convert from mm/s to mm/min multiply by 60.
- Skeleton
M566 X#max_instantaneous_change Y#max_instantaneous_change M500 ; if supported by your boardExample (Duet-style):
M566 X3000 Y3000
-
Note
RepRapFirmware exposes
M566to set allowable instantaneous speed changes; some boards may persist settings withM500or via their web/config files.
Credits
- Junction Deviation Machine Limit @RF47
- Cornering Calibration @IanAlexis
- Fast tower model @RF47
- SCV-V2 model @chrisheib


