Review Manufacturability
dfm_reviewUse this when you need a manufacturability (DFM) report before printing or machining a part: returns a pass/fail checklist, no dfmSpec(...) needed. Pass { file | code } and optional processes (default ['fdm', 'cnc']). FDM 3D printing checks: fdm.overhangs (unsupported overhang steeper than max_overhang_deg, default 45° from vertical), fdm.bridging (bridges over max_bridge_mm, default 10), fdm.min-wall (walls under 2 × nozzle_mm, default 0.4 mm nozzle), fdm.min-hole (holes under 5 × nozzle), fdm.min-pin (warn), fdm.bed-fit (printer profile bed, default generic-fdm), fdm.bed-contact (warn). CNC 3-axis milling checks: cnc.undercuts (surface unreachable from approach_axes, default ['+z']; list several axes for several setups) and cnc.internal-corner-radius (sharp internal corners and fillets smaller than the end-mill radius, tool_diameter_mm default 6). Returns { ok, verdict: 'pass'|'fail', checks: [{ id, process, part, status: 'pass'|'fail'|'warn', summary, value?, limit? }], fdm?, cnc?, diagnostics }. Settings from the script's dfmSpec({ process: 'fdm' }) are used as defaults; call options win. For the script-declared gates (clearance, voids, channels) use verify({ check: 'dfm' }).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| code | No | Inline kernelCAD script source. | |
| file | No | Path to a .kcad.ts script file. Hosted server: cannot read files from your machine — pass `code`, or `project:<slug>` for a saved project. | |
| printer | No | FDM printer profile id for the bed-fit check. Default 'generic-fdm'. | |
| nozzle_mm | No | FDM nozzle diameter, mm. Default 0.4. | |
| processes | No | Processes to review. Default ['fdm', 'cnc']. | |
| approach_axes | No | CNC tool approach directions, one per setup (the tool comes from that side). Default ['+z']. | |
| max_bridge_mm | No | FDM longest unsupported bridge, mm. Default 10. | |
| build_direction | No | FDM part-local axis pointing up from the bed. Default '+z'. | |
| max_overhang_deg | No | FDM steepest printable overhang, degrees from vertical (0 = wall, 90 = flat ceiling). Default 45. | |
| tool_diameter_mm | No | CNC end-mill diameter, mm. Default 6. | |
| max_undercut_area_mm2 | No | CNC unreachable area tolerated before cnc.undercuts fails, mm². Default 1. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||