plan_multi_copy_split
Plan how many copies of a part fit across registered printers based on current plate space; optionally submit the approved plan to queue jobs per printer.
Instructions
Plan many copies of one part across your printers, wherever there is safe room.
Requires Kiln Business. Kiln reads every registered printer's
plate as it stands and works out how many copies each printer
takes now -- an empty plate filled, an occupied one filled
beside what is already there -- and how many follow as later
plates once a plate is cleared. A printer marked needs repair,
a plate nobody has looked at, or a plate with no room takes
none, and says why. By default the faster printers take more,
so the run ends as soon as it can; ``share="even"`` gives every
printer the same share. The plan says when the run ends both
ways, and how many more plates finishing sooner leaves to clear.
Below Kiln Business, copies print on one printer with
``multi_copy_print(fill=True)``, plate after plate.
Two steps. Call it with the part (STL, 3MF or OBJ) and how many
copies: it answers ``plan_id``, the plan per printer, and
``picture``, a top-down map of every plate. AGENT DISPLAY
CONTRACT: show ``picture`` to the person before anything is
queued, and say ``message``. When they say go, call it again
with the same ``file_path`` and ``copies``, ``plan_id`` and
``submit=True`` (and ``preview_token``): one job per printer is
queued, printers run side by side, each waits for its plate to
be clear, and later plates follow on the same printer. Follow
the run with ``split_plan_status(plan_id)``; stop it with
``cancel_split_plan(plan_id)``.
Args:
file_path: The part, as a mesh (STL, 3MF or OBJ).
copies: How many copies in all.
material: The filament (default ``"pla"``).
plan_id: The plan to queue, from the first call.
submit: Queue the plan named by ``plan_id``.
preview_token: The person's yes for the part, when submitting.
quality: "draft", "standard" or "fine".
priority: "low", "normal" or "high".
share: "soonest" (the default) or "even".
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": {
"file_path": "<file_path>",
"copies": "<copies>"
},
"name": "plan_multi_copy_split"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| share | No | "soonest" (the default) or "even". Default: "soonest". | |
| copies | Yes | How many copies in all. | |
| submit | No | Queue the plan named by ``plan_id``. Default: false. | |
| plan_id | No | The plan to queue, from the first call. | |
| quality | No | "draft", "standard" or "fine". | |
| material | No | The filament (default ``"pla"``). Default: "pla". | |
| priority | No | "low", "normal" or "high". | |
| file_path | Yes | The part, as a mesh (STL, 3MF or OBJ). | |
| preview_token | No | The person's yes for the part, when submitting. |