Retraction length (retraction_length)

Retraction length is a number in mm. Some amount of material in extruder is pulled back to avoid ooze during long travel.

What does each slicer call it?

Five slicers, five spellings of one setting. The scope column is which preset the key belongs to, which is what decides whether changing it follows the printer, the filament, or the print profile.

Slicer Key Scope
PrusaSlicer retract_length machine
Bambu Studio retraction_length machine
OrcaSlicer retraction_length machine
Cura retraction_amount process
Creality Print retraction_length machine

Where does it live in the file?

The slicers file this under different presets: PrusaSlicer, Bambu Studio, OrcaSlicer and Creality Print under machine, Cura under process. That is why the value can survive a profile change in one slicer and not in another. A .3mf is a zip, so unzip it and search for retract_length, retraction_length and retraction_amount, or open the file in preslice and read the Raw tab, which searches every member at once.

Four of the five slicers write their settings into a sidecar part beside the geometry. Cura writes them into the model XML itself, so there is no config part to open.

Slicer Part Format
PrusaSlicer Metadata/Slic3r_PE.config INI, one key = value per line
Bambu Studio Metadata/project_settings.config JSON, one flat object
OrcaSlicer Metadata/project_settings.config JSON, one flat object
Cura 3D/3dmodel.model XML metadata inside the model part, under a cura namespace
Creality Print Metadata/project_settings.config JSON, one flat object

What values are valid?

Each slicer declares its own type, default, and bounds for its key. They do not always agree, and where they disagree the file is still valid in both: the slicer that wrote it is the one that enforced its own rule.

Slicer Type Unit Default Range
PrusaSlicer floats mm (zero to disable) 0.8 not declared
Bambu Studio floats mm not declared not declared
OrcaSlicer floats mm not declared not declared
Cura float mm 2 not declared
Creality Print floats mm not declared not declared

PrusaSlicer, Bambu Studio, OrcaSlicer, Cura and Creality Print declare no range for this key, so nothing in the file bounds it.

The slicers disagree on the type: Cura as float, PrusaSlicer, Bambu Studio, OrcaSlicer and Creality Print as floats. preslice reads all of them.

Every type, default, and bound above is read from the slicer's own field definitions rather than from measurement: PrusaSlicer's PrintConfig.cpp, Bambu Studio's PrintConfig.cpp, OrcaSlicer's PrintConfig.cpp, Cura's fdmprinter.def.json and Creality Print's PrintConfig.cpp.

Can I read it from my own file?

Yes, without installing a slicer. Open preslice and drop a .3mf on the page. It unzips and parses the file in your browser, and shows retraction length under its own name alongside the rest of the print settings. The file never leaves your machine, and nothing uploads.