arrange_parts_on_plate
Packs multiple STL files onto a virtual build plate, arranges parts largest-first with configurable spacing, and reports which fit, which overflow, and plate utilization.
Instructions
Pack multiple STL files onto a virtual build plate.
Uses greedy bottom-left bin-packing (largest parts first) to
efficiently arrange parts with configurable spacing. Reports
which parts fit, which overflow, and plate utilization.
Supports printing multiple copies of parts via the copies parameter.
:param file_paths: JSON array of file paths, e.g. ``["/tmp/a.stl", "/tmp/b.stl"]``.
:param plate_width_mm: Build plate width in mm (default 256).
:param plate_depth_mm: Build plate depth in mm (default 256).
:param spacing_mm: Minimum gap between parts in mm (default 5).
:param copies: Optional JSON dict of filename->count, e.g. ``{"part.stl": 3}``.
:param printer_id: Optional supported printer model id, or the
name of a printer set up in Kiln. When provided, printer
intelligence supplies the plate size.
Keep passing it downstream — a later
``compose_multicolor_3mf`` without it judges the layout
against a 256mm default plate.
:returns: Dict with arranged_parts, overflow_parts, plate_utilization, summary.
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_paths": "<file_paths>"
},
"name": "arrange_parts_on_plate"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| copies | No | Optional JSON dict of filename->count, e.g. ``{"part.stl": 3}``. Default: "". | |
| file_paths | Yes | JSON array of file paths, e.g. ``["/tmp/a.stl", "/tmp/b.stl"]``. | |
| printer_id | No | Optional supported printer model id, or the name of a printer set up in Kiln. When provided, printer intelligence supplies the plate size. Keep passing it downstream — a later ``compose_multicolor_3mf`` without it judges the layout against a 256mm default plate. Default: "". | |
| spacing_mm | No | Minimum gap between parts in mm (default 5). Default: 5.0. | |
| plate_depth_mm | No | Build plate depth in mm (default 256). Default: 256.0. | |
| plate_width_mm | No | Build plate width in mm (default 256). Default: 256.0. |