Sparse infill pattern (infill_pattern)

Sparse infill pattern is one of a fixed set of names. Fill pattern for general low-density infill.

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 fill_pattern process
Bambu Studio sparse_infill_pattern process
OrcaSlicer sparse_infill_pattern process
Cura infill_pattern process
Creality Print sparse_infill_pattern process

Where does it live in the file?

All five slicers file this under the process preset, so its value follows the print profile rather than the model. A .3mf is a zip, so unzip it and search for fill_pattern, sparse_infill_pattern and infill_pattern, 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 enum not declared gyroid 17 named values
Bambu Studio enum not declared grid 18 named values
OrcaSlicer enum not declared crosshatch 21 named values
Cura enum not declared grid 16 named values
Creality Print string not declared crosshatch 32 named values

This value is not a number, so PrusaSlicer, Bambu Studio, OrcaSlicer, Cura and Creality Print declare no unit for it.

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

The slicers do not accept the same names, which is what a value has to survive when a file moves between them:

  • Cura accepts concentric, cross, cross_3d, cubic, cubicsubdiv, grid, gyroid, honeycomb, lightning, lines, octagon, quarter_cubic, tetrahedral, triangles, trihexagon, zigzag
  • Bambu Studio accepts concentric, zig-zag, grid, line, cubic, triangles, tri-hexagon, gyroid, honeycomb, adaptivecubic, alignedrectilinear, 3dhoneycomb, hilbertcurve, archimedeanchords, octagramspiral, supportcubic, lightning, crosshatch
  • Creality Print accepts concentric, zig-zag, grid, line, cubic, triangles, tri-hexagon, gyroid, honeycomb, adaptivecubic, alignedrectilinear, 3dhoneycomb, hilbertcurve, archimedeanchords, octagramspiral, supportcubic, lightning, crosshatch, cross, cross3d, quarter_cubic, tetrahedral, tpmsd, tpms_gradual_g, tpms_gradual_d, tpms_gradual_fk, tpmsfk, zig-zag2, cross-zag, locked-zag, lateral-honeycomb, lateral-lattice
  • PrusaSlicer accepts rectilinear, alignedrectilinear, grid, triangles, stars, cubic, line, concentric, honeycomb, 3dhoneycomb, gyroid, hilbertcurve, archimedeanchords, octagramspiral, adaptivecubic, supportcubic, lightning
  • OrcaSlicer accepts rectilinear, concentric, zig-zag, grid, line, cubic, triangles, tri-hexagon, gyroid, honeycomb, adaptivecubic, alignedrectilinear, 3dhoneycomb, hilbertcurve, archimedeanchords, octagramspiral, supportcubic, lightning, crosshatch, zigzag, quartercubic

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 sparse infill pattern under its own name alongside the rest of the print settings. The file never leaves your machine, and nothing uploads.