Skip to content

steven-ahfu/bambu-studio-preset-dumper

Repository files navigation

Bambu Studio Preset Dumper

A tool for exporting Bambu Studio printer presets in both INI and JSON formats. Works only for WSL+ZSH environments.

Purpose

Bambu Studio stores printer, filament, and process presets, but as far as I'm aware there isn't an easy way to import/export these settings for a particular print.

Yes the 3mf files have all of this information and more for a print, but often I want to share and import print profiles independently. This repo is a super early first pass at doing so.

  • Exports presets to standard INI or JSON formats for external use

  • Resolves inheritance chains from abstract templates to specific configurations

  • Organizes output by vendor, machine, and nozzle variants

  • Filters nozzle variants from base machines for easier selection

  • Normalizes data by linking machine profiles with printer definitions

  • ✅ Interactive vendor/machine/nozzle selection

  • ✅ Batch export (all vendors, all machines, all nozzles)

  • ✅ Selective export (specific vendor → machine → nozzle)

  • ✅ Export INI or JSON (INI for Slic3r/PrusaSlicer should be compatible)

Requirements

  • WSL (Windows Subsystem for Linux) with zsh
  • Node.js (installed on WSL)
  • Bambu Studio (installed on Windows at default location)

Installation

clone this repo to a destination in WSL. Then chmod the scripts:

# Ensure scripts are executable
chmod +x bambu_dump_presets_wsl.zsh
chmod +x bambu_dump_runner.mjs
chmod +x bambu_data_normalizer.mjs

Usage

Interactive Mode

./bambu_dump_presets_wsl.zsh

Debug Mode

./bambu_dump_presets_wsl.zsh --debug

Enables verbose logging to stderr for troubleshooting.

Direct Node.js Commands

Can be used once you've dumped the existing data from the install dir.

# List available vendors
node bambu_dump_runner.mjs list-vendors

# List machines for a vendor (no nozzles)
node bambu_dump_runner.mjs list-machines "Bambu Labs"

# List nozzles for a specific machine
node bambu_dump_runner.mjs list-nozzles "Bambu Labs" "Bambu Lab X1 Carbon"

# Export specific machine presets
node bambu_dump_runner.mjs dump-built-in \
  --dest /tmp/output \
  --vendor "Bambu Labs" \
  --model "Bambu Lab X1 Carbon" \
  --format json

Output Structure

INI Format

/output/
  Bambu Labs/
    Bambu Lab X1 Carbon/
      BBL__Bambu Lab X1 Carbon__printer.ini
      BBL__Bambu Lab X1 Carbon__process.ini
      BBL__Bambu Lab X1 Carbon__filament.ini
      Nozzles/
        BBL__Bambu Lab X1 Carbon 0.4 nozzle__filament.ini
        BBL__Bambu Lab X1 Carbon 0.6 nozzle__filament.ini

JSON Format

/output/
  Bambu Labs/
    Bambu Lab X1 Carbon/
      BBL__Bambu Lab X1 Carbon__printer.json
      BBL__Bambu Lab X1 Carbon__process.json
      BBL__Bambu Lab X1 Carbon__filament.json
      Nozzles/
        BBL__Bambu Lab X1 Carbon 0.4 nozzle__filament.json
        BBL__Bambu Lab X1 Carbon 0.6 nozzle__filament.json

JSON Structure

{
  "vendor": "BBL",
  "model": "Bambu Lab X1 Carbon",
  "type": "filament",
  "presets": [
    {
      "name": "Bambu PLA Basic @BBL X1C",
      "properties": {
        "filament_type": "PLA",
        "temperature": "220",
        "bed_temperature": "60",
        ...
      }
    }
  ]
}

Files

Main Scripts

  • bambu_dump_presets_wsl.zsh - Interactive shell script for WSL
  • bambu_dump_runner.mjs - Node.js preset extraction logic
  • bambu_data_normalizer.mjs - Links machine profiles with printer definitions

Troubleshooting

"Bambu Studio not found"

Ensure Bambu Studio is installed at:

  • C:\Program Files\Bambu Studio\ (default location)

Technical Notes

WSL & ZSH

This is just due to my personal preferences and how I normally work. It for sure is not going to work for any other set up. Feel free to get your own Claude to add some new functionality and contribute if you can :).

Inheritance Resolution

I believe Bambu Studio presets use inheritance chains, so this tool walks these chains (up to base templates) and merges all properties to produce complete configurations.

License

GNU General Public License v3.

Contributing

Ya go for it.

Author

Claude and Codex are my coding serfs and I am their feudal vibe lord.

About

Dump & Normalize Presets for Filaments, Machines, and Processes from Bambu Studio

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors