Install any skill in seconds. Free to start, no credit card required.
Get Started Free →forgecad/forgecad-reconstruct-cad-file
Reconstruct a readable parametric ForgeCAD model from an existing CAD or mesh file such as STL, OBJ, 3MF, STEP, or STP.
Passed 15 of 20 test cases with the skill, and 8 of 20 without it.
and 6 more in the full report
8 fixed9 passed either way6 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 8 test cases the skill fixed. Same model, same prompt, with and without the skill.
Besides achieving a high 3D comparison score, what visual comparison command must pass before marking `/code/handle.forge.js` as done?
| Checked | Without skill | With skill |
|---|---|---|
| Requires passing an `inspect compare overlay` visual verification command. | Missed | Passed |
The instructions your model reads when the skill loads.
The reference asset is evidence, not the deliverable. The deliverable is a readable, parametric .forge.js model that runs, renders, and scores well against the source. Never return Import.mesh()/Import.step() of the source as the final model unless the user explicitly asks for an import wrapper — imports are for measurement, rendering, and scoring only.
Routing: user wants to KEEP the file as a live component and design around it (bracket, enclosure, mating assembly) → forgecad-build-model (Imported Parts section), not this skill; prepared benchmark/RL episodes → use the task-local benchmark instructions, not the public skill library; inspection-bundle interpretation → forgecad-inspect-model; independent grading after reconstruction → forgecad-grade-model; API and command reference → forgecad skill + CLI.md.
Inspect the source directly — the CLI reads CAD/mesh files as inputs, no wrapper script. Gather four evidence types: ls --long stats, an iso render, per-object views, sampled sections (invocations in CLI.md; when sharing a renderer server via --port, run renders sequentially).
3MF: enumerate every build item before scoring — hidden multi-part structure is a common miss. Item ref syntax: Import.mesh docs.
Reconstruction Brief before modeling: what must be exact vs. approximate vs. parametric; symmetry, origin, key reference planes; likely manufacturing process; scoring tolerance and alignment policy.
Blockout first. Match bbox and main masses, then add features. Model real geometry with blueprint-first APIs — never vertex-chase a faceted copy.
Compare numerically — the core loop:
forgecad compare 3d path/to/source.stl path/to/candidate.forge.js \
--samples 3000 --json --output /tmp/<slug>-score.json
Iterate coarse to fine: bbox/placement → main volumes/silhouette → holes/bosses/ribs/shells → edge treatments → small details.
Alignment: start --align none. Use --align center only when origins clearly differ but scale and orientation match. Use --align center-scale only for exploratory diagnosis — it hides dimensional errors.
| Signal | Diagnosis |
|---|---|
| Low coverage | Missing or extra surface |
| High RMS | Broad proportional mismatch |
| High p95/max | Localized outlier feature (protrusion, hole) |
| Bounds delta | Size, origin, or scale mismatch |
| Volume delta | Mass, shell, cutout, or scale mismatch |
Calibration: 95+ simple prismatic/revolved parts, 90+ ordinary mechanical parts with fillets/cutouts, 80+ acceptable for organic, faceted, or underdetermined sources. Always report raw rms, p95, max, coverage, bounds delta, and volume delta — a high overall score with a large max can hide a missing local feature.
Faceted sources: decide whether tessellation itself is evidence. Matching low-poly faceting raises the score but reduces parametric clarity — prefer analytic intent unless faceting is part of the artifact or required by the acceptance criteria.
The final model must run, render, re-compare at --samples 5000, and pass an inspect compare overlay. Add targeted inspects (forgecad-inspect-model) when the object is multi-part, hollow, thin-walled, or surface-sensitive. Report: source and candidate paths, score JSON path, final metrics, and every known mismatch classified as intentional simplification or remaining work.
test cases passed, vs 8 / 20 without
Published skills whose descriptions closely match this one, with their headline benchmark lift.
More skills from the same source and nearby in the registry, with their headline benchmark lift.