Relative extrusion (relative_e_distances_enable)
Relative extrusion is on or off.
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 | use_relative_e_distances |
machine |
| Bambu Studio | use_relative_e_distances |
machine |
| OrcaSlicer | use_relative_e_distances |
machine |
| Cura | relative_extrusion |
process |
| Creality Print | use_relative_e_distances |
machine |
What does each slicer say about it?
Each slicer offers its own values, so each gets its own line.
- PrusaSlicer: On or off. Writes extrusion relative to the last move (M83) instead of absolute. Match your firmware.
- Bambu Studio: Writes extruder moves as relative distances. Needed for Bambu printers; match your firmware elsewhere.
- OrcaSlicer: Writes extruder moves as relative distances. Recommended with object labels; most firmware handles it, and it avoids long-print rounding drift.
- Cura: Writes extrusion as relative moves instead of absolute. Turn it on if your firmware expects relative E values.
- Creality Print: Writes extruder moves as relative amounts instead of absolute positions. Best with object labels; a few firmwares need it off.
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 use_relative_e_distances and relative_extrusion, 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 | bool | not declared | 1 |
not declared |
| Bambu Studio | bool | not declared | not declared | not declared |
| OrcaSlicer | bool | not declared | 1 |
not declared |
| Cura | bool | not declared | off | not declared |
| Creality Print | bool | not declared | 1 |
not declared |
PrusaSlicer, Bambu Studio, OrcaSlicer, Cura and Creality Print declare no range for this key, so nothing in the file bounds it.
This value is not a number, so PrusaSlicer, Bambu Studio, OrcaSlicer, Cura and Creality Print declare no unit for it.
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 relative extrusion under its own name alongside the rest of the print settings. The file stays in your browser; see what leaves it.