The product model

The language of modular design, from position to variant

Ninety percent of modular work lives in the connections, not the blocks. Learn the five layers, the interface card and the three steps for every dependency.

Modular work has its own language. Positions, interfaces, modules, variants and attributes. Share that language between engineering and sales and you build a product model that lasts for years. We explain it with two images everyone understands. A jigsaw puzzle and a workbench.

The product as a jigsaw puzzle

The product as a jigsaw: positions are empty slots, the interface is the tab and recess, modules are the pieces and variants the fan of pieces that also fit
One puzzle, fixed slots, interchangeable pieces. As long as the tabs stay frozen, every piece may change.

The empty slot is the position. It stays put and waits for a piece. The tab and the recess together form the interface. If they match, any piece that follows the shape clicks in. The piece is the module, and usually several pieces fit the same slot. Alternatives and variants. A piece may itself be a small puzzle, modules may contain modules, as long as the tabs are frozen there too.

Five layers, one language

The five layers of a modular product model: configured product, position, module, variant and parts, with attributes as a separate dimension
Abstract at the top, concrete at the bottom. The real dimensions live with the variant.

The test that keeps everything simple.does it have a physical interface? The drawer block screws to the frame, module. Colour connects to nothing, attribute. This stops everything from becoming a heavyweight module.

The position stays fixed, the module changes

Workbench example with two positions that accept a drawer block, a door cabinet or nothing, and a wide drawer claiming both positions
The interface belongs to the position, not to the module.

The interface belongs to the position, not to the module. Any module that follows the interface fits, including the module you invent next year. Note the wide piece that claims both slots at once. Such a drawer is only selectable when left and right are both free. Rules like these a configurator polices flawlessly. A human does not.

The interface is the contract

Interface card with mechanical mounting, electrical pass-through, mandatory attribute and change rules, plus the interface register
This is where most modularisations fail. Not on the blocks, but on connections that quietly keep shifting.

Ninety percent of modular work lives in the connections, not the blocks. Capture every connection on an interface card. Mechanical (bolt holes, centre distances), electrical, and the attributes every module must report. Cards carry a status, a version and an owner, and together form the interface register, known in industry as the interface control document. Frozen means frozen. Changes only happen through a new version with an impact check.

Who supplies the value of an attribute?

The position demands that an occupied width is reported. The module promises its versions will do so. But the actual number comes from the variant, that is where the dimensions are pinned down. Global attributes (like exterior colour) are set once. Tagged parts read along, and a deliberate override stays possible.

The ERP nuance

Colour remains one property in the model. Does your ERP want its own article code per colour? Fine, the system generates it at order time. The point is not that the code must not exist, but that your engineer no longer creates it by hand.

From if-then rules to one attribute

Comparison of if-then rules between modules with the clean approach where each module reports its occupied width and each skirting computes its own length per side
The dependency flows through the interface as data, not as rules between modules.

Workbench example. The skirting must match whatever hangs on its side. Naively that becomes a web of if-then rules, unmanageable by the tenth module. The clean approach works differently. Every module reports one value to its position (the occupied width), and each skirting reads only its own side. A 300 mm block on the left? Left skirting = 3,000 − 300 = 2,700 mm. A new module next year? It only reports its width. Zero new rules.

The discipline in three steps.design the dependency away (one length with a filler), otherwise absorb it into the interface (a published attribute), and only as a last resort a managed rule in the rule register, with an owner, a version and a reason.

Every dependency is a liability, not a feature.

Frequently asked questions

What is the difference between a module and a variant?
A module is a building block with a stable interface that you can select without re-engineering its neighbours (the drawer block). A variant is an interchangeable version of that module (drawer block 300 or 400 mm wide). At a position you first choose which module, then which variant.
What is a position in a product configurator?
A position is a fixed place in the product structure where a module clicks in, like an empty puzzle slot. The interface belongs to the position, not the module. Any module that follows the interface fits. In PLM this corresponds to a slot in the BOM (find/position number).
When is something an attribute rather than a module?
The test question. Does it have a physical interface connecting to something else? If yes, it is a module. If no (colour, material), it is an attribute. Attributes are managed as data. And if your ERP wants an article code per colour, the system generates it at order time, your engineer does not create it by hand.
How do I manage interfaces in practice?
Through an interface register, with per connection an interface card stating what passes across (mechanical, electrical, data/attributes), a status (draft or frozen), a version and an owner. Changes only via a new version with an impact check. Industry knows this as the interface control document (ICD).
How do I avoid a tangle of if-then rules?
Three steps, in this order. Design the dependency away; absorb it into the interface as a published attribute that modules report and neighbours read; and only as a last resort an explicit, managed rule in a rule register.

From your positions and interfaces to a working model.

Bring your hardest assembly. We turn the positions, interfaces and variants into a model that only allows buildable choices.