Record / Lab · Case study 01

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
Hood A as scanned, with bolt-on hardware and hand-made irregularities Hood A rebuilt as a symmetric, drafted CAD mold plug
ScanCAD
Hood A · drag to compare the scan with the rebuilt mold plugSame view, same lighting
12MTriangles scanned
4 meshes, both faces
7CAD solids delivered
plugs, skins, inner, inserts
0.58mmSkin RMS vs scan
vented hood, outside vents
1Base surface
shared by both hoods

Spin it around.

Drag to rotate · scroll to zoom · right-drag to pan
3D view loads when you get here
Display meshes are simplified for the web, so fine detail is softened. Deviation colours each scan point by its distance to the CAD.Hood B's underside scan is placed using the assumed 5 mm laminate.
01

The 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
02

How we ran it.

One loop · every part
  1. Scan

    Both faces of both hoods on an Einstar Vega. Four meshes, about 12 million triangles.

  2. Align

    Each top scan is squared to its own mirror plane. Each underside is matched to its top by the shared outer edge.

  3. 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.

  4. Model

    One parametric script per hood. Freeform surfaces are fitted to the scan; every crease, angle, pitch and opening is a named parameter.

  5. Verify

    Signed deviation on 250k scan points, section overlays, a draft check against the mold pull, and rebuilds with parameters changed.

  6. Deliver

    STEP mold plugs for CNC, part solids with their trims, and a report that tags every dimension with where it came from.

03

Hood A · louvers.

Mold plug + 3 mm skin

The 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 → CADRMS mmP95 mm
Whole surface1.262.40
Outer crown1.091.96
Dome0.892.04
Scoops + louvers1.713.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.

Plan-view deviation map of hood A, scan versus CAD
DeviationSigned distance from 250k scan points to the plug. Orange = scan above CAD, blue = below. Bolt-on hardware excluded.
Section through the louver row: scan versus CAD skin
SectionThrough the louver row. Wide dark line = scan; light line = CAD skin. Drafted steps, with the open slots in the step faces.
04

Hood B · vents.

3 parts · 1 stitched solid
Hood B skin with two vent inserts
Skin + insertsStock crown with two separate vent inserts dropped in.
Hood B inner panel seen from below
Inner panelFrom below: bond pads, hat-section beams, latch and vent openings.

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 → CADRMS mmP95 mm
Skin vs top scan, outside the vents0.581.33
Vent inserts2.145.46
Inner panel vs underside*2.612.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.

Bond map: gap from the inner panel to the back of the skin
Bond mapGap from the inner panel to the skin. Bright pads are where the parts bond; the darker, the deeper the beam.
Deviation map of hood B, top scan versus skin and inserts
DeviationTop scan to skin and inserts. Most of what's left is the original's own left/right twist.
Section through one vent: skin, inner panel, insert and scans
SectionThrough one vent. Light = skin, grey = inner panel, chartreuse = insert, wide dark line = both scans.
05

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.

Delivered
Mold plugs · STEPSkins · STEP / STLInner panel · STEPVent inserts · STEPTrim bodiesParametric scriptsDeviation report
06

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.

07

Where AI-CAD breaks.

Field notes · AI-CAD benchmark

The 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.

23Failure modes logged
across 2 parts
9Fixed or worked around
before delivery
2Defects that passed
"valid solid" checks
10Still open
and published anyway
  1. "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.

  2. 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.

  3. 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.

  4. 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.

  5. 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–5Acc.IntentEditMfg.Fit
Hood A3434–
Hood B3334–

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.