generate_license_plate_frame
Creates a custom US or EU license plate frame with debossed text and mount slots, then opens an interactive 3D preview for orbit and zoom.
Instructions
Generate a license plate frame for a US or EU plate. Opens Kiln's interactive inline 3D stage on the result (orbit/zoom panel in MCP Apps hosts; hosted sessions add a browser stage link). MAKE DOORS: design_session, Kiln's front door for making an object, is not installed here (signed in to Kiln it runs on Kiln's servers). On this install compile_scad IS the make → preview → iterate loop: make it, show the preview, iterate.
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
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "generate_license_plate_frame"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| font | No | OpenSCAD font spec. Default: "Liberation Sans:style=Bold". | |
| size | No | Size preset — ``"us_standard"`` (default), ``"eu_standard"`` (520x110mm) or ``"eu_tall"`` (340x200mm). The preset fills in only what you left alone, so an explicit argument always wins. Default: "". | |
| brief_id | No | Optional saved-goal id from ``design_session``. When supplied, the produced mesh gets a ``design_brief:<id>`` intent sidecar so the audit's "matches what you asked for" gate, the brief failure_history wiring, and the ``compare_design_versions`` intent diff all light up against the saved goal. Omit to skip — REST callers without a goal still get an auto-inferred brief at dispatch time. Default: "". | |
| material | No | Material (default ASA). Default: "ASA". | |
| top_text | No | Debossed text on the top rail (empty = none). Default: "". | |
| width_mm | No | Frame outer width (default 317.5). Default: 317.5. | |
| height_mm | No | Frame outer height (default 165.1). Default: 165.1. | |
| body_color | No | Body color (default black). Default: "black". | |
| bottom_text | No | Debossed text on the bottom rail (empty = none). Default: "". | |
| include_step | No | Also emit a CAD-exact STEP file. The STEP is REAL analytic B-rep built from the same typed parameters as the mesh — true planes and cylinders a machine shop's CAD opens clean, never a tessellated conversion. On success the response gains a ``step`` block with ``step_path``; both text bands carry the exact fitted sizes the mesh used. The mesh outputs are always unaffected. Default: false. | |
| plate_lip_mm | No | How far the frame reaches over the plate's face, on a plate with no mounting holes of its own (the EU presets). 0 (default) derives it as the mid-point between the overlap needed to retain the plate and the plate's own blank margin, past which a frame covers printed legend. Ignored where the plate's studs already fix the rails. Default: 0.0. | |
| text_size_mm | No | Font size in mm; 0 = auto-fit to band. Default: 0.0. | |
| thickness_mm | No | Frame thickness (default 5). Default: 5.0. | |
| plate_width_mm | No | Width of the plate to hold (default 304.8 — SAE J686). The window is derived from this. Default: 304.8. | |
| color_overrides | No | JSON dict mapping role → color. Default: "". | |
| plate_height_mm | No | Height of the plate to hold (default 152.4 — SAE J686). Default: 152.4. | |
| corner_radius_mm | No | Outer corner radius (default 6). Default: 6.0. | |
| mount_hole_spacing_mm | No | Slot spacing (default 177.8 — US). An EU preset resets it to 0, which cuts no slots at all; pass your vehicle's own spacing to get them. Default: 177.8. | |
| mount_hole_diameter_mm | No | Slot width (default 7, resized for the material). Default: 7.0. | |
| mount_hole_inset_top_mm | No | Slot centre below the top edge; 0 (default) derives it — from the plate's stud where there is one, otherwise centred in the frame standing beyond the plate's edge. Default: 0.0. |