Reconstruct CAD File
SkillFiles & storageReconstruct a readable parametric ForgeCAD model from an existing CAD or mesh file such as STL, OBJ, 3MF, STEP, or STP.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Reconstruct CAD File skill
What this skill tells your AI
The instructions your AI receives, as published by forgecad/forgecad-public-kit in skills/forgecad-reconstruct-cad-file/SKILL.md and read by ahel’s review.
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.
Workflow
-
Inspect the source directly — the CLI reads CAD/mesh files as inputs, no wrapper script. Gather four evidence types:
ls --longstats, 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.meshdocs. -
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.
Reading the Score
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.
Done 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.
Signals
- GitHub stars
- 932
- Forks
- 105
- Last commit
- Jun 2026
Advanced
- Catalog kind
- skill
- Gateway key
forgecad-reconstruct-cad-file- Source
- github.com/forgecad/forgecad-public-kit