1. English becomes a brief
The request is turned into a CAD brief: dimensions, units, origin, which plane the sketch lives on, what has to be true when it is done.
An experiment with earthtojake/text-to-cad
Every model on this page started as one line of plain English. No mesh generator, no photogrammetry, no 3D scan. An agent wrote parametric Python, OpenCascade built the solid, and the result is a STEP file you can open in SolidWorks, Fusion or Onshape and keep editing.
Five models, increasing in difficulty. Drag to orbit. Move the sliders and the geometry changes, because the dimensions are still parameters.
The request is turned into a CAD brief: dimensions, units, origin, which plane the sketch lives on, what has to be true when it is done.
The agent writes build123d source: named parameters, sketches, extrudes, lofts, booleans, fillets. The code is the model. It is on this page, unedited.
OpenCascade, the same geometry kernel behind FreeCAD and a lot of commercial CAD, evaluates it into a boundary representation. Analytic faces, real edges, closed volumes.
It renders the solid, reads the image back, and judges whether it looks like the thing that was asked for. If not, it edits the source and tries again. Every model here survived that loop plus two adversarial reviewers.
Most "text to 3D" produces a mesh: a shell of triangles that looks right and means nothing. You cannot dimension it, you cannot put a tolerance on it, you cannot hand it to a machine shop. A STEP file is different. The cylinder in it is a cylinder, with an axis and a radius. That is the difference between a picture of a part and a part.
And because the source is parametric, none of this is frozen. Change one number, rebuild, get a new certified-clean solid. The sliders above are exactly that: each position is a separate STEP file, generated by the same script with one argument changed.