algorithmic modeling for Rhino
This is my first post, so please bear with me if it's ridiculously easy or simply impossible.
I am designing an atelier/auditorium with a floor that consists of 9 platforms at different levels. To get an interesting facade expression like the Zollverein Design school in Essen by SANAA I wanted to base the window design on a daylight study.
What I did was to make 9 measuring points based on the centeroid of the planes, and in a height of 0.85 m. These measuring points are exported to Ecotect via geco in order to evaluate the daylight access. This is all set and done, but my main problem is to define the constraints of the parametric facade.
I have a total of 8 windows in already predefined sizes. These should all be located within the boundary of the wall, and furthermore they should not intersect with each other. For now I have just assigned sliders to all windows allowing them to move within the boundaries of the surface, but since the bottom of the wall is sloped I'm facing problems here. There is nothing in my script that prevents the windows from intersecting.
The idea was that I via Galapagos should be able to find the window layout that gives the optimal window layout, but right now I feel pretty far from that goal.
Tags:
It might be easier to understand if I attach the files.
Here's something which might achieve your desired results.
It uses the Galapagos with the Simulated Annealing Solver. The Genes are pairs of sliders for each window to represent the U and V locations on the wall. These are then tested against a "valid boundary" with in the wall. The ultimate goal is to find a wall with the smallest area i.e. every window is valid and does not overlap.
See what you think and feel free to ask questions.
I noticed from your image that you have multiple copies of some sizes of windows. Here's a way to include those and also a Surround and minimum gap between windows.
This second approach uses two versions of the resulting surface one with the size increased to take into account the surrounds and another display version with the actual sizes of windows. Therefore it is twice as slow but produces a more realistic result.
I include some Data Tree Management, namely the Entwine and Path Mapper, in order to run the two versions through the same components for tidiness.
Thank you so much, Danny. I will have a look at it. This is really more that one could ask for :O
Welcome to
Grasshopper
© 2025 Created by Scott Davidson.
Powered by