Sunlight-Constrained Buildable Volume Generator



Author:

Categories: PN3+DC3 | Tutorials

Tagged with: | | | |


Finbar Quinn, Sofiia Kovalenko

Introduction & concept

Sunlight is typically represented as a trajectory across the sky, reducing a spatial phenomenon to a simple curve. In reality, solar exposure occupies a three-dimensional volume that interacts with architectural space over time.

This project treats sunlight as an active spatial force rather than a passive environmental factor. Instead of drawing the sun’s path, it constructs the space through which light must travel, revealing invisible corridors that define where architecture can and cannot exist. In this way, solar access becomes not a constraint applied after design, but a formative condition that shapes architectural capacity from the outset.

Early Design Sketches

Project Overview

This project generates the maximum buildable volume on a site while ensuring that each existing window receives at least 90 minutes of direct sunlight within a defined time range (e.g., 8:00–16:00).

The workflow operates inversely. Rather than testing a proposed design for compliance, the system identifies volumes that would obstruct required sunlight, subtracts them from the site, and leaves behind only the space that can be legally built.

System Components

The methodology integrates three core elements:

Core Logic

The process operates in three conceptual layers:

Each layer builds on the previous one.

So, how the algorithm works?

The workflow consists of five main stages.

  1. Input Parameters

Geometry Inputs

From these, a maximum theoretical buildable envelope is generated.

Resolution Inputs

Higher precision increases computational cost.

Sun Analysis Inputs (LADYBUG PLUGIN)

This produces multiple candidate 90-minute sunlight segments for each window.

Geometry input

2. Time Segmentation and Sunbeam Generation

Within the defined time range:

For each window and each segment:

This volume represents space that must remain empty to preserve that specific 90-minute sunlight condition.

2.1 Construction of viable lines for sunbeams

Generating directional line vectors that define the geometric framework for constructing the sunbeam Brep volume.

2.2 Sunbeam Point Organization

The generated sunbeam lines are organized into a structured data tree, assigning each line to a specific window corner. This ensures clean grouping and enables accurate Brep construction.

2.3 Sunbeam Construction

The organized points are used to construct a closed Brep volume representing the spatial extent of each sunbeam. This volume defines the space that must remain unobstructed.

2.4 Sunbeam Selection

Since multiple 90-minute segments exist, several sunbeam volumes are generated per window. One volume per window is selected using Gene Pool, which acts as a set of decision variables for evolutionary optimization in Galapagos.

3. Voxel Grid Construction

A voxel grid is generated within:

Each voxel represents a unit of potentially buildable space.

At this stage, the grid is completely solid — representing the maximum theoretical buildable mass.

3.1 Voxel Center Grid Generation

A grid of voxel center points is generated inside the plot volume, which must be sufficiently large to encompass all potential solar constraint volumes. These points define the spatial framework for voxel creation.

3.2 Voxel Generator

At this stage, a single voxel box is defined as a base volumetric unit. This voxel will later be instantiated at the remaining grid center points after the subtraction and filtering processes.

4. Subtractive Logic

For a selected sunlight segment per window:

After processing all windows, the remaining voxels represent compliant buildable space.

4.1 Deleting Shading Voxels

The sunbeam Breps are populated with point clouds, and the closest points to each voxel center are evaluated. Voxels associated with points inside the sunbeam volume are identified and deleted.

4.2 Pre-Optimization Output

5. Optimization with Galapagos

This is where the system becomes generative rather than deterministic. Each window has multiple valid 90-minute segments. Choosing different segments leads to different spatial deletions. Instead of manually selecting segments, Galapagos is used as an evolutionary solver.

Genome (Variables)

Fitness Function

Galapagos evolves combinations of segment assignments and searches for solutions that:

Maximize overall buildable mass

Why Optimization Is Necessary?

Without optimization, the selection of sunlight segments remains arbitrary, causing sunbeam volumes to disperse unpredictably in space. As a result, the buildable volume becomes fragmented and inefficient.

With Galapagos, sunlight corridors begin to spatially align and overlap. Windows tend to share similar solar paths, consolidating void spaces and producing a denser, more continuous buildable mass.

In essence, the system learns to compress environmental constraints into the smallest possible spatial footprint.

Summary

1.Adjustable Parameters Summary

Geometry

Sun Parameters

Resolution

Optimization

2. Output

The system produces:

Conceptual Framing

This workflow transforms a regulatory requirement (“Each window must receive 90 minutes of direct sunlight”) into a spatial optimization problem.

Sunlight becomes an active design agent that carves voids from a solid mass, while Galapagos reorganizes those voids to maximize development potential.

Rather than checking compliance after design, the system generates compliant spatial capacity directly from environmental logic.

Download the scripts and Rhino test file below.