slice_and_estimate
Slices a 3D model and returns print time, filament use, cost, printability, and adhesion guidance so you can evaluate a print before committing.
Instructions
Primary estimation tool — slice a 3D model and return time, filament, cost, and printability analysis.
For G-code files (already sliced), use ``estimate_cost`` instead.
For quick volume-based estimates without slicing, use ``estimate_material_cost``.
Slices the model using PrusaSlicer or OrcaSlicer, parses the
output G-code for time and filament metadata, runs printability
analysis on the file as it was sliced (a STEP file as Kiln's
mesh of it), and returns adhesion recommendations — all without
uploading or starting a print. When the analysis could not be
made, ``printability`` is null and ``printability_note`` says
why.
Use this tool to answer "how long will this take?" or "how much
filament will I use?" before committing to a print job.
Args:
input_path: Path to the input file (STL, OBJ, 3MF, STEP, AMF).
printer_id: Optional printer model ID for bundled profile
auto-selection (e.g. ``"bambu_a1"``, ``"prusa_mini"``).
profile: Path to a slicer profile/config file (.ini or .json).
Takes precedence over ``printer_id`` auto-selection.
material: Filament material (e.g. ``"PLA"``, ``"PETG"``,
``"TPU"``). The slice is set for it -- temperatures,
melt rate and cooling -- so the time is the time THIS
material takes (a TPU part is far slower than the same
part in PLA), and its density gives the weight.
Default is ``"PLA"``.
printer_name: Registered printer this estimate is FOR. Omit
for the default printer. An estimate is only as true as
the profile behind it, so naming a second machine costs
the job on that machine rather than on the default.
placement: Where the part goes when the plate still holds the
last print: ``[x, y]`` in mm (the part's footprint
origin), a named region (``"front-left"``, ``"centre"``,
``"back-right"``, …), or ``"keep"``. An estimate never
refuses because of the plate: when the plate still holds
the last print and no safe spot is named, the estimate is
for the part on an empty plate and ``plate_note`` says
so. Where a named spot is safe, the estimate is of the
part there, with the clearance verdict in ``placement``.INLINE 3D STAGE: on success this tool opens Kiln's interactive 3D stage — an inline viewer panel the user can orbit, zoom, and turn over — in hosts that render MCP Apps panels (Kiln's hosted connection attaches a browser stage link for hosts that don't). Oversized meshes are decimated automatically for the stage; the PNG preview is the floor, not the whole experience.
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": {
"input_path": "<input_path>"
},
"name": "slice_and_estimate"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| profile | No | Path to a slicer profile/config file (.ini or .json). Takes precedence over ``printer_id`` auto-selection. | |
| material | No | Filament material (e.g. ``"PLA"``, ``"PETG"``, ``"TPU"``). The slice is set for it -- temperatures, melt rate and cooling -- so the time is the time THIS material takes (a TPU part is far slower than the same part in PLA), and its density gives the weight. Default is ``"PLA"``. Default: "PLA". | |
| placement | No | Where the part goes when the plate still holds the last print: ``[x, y]`` in mm (the part's footprint origin), a named region (``"front-left"``, ``"centre"``, ``"back-right"``, …), or ``"keep"``. An estimate never refuses because of the plate: when the plate still holds the last print and no safe spot is named, the estimate is for the part on an empty plate and ``plate_note`` says so. Where a named spot is safe, the estimate is of the part there, with the clearance verdict in ``placement``. | |
| input_path | Yes | Path to the input file (STL, OBJ, 3MF, STEP, AMF). | |
| printer_id | No | Optional printer model ID for bundled profile auto-selection (e.g. ``"bambu_a1"``, ``"prusa_mini"``). | |
| printer_name | No | Registered printer this estimate is FOR. Omit for the default printer. An estimate is only as true as the profile behind it, so naming a second machine costs the job on that machine rather than on the default. |