Two hoods.
One shared crown.
Two hand-laid fiberglass hoods, no drawings, no molds. We scanned both faces of both parts, rebuilt them as parametric, moldable CAD with an AI CAD agent in the loop, and checked every surface against the scan.
- Parts
- 2 fiberglass hoods
- Input
- Einstar Vega · top + underside
- Output
- STEP · STL · 3MF
- Modeled by
- AI CAD agent + studio review
- Checks
- deviation · sections · draft
- Status
- Verified vs scan · pre-mold
ScanCAD
4 meshes, both faces
plugs, skins, inner, inserts
vented hood, outside vents
shared by both hoods
Spin it around.
Drag to rotate · scroll to zoom · right-drag to panThe brief.
A restoration client needed two custom fiberglass hoods for the same car remade. One has a raised dome, twin scoops and louvers. The other has heat-extractor vents and a bonded inner panel. There were no drawings and no molds left, just the parts.
The job was to deliver geometry a mold shop can use: mold plugs to machine, and part solids with every opening in place. Laminate thickness, how the inner panel bonds to the skin, and which details were deliberate all had to be read from the parts themselves, or asked about.
- Hood A
- dome · twin scoops · louvers
- Hood B
- vents · inner panel · inserts
- Material
- hand-laid fiberglass
- Toolchain
- Python · OpenCascade
- Deliverable
- mold plugs + part solids
How we ran it.
One loop · every partScan
Both faces of both hoods on an Einstar Vega. Four meshes, about 12 million triangles.
Align
Each top scan is squared to its own mirror plane. Each underside is matched to its top by the shared outer edge.
Read the intent
Before modeling, work out what the original maker was drawing: straight creases, constant flank angles, even louvers, a stock crown under the custom work.
Model
One parametric script per hood. Freeform surfaces are fitted to the scan; every crease, angle, pitch and opening is a named parameter.
Verify
Signed deviation on 250k scan points, section overlays, a draft check against the mold pull, and rebuilds with parameters changed.
Deliver
STEP mold plugs for CNC, part solids with their trims, and a report that tags every dimension with where it came from.
Hood A · louvers.
Mold plug + 3 mm skinThe custom hood. A wedge-shaped dome rises out of the stock crown. Twin recessed scoops sit either side of it, and each scoop floor steps up through a row of louvers. The scan showed every one of these features was drawn with straight lines and constant angles, so that's how we modeled them.
- Dome on two straight creases with 54° ruled flanks
- Scoop pockets with 60° and 65° drafted walls
- 7 louvers a side at equal pitch (the client's call), steps drafted at 75° so the part releases from the mold
- Open louver slots, scoop mouths and pin holes cut as a separate trim body
- Mold plug plus a skin built inward from the A-surface
| Scan → CAD | RMS mm | P95 mm |
|---|---|---|
| Whole surface | 1.26 | 2.40 |
| Outer crown | 1.09 | 1.96 |
| Dome | 0.89 | 2.04 |
| Scoops + louvers | 1.71 | 3.67 |
The scanned hood isn't perfectly symmetric: left and right differ by about 1 mm RMS. The CAD is symmetric on purpose, which puts the outer crown at that floor. The louvers show the cost of equal spacing, because the hand-made originals wander by up to 5 mm.


Hood B · vents.
3 parts · 1 stitched solid

The stock-shape hood is three molded parts. The skin carries openings for the vent inserts. The inner panel bonds to the back of the skin at its flat pads, and we stitched the two into one solid. Each vent insert is its own part: six gills on fanned step lines, with drafted step faces and open slots.
- Skin and inner panel have no undercuts against the mold pull
- Vent geometry is fully parametric: count, pitch, fan angle, depth, draft
- Inner panel follows the underside scan, with its openings modeled on top
| Scan → CAD | RMS mm | P95 mm |
|---|---|---|
| Skin vs top scan, outside the vents | 0.58 | 1.33 |
| Vent inserts | 2.14 | 5.46 |
| Inner panel vs underside* | 2.61 | 2.89 |
* The inner panel's height depends on the laminate thickness. That number is a placeholder until we caliper the parts, so this result moves when it does.



One crown.
The two hoods' outer edges agree to within about 2 mm: same fenders, same cowl. So hood B's top became the stock surface, and hood A was rebuilt as that surface plus its own raised centre. Edit the crown once and both hoods follow.
The trade-off is about 0.2 mm RMS on hood A compared with fitting it on its own. That number is in the report too.
Still open.
- Laminate thickness is a placeholder until calipered. Scans of two separate faces can't measure it.
- Louver crests are left sharp for hand finishing, because the CAD kernel won't fillet them.
- The inner panel is a fitted surface. Its pads and beams aren't separate features yet.
- Fit check on the car after the first pull from the mold.
We publish what's unfinished on purpose. A case study that only shows the good numbers isn't much use to the next person building a mold.
Where AI-CAD breaks.
Field notes · AI-CAD benchmarkThe CAD on this job was built by an AI CAD agent working in Python on an open-source kernel, with one rule: log every miss. It modeled both hoods, checked its own work against the scan, and wrote down everything it got wrong. We reviewed every part and made the design calls.
Tracehaus is a scanning and reverse-engineering studio. We're building toward being the physical ground truth for AI-CAD: real parts, real scans, and a grader that knows what a moldable, machinable part looks like. The public benchmark set will use parts we own.
across 2 parts
before delivery
"valid solid" checks
and published anyway
"Valid solid" is not "correct part".
An inverted vent insert and a hidden void both passed the kernel's validity check. Only section overlays against the scan caught them.
Deviation needs a floor.
A symmetric model can't beat an asymmetric original. These hoods are twisted left to right by 0.73–0.98 mm RMS, so we measure that first and judge the CAD against it.
Some numbers can't come from a scan.
Fitting laminate thickness from two separate scans gave 17.4 mm, then −0.7 mm. One caliper reading beats any amount of fitting.
Editability tests find real bugs.
A cutter that worked at the scanned 75° draft cut nothing at 85°, and the same bug was already in the first part.
Kernel limits are predictable.
Fillets on boolean-split B-spline edges fail and thickening large freeform solids hangs. Rebuilding on offset surfaces gave a uniform 3.00 ± 0.03 mm skin.
| Score 1–5 | Acc. | Intent | Edit | Mfg. | Fit |
|---|---|---|---|---|---|
| Hood A | 3 | 4 | 3 | 4 | – |
| Hood B | 3 | 3 | 3 | 4 | – |
Agent self-scores. Ours follow fabrication; fit can only be scored once a part is on the car.
Owner vs. evidence. The owner said the louvers were open; the underside scan shows them closed. The model follows the owner, puts the choice behind a one-line toggle, and flags the conflict.
Building AI-CAD? We bring the ground truth.
Physical test parts scanned on both faces with caliper-verified dimensions, CAD graded on accuracy, intent, editability, manufacturability and fit, and tagged failure data: the cases a "valid solid" test passes and a mold shop rejects.
No drawings. No molds. Just the part.
Send us the part. We scan it, rebuild it as production CAD, and show you exactly how close it is, and what's still open.
Client and vehicle details withheld. Images and figures are shared with permission.