algorithmic modeling for Rhino

Hello guys,

About a month ago I created a grasshopper file which creates random buildings on a given master-plan because I couldn't find anything similar.

With the gh you can divide every quadrangle surface into buildings and generate pseudo-random numbers using a combination of the Hoopsnake add-on with  the Random component for the calculation of random depths and heights for every building. 

I attached the .gh file so that you can have it, suggest any improvements and use it as you like. I am new to grasshopper so there must be some mistakes that I haven't noticed yet.

Here how it works:

First of all, you need to have LunchBox and Hoopsnake.

As inputs you give

  1. The surfaces that represent the square blocks (srfs)
  2. The number of Width(U) and Depth(V) divisions of the srfs, e.g. the number of buildings in each square block (for example U=5 and V=5 => 5*5=25 buildings)
  3. The minimum depth of buildings
  4. The minimum height of buildings
  5. The maximum height of buildings

Then go and run the Hoopsnake Component (in the orange coloured group).

When the calculation is complete so are the final buildings. Bake them (the final component) and you finished!

I must note that in each square block there center block is unbuilt, so no there are none fully build square blocks. Also, it only works with quadrangle shapes (trapeziums), not triangle or any other n-angle shapes.

I hope you like it!

P.S. The image below is the city of Patras in Greece, which operated as the case-study in which I developed the gh file.

Views: 8681


Replies to This Discussion

Looks interesting!
Thank you for sharing it Fiorakis.

Hey im trying this right now but im getting an sorting error and nothing happens?


Could you be more specific about your problem? The image you have attached can not be opened. 

your definition looks amazing but i am receiving erors as well. Most likely it has to do with the imput

First, try to create the surfaces using the command "surface from 3 or 4 points" in which case you must create a 4 point surface.

Then, you right click the HoopSnake and select the "Loop" command.

After the calculations are finished you must connect the output data from HoopSnake with the data under the Widths and Depths. (I forgot to include this info in the description above).

After that, your buildings should appear!

Very interesting ! A good way to create the built environment around your project! Thank you Konstantinos for sharing this !

P.s. I've tried this and it worked without any errors

Hi Sir,

I have a question for you ... How I can add the width of streets/roads in your definition  .. I want to make a relationship between building height (with its ducts openings) and width of streets.

I have a file AutoCAD for masterplan I want to add it to Grasshopper.I don't have file GIS, All I had is file dwg and analysis I did by Photoshop as (Existed Landuse, Heights, Street Width, .. etc).

What I know that import Autocad in Rihno but the progress to do in grasshopper, I have not enough information about it (I am not professional Grasshopper user ).And what to import in Rhino is the outline of masterplan not with the existed building .. This is what I know must be done.

I wish you can help me in this issue and thank you.



Hello my friend,
This definition produce only random buildings on square blocks. It's purpose is mostly to be used as a background (pseudo) city for your presentations.
It does not produce sidewalks or roads. Those must be planed before inserting them to grasshopper, whether your city plan is real or fake.
If you want to create a parametric relationship between building heights and road widths I'm afraid that this gh component it's not what you are looking for...
Best wishes

Hello Fiorakisk!

First of all, thank you very much for sharing the definition. It seems amazing. I used the definition but I'm facing some errors. It would be great if you can tell why it is not working. I see that you have released the definition in 2016 and I am not sure if you can help me now. Thank ou in advance!

Hello Srujana Bhoopanam!

Thank you for your kind words!

I saw that the mass addition definition has turned red. I can't tell why that's happening unless you send me or upload here your file. One reason that this might has happened is because you accidentally insert as input an incompatible geometry. Only surfaces that generated with the Plane command or the SrfPt command are compatible.

In any case, please send me your file so that I can see the problem myself.


P.S. I just noticed that I had forget to translate some of the names from Greek to English, so I upload an other gh file fully translated to English.






  • Add Photos
  • View All

© 2023   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service