You can work a product out to the millimetre. You can make assemblies, set tolerances, generate drawings and finally build something that actually fits in the workshop.
But the longer I work with configurators, the more I notice that geometry is only one part of the product. The shape does not tell you why something is built that way. A 40 × 40 × 2 mm profile can look almost identical in CAD in three places, while in reality it has a different role in the product each time.
That difference looks small, but for product configuration it is fundamental.
Geometry sees the result
Take a simple work table.
The leg can be a 40 × 40 × 2 mm box profile, with a length that depends on the working height and the thickness of the top. In CAD you finally just see a profile with a certain length. For the product that leg means much more: it belongs to a frame, stands on the floor, carries the top, and finally also has to produce useful output for manufacturing.
That is the difference for me.
Geometry shows what is being built. The product model describes why that part exists, which role it plays, and how it relates to the rest.
Why this becomes important in configuration
On a fixed product a lot of knowledge can stay silent in the CAD model.
The designer knows why a dimension is 38 mm, when a hole is needed or not, and which plate length still fits the press brake. As long as one person knows that model, it often works fine. But as soon as you build a configurator, the system has to understand that knowledge too. What used to live in the designer's head then has to be described explicitly.
And that cannot live in geometry alone.
A solid product model has to make clear which parameters exist, which values are valid, which parts form the product, and which relations sit between them. It also has to know which dimensions are calculated, which constraints always have to hold, and which output is finally needed for price, engineering or production. Only then can CAD, or a geometry kernel, make the right shape from that.
Not everything has to become semantic
I do not think every line or every face needs an extensive meaning.
That would mainly make the system heavier. The interesting level sits higher for me. I would rather work with concepts such as Profile, Plate, Bend, Material, Constraint or Assembly than immediately with loose edges, faces and coordinates. A plate is not just a shape, but a part that is made in a certain way. A profile is not only geometry, but also stock, cut length, connection and material.
There is knowledge in that which you can later do something with.
You can build geometry from it, but also a bill of materials, a cutting list, a price, a production check or machine output.
The kernel is therefore not the source of truth
That is also how I have come to look at my own geometry kernel.
When I started, the focus was mainly on generating geometry quickly for configurable products: plates, profiles, holes, cut-outs, flanges, mitres and assemblies. That remains useful. But the kernel should not decide what the product means.
The kernel should mainly be good at one thing: turning a clear technical description into geometry and usable fabrication information. The meaning of the product sits above that. There it can be described, for example, that a component is a leg, that four legs together carry a frame, and that a certain plate length is limited by the available machine. The kernel then gets a concrete program and builds the right geometry from it.
That distinction makes the system much cleaner for me.
A product model can also exist without CAD
That may be the most interesting consequence.
If the meaning of the product no longer sits fully inside a CAD model, the same product knowledge can be used through the whole process. The configurator, price calculation, production check and geometry engine then each work with the same underlying information, without having to interpret the product again every time. CAD remains important for detail engineering, but does not automatically have to be the only product model as well.
Where I want to go
I therefore try to think more in layers.
At the top sits the product itself: structure, parameters, relations, constraints, materials and intent. Below that comes logic that calculates values or checks choices. One layer lower there can be a fabrication layer that knows how profiles, plates and connections are made. And only then comes the exact geometry.
Not every product needs all those layers. A simple configurator should be able to stay simple. But on more complex products that separation gives much more grip than putting everything directly in CAD or in a large web of rules.
For me that is now the core of the idea:
geometry describes how the product looks. The product model describes what the product is and why it is built that way.
That difference looks theoretical until you try to build a configurator that has to last for years.
Then it becomes very practical.