Dfam Check
Measure mesh files against Design for Additive Manufacturing (DfAM) rules and report...
Install
npx skills add earthtojake/text-to-cad --skill dfam-check -g -a claude-code -y- Repository
- earthtojake/text-to-cad24.7k
- Category
- Design
- Updated
- 3d ago
- License
- MIT
- Context cost
- Lightabout 1,393 tokens
- Runs scripts
- Yes, review before use
What it does
Measure mesh files against Design for Additive Manufacturing (DfAM) rules and report printability findings per process (FDM, SLS, SLA/DLP, metal PBF, MJF). Use when the user asks whether a part is printable, wants overhang/wall-thickness/support analysis of an `.stl`, `.obj`, `.ply`, or `.3mf` mesh, wants a build-orientation recommendation, or wants DfAM redesign guidance before slicing with `$gcode` or regenerating geometry with `$cad`.
DfAM Check
Provenance: maintained in earthtojake/text-to-cad. Use the installed local skill files as the runtime source of truth; the repository link is only for provenance and release review.
Use this skill to produce conservative, evidence-backed DfAM reports for mesh files before slicing or printing. It measures geometry facts locally and compares them against per-process design limits; it never slices, uploads, or starts print jobs.
Geometry Inspection
Use scripts/dfam_tool.py in the active project Python environment for all
geometry facts (install requirements.txt first, every run needs it). The tool is fact-only:
it reports measurements and never emits pass/fail or readiness statuses.
Comparisons and verdicts belong to this workflow. Do not estimate wall
thickness, overhang angles, or support volume by eye or from renders when the
tool can measure them.
python scripts/dfam_tool.py measure part.stl --angle-limit 45
python scripts/dfam_tool.py orientations part.stl --angle-limit 45
Set --angle-limit to the target process's self-supporting angle from
references/process-limits.md before measuring, and re-run when the target
process changes: the aggregate support-area facts are binned against it.
STEP/STP input is boundary-representation CAD, not a mesh. When the $cad
skill is installed, export an STL with it first, then measure the STL here.
With $cad, cadgen export <id> part.stl writes one from the model (or cadgen export part.step part.stl from a STEP).
Report that remediation instead of attempting raw STEP parsing. measure
on a STEP exits 1 with {"error": "failed to load mesh: ..."}; that is the
wrong-input signal, not a missing dependency, do not install extra mesh
loaders to work around it.


