
Antonín Vitoušek in collaboration with Martin Sonnek
00_INTRODUCTION
The aim of this project was to create a street section generator that uses street width and individual parameters to generate different alternative street profile configurations.
01_INPUT PARAMETERS
The generator works with several input parameters that define the street section. These include the total street width, the widths of car lanes, cycling lanes, and tram lanes, with the option to turn each of these elements on or off. Other parameters set the minimum allowed sidewalk width and define the height and proportions of the surrounding buildings in relation to the street width.
02_GENERATOR LOGIC
For each lane type, the user can turn the element on or off using a toggle and adjust its width. If an element is turned on, the generator checks whether it fits into the street section based on a priority order (car – cycling – tram) and the minimum sidewalk width. If there is not enough space, the element is not shown in the street section, even if it is turned on.

Next, the total width of all lanes is calculated and the remaining width is added to the minimum sidewalk width. All calculations are performed on one half of the street section. The street has a central axis defined at zero. In the following steps, the elements are mirrored to create the full street section.

03_LANE MODELING
Each lane is constructed using a rectangle in the XZ plane. The rectangle is defined with a Construct Domain component, where the start value is the summed width of all previous lanes and the end value is this value plus the width of the current lane. These rectangles are then extruded to create the final lane geometry. The extruded geometry is then visually adjusted using the Create Material component.

04_BUILDINGS
Buildings are constructed using the same principle as the street lanes. First, a single underground floor is created using a rectangle. This floor is then copied vertically using a Linear Array component, based on the number of floors.

05_TREES
The trees are created using a sphere and a line. Their shape, offset, and on/off toggle can be adjusted through parameters. If the street profile is too narrow, the trees stop being mirrored and only one row of trees is generated.

06_INFO
The labels are generated with the Text Tag 3D component. The text is joined together using the Concatenate function.

07_CONCLUSION
This project presents a parametric street section generator that allows the user to create different street profile alternatives based on defined inputs. By adjusting the street width, lane types, and other parameters, the tool can quickly test multiple configurations. The use of logical functions and mirroring ensures a clear structure and efficient generation process. The generator can support urban design decisions and help compare different street layout options.
In the future, the generator could include an option to extrude the street section along a curve, allowing it to be applied to a real street layout. It would also be possible to integrate noise calculation and, after adding street lighting elements, to evaluate lighting levels.


