ARCH 653 - Project 2

 Introduction

 For Project 2, I chose to modify the Utrecht University Library located in Utrecht, The Netherlands. As a recap, the library was originally founded in 1636. The new library building was completed in 2004. The new 40,000 square meter building appears as an "unassuming box" when viewed from a distance.

 
Source: Utrecht University Library. Projects - Wiel Arets Architects. (n.d.). https://www.wielaretsarchitects.com/en/projects/utrecht_university_library/
 
Project 1 Recap
 
In project 1, I created a parametric mass that can be manipulated by adjusting its length (X), Width (Y), and Height (Z) parameters.  The mass was used as a template to create the building form. These values were set as instance parameters, so multiple instances can be used in the model without causing conflicts. I then created a generic mass and applied a modified rhomboid pattern to its surface. This resulted in the system of wooden louvers shown below. See my blog post regarding Project 1 for for information.

 
Generating Code with AI
 
For Project 2, I reused my parametric mass and further modified the building by creating a Dynamo script to randomize the panels in curtain walls. I attempted to use Claude AI to write a Python script that I could run with Dynamo. However, this resulted in several errors which rendered my Dynamo script unusable. The image below shows the Python script which did not work.
 
I have utilized an AI tool in generating the code in the image above. Specifically, I used Claude AI to generate the code. I understand that I am fully responsible for the content generated and its incorporation into my project. 

The Solution
 
After having no success with Python, I read forum posts, watched several Dynamo tutorials, and consulted ChatGPT for advice on how to fix this. I ultimately decided to not use Python scripts. After finding a solution that worked, I modified it to fit my needs for this project. Below is the Dynamo script I created.  


To use run this script, the user must first select a curtain wall in the Revit model using the Select Model Element node. The Curtain Panel by Element node then collects every panel in the curtain wall and adds them to a list. Three Family Types nodes define the curtain panel types I used in this project (standard glazed, Steel, Gold) and adds them to a list. A math operation then ensures the output from this list of families is equal to the number of panels in the first list. Without this critical step, the script crashes. The resulting output is then shuffled and used by the Set Parameter by Name node to randomize the panels in the curtain wall. The script is executed whenever the number slider, which acts as a seed, is moved by the user.

Another Unexpected Error

This script successfully randomized the panels in the selected curtain wall. However, it can only process a single wall. I tried to address this by adding four Select Model Element nodes to a list at the beginning of the script. However, this resulted in an error, once again leaving me with an unusable script. 
 


Successful Randomization

I was able to remedy this by creating a copy of the script for each curtain wall I wished to randomize. While this solution is redundant, all four scripts are still able to be executed by moving a single number slider. 
 
 
When tested, these scripts ran successfully and created the patterns shown below: 
 

 
 
The Final Product
 
To complete my modifications, I reapplied the wooden louver system used in Project 1, adding shading devices and another layer of elements to the building.
 
 
AI Rendering Experiment

 I was curious to see how AI could generate an inspiration image for renders using a screenshot of a Revit Model. I uploaded the above image to ChatGPT and asked it to generate a "concept image with people and vehicles during the daytime." This was the result: 


I have utilized an AI tool in generating this image. Specifically, I used Chat-GPT and Dalle-E to generate the image. I understand that I am fully responsible for the content generated and its incorporation into my project.
 
Rendering with Enscape
 
Interior Render
 

 Exterior Render

 
Project Movie
 



 

Comments

Popular posts from this blog

ARCH 653: Project 1