Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ JSON field names and exit codes are part of the public API.
- job: `filament_changes`

### Changed
- Update the agent skill and command reference for timelapse defaults and overrides, separate-model arrangement with at least 3 mm spacing, and strict/dry-run X1C startup-clearance refusal.
- `print send` records a timelapse by default.
- `preflight` `single_filament` now fails only when the number of `--slot`s differs from the number of filaments in the plate. Single-filament jobs send the same payload as before.

Expand Down
6 changes: 6 additions & 0 deletions skills/bambu/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,12 @@ bambu monitor --snapshot-at-layer 2 --json # NDJSON events;

**Slots** are `1`–`4` (first AMS) or `A1`–`D4`. Preflight checks that the slot's filament type matches the sliced one.

**Timelapse:** `print send` records by default. `[print] timelapse = false` changes the config default; `--timelapse` or `--no-timelapse` overrides it for one print. Explicit `--timelapse=false` is supported; do not combine the two flags.

**Batches:** pass separate inputs to `slice` instead of hand-merging them. Studio arranges one plate with `--part-spacing` (default/minimum 3 mm), preserving orientation unless `--auto-orient` is explicit. Batches that need several plates or produce fewer plate objects than input files fail before output is published. Check every expected part and quantity in the preview and summary. Summary `models` lists inputs; `model` remains the first input.

**X1C startup clearance:** preflight reads layer-1 object lines and arcs after slicing and rejects the X18–240 / Y0–12 front strip and X0–18 / Y0–28 corner, expanded by 1 mm. Collisions FAIL. Missing layer/object markers or unsupported coordinates/arcs are NOT VERIFIED and FAIL in strict checks or send dry runs. A busy-printer failure remains independent of the geometry result. Never send a plate with a failed gate.

**Checked spool amount:** when a person reports a physically checked amount and AMS remaining telemetry is wrong, pass that amount (e.g. `--filament-remaining A2=50g`) to both the dry-run and send. Use the same amount in both and repeat per checked slot. It applies only to that invocation. Sufficient estimates WARN with the stated amount and original AMS reading, including with `--strict`; report that WARN. Insufficient estimates still FAIL against the existing requirement of job grams × 1.15 + 5 g (15% + 5 g reserve). Other gates remain enforced.

**Two colours, changing at a layer height** (the AMS swaps by itself, from the G-code):
Expand Down
8 changes: 5 additions & 3 deletions skills/bambu/references/COMMANDS.md
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,8 @@ Upload a sliced file and start it (requires --confirm and a passing preflight).
| `--filament-remaining` | []string | | Grams left on a spool you checked, e.g. A2=50g, for this invocation only. Repeat per slot; sufficient estimates WARN (also with --strict), insufficient estimates FAIL. |
| `--confirm` | bool | | Required to actually print. Only pass it after a human approved this exact file and confirmed the plate is clear. |
| `--dry-run, -n` | bool | | Run preflight and show the exact upload path and MQTT payload; send nothing. |
| `--timelapse` | bool | | Record a timelapse. |
| `--timelapse` | bool | config, else true | Record a timelapse. Explicit --timelapse=false is supported. |
| `--no-timelapse` | bool | false | Disable recording for this print. Cannot combine with --timelapse. |
| `--wait` | time.Duration | 180s | How long to wait for the job to start. |

### `bambu print stop`
Expand Down Expand Up @@ -171,9 +172,9 @@ Show one recipe.

Dump the command tree as JSON for agents.

### `bambu slice <model>`
### `bambu slice <model>...`

Slice a model headlessly with Bambu Studio and a recipe.
Slice separate models on one plate using Bambu Studio and a recipe. Studio arranges batches with at least 3 mm between objects. Stored orientation is kept unless --auto-orient is explicit.

| flag | type | default | help |
|---|---|---|---|
Expand All @@ -184,6 +185,7 @@ Slice a model headlessly with Bambu Studio and a recipe.
| `--set, -s` | []string | | Override a Bambu Studio setting: key=value (repeatable). |
| `--name, -n` | string | | Output base name (default <model>-<recipe>). |
| `--out, -o` | string | | Output directory (default: config output_dir, else current dir). |
| `--part-spacing` | float64 | 3 | Minimum spacing between batch objects in mm; must be finite and at least 3. |
| `--auto-orient` | bool | | Let the slicer re-orient the model (default: keep the model's orientation). |

### `bambu slicer info`
Expand Down
Loading