The bus stop I design consists of three main elements: (1) a decorative wavy panel, (2) a roof canopy/overhang, and (3) the vertical structural support for the roof. I was intentional about making the roof canopy extend pretty far out because I’ve been at bus stops before where it was raining and the structure wasn’t able to accommodate many people underneath it.
To model this structure, I first defined the base nodes for the column foundations (the cubes at the base) and designed it such that I could change the number of columns with fixed spacing using just an integral slider. I then geometrically transformed those nodes to create the remainder of the vertical support system.
To model the roof framing, I made a total of four panels. For each panel, the width and angle may be adjusted to change the shape of the overall roof canopy. I played around with both parameters until I found a structure I liked.
I then added panels between the columns and applied the Revit family ‘Rectangular Panel with Resizable Opening’ so that people waiting at the bus stop are able to see the environment around them while waiting for the bus. I did the same with the roof. I also added columns and beams to emulate the framing system I envisioned. I achieved this by extruding a rectangular curve along the line that defines the column to create a surface, then thickening that surface until I got the column shape I wanted.
Finally, I created the decorative back panel. This was originally a flat surface that I later modified into a wavy surface. I did so by generating a number of points on the lines that make up the surface and applying the sine wave function to the x-coordinates of these points to create that wave effect. I then created curves using these points, created the decorative surface using these curves, and increased the thickness slightly for a more realistic look.
The following parameters can be used to change this structure:
- Column spacing
- Number of columns
- Back panel height
- Roof height
- Roof angle
- Roof extension length
- Number of waves on the decorative panel
- Wave amplitude of the decorative panel
- Wave definition (how rounded the waves are)
- Column thickness
- Panel thickness
These were achieved using either number sliders, integer sliders, or code blocks containing number inputs. All parameters may be changed, either individually or together, without affecting the other parameters. The following images display a few possible design configurations.