mesh_quality_scorecard
Generate a graded scorecard for 3D meshes and a CAD intake report that separates exact measurements from mesh-derived data.
Instructions
Assess a model — a graded scorecard for a mesh, an intake report for a CAD file.
**For a mesh** (.stl, .obj, .glb) it evaluates four dimensions:
- **Printability** (35%): ``analyze_printability``'s own score and
grade for ``material`` / ``printer_id`` — pass the ones you gave
``analyze_printability`` and the two match
- **Structural** (25%): aspect ratio, base stability, component count
- **Efficiency** (20%): fill ratio, support waste
- **Quality** (20%): triangle density, degenerate count
and returns per-factor scores, an overall 0-100 score, and a
letter grade (A-F). ``subject`` is ``"mesh"``.
**For a CAD file** (.step, .stp) it returns an INTAKE REPORT and
deliberately no letter grade. ``subject`` is ``"cad_file"``,
``grade`` is null, and ``grade_withheld`` says why: 20% of that
score measures Kiln's own tessellation, so the identical part
would grade differently depending on which converter is installed
on the machine that read it. Instead you get three bands:
- ``exact`` — read from the user's file by the CAD kernel:
volume, surface area, envelope, validity, solid/shell/face
counts, in mm. These match their CAD package to the decimal
and are the numbers to quote back to them.
- ``measured`` — what genuinely needs triangles (overhangs,
stability, floating parts), with the conversion named and this
part's own conversion difference stated.
- ``about_our_copy`` — triangle and degenerate counts for Kiln's
generated mesh, as counts, never scored.
When quoting a CAD part's size to a user, quote ``exact`` —
``about_our_copy`` describes Kiln's mesh, not their design.
:param file_path: Path to a mesh (.stl, .obj, .glb) or a CAD file
(.step, .stp).
:param material: Material the printability factor is judged for
(default ``"pla"``).
:param printer_id: Optional printer the printability factor is
judged for.
:returns: Dict with scores and a grade for a mesh; the three-band
intake report with ``grade: null`` for a CAD file.
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": "mesh_quality_scorecard"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| material | No | Material the printability factor is judged for (default ``"pla"``). Default: "pla". | |
| file_path | Yes | Path to a mesh (.stl, .obj, .glb) or a CAD file (.step, .stp). | |
| printer_id | No | Optional printer the printability factor is judged for. Default: "". |