Voron Klipper Exclude Object Setup — Cancel Individual Objects Mid-Print
Klipper Printing Advanced
What Is Exclude Object?
Klipper's exclude object feature lets you cancel individual objects during a multi-object print without stopping the entire print job. If one part fails (warping, layer shift, adhesion loss), you can remove it mid-print and let the remaining objects continue.
How It Works
The feature works through G-code labels embedded by your slicer. When you slice multiple objects, each object gets an EXCLUDE_OBJECT label. During printing, sending EXCLUDE_OBJECT NAME=part1 tells Klipper to stop printing that specific object and skip to the next one.
Slicer Setup
OrcaSlicer
Enable: Print Settings tab → Output options → Enable "Label objects" and "Exclude objects". In the Prepare tab, arrange multiple objects and right-click to set "Exclude object" on individual items.
SuperSlicer / PrusaSlicer
Enable: Print Settings → Output options → "Label objects" checkbox. SuperSlicer also has a "Independent support islands" option that helps with per-object support structures.
Klipper Configuration
No special config is needed for basic exclude object — it's built into Klipper. For advanced features, add to printer.cfg:
[exclude_object]
# No additional parameters needed for basic operation
Monitoring and Control
Mainsail and Fluidd both support exclude object natively. In the job status panel, each object appears as a separate card with its own cancel button. Clicking cancel sends the EXCLUDE_OBJECT command to Klipper.
G-Code Commands Reference
Key commands you can use manually or in macros:
- EXCLUDE_OBJECT NAME=part1 — Cancel object named "part1"
- EXCLUDE_OBJECT NAME=part1 CURRENT=1 — Cancel the currently printing object
- EXCLUDE_OBJECT_DEFINE NAME=part1 — Define an object manually (if not already labeled)
- CANCEL_PRINT — Stop the entire print (all objects)
Start Macro Integration
Your PRINT_START macro should include exclude object setup for proper tracking:
[gcode_macro PRINT_START]
gcode:
# ... heating, bed mesh, etc.
CLEAR_EXCLUDE_OBJECTS
# ... start actual printing
Troubleshooting
- Exclude button not appearing: Check that your slicer emits object labels. Open the generated G-code and search for "EXCLUDE_OBJECT" — if none found, enable labeling in slicer.
- Object cancels but Z doesn't lift: Set safe_z_home or a park position in your cancel logic.
- Multi-material prints: Exclude object works per extruder. When cancelling, the toolhead may need a wipe/purge before resuming the next object.
- Cancel all objects: Use CANCEL_PRINT instead of excluding each individually.
Limitations
Exclude object works best with identical-layer-height objects. If objects have different layer heights, cancelling one mid-print may leave Z at the wrong position for the remaining objects. Objects must also be on the same Z layer — if one object is taller and finishes early, exclude object won't help with that (use print sequence instead).
Advanced: Auto-Cancel on Failure Detection
Combine exclude objects with Obico or spaghetti detection for automatic failure handling:
[gcode_macro AUTO_CANCEL_FAILED_OBJECT]
gcode:
# Called by failure detection plugin
EXCLUDE_OBJECT CURRENT=1
M117 Auto-cancelled failed object
RESPOND TYPE=command MSG="Cancelled failed object"