multi_copy_print
Prints multiple copies of a 3D model on one build plate, arranging them in a spaced grid and slicing as a single job; overflow copies are refused or queued for later plates.
Instructions
Print multiple copies of a model arranged on one build plate.
Automatically arranges copies in a grid with spacing so they don't
overlap, slices the plate as a single job, and prints.
Uses PrusaSlicer's ``--duplicate`` flag when available (handles placement,
collision avoidance, and travel optimization). Falls back to STL mesh
duplication for OrcaSlicer or when fine control is needed. Copies that do
not all fit the bed are refused, saying so, never sliced short.
With ``fill=True`` (an STL, 1 to 50 copies) Kiln places as many copies
as fit on the plate as it stands, up to ``copies``, beside anything
already there, and never refuses because fewer fit: the result says how
many it placed (``copies_placed``). The copies that did not fit are
queued on the same printer (``queued_job_id``) and print as the next
plate once this one is taken off and the plate is said to be clear,
plate after plate until all are done; ``cancel_queued_job`` stops the
rest. How many fit is answered on every tier; placing copies beside a
part still on the plate is a kiln-pro feature.
Requires a slicer (PrusaSlicer or OrcaSlicer) installed locally.
The printer must be idle and connected.
Args:
model_path: Path to input model (STL, OBJ).
copies: Number of copies to print (2-20; with ``fill``, at most
this many, 1-50).
printer_name: Registered printer name in fleet.
printer_id: Printer model ID for auto-profile selection.
spacing_mm: Gap between copies in mm (default 10).
overrides: JSON string of slicer parameter overrides.
slicer_path: Explicit path to the slicer binary.
fill: Place as many copies as fit on the plate as it stands.
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>",
"copies": "<copies>"
},
"name": "multi_copy_print"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| fill | No | Place as many copies as fit on the plate as it stands. Default: false. | |
| copies | Yes | Number of copies to print (2-20; with ``fill``, at most this many, 1-50). | |
| overrides | No | JSON string of slicer parameter overrides. | |
| model_path | Yes | Path to input model (STL, OBJ). | |
| printer_id | No | Printer model ID for auto-profile selection. | |
| spacing_mm | No | Gap between copies in mm (default 10). Default: 10.0. | |
| slicer_path | No | Explicit path to the slicer binary. | |
| printer_name | No | Registered printer name in fleet. | |
| 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. |