Grasshopper

algorithmic modeling for Rhino

Hi,

I'm working on my thesis about computational floor plan generation. In my thesis I have a small "hands on" test definition tryout section using Galapagos to generate floorpans on given room square meters and certain constraints. 

I seem to be having problems with the "weighting" and/or scaling fitness values for the fitness function. The definition that I have been working on finds decent solutions around 10th generation but usually stalls after that. Meaning, locations of rooms are visible but the rooms do not pack closely, alas they only locate their rough location in relation to other rooms but a clear floor plan does not emerge.

In my definition I have first the variable values first squared (to have pressure), second scaled (to have variables in the same vicinity) and finally weighted (to emphasise different constraints). Is this the right order at all? 

Any comments, opinions or advices would be much appreciated.

Attached is the gh file.

Best,

Ron

Views: 6461

Attachments:

Replies to This Discussion

Oops found an error in the definition. Attached is a working one.

Attachments:

Hi! Nice work there. Im looking to do something similar and have a few questions since you are into the logics of spatial layout.

In my case I´d like there to be a set floor footprint as a bounding box, and each room to have an adjacency requirement (bedroom to north exterior wall, toilet to no exterior wall but adjacency to the corridor "room", min and max square mtrs per room, etc). Thus building a small matrix of requirements to feed the algorithm.

You reckon this is something I might be able to incorporate into the process you've created or im better off starting in another direction from scratch? 

hi ! iam just planning to do same kind of dissertation study on the topic you said above and its about  months from the day you posted on. have u started your study ??? how is it going?? iam so confused with many datas , can u please suggest me a good way to move in and develop and explain yours??

Thanks a lot!

Hi, 

I guess there is many ways to approach the issue. The above definition was not an final product rather it was meant as an experiment to generate knowledge. Attached is my thesis research, you can find some thoughts about different approaches there. 

Hi everyone,

I have been thinking about this problem lately too - my approach (which admittedly I haven't tried yet), was to "relax" the rooms inside the apartment in Kangaroo, similar to this, but in 2D:

https://www.youtube.com/watch?v=VGv_JXiwd70

With the pressures of each perimeter being the target area, closeness to the corridor, to the outside...

So combined with this, in the way that each particle is attracted to some but not others, etc:

https://vimeo.com/13746498

Super interesting stuff if it can be made to work reliably! The same definition could then be made to lay out furniture inside each room, or in the other direction of scale, blocks within a building site?

in your script everything seem like minimzed 

when setting a fitness, i think some criteria goals need to be maximized, others to be minimized

something like F = x + 1/y 

so when u need y to be minimized, you maximize both and y will still be minimized 

https://naeimdesigntechnologies.wordpress.com/2016/05/25/computing-...

Hi,

Sorry for my late reply but here is the actual link to my thesis: https://www.dropbox.com/s/pvhpy4a8sgv6kpf/aasholm_ron_thesis_2015.p...

Hope it helps!

I'm away from my desktop, but it seems like you're relying heavily on penalties to push the plan in the direction you want it to go. More constraints might be your friend in this case, since creating a layout while only taking room proximity into account won't always give you a desirable layout because it ignores the site you're building on. If you don't already have them, ladybug and honeybee could be useful to incorporate here to code in some environmental info.

Also, looking into using a component like lunchbox's subdivide quads might work nicely for you because (if I understand what your intentions are) it will always create the type of floor layouts you are looking for.

If I have a chance I'll mess with this tomorrow and see if I can't begin to implement some of the ideas I mentioned here.

Best of luck, this looks like a promising project!

RSS

About

Translate

Search

Videos

  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service