mesh_quality_scorecard
Assess a mesh or CAD file for 3D printing. Meshes get a graded scorecard (printability, structure, efficiency, quality); CAD files get an intake report with exact measurements.
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%): overhangs, manifold, support needs
- **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).
:returns: Dict with scores and a grade for a mesh; the three-band
intake report with ``grade: null`` for a CAD file.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| file_path | Yes |