Currently, there are only Bambu Lab printers in Bambu Studio. But actually, there is no limitation to add third party printers into Bambu Studio. And one demo result is shown below. A third-party printer is added into Setup Wizard and presets are added into Prepare page.
Because of limited time and energy, we havn't moved third party printers into Bambu Studio.
It's very nice if some guys in the community try to add system preset of third party printers into Bambu Studio.
Bambu Studio is based on PrusaSlicer. So theoretically, most printers in PrusaSlicer should be able to be add into Bambu Studio. The only requirement is G2/G3 gcode command. G2 and G3 gcode lines are generated in Bambu Studio. So the printer must support G2 and G3 circular arc and spiral movement.
A set of presets consists of four types of json file, including machine_model, machine, filament and process. This is same with PrusaSlicer and SuperSlicer, but Bambu Studio is organized by separated json files.
A demo example is shown below.
{
"type": "machine_model",
"name": "Demo printer model",
"model_id": "",
"url": "",
"nozzle_diameter": "0.4",
"machine_tech": "FFF",
"family": "Demo-3DP",
"bed_model": "demo-3dp.stl",
"bed_texture": "demo-3dp-logo.svg",
"hotend_model": "demo-3dp-hotend.stl",
"default_materials": "Demo PLA"
}
Bed model, bed texture and some other information related to the printer model are defined in this file.
This is the item users can choose printer in prepare page, and detail information of printer settings are defined in this json file.
Settings related to filament and process are defined in related json files by same way. If you don't know the setting name, place the mouse arrow over the input box and the parameter name will be shown.
All the json files of preset should be organized as following structure.
Demo.json describes names and paths of all json files. Demo is shown below.
{
"name": "Demo",
"url": "",
"version": "01.00.00.00",
"force_update": "0",
"description": "the initial version of Demo configurations",
"machine_model_list": [
{
"name": "Demo printer model",
"sub_path": "machine/Demo printer model.json"
}
],
"process_list": [
{
"name": "fdm_process_common",
"sub_path": "process/fdm_process_common.json"
},
{
"name": "fdm_process_demo_common",
"sub_path": "process/fdm_process_demo_common.json"
},
{
"name": "fdm_process_demo_0.20",
"sub_path": "process/fdm_process_demo_0.20.json"
},
{
"name": "0.20mm Standard @Demo printer",
"sub_path": "process/0.20mm Standard @Demo printer.json"
}
],
"filament_list": [
{
"name": "Demo PLA",
"sub_path": "filament/Demo PLA.json"
}
],
"machine_list": [
{
"name": "fdm_machine_common",
"sub_path": "machine/fdm_machine_common.json"
},
{
"name": "fdm_demo_printer_common",
"sub_path": "machine/fdm_demo_printer_common.json"
},
{
"name": "Demo printer 0.4 nozzle",
"sub_path": "machine/Demo printer 0.4 nozzle.json"
}
]
}
Every machine_model should have one picture shown in Setup Wizard. Please prepare one png picture and name it "/*machine_model*/_cover.png
". For example, the machine_model is "Demo printer model", then png should be named as "Demo printer model_cover.png".
demo files can be downloaded here.
third_party_printer_demo_preset.zip
Copy files to the folder **%your_code_path%/bamboo_slicer/resources/profiles**
. Demo is shown below.
Copy png picture to **%your_code_path%/bamboo_slicer/resources/web/image/printer**
Compile and run, and you can see the new printer from 3-rd party vendor is added as long as the json format is without errors.
If you are running Bambu Studio by pre-build package, the target copy path should be
**%your_installation _path%/resources/profiles**
and **%your_installation _path%/resources/web/image/printer**