estimate_print_time
Estimate print time, filament length/weight, and layer count by slicing a 3D model or parsing an existing G-code file. Add a material density to include weight in the results.
Instructions
Estimate print time and filament usage for a model.
Slices the model and parses the G-code for print time, filament
length/weight, and layer count.
For **already-sliced** G-code files, pass the ``.gcode`` path
directly — it will be parsed without re-slicing.
Weight needs a filament density, which lives on a filament
profile; Kiln's bundled profiles describe a PRINTER and name no
filament, so pass ``material`` to get a weight. Without it the
weight is reported as absent rather than guessed — a key missing
from the result means the slicer could not answer it, never that
the answer is zero.
**See also:** ``estimate_material_cost`` for weight and cost from
a mesh with your own price per kg, and ``slice_and_estimate`` for
a fuller analysis with printability scoring.
:param file_path: Path to STL/3MF/OBJ or .gcode file.
:param profile: Optional slicer profile path.
:param printer_id: Optional printer model ID for bundled profile
(e.g. ``"bambu_a1"``). Used when no explicit profile is given.
:param slicer_path: Optional explicit slicer binary path.
:param material: Optional filament family (``"PLA"``, ``"PETG"``,
…) used only as a density source for the weight.
:returns: Dict with time, filament, and layer estimates.
:param placement: Where the part goes when the plate still holds
the last print: ``[x, y]`` in mm, a named region
(``"front-left"``, ``"centre"``, …) or ``"keep"``. An
estimate never refuses because of the plate: with no safe
spot named the estimate is for the part on an empty plate
and ``plate_note`` says so. Not read for a ``.gcode`` input.
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>"
},
"name": "estimate_print_time"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| profile | No | Optional slicer profile path. Default: "". | |
| material | No | Optional filament family (``"PLA"``, ``"PETG"``, …) used only as a density source for the weight. Default: "". | |
| file_path | Yes | Path to STL/3MF/OBJ or .gcode file. | |
| placement | No | Where the part goes when the plate still holds the last print: ``[x, y]`` in mm, a named region (``"front-left"``, ``"centre"``, …) or ``"keep"``. An estimate never refuses because of the plate: with no safe spot named the estimate is for the part on an empty plate and ``plate_note`` says so. Not read for a ``.gcode`` input. | |
| printer_id | No | Optional printer model ID for bundled profile (e.g. ``"bambu_a1"``). Used when no explicit profile is given. Default: "". | |
| slicer_path | No | Optional explicit slicer binary path. Default: "". |