estampo.toml
Configuration for estampo, the build system for reproducible 3D prints
| Type | object |
|---|---|
| File match |
estampo.toml
estampo.*.toml
|
| Schema URL | https://catalog.lintel.tools/schemas/schemastore/estampo-toml/latest.json |
| Source | https://raw.githubusercontent.com/estampo/estampo/main/docs/estampo.schema.json |
Validate with Lintel
npx @lintel/lintel check
Configuration schema for estampo — the build system for reproducible 3D prints. See https://github.com/estampo/estampo
Properties
Project name. Used to prefix the output directory (e.g. estampo_output/my-project/).
Output directory path, relative to the config file.
Pipeline stage configuration.
1 nested properties
Ordered list of pipeline stages to execute.
[
"load",
"arrange",
"plate",
"slice"
]
Build plate dimensions.
2 nested properties
Build plate dimensions in mm: [width, depth].
[
256,
256
]
Gap between parts in mm.
Slicer engine configuration.
6 nested properties
Slicer engine. 'orca' = OrcaSlicer, 'cura' = CuraEngine.
Pinned slicer version for reproducible builds. OrcaSlicer: '2.3.1'. CuraEngine: '5.12.0'.
Bed surface type. Affects filament adhesion profiles.
Directory for pinned profiles, relative to config file.
OrcaSlicer-specific configuration. Uses a profile chain: printer → process → filament(s).
7 nested properties
Machine profile name. Run 'estampo profiles list --engine orca --category machine' to see available profiles.
Print quality/process profile name.
Filament profiles, one per AMS slot. Order matters: slot 1 = first entry.
Explicit AMS slot mapping. Keys are slot numbers (1-indexed as strings in TOML), values are filament profile names.
Process profile setting overrides. Keys are OrcaSlicer setting names. For the full list of 113 process settings, see docs/orca-settings.json.
Machine profile overrides. For the full list of 84 machine settings, see docs/orca-settings.json.
Filament profile overrides. Applied to all filament slots. For the full list of 66 filament settings, see docs/orca-settings.json.
CuraEngine-specific configuration. Uses printer definition files (.def.json).
3 nested properties
CuraEngine printer definition name or ID. Can be a human name ('Ultimaker 2'), a definition ID ('ultimaker2'), or a path/URL to a .def.json file.
Filament names for documentation and traceability.
CuraEngine setting overrides. Keys are CuraEngine setting names (different from OrcaSlicer names). For the full list of 711 settings, see docs/cura-settings.json.
Material aliases. Map short names to full slicer profile names, then use the alias in [[parts]].filament.
Definitions
Pipeline stage configuration.
Ordered list of pipeline stages to execute.
[
"load",
"arrange",
"plate",
"slice"
]
Build plate dimensions.
Build plate dimensions in mm: [width, depth].
[
256,
256
]
Gap between parts in mm.
Slicer engine configuration.
Slicer engine. 'orca' = OrcaSlicer, 'cura' = CuraEngine.
Pinned slicer version for reproducible builds. OrcaSlicer: '2.3.1'. CuraEngine: '5.12.0'.
Bed surface type. Affects filament adhesion profiles.
Directory for pinned profiles, relative to config file.
OrcaSlicer-specific configuration. Uses a profile chain: printer → process → filament(s).
7 nested properties
Machine profile name. Run 'estampo profiles list --engine orca --category machine' to see available profiles.
Print quality/process profile name.
Filament profiles, one per AMS slot. Order matters: slot 1 = first entry.
Explicit AMS slot mapping. Keys are slot numbers (1-indexed as strings in TOML), values are filament profile names.
Process profile setting overrides. Keys are OrcaSlicer setting names. For the full list of 113 process settings, see docs/orca-settings.json.
Machine profile overrides. For the full list of 84 machine settings, see docs/orca-settings.json.
Filament profile overrides. Applied to all filament slots. For the full list of 66 filament settings, see docs/orca-settings.json.
CuraEngine-specific configuration. Uses printer definition files (.def.json).
3 nested properties
CuraEngine printer definition name or ID. Can be a human name ('Ultimaker 2'), a definition ID ('ultimaker2'), or a path/URL to a .def.json file.
Filament names for documentation and traceability.
CuraEngine setting overrides. Keys are CuraEngine setting names (different from OrcaSlicer names). For the full list of 711 settings, see docs/cura-settings.json.
OrcaSlicer-specific configuration. Uses a profile chain: printer → process → filament(s).
Machine profile name. Run 'estampo profiles list --engine orca --category machine' to see available profiles.
Print quality/process profile name.
Filament profiles, one per AMS slot. Order matters: slot 1 = first entry.
Explicit AMS slot mapping. Keys are slot numbers (1-indexed as strings in TOML), values are filament profile names.
Process profile setting overrides. Keys are OrcaSlicer setting names. For the full list of 113 process settings, see docs/orca-settings.json.
Machine profile overrides. For the full list of 84 machine settings, see docs/orca-settings.json.
Filament profile overrides. Applied to all filament slots. For the full list of 66 filament settings, see docs/orca-settings.json.
CuraEngine-specific configuration. Uses printer definition files (.def.json).
CuraEngine printer definition name or ID. Can be a human name ('Ultimaker 2'), a definition ID ('ultimaker2'), or a path/URL to a .def.json file.
Filament names for documentation and traceability.
CuraEngine setting overrides. Keys are CuraEngine setting names (different from OrcaSlicer names). For the full list of 711 settings, see docs/cura-settings.json.
Material aliases. Map short names to full slicer profile names, then use the alias in [[parts]].filament.
{ "structural": "Generic PETG-CF @base", "decorative": "Generic PLA @base" }
A part (mesh file) to include on the build plate.
Path to mesh file, relative to the config file. Supported formats: .stl, .3mf, .step, .stp, .obj
Number of copies to arrange on the plate.
Part orientation on the build plate. Ignored if 'rotate' is set.
Custom rotation in degrees: [rx, ry, rz]. Overrides 'orient' if set.
Filament slot (integer, 1-indexed) or profile name/alias (string).
Uniform scale factor.
Select a named object from a multi-object 3MF file.
Print order for sequential printing. Lower numbers print first.
Per-object filament overrides for multi-object 3MF. Maps object name to filament slot or name.
Custom command stage. Runs an external CLI tool as a pipeline stage. The section name must appear in [pipeline].stages.
Shell command to execute. Use {variable} for substitution. Available variables: name, output_dir, machine, engine, filament, filaments, input_3mf, sliced_3mf, sliced_dir, cura_settings, slicer_image.
Output file path (supports variable substitution). If set, the stage returns this path for downstream use.
Run command inside a Docker container. Mounts the output directory at /work/output.
Docker image to use when docker=true. Falls back to the slicer image if not set.