use casesuse case

a shelving system as a design script

a modular wall shelving system, a vase and a lattice, each written as a design script whose parameters drive a live 3D model and a parts list.

The brief: a modular shelving system you can configure rather than draw. Choose how it mounts, how many bays, how many shelves and what finish, and get a 3D model and a parts list that agree with each other. The same canvas holds smaller experiments in the same idea: a vase whose outline you drag, and a repeating lattice.

a design script with its parameters, and the model it drives.

A design script is a small program in a design node. It declares parameters, such as a number, a choice or a colour, and a function that turns their values into something: here, a 3D model and a result table. Edit a value and the node reruns. Nothing is modelled by hand.

the shelving script

The shelving script has 15 parameters in five groups, plus a seed:

groupwhat you set
Structurewall-mounted, semi-wall or compressed; the track length; where the track starts; the ceiling height
Bayshow many (1 to 8), and wide, narrow or wide + narrow
Shelveshow many (0 to 12), depth, spacing (even, staggered, or sized for paperbacks, hardbacks, magazines or box files), bookends
Cabinetshow many, and one, two or three drawers or a door; an optional desk
Finishoff-white, silver or black, and a wood choice

Four presets set a whole configuration at once: living room wall, floor-to-ceiling library, home office and record wall.

The node's result is as useful as its picture. It reports the overall width, height and depth, the bays and shelves, how wide a wall it needs, and a parts list with quantities. It also says when something did not fit. On the saved configuration it reads: "4 shelves did not fit — fewer shelves, a closer spacing or a longer track".

the configured shelving: three bays of shelves at staggered heights and a cabinet of three drawers

the script drives a model

The script's output goes to a 3D model node in mesh mode, named for the script. The model is driven by the design: its operations are rewritten each time the script runs, so you change the design, not the model. The model exports GLB, STL and a picture.

the vase

A second script draws a vase from one points parameter, the outline: five handles for radius and height that you drag in the node. Other parameters set wall thickness, flutes, twist and glaze colour. Its result reads out the height, the widest and lip diameters, and what the vase holds, calculated from the inside surface. Four presets: terracotta classic, fluted bud vase, twisted amphora and low bowl.

the vase: a swept outline given a wall

the vase outline is a parameter; the model follows it.

the lattice and the type

The canvas also keeps three drawing scripts: an ixi lattice with 26 parameters, a pixie sprite script with six and the square Kufic type script with 20. They are written the same way as the 3D scripts, but their output is SVG. The type script is an instance of a library design, so a better version published to the library reaches every canvas that uses it.

what to borrow

checked against the product · 2026-10-23