Skip to content

Command Line Usage

Max Paperno edited this page Jul 18, 2026 · 4 revisions

Command manual

USAGE:

  • Linux/Windows: bambu-studio [ OPTIONS ] [ file.3mf/file.stl ... ]
  • Linux (AppImage): BambuStudio.AppImage [ OPTIONS ] [ file.3mf/file.stl ... ]
  • MacOS: BambuStudio.app/Contents/MacOS/BambuStudio [ OPTIONS ] [ file.3mf/file.stl ... ]
  • MacOS (alternate): open -a BambuStudio --args [ OPTIONS ] [ file.3mf/file.stl ... ]

(CLI usage on Windows is fixed as of Bambu Studio v2.7.0.55.)

OPTIONS:

Note: This list is current as of v02.08.01.55 but may not be updated on a regular basis, and the options may vary between program versions. Use the -h (or --help) command-line switch to get a complete list.

--allow-mix-temp option
  Allow filaments with high/low temperature to be printed together

--allow-multicolor-oneplate
  If enabled, the arrange will allow multiple color on one plate

--allow-newer-file option
  Allow 3mf with newer version to be sliced

--allow-rotations
  If enabled, the arrange will allow rotations when place object

--avoid-extrusion-cali-region
  If enabled, the arrange will avoid extrusion calibrate region when place object

--camera-view angle
  Camera view angle for exporting png: 0-Iso, 1-Top_Front, 2-Left, 3-Right, 10-Iso_1, 11-Iso_2, 12-Iso_3

--clone-objects "1,3,1,10"
  Clone objects in the load list

--datadir dir
  Use and store all program settings at the given directory instead of the default location.

--debug level
  Sets debug logging level. 0:fatal, 1:error, 2:warning, 3:info, 4:debug, 5:trace

--downward-check
  if enabled, check whether current machine downward compatible with the machines in the list

--downward-settings "machine1.json;machine2.json;..."
  the machine settings list need to do downward checking

--enable-timelapse
  If enabled, this slicing will be considered using timelapse

--estimate-mode
  When enabled, automatically fill filament presets and extruder state for machine estimation after machine switch

--load-assemble-list assemble_list.json
  Load assemble object list from config file

--load-custom-gcodes custom_gcode_toolchange.json
  Load custom gcode from json

--load-filament-ids "1,2,3,1"
  Load filament ids for each object

--load-filaments "filament1.json;filament2.json;..."
  Load filament settings from the specified file list.
The filament setting count should not exceed the filaments used in the 3mf. The config file should be a full config instead of the one used in resources/profiles/BBL/filament. Example filament.json

--load-settings "setting1.json;setting2.json"
  Load process/machine settings from the specified file.
Up to 1 machine setting and 1 process setting supported. The config file should be a full config instead of the one used in resources/profiles/BBL/machine, or resources/profiles/BBL/process. Example process.json, machine.json

--makerlab-name name
  MakerLab name to generate this 3mf

--makerlab-version version
  MakerLab version to generate this 3mf

--metadata-name "name1;name2;..."
  matadata name list added into 3mf

--metadata-value "value1;value2;..."
  matadata value list added into 3mf

--outputdir dir
  Output directory for the exported files.

--skip-modified-gcodes option
  Skip the modified gcodes in 3mf from Printer or filament Presets

--skip-objects "3,5,10,77"
  Skip some objects in this print

--skip-useless-pick option
  Skip generating useless pick/top images into 3mf

--uptodate-filaments "filament1.json;filament2.json;..."
  load uptodate filament settings from the specified file when using uptodate

--uptodate-settings "setting1.json;setting2.json"
  load uptodate process/machine settings from the specified file when using uptodate

--arrange option
  Arrange options: 0-disable, 1-enable, others-auto

--assemble
  Arrange the supplied models in a plate and merge them in a single model in order to perform actions once.

--convert-unit
  Convert the units of model

--ensure-on-bed
  Lift the object above the bed when it is partially below. Disabled by default

--orient
  Orient options: 0-disable, 1-enable, others-auto

--repetitions count
  Repetition count of the whole model

--rotate
  Rotation angle around the Z axis in degrees.

--rotate-x
  Rotation angle around the X axis in degrees.

--rotate-y
  Rotation angle around the Y axis in degrees.

--scale factor
  Scale the model by a float factor

--export-3mf filename.3mf
  Export project as 3MF.

--export-png option
  Export png of plate: 0-all plates, i-plate i, others-invalid

--export-settings settings.json
  Export settings to a file.

--export-slicedata slicing_data_directory
  Export slicing data to a folder.

--export-stl
  Export the objects as single STL.

--export-stls
  Export the objects as multiple stls to directory

--help, -h
  Show command help.

--info
  Output the model's information.

--load-defaultfila option
  Load first filament as default for those not loaded

--load-slicedata slicing_data_directory
  Load cached slicing data from directory

--min-save option
  export 3mf with minimum size.

--mstpp time
  max slicing time per plate in seconds.

--mtcpp count
  max triangle count per plate for slicing.

--no-check
  Do not run any validity checks, such as gcode path conflicts check.

--normative-check option
  Check the normative items.

--pipe pipename
  Send progress to pipe.

--slice option
  Slice the plates: 0-all plates, i-plate i, others-invalid

--uptodate
  Update the configs values of 3mf to latest.

There are three ways to input settings:

  1. setting values from the command line (highest priority)
    --key=value, for example: --curr-bed-type="Cool Plate"
  2. setting values loaded with --load_settings and --load_filaments
  3. setting values loaded from 3mf(lowest priority)

The most common usage for slicing

there are three most commonly used cases for slicing:

Use case Detailed description Command Comments
Slice 3mf directly Using the printer/filament/print settings included in the 3mf ./bambu-studio --slice 0 --debug 2 --export-3mf output.3mf test_data/moon.3mf Slicing all the plates in moon.3mf, export the result to output.3mf
Slice 3mf with specific settings Using the printer/filament/print settings included in command line ./bambu-studio --curr-bed-type "Cool Plate" --load-settings "test_data/machine.json;test_data/process.json" --load-filaments "filament1.json;;filament3.json;filament4;;" --slice 2 --debug 2 --export-3mf output.3mf test_data/moon.3mf Slicing plate 2 in moon.3mf, export the result to output.3mf, using the test_data/machine.json to replace all the printer settings in 3mf, using test_data/process.json to replace all the print settings in 3mf, using filament1.json to replace the filament-1's setting in 3mf, using filament3.json to replace the filament-3's setting in 3mf, using filament4.json to replace the filament-4's setting in 3mf, keep the filament-2/5's setting in 3mf.
Slice stls Using the settings included in command line ./bambu-studio --orient --arrange 1 --load-settings "test_data/machine.json;test_data/process.json" --load-filaments "test_data/filament.json" --slice 2 --debug 2 --export-3mf output.3mf test_data/boat.stl Using test_data/machine.json for printer setting, Using test_data/process.json for print setting, Using test_data/filament.json for filament setting, orient and arrange before slicing

Clone this wiki locally