Grasshopper

algorithmic modeling for Rhino

Hello everyone, 

I am an architecture student and a beginner on Grasshopper.
Right now i am working on a project where we generate buildings automatically from a set of "rules". 
But first i have this problem where i have to subdivide my lot into sub-regions depending on the lots' area as we can see on this image. 

For now, all i have is the closed curve and its offset and then, i don't really know how to proceed after. 
Can someone please help me to understand the process of how we can create this kind of subdivision? 

Views: 1062

Replies to This Discussion

It sounds as though there would be lots of rules involved in such a subdivision. Perhaps even a certain amount of randomness? What are the rules concerning the area? Is it just a matter of not exceeding some minimum/maximum? How about rules regarding the length of  each plot along the outer boundary? How about angles? Sides?

I can see that there's a major division of the plot connecting the mid-points of two opposing sides which happen to be the shortest sides. Is that always the case?

The secondary divisions then seem to inherit their direction either from one of the sides, or by being perpendicular to the primary division. What are the rules concerning this?

Thanks for the reply. 

The rules concerning the area are precisely the minimum and maximum area of the lots, the minimal width of the lots along the outer boundary as you said, their access to the street or not, and the corners width and their angle. 

Then, i found out that, yes, the first division of the boundary curve is a line connecting the two mid-points of the two opposed shortest sides. 


As for the secondary divisions, they inherit their direction from one of the sides. 

So my question is, what are the components to use if we have to input all these informations so that we can generate this kind of subdivision? 




It's a pretty complicated rule set, probably involving a certain amount of conditional iteration or recursion. This makes it unsuited for a Grasshopper-like approach, whose algorithms tend not to like to have to encode conditional iteration. You could of course cheat and rely on (some) C# or python, but I imagine there's quite a lot of programming involved here.

I attached a file which performs the primary subdivision, but all the hard work is still left to be done.

Attachments:

Thanks for the reply and the file. I'll take a look and keep you updated. 

RSS

About

Translate

Search

Photos

  • Add Photos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service