Claude
Skills
Sign in
Back

bambu-studio-ai

Included with Lifetime
$97 forever

Bambu Lab 3D printer control and automation. Activate when user mentions: printer status, 3D printing, slice, analyze model, generate 3D, AMS filament, print monitor, Bambu Lab, or any 3D printing task. Full pipeline: search → generate → analyze → colorize → preview → open BS → user slice → print → monitor. Supports all 10 Bambu Lab printers (A1 Mini, A1, P1S, P2S, X1C, X1E, H2C, H2S, H2D, X2D).

Productivityscripts

What this skill does


# 🖨️ Bambu Studio AI

Request → Collect Info → Search/Generate → Analyze(11pt) → [Colorize] → Preview(chat) → Open BS → [User Slices in BS] → Confirm → Print → Monitor

Pre-check: If `config.json` does not exist → run First-Time Setup before any operation.

**At the start of each turn:** If handling a print request, re-read the Pipeline Checklist and Compliance Rules. Ensure you are not skipping any MUST step.

---

## ⛔ COMPLIANCE RULES — Follow Strictly

**Before every action, verify you are not violating these rules:**

| Rule | Meaning |
|------|---------|
| **MUST** | Non-negotiable. Skip = failure. |
| **NEVER** | Forbidden. Doing it = failure. |
| **WAIT** | Do not proceed until user responds. |

### NEVER Do These
- ❌ **NEVER skip Information Collection** — Always ask: model source (search/generate), dimensions (if generating), single/multi-color, material
- ❌ **NEVER generate without dimensions** — MUST ask "How big? e.g., 80mm tall" before `generate.py`
- ❌ **NEVER skip analyze** — Every model MUST go through `analyze.py --orient --repair`
- ❌ **NEVER skip preview** — MUST send preview image/GIF to chat before opening Bambu Studio. User must SEE the model.
- ❌ **NEVER skip Bambu Studio confirmation** — MUST open in BS, tell user to inspect, WAIT for explicit "looks good" / "print it"
- ❌ **NEVER auto-print** — No `bambu.py print` without user confirmation. AI models have errors.
- ❌ **NEVER skip model source choice** — MUST ask user: search vs generate vs not sure (default: search first)

### MUST Do These (in order)
1. **Collect info** → Ask model source, dimensions (if generate), colors, material
2. **Get model** → Search or generate per user choice
3. **Analyze** → `analyze.py --orient --repair` on every model
4. **Preview to chat** → `preview.py --views turntable` → **send image/GIF to user**
5. **Open Bambu Studio** → `open -a "BambuStudio" model.3mf` (or model.stl/obj)
6. **User slices in Bambu Studio** → Tell user to slice, inspect, and confirm
7. **Wait for confirmation** → Do not proceed until user says ready
8. **Print** → Only after confirmation

> **Note:** `slice.py` (CLI slicing via OrcaSlicer) is **optional** — only use if user explicitly requests CLI slicing. The default is for users to slice in Bambu Studio themselves, where they can adjust supports, infill, and other settings visually.

### Pipeline Checklist (verify before claiming done)
```
[ ] Info collected (source, dimensions, colors, material)
[ ] Model obtained (search/generate/download)
[ ] analyze.py --orient --repair run
[ ] Preview image/GIF sent to chat
[ ] Opened in Bambu Studio
[ ] User sliced + inspected in Bambu Studio
[ ] User confirmed "looks good" / "print it"
[ ] Print started (only after confirmation)
```

---

## Quick Reference

| I want to... | Command |
|---|---|
| Printer status | `python3 scripts/bambu.py status` |
| Print progress | `python3 scripts/bambu.py progress` |
| Printer hardware info | `python3 scripts/bambu.py info` |
| Start a print | `python3 scripts/bambu.py print <file> --confirmed` |
| Pause / Resume / Cancel | `python3 scripts/bambu.py pause\|resume\|cancel` |
| Speed mode | `python3 scripts/bambu.py speed silent\|standard\|sport\|ludicrous` |
| Light on/off | `python3 scripts/bambu.py light on\|off` |
| AMS filament info | `python3 scripts/bambu.py ams` |
| Camera snapshot | `python3 scripts/bambu.py snapshot` |
| Send G-code | `python3 scripts/bambu.py gcode "G28"` |
| Notification | `python3 scripts/bambu.py notify --message "done"` |
| Generate 3D (text) | `python3 scripts/generate.py text "desc" --wait --height 80` (`--raw` skips auto-enhancement; `--height` sets target mm, default auto 80mm) |
| Generate 3D (image) | `python3 scripts/generate.py image photo.jpg --wait --height 80` (auto: validate, bg-remove, prompt enhance; `--no-bg-remove` / `--raw` to skip) |
| Download model | `python3 scripts/generate.py download <task_id> --height 80` |
| Analyze model | `python3 scripts/analyze.py model.stl --height 80 --orient --repair --material PLA` (always exports `_scaled` file when `--height` is used) |
| Keep main only (remove fragments) | `python3 scripts/analyze.py model.stl --repair --keep-main` |
| Multi-color | `python3 scripts/colorize model.glb --height 80 --max_colors 8 -o out.obj` (tunable: `--min-pct`, `--no-merge`, `--island-size`, `--smooth`, `--bambu-map`) |
| Slice (optional CLI) | `python3 scripts/slice.py model.stl --orient --arrange --quality fine` |
| Slice (specific setup, optional) | `python3 scripts/slice.py model.stl --printer A1 --filament "Bambu PETG Basic"` |
| List slicer profiles | `python3 scripts/slice.py --list-profiles` |
| Preview (quick) | `python3 scripts/preview.py model.stl` (`--height 80` to verify dimensions) |
| Preview (HQ Blender) | `python3 scripts/preview.py model.stl --hq` |
| Search models | `python3 scripts/search.py "phone stand" --limit 5` |
| Monitor print | `python3 scripts/monitor.py --auto-pause` |
| Check deps | `python3 scripts/doctor.py` |
| Parametric box | `python3 scripts/parametric.py box 30 20 10 -o box.stl` |
| Parametric cylinder | `python3 scripts/parametric.py cylinder --radius 5 --height 20 -o cyl.stl` |
| Parametric bracket | `python3 scripts/parametric.py bracket --width 30 --height 40 --thickness 3 --hole-diameter 3.2 -o bracket.stl` |
| Parametric plate with holes | `python3 scripts/parametric.py plate-with-holes --width 60 --depth 40 --holes 4 --hole-diameter 3.2 --hole-spacing 25 -o plate.stl` |
| Parametric enclosure | `python3 scripts/parametric.py enclosure --width 60 --depth 40 --height 30 --wall 2 --lid -o case.stl` |
| Parametric CSG (complex) | `python3 scripts/parametric.py csg spec.json -o assembly.stl` |

All scripts support `--help`. `generate.py` auto-enhances prompts and limits size to printer build volume.

---

## Overall Flow

```
User Request
    │
    ▼
Information Collection
    │
    ▼
Decision 1: Model Source
    ├─ A: Internet Search (preferred default)
    ├─ B: AI Generate (single-color)
    ├─ C: AI Generate (multi-color)
    ├─ D: User-provided file
    ├─ E: Image to 3D
    └─ F: Parametric (functional parts — manifold3d)
    │
    ▼
Model Processing (analyze → repair → orient → [colorize])
    │
    ▼
Report Results to User
    │
    ▼
⛔ Open in Bambu Studio → User Inspects
    │
    ▼
User Confirms ("looks good" / "print it")
    │
    ▼
Decision 2: Print Method
    ├─ E: Auto Print (Developer Mode only, not recommended)
    └─ F: Manual Print (user handles in Bambu Studio)
    │
    ▼
Print Monitoring (both workflows, or on user request)
```

---

## Step 1: Information Collection

**Gate:** Before ANY search/generate/download, you MUST complete this step.

Collect before proceeding:

**Model requirements:**
- What to print (object description)
- Target dimensions — MUST ask before generating ("How big? e.g., 80mm tall")
- Style / appearance (optional)

**Print parameters:**
- Single-color or multi-color (AMS)
- Material (default: PLA)
- Quality: draft / standard / fine / extra (optional)
- Purpose: functional or decorative (optional, affects walls + infill)

**Model source — ask user:**
> "Do you want me to:
> 1. 🔎 Search online — existing models, usually higher quality
> 2. 🎨 AI generate — custom model from scratch
> 3. 🤷 Not sure — I'll search first, generate if nothing fits"

Default: search first. Common objects (phone stand, hook, vase) almost always exist online.

**Decision flow:** User says "search" / "generate" / "not sure" → If "not sure" → search first → if no good results → offer generate.

**Auto-routing (agent determines path based on description):**

| Signal in user's description | Route to | Examples |
|------------------------------|----------|----------|
| Specific dimensions / tolerances / fit | Parametric (Workflow F) | "M3 screw hole", "inner diameter 40mm", "press fit" |
| Standard interfaces / mounting | Parametric (Workflow F) | "USB-C cutout", "GoPro mount", "VESA mount" |
| Functional part key
Files: 52
Size: 496.3 KB
Complexity: 88/100
Category: Productivity

Related in Productivity