All posts

Measured, not guessed

Most AI CAD tools trace a shape. The useful ones measure it first. Here is the difference on a real part, and why it decides whether the model is editable.

August 30, 20265 min read

There are two ways to turn a 3D scan into CAD, and the gap between them shows up the first time somebody tries to change a dimension.

The first way is to look at the shape and draw something similar. A model sees the mesh, or renders of the mesh, and writes CAD code that produces a part with the same silhouette. It is fast, it demos beautifully, and the result is close. Close is the problem. A hole that measures 5.97 mm was a 6 mm drilled hole in the real part. A face sitting 0.3 degrees off vertical was a machined flat. Trace the shape and you faithfully reproduce every mistake the scanner made, which is a bit like transcribing a phone call and including the static.

The second way is to measure the part first, then build to the measurements. Fit a plane to the flat. Fit a cylinder to the bore and read its radius and axis. Find the symmetry plane. Only once you have those numbers do you start modelling, and the model is built to the numbers rather than to the point cloud.

We build the second way. Here is why the first way keeps losing.

A scan is not a part

A structured light scanner gives you a triangle mesh. That mesh carries the part plus everything else that happened in the room: noise on shiny surfaces, a little warp from registering multiple passes, holes where the scanner could not see, and a surface that is faceted everywhere because triangles are flat and your part is not.

Feed that mesh to something that traces outlines and the noise gets promoted to geometry. You get a bore that is very slightly oval, because the scan of a round bore is very slightly oval. You get a top face that is not quite parallel to the bottom face, because the two scans of them were not quite aligned. Each of those is now a defect you have to find and fix by hand, and hunting them takes longer than modelling the part yourself would have.

Fitting inverts the problem. A cylinder fit to ten thousand points on a bore wall does not care that any individual point is 0.05 mm off. It returns one radius, one axis, and a residual that tells you how well the points agreed. Tight residual: that bore was round and you know its size. Loose residual: the feature is not a cylinder and you should stop pretending it is. The measurement arrives with its own confidence rating, which is more than most opinions manage.

Fitting tells you what a feature is

The second thing fitting buys you is classification. A plane with a tight residual was a machined flat. A cylinder with a tight fit and a short extent is a hole or a boss. Two parallel planes at a constant offset are a wall of known thickness. A cylinder whose axis runs through the part centroid is a turned feature, and the whole part probably wants a revolve rather than an extrude.

That matters because a feature tree is not just a shape, it is an order of operations. An engineer modelling a bracket starts with the base plate, extrudes the ribs, drills the holes, then fillets the edges. Do it in that order and everything downstream survives when you change the plate thickness. Do it in some other order, or as one giant surface body, and changing anything breaks everything, usually five minutes before the file is due.

You cannot pick a sensible order from a picture. You can pick it from a list of measured features and how they sit relative to each other.

Where the AI actually goes

None of this removes the model from the loop. It moves it somewhere more useful.

The measuring is done by geometry, deterministically, by algorithms that have existed for decades and that either converge or tell you they did not. The language model receives those measurements as facts, along with orthographic views of the mesh, and does the part humans are good at and least squares fitting is not: deciding what this thing is, what order to build it in, and which dimensions deserve to be named parameters.

That is a judgement task. It is also a task where being wrong is cheap, because the result gets scored against the original scan before anyone sees it. Volume overlap, a deviation map, per hole radius error. A proposal that guessed badly turns up as a red patch, and the loop tries again with that feedback in hand. The model is allowed to be creative precisely because it is not allowed to be the referee.

Ask the same model to do the measuring as well and you lose the check entirely. There is nothing left to compare against, because the thing you would compare against is the thing you asked it to invent. At that point you are not doing reverse engineering, you are doing improv.

What it looks like on a part

On a cast bracket we rebuilt recently, the fitted approach landed within 0.11 mm median deviation of the scan, with every hole coming out at its nominal diameter rather than its scanned one. The part arrived in Fusion as a base extrude, a section extrude for the raised boss, four holes and a fillet set, with plate thickness and hole diameter exposed as named parameters.

The number that matters is not the 0.11 mm. It is that changing the plate thickness afterwards took one keystroke and the model rebuilt correctly.

That is the entire point of CAD. A tool that hands you a beautifully accurate part you cannot edit has not given you a model. It has given you a nicer mesh in a fancier file format.

If you have a scan you cannot model, we would genuinely like to see it. The stubborn ones teach us the most.

Have a scan you cannot model?

Send it over. Founding customers get their first parts rebuilt by hand while the tool is in early access, which is a polite way of saying we want the hard ones.

Request early access

Measured, not guessed | MeshWright