Parametric Rotational Tower – Radial Waffle Structure



Author:

Categories: Tutorials


Grasshopper file:

Aim

The objective of this project was to develop a fully parametric timber tower using Grasshopper, creating a workflow that integrates geometric design, structural generation and digital fabrication within a single definition.

The design is inspired by the Pyramidenkogel Tower in Austria, whose expressive twisting geometry is recreated through parametric relationships rather than manual modelling. Instead of producing a fixed shape, the Grasshopper definition allows the tower to adapt dynamically by modifying a set of design parameters such as the number of floors, floor height, section radii, spiral displacement and torsion angle.

The project extends beyond the generation of the external form. Once the tower geometry is defined, the script automatically creates its structural system by generating vertical and horizontal beams, resolving their intersections through fabrication joints and preparing every structural element for laser cutting.

The final outcome is a complete digital workflow that transforms a parametric architectural concept into fabrication-ready components.

Project Result

Grasshopper Workflow

The Grasshopper definition is organised into four main stages:

  1. Generation of the parametric tower geometry.
  2. Creation of the structural timber framework.
  3. Fabrication preparation through joint generation and beam extraction.
  4. Automatic labeling and nesting of all components for laser cutting.

Stage 1 – Parametric Tower Generation

The tower geometry is generated from a series of horizontal elliptical sections distributed along the vertical axis. The number of floors and the floor-to-floor height define the overall scale of the tower, while a set of Graph Mapper components controls the evolution of the section dimensions and the overall silhouette.

To avoid a purely vertical configuration, the centre of every floor is displaced using sine and cosine functions, producing a smooth spiral movement along the height of the tower. Each section is then progressively rotated according to a torsion function, generating the characteristic twisted form inspired by the reference project.

Finally, all rotated sections are lofted into a continuous surface, producing the parametric envelope that serves as the basis for the structural system.

Stage 2 – Structural Beam System

Once the tower surface has been generated, the structural framework is created automatically.

Sixteen vertical cutting planes intersect the tower surface to generate the curved vertical beams, while thirty horizontal planes produce the perimeter rings. Both systems are then transformed into structural members with adjustable rectangular cross-sections.

The result is a lightweight radial waffle structure whose geometry updates automatically whenever the main tower parameters are modified.

Stage 3 – Fabrication Preparation

The vertical and horizontal beams are automatically intersected in Grasshopper to generate the assembly joints required for fabrication, after applying cleaning null data to avoid possible future errors.

Once all intersections are resolved, each beam is individually extracted from the three-dimensional model and projected into the XY plane. This produces a complete set of two-dimensional fabrication drawings while preserving the geometry of every curved element.

Stage 4 – Nesting for Laser Cutting

The final stage prepares all fabrication drawings for production.

Using the OpenNest plugin, every beam is automatically arranged onto A0 sheets in order to minimise material waste while maintaining the identification of each component.

Each beam is assigned a unique identifier following a continuous numbering sequence:

The labels are generated automatically in Grasshopper, ensuring that every identifier remains linked to its corresponding element throughout the entire workflow.

Once all beams are projected into the XY plane and nested onto A0 sheets using OpenNest, the corresponding labels are added to the fabrication drawings. The labels are positioned in the centroid of each component to maintain maximum readability while preserving the complete geometry of the laser-cutting profiles.

The same identifiers are also displayed within the three-dimensional model, creating a direct correspondence between the digital structure and the fabricated components. This allows each physical beam to be immediately associated with its exact location, orientation and sequence during assembly.

The automatic labeling system transforms the parametric model into a comprehensive assembly guide. By maintaining a one-to-one correspondence between the fabrication drawings and the 3D model, every beam can be easily identified, reducing assembly time and minimizing the risk of placing components in incorrect positions.

This integrated workflow establishes a continuous link between parametric design, digital fabrication and on-site assembly, ensuring that all components remain consistently organized from the initial model to the final construction.

Script Capabilities

One of the main strengths of a parametric workflow is the ability to generate radically different design outcomes simply by adjusting a few key sliders — without modifying the underlying script logic. The following variations demonstrate the range of forms that can be produced from the same definition.

Plugins Used

This project was developed using native Grasshopper and Rhino components only, with one exception for the fabrication preparation stage:

OpenNest

OpenNest — Free, open-source nesting plugin for Grasshopper developed by Petras Vestartas.

OpenNest was used to arrange all the flat pieces (vertical ribs and horizontal rings) onto standard laser-cutting sheets automatically. Without a nesting tool, placing dozens of irregular pieces manually onto sheets is time-consuming and wastes material.

In this project, OpenNest handles:

It can be downloaded here: https://www.food4rhino.com/en/app/opennest

All other components — surface generation, graph mappers, torsion, attractor logic, waffle structure, solid difference for slots, and labeling — are 100% native Grasshopper/Rhino with no additional plugins required.