Skip to content

Instantly share code, notes, and snippets.

@tdeck
Last active February 26, 2026 14:23
Show Gist options
  • Select an option

  • Save tdeck/8fd98b86828c22f753735f953bc77e15 to your computer and use it in GitHub Desktop.

Select an option

Save tdeck/8fd98b86828c22f753735f953bc77e15 to your computer and use it in GitHub Desktop.
Bambu 3mf format reverse engineering
File list
=========
Here are the files in the current 3dmake output, which at least prints:
3D/3dmodel.model
[Content_Types].xml
Metadata/_rels/model_settings.config.rels
Metadata/plate_1.png
Metadata/plate_no_light_1.png
Metadata/pick_1.png
Metadata/plate_1_small.png
Metadata/model_settings.config
Metadata/cut_information.xml
Metadata/plate_1.json
Metadata/top_1.png
Metadata/project_settings.config
_rels/.rels
Metadata/plate_1.gcode
Metadata/slice_info.config
Metadata/plate_1.gcode.md5
Relevant metadata
==================
Things I noticed in the files that might need updatin
- bounding box in Metadata/plate_1.json
- Layer height in Metadata/plate_1.json
- Nozzle diameter in Metadata/plate_1.json
- Prediction in ./Metadata/slice_info.config (in seconds)
- Weight in ./Metadata/slice_info.config (in grams)
- Slicer settings in ./Metadata/project_settings.config
Printer Model Numbers
=====================
A useful list can be found here: https://wiki.bambuddy.cool/features/virtual-printer/#printer-model-selection
Info About Specific Files
=========================
Metadata/slice_info.config
--------------------------
A blank line at the top of this file will cause it not to be parsed and Bambu Connect will give an error.
prediction = seconds (can be float)
weight = grams (must be integer)
changing printer_model_id doesn't seem to affect Bambu Connect compatibility list.
other keys info detailed extensively here: https://trello.com/c/lGJ9mmCU/78-populate-3mf-config-with-correct-machine-id
TODO pull the above in here if we need it
Metadata/project_settings.config
--------------------------------
Without this file Bambu Connect won't import (no error, but it will just act like I never selected the file).
If I delete everything but {} inside I get this error: "Cannot read properties of undefined (reading 'map')"
"upward_compatible_machine" doesn't seem to be what populates the compatibility list in Bambu Connect. I can delete all of them and still get the same result.
"printer_settings_id" and "printer_model" don't seem to affect that list either.
gcode file
----------
editing print_settings_id in this file does not seem to affect Bambu Connect compatiblilty list
editing printer_model also doesn't affect it
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment