speed_settings_jerk_xy - NanashiTheNameless/OrcaSlicer GitHub Wiki

Jerk XY

In printer firmware, Jerk is the maximum speed change (in mm/s) the printer can make instantly, without accelerating. It controls direction changes and velocity transitions during movement.

Key Effects

  • Corner Control:
    • Lower values = smoother corners, better quality.
    • Higher values = faster cornering, potential artifacts.
  • Print Speed: Higher jerk reduces deceleration at direction changes, increasing overall speed.
  • Surface Quality: Lower jerk minimizes vibrations and ringing, especially important for outer walls.

This setting overrides firmware jerk values when different motion types need specific settings. Orca limits jerk to not exceed the Printer's Motion Ability settings.

Tip

Jerk can work in conjunction with Pressure Advance, Adaptive Pressure Advance, and Input Shaping to optimize print quality and speed.
It's recommended to follow the calibration guide order for best results.

Cornering Control Types

Tip

Calibrate your cornering values using the Cornering Calibration guide.

Junction Deviation

Mode: Advanced.
Variable: default_junction_deviation.
Type: Float list.
CLI Example: --default-junction-deviation=1.
Alternative to Jerk, Junction Deviation is the default method for controlling cornering speed in Marlin 2 printers.
Instead of setting a cornering speed for each line type, it calculates the cornering speed from each line's acceleration and the corner angle. A Junction Deviation equivalent to a given jerk value can be estimated with the formula:

$$ JD = 0.4 \cdot \frac{\text{Jerk}^2}{\text{Accel.}} $$

Higher values result in faster and more aggressive cornering speeds, while lower values produce smoother, more controlled cornering.

Note

Classic Jerk can still be used in Marlin 2, but it is deprecated in favor of Junction Deviation.
If your printer uses Classic Jerk, set Maximum Junction Deviation to 0 in the printer settings to enable the Jerk settings.

This value is limited by Printer settings > Motion ability > Maximum Junction Deviation.

Default

Mode: Advanced.
Variable: default_jerk.
Type: Float list.
CLI Example: --default-jerk=1.
Default Jerk value.

Note

If this value is set to 0, the jerk will be set to the printer's default jerk.

Outer wall

Mode: Advanced.
Variable: outer_wall_jerk.
Type: Float list.
CLI Example: --outer-wall-jerk=1.
Jerk for outer wall printing. This is usually set to a lower value than normal printing to ensure better quality.

Inner wall

Mode: Advanced.
Variable: inner_wall_jerk.
Type: Float list.
CLI Example: --inner-wall-jerk=1.
Jerk for inner wall printing. This is usually set to a moderately higher value than outer wall jerk to improve speed.

Infill

Mode: Advanced.
Variable: infill_jerk.
Type: Float list.
CLI Example: --infill-jerk=1.
Jerk for infill printing. This is usually set to a value higher than inner wall printing to improve speed.

Top surface

Mode: Advanced.
Variable: top_surface_jerk.
Type: Float list.
CLI Example: --top-surface-jerk=1.
Jerk for top surface printing. This is usually set to a lower value than infill to ensure better quality.

Initial layer

Mode: Advanced.
Variable: initial_layer_jerk.
Type: Float list.
CLI Example: --initial-layer-jerk=1.
Jerk for initial layer printing. This is usually set to a lower value than top surface to improve adhesion.

Initial layer travel

Mode: Advanced.
Variable: initial_layer_travel_jerk.
Type: Float or Percentage list.
CLI Example: --initial-layer-travel-jerk=20%.
Jerk for initial layer travel. Using a lower value can improve build plate adhesion. If the value is expressed as a percentage (e.g. 50%), it will be calculated based on the Travel Jerk.

Travel

Mode: Advanced.
Variable: travel_jerk.
Type: Float list.
CLI Example: --travel-jerk=1.
Jerk for travel moves. This is usually set to a higher value than infill to reduce travel time.

Useful links

⚠️ **GitHub.com Fallback** ⚠️