🎉 WIN a Snapmaker U1 Printer! Enter FREE now

--export-settings

<settings.json>
Output Orca SlicerBambu Studio

Dump the fully resolved, merged print configuration to a 4-space-indented JSON file with "from": "project" and "name": "project_settings" headers, omitting the seven print-host credential keys and serializing all values as JSON strings; the "from": "project" header means the output is not accepted by --load-settings without manual edits.

Details

Writes the fully merged, resolved print configuration to a JSON file at the path you supply. The config it captures is the product of everything the slicer has assembled before the action loop runs: any 3MF embedded settings, profiles loaded via --load-settings and --load-filaments, and any per-key overrides passed on the command line. It does not require --slice; you can pair it with a 3MF and profile flags and omit slicing entirely to produce a snapshot of what the slicer would slice with.

The JSON file has three header keys: "version" (the slicer's own version string), "name" (always the literal "project_settings"), and "from" (always the literal "project"). Every key from the resolved config follows. Scalar string options are stored as JSON strings verbatim; all other scalar types (numeric, boolean, enum) are serialized to their string representations and stored as JSON strings, not as JSON numbers or booleans. Vector options become JSON arrays of strings. The file is written with 4-space indentation. One category of keys is always omitted regardless of what the loaded config contains: the seven print-host credential fields (print_host, print_host_webui, printhost_apikey, printhost_cafile, printhost_user, printhost_password, printhost_port).

The output is useful for inspecting the resolved configuration that would be used for slicing. It is not directly usable with --load-settings: the CLI's settings loader validates that input files carry a from value of "system" or "User" and a recognized type field ("machine", "process", or "filament"). The export file carries "from": "project" and no type key, so the loader rejects it. The default output filename when no path is given is output.json, written to the current working directory.

Examples

Shape of the output file
{
    "version": "02.01.00.00",
    "name": "project_settings",
    "from": "project",
    "layer_height": "0.2",
    "wall_loops": "3",
    "filament_type": ["PLA", "PLA"],
    "nozzle_diameter": ["0.4", "0.4"]
}

Watch out for

  • All non-string scalar values (layer height, temperatures, speeds, booleans) are stored as JSON strings, not JSON numbers or booleans. Code that parses the output as typed JSON must coerce them explicitly.
  • The seven `printhost_*` / `print_host*` credential keys are silently dropped from output because the `from` field is `"project"`. If you are using the file to audit a full config, those fields will not appear even if they were set.
  • Actions are processed in command-line order. If `--export-settings` appears before `--slice`, the export captures the resolved print configuration before any slicing-time modifications (such as computed nozzle stats) are written back into it. If it appears after `--slice`, it captures those additions too. For a clean pre-slice snapshot, list `--export-settings` before `--slice`.

Sign up for free today

No credit card required. Connect unlimited printers and get production automation running in minutes.