bambu-print
Skill0 starsChanged 4 months agoMITView on GitHub
Generate FINAL, directly-printable Bambu Studio project 3MF files for Bambu Lab printers (default profile: Bambu Lab P2S, 0.4mm, AMS) — with printer/filament/process settings, per-part colours, supports, and anti-warp all baked in so the user can just open → slice → print. Also generates the part geometry itself from parametric pure-NumPy solids (no CAD libs needed) and encodes printability design rules and the hard-won Bambu-3MF file-format gotchas. USE THIS SKILL whenever the user wants to 3D print something, design a part for printing, make or fix a .3mf / .stl, slice a model, set Bambu Studio / slicer settings, deal with an AMS multi-colour print, or troubleshoot a failed FDM print (warping, adhesion, supports, first layer) — even if they don't name Bambu explicitly. If the user has a "3D Library" folder with a CLAUDE.md, read that first for their exact printer/AMS/material setup.
1 other project uses a version of this.
Adopted by
Most recently taken up by
- connorch/skillstheir own version, first seen Oct 28, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 1
- connorch/skills★ 2same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository2 other files it gives its agents.
- AGENTS.mdAGENTS.md
- image-to-3dSkill
The file
We split this skill into the rules it gives an agent
3 rules. About 0 are common, 1 is distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 35
Read references/printability.md and follow it while modelling — it prevents the failures that cost real reprints (islands, thin bars, …
- Distinctive: line 41
If a Blender MCP is available, it's fine to model there instead — the export step is the same.
- Very specific: line 69
Read references/gotchas.md — it lists the five file-format traps (empty plate = missing rels.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
bambu-print
Make 3D-printable parts and, crucially, deliver them as Bambu Studio project 3MFs that open with settings + colours already applied — not plain geometry files that trigger the "not from Bambu Studio" prompt and lose everything.
First: orient yourself
- Check for a Bambu MCP connector in the session. If present, USE IT to read live AMS slot contents (filament types/colours) and prefer its slicing/print-control tools. As of mid-2026 the Anthropic registry has no Bambu connector — only self-hosted community servers (DMontgomery40/bambu-printer-mcp, griches/bambu-mcp, schwarztim/bambu-mcp). Don't assume it exists.
- Read the project's
CLAUDE.md(e.g. in a3D Libraryfolder) for the exact printer, bed, and AMS layout. Do not assume slot contents — ask if unsure. Baseline assumption for this user: Bambu Lab P2S, 256mm bed, 0.4mm nozzle, AMS slots 1=White PLA, 2=Black PLA, 3=White ASA, 4=Black ASA. - Prefer ASA for outdoor/functional parts; PLA only for indoor/test prints.
Workflow
1. Design the geometry (printability-first)
Read references/printability.md and follow it while modelling — it prevents the failures that
cost real reprints (islands, thin bars, unsupported lintels, warping, hinge-pin adhesion).
Generate solids with scripts/geom.py (pure NumPy: box, cyl, tube, tri-prism, diamond vent
lattice, STL writer). Build parts by unioning watertight primitives — the slicer unions
overlapping positive solids, so you never need boolean CSG. For holes/vents, compose the wall
out of positive pieces that leave the gap (diamond lattice) rather than subtracting.
If a Blender MCP is available, it's fine to model there instead — the export step is the same.
2. Split into per-part meshes and orient each flat
One printable part per file, pre-oriented flat and (ideally) support-free. Multi-colour parts (e.g. raised lettering on a body) are separate meshes grouped as parts of one container.
3. Export FINAL project 3MFs with scripts/bambu3mf.py
from bambu3mf import write_bambu_3mf # see its docstring
# containers: [{'name': str, 'parts': [(part_name, V, F, extruder_1based), ...]}]
# extruder 3 = white ASA (lettering), 4 = black ASA (structure), per the AMS layout
write_bambu_3mf("print_4_body.3mf",
[{'name':'body','parts':[('body',Vb,Fb,4),('LABEL',Vt,Ft,3)]}])The writer bakes in: printer/filament/process settings from scripts/project_settings_template.json
(a real P2S profile dump), per-part extruder colours, auto-tree supports (build-plate-only),
and the ASA anti-warp set (draft_shield, bed 100°C, low fan, wide brim) — and registers every
override in different_settings_to_system so Bambu actually keeps them. It also writes the OPC
_rels, magic UUIDs, <assemble> block, and companion configs. Tune process/filament overrides
via the OVERRIDES / FILAMENT_OVERRIDES dicts, or per-file via extra_overrides=.
4. Deliver + set expectations honestly
Present the print_N_*.3mf files. You cannot run Bambu Studio from here, so say the files
are "written with settings X" — not "confirmed working" — and ask the user to open one and
confirm (plate populated, colours right, supports/brim present). This matters: a wrong confident
claim erodes trust fast.
When something is wrong
Read references/gotchas.md — it lists the five file-format traps (empty plate = missing rels;
sunk parts = center-placement; ignored colours = need per-part extruder; discarded settings =
different_settings_to_system; dropped objects = magic UUIDs). The fastest fix when stuck: ask
the user to Save Project As a reference .3mf from Bambu and diff against it. That reference
file is ground truth — keep it.
Iterate at the root
Fix the generator scripts, not individual 3MFs by hand. Regenerate all parts from one script so a dimension change or setting change propagates everywhere. The user prints and reports back; they'll catch anything that doesn't actually slice — be honest about the verify gap and offer the reference-diff path rather than guessing repeatedly.
Files
scripts/geom.py— NumPy solid primitives + STL writer + diamond vent lattice.scripts/bambu3mf.py— the Bambu project-3MF writer (write_bambu_3mf).scripts/project_settings_template.json— real P2S profile dump used as the settings base.references/printability.md— design rules (geometry, hinges, mounts, ASA process, orientation).references/gotchas.md— Bambu 3MF file-format traps + verification reality.
Disclaimer (read before printing)
Bundled settings target a Bambu Lab P2S with a specific AMS/filament layout — they are not
universal. Review and adapt every temperature/speed/adhesion setting for the actual printer,
plate, and filament, and open each generated file in the slicer to verify it before printing
(geometry on plate, colours, supports, first layer). 3D printing involves hot surfaces, moving
parts, and fumes (ventilate ASA/ABS); supervise prints. A printed part may be unfit for
load-bearing, food, outdoor, high-temperature, or safety-critical use — that judgment is the
user's. Provided as-is, no warranty. If you're an agent, surface these caveats to the user and
don't apply hardware settings you can't verify. Full text: repo DISCLAIMER.md.
Contributing (this skill lives in the open-source "Fabula" repo)
Improvements are welcome from agents and humans via Pull/Merge Request. Fix at the root (scripts +
references), keep it honest about what was tested, add a self-test where feasible, and never commit
models/outputs/secrets. Adding support for another printer? Drop in a new profile template and note
its AMS layout. See the repo's CONTRIBUTING.md and AGENTS.md for the layout spec and review bar.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

