bambu-3mf-exportlisted
Install: claude install-skill m-esm/bambu-3mf-export
# Bambu .3mf export (settings baked in)
A plain trimesh/lib3mf `.3mf` carries **geometry only**, so Bambu Studio shows "The 3mf is not
from Bambu Lab, load geometry data only" and you re-enter every setting by hand. This skill writes
the same package layout Bambu Studio itself writes, so the file opens as a real project with the
process / filament / printer + per-object support, infill, and brim already set.
## How to use
1. Run the project's `build.py` first so the STLs are current and verified watertight + single-body.
Only PRINTED parts go in (bought parts, motors, bearings, screws, clutches, are excluded).
2. Copy `scripts/bambu3mf.py` + `scripts/bambu_profile_template.json` into the project (or keep the
project's own copies in sync with this skill).
3. Adapt `scripts/export_bambu_example.py` → `export_bambu.py`: list parts by **category**, pack each
category onto its own plate(s), collect **all** plates, then write **one** multi-plate `.3mf`.
4. `python3 export_bambu.py` → **a single** project file (e.g. `exports/bambu_klonk.3mf`) with every
plate as a Studio tab. Gitignore the `.3mf` (regenerable).
### ALWAYS one multi-plate `.3mf` (do not emit N separate files)
**Default and required pattern:** one Bambu Studio project containing **all plates**.
```python
plates = []
for cat, items in CATEGORIES:
for i, parts in enumerate(shelf_pack(items), 1):
plates.append({"name": cat if n == 1 else f"{cat} {i} of {n}", "parts": parts})
write_bambu_3mf(