Digital Design / 2025
Coding Architecture I
Computational design studies progressing from brick bonds to filtered grids, building elements, and A-Hive, a mixed-use building in Altstetten.
- Location
- Zurich, Switzerland
- Typology
- Digital Design
- Status
- Student project
- Year
- 2025
Work from the Autumn Semester 2025 Coding Architecture I course at ETH Zurich. Using Python, COMPAS, Rhino, and Grasshopper, the exercises develop loops and conditions into object-oriented filters, building grids, slab classification, and facade generation.
A01 brick walls, A02 filtered grids, A03 building grids and slabs, and the A04 final design A-Hive are presented as one continuous project. Each stage documents the assignment objective, implementation, and actual submitted output.
A01 — Parametric Brick Wall
Assignment objective
The assignment uses Python loops and conditions with COMPAS Box geometry to build a stretcher-bond wall controlled by brick dimensions and row and column counts. The basic bond is extended with distance-driven rotation and half-bricks.

Approach and implementation
Alternating rows receive half-length offsets. The distance between each brick and an attractor point controls rotation. Separate end conditions and half-bricks align the ends of alternating courses.
Output
The submission contains a Grasshopper definition and three images: the basic bond, an attractor-driven rotated wall, and a wall with aligned ends. Changing placement and rotation rules produces distinct facade rhythms and depth from the same brick module.


A02 — Sculpting a Filtered 3D Grid
Assignment objective
The assignment creates an object-oriented filter that selects 3D grid points using Brep geometry referenced from Rhino. Accepted points become boxes, with extensions for filter combinations and data visualization.

Approach and implementation
BrepFilter tests whether points lie inside the geometry. The Grid component collects accepted points and boxes and remaps height values to 0–255 colour data. MergeFilter combines two filters with OR or AND to apply geometric and mathematical conditions together.
Output
Two submitted images show stepped volumes and a filtered grid with pronounced vertical modules. A black-to-red height gradient makes the vertical distribution legible. The Grasshopper definition, Rhino model, and actual output screenshots document both geometric control and height visualization.

A03 — Building Grid and Slabs
Assignment objective
The task generates slab objects from building-grid VolMesh faces parallel to the XY plane. The Slab class stores geometry, category, and originating halfface ID, linking form to element information.

Approach and implementation
Opposite-cell adjacency and face direction distinguish roof, floor_slab, and bottom_slab categories, visualized by colour. Integer division and modulo operations convert slab indices into stacking rows, columns, and levels. The submitted code uses ten slabs per stack and five stacks per row.
Output
The first submitted image shows coloured slab categories within a grid of columns and beams. The second separates and stacks copies of the slabs. The same element data is represented in its building position and in an arrangement for fabrication and transport.

A04 — A-Hive, Filter-Based Mixed-Use Building
Assignment objective
The final assignment integrates filters, building grids, and element-generation code on a real Zurich site. A-Hive selects Altstetten and expresses the contrast between dynamic office space and calmer residential space through two interlocking masses.

Approach and implementation
The project modifies and applies scripts developed in class. A Brep filter shapes the lower volume; office modules are halved to refine the form. Curtain walls are controlled by the number of panels per face rather than fixed glass dimensions. An attractor curve shapes variation in the residential area, while a Common Bond brick pattern prioritizes a condition for every sixth course.
Output
The final submission includes a Grasshopper definition, Rhino model, five renderings covering perspective, aerial views, and facade detail, and a one-page poster. The interlocking office and residential masses and the contrast between glass and brick are shown within their urban context. A-Plaza proposes opening the base to the city; the poster describes the relationship between work and living as a Living Grid.





Credits
- ETH Zurich, Coding Architecture I, Autumn Semester 2025
- Role: adapting and extending course scripts, assignment implementation, architectural design, modelling, rendering, and poster production