retry_print_with_fix
Diagnose the last print failure, merge recommended slicer overrides, validate the mesh, re-slice, and start a corrected print.
Instructions
Diagnose the last print failure and re-slice + print with fixes.
When a print fails, call this tool instead of manually chaining
``diagnose_print_failure_live`` → ``slice_and_print``. It:
1. Reads live printer state and analyses the model geometry to
diagnose the failure (unless ``skip_diagnosis`` is True).
2. Auto-detects the loaded material from the AMS when
``material`` is omitted and the printer supports it.
3. Merges diagnosis-recommended slicer overrides with any
``custom_overrides`` you supply (your overrides win on
conflict).
4. Re-validates the mesh's printability before re-slicing. A
retry path that re-sends a broken mesh is the highest-
value place to validate — the previous attempt already
failed, and slicer overrides can't fix mesh-level issues.
Bypass with ``skip_validation=True`` if the caller already
validated.
5. Re-slices the (possibly auto-repaired) mesh with the merged
overrides, uploads the result, and starts the print.
Args:
model_path: Path to the model that failed (STL, OBJ, 3MF,
STEP, ...). One the diagnosis cannot read is said in
``printability_note``.
printer_name: Target printer name. Omit for the default
printer.
material: Filament material (e.g. ``"PLA"``, ``"ABS"``); the
reslice is set for it (temperatures, melt rate,
cooling). Auto-detected from AMS when omitted.
printer_id: Printer model ID for intelligence lookup
(e.g. ``"bambu_a1"``).
custom_overrides: JSON object of additional slicer overrides
to merge on top of the diagnosis recommendations
(e.g. ``'{"brim_width": "8"}'``). Your values win on
conflict.
skip_diagnosis: If True, skip the failure diagnosis step and
re-slice using only ``custom_overrides``.
skip_validation: If True, bypass the pre-print mesh
validation gate. Defaults to False — designs are
pre-tested for printability before the retry reaches
the printer.
placement: Where the part goes when the plate still holds
the last print: ``[x, y]`` in mm, a named region
(``"front-left"``, ``"centre"``, …), or ``"keep"``.
Omitted, an occupied plate refuses before slicing and
lists the spots that would work.
The clearance verdict is always given; placing and
starting a second print on an occupied plate is included
where the plan carries it.
preview_token: Token from ``issue_preview_token`` proving this
model was shown to the person before printing. Required
beside their go-ahead: a print is shown to its owner
before it starts.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"model_path": "<model_path>"
},
"name": "retry_print_with_fix"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| material | No | Filament material (e.g. ``"PLA"``, ``"ABS"``); the reslice is set for it (temperatures, melt rate, cooling). Auto-detected from AMS when omitted. | |
| placement | No | Where the part goes when the plate still holds the last print: ``[x, y]`` in mm, a named region (``"front-left"``, ``"centre"``, …), or ``"keep"``. Omitted, an occupied plate refuses before slicing and lists the spots that would work. The clearance verdict is always given; placing and starting a second print on an occupied plate is included where the plan carries it. | |
| model_path | Yes | Path to the model that failed (STL, OBJ, 3MF, STEP, ...). One the diagnosis cannot read is said in ``printability_note``. | |
| printer_id | No | Printer model ID for intelligence lookup (e.g. ``"bambu_a1"``). | |
| printer_name | No | Target printer name. Omit for the default printer. | |
| preview_token | No | Token from ``issue_preview_token`` proving this model was shown to the person before printing. Required beside their go-ahead: a print is shown to its owner before it starts. | |
| skip_diagnosis | No | If True, skip the failure diagnosis step and re-slice using only ``custom_overrides``. Default: false. | |
| skip_validation | No | If True, bypass the pre-print mesh validation gate. Defaults to False — designs are pre-tested for printability before the retry reaches the printer. Default: false. | |
| custom_overrides | No | JSON object of additional slicer overrides to merge on top of the diagnosis recommendations (e.g. ``'{"brim_width": "8"}'``). Your values win on conflict. |