/02 — 2023 – 2025
Maker Chair — Final Design
A 2.5-year solo continuation of the workshop: an organic lattice fused with bone-like diamond elements, ready to print and assemble.
- role
- Individual work
- location
- Warsaw University of Technology
- tutors
- Krzysztof Nazar
- tools
- Rhino · Grasshopper · Karamba3D · Python

Overview
Building on the workshop, I developed the concept individually, inspired by organic forms and the potential of algorithms in design. The final form is an organic, tree-like lattice with diamond-shaped bone elements embedded into it, forming a truss that blends into the overall silhouette. Every part has a planar side so it 3D-prints flat and clean — a ready-to-print, numbered, easy-to-assemble set.
Branch geometry is driven by a space-colonization algorithm. Nutrient points P(x, y, z) are randomly generated inside a cylinder of radius R and height H — radius r = random(0,1) · R for uniform distribution, angle θ ∈ [0, 2π], height z ∈ [-H/2, H/2]. Branches then grow iteratively toward the averaged direction of nearby attractors; a kill-range removes points too close to a branch to prevent instability.
A custom LT / LB / RT / RB numbering system, plus an opposite-side index marking each element's position in the lattice matrix, makes assembly tractable. The whole design collapses into a single 'golden button' script: adjust the number of diamond elements, the chair's height, even swap the boundary surface — and the structure regenerates.


Prefabrication & assembly — the 'golden button' script
Two numbering logics run in parallel so every element prints flat and slots into its place. The exploded axonometry doubles as a communication drawing and an assembly manual — the piece that made the 'golden button' script possible.
- Every piece is numbered, planar, and oriented
- Diamonds: corners labelled A / B / C / D plus a lattice index, so adjacent faces mirror correctly
- X-intersections: each arm labelled LT / LB / RT / RB, with an opposite-side index aligning it inside the overall matrix
- After many trials, the only numbering scheme that handled every case without exceptions
- One parameter tweak (element count, chair height, boundary surface) regenerates the whole chair


Structural optimization of the seat
FEM analyses compared 1 cm, 2 cm and 4 cm PLA shells at 50% infill against a 2 cm displacement / 2% stress target.
- 1 cm shell: 11.73 cm displacement, ~14% stress — far above target
- 2 cm shell: 6.5 cm displacement — still out of spec, risk of failure
- 4 cm shell: under 2 cm displacement, below 2% stress — all requirements met

Branch script — six-step logic
A space-colonization algorithm drives the lattice. Growth direction at each branch tip is the normalized sum of unit vectors pointing to every attractor within its attraction distance — producing a natural, non-repetitive silhouette.
- Define the bounding volume
- Distribute attractor points inside it
- Branches start growing from the base
- Branches split toward attractor clusters
- Curves are smoothed
- Final form emerges
