save_feature
Saves a new versioned mechanical feature or appends changes to an existing one, letting you track feature revisions and reuse design details in Kiln Pro.
Instructions
Save a new versioned mechanical feature (or append to existing).
Needs Kiln Pro.
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": {
"name": "<name>",
"feature_kind": "<feature_kind>",
"parameters": "<parameters>",
"target_kind": "<target_kind>"
},
"name": "save_feature"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Display name (e.g. ``"handle-fillet"``). | |
| notes | No | Freeform operator note. Default: "". | |
| metadata | No | Caller-specific JSON blob. | |
| design_id | No | Associated design id, or ``None`` for portfolio-wide reusable features. | |
| feature_id | No | Existing feature id to append to; omit for a fresh feature. | |
| parameters | Yes | Kind-specific dict (e.g. chamfer → ``{"offset_mm": 1.5}``). | |
| target_kind | Yes | One of ``edge``, ``face``, ``vertex``, ``volumetric``. | |
| target_spec | No | Where on the host mesh the feature applies, as a dict stored as given (e.g. ``{"face_ids": [12, 13]}`` for a face target, or for a ``part`` the attachment spec from ``list_feature_kinds``). Omit it when the kind needs no target. | |
| feature_kind | Yes | One of ``chamfer``, ``fillet``, ``pocket``, ``hole``, ``boss``, ``rib``, ``screw_hole_pattern``, ``custom_scad``, or ``part`` (a reusable attachable component — a hat / clip / bracket — carrying its own sub-model via ``openscad_module`` / an imported mesh asset; attach it onto a host design with ``attach_part_feature``). Use ``list_feature_kinds`` to discover the param spec. | |
| parent_feature_version_id | No | Explicit parent version this one iterates from; auto-inferred from HEAD when ``feature_id`` is supplied without a parent. |