Grasshopper

algorithmic modeling for Rhino

Just want to share with you guys a project I am working on at NBBJ.  It is a conceptual design tool and is in the early stages of exploration in upcoming projects.  See link to video (with sound)

Architecture: Realtime Physics for Space Planning
http://vimeo.com/15563685


"This is a preview of a parametric conceptual design tool for architectural practice that I have been developing at NBBJ. I wanted to develop a
system that allows designers to quickly organize and understand complex
architectural programmes in three dimensions.

It is an advancement of the traditional bubble diagram; it solves
adjacency requirements automatically and suggests planimetric and
sectional relationships. The resulting diagrams are not formal
solutions; they are simply organizational diagrams with solved
adjacencies and accurate required areas. The diagrams are raw
materials, meant to be manipulated sculpturally, or even squeezed into a
formal container.


Technical Information
The tool was created in the Grasshopper plug-in for Rhino. Custom components, written in VB.NET,
read programme data directly from Excel into Grasshopper. The tool
uses the Kangaroo engine for realtime spring dynamics simulation."








Views: 5988

Replies to This Discussion

Hi, Marc, any chance that you make this tool public ?
Many years ago I came to know of a similar research done by Scott Arvin, at Arizona State University, but since he's been abducted by adesk, never heard of it again!

JAJAJAJA ABDUCTED BY ADESK  ====> LOL

Great work Marc. The notion of using spring dynamics to facilitate packing is an interesting idea. I like how elements can be connected to other to keep relationships/proximity. The anchor points are great to allow easy manipulation of the whole system. I had a somewhat similar idea years ago along, but used gravitation and "mass" as a means of packing and sorting out the influence of one programmatic element over another. Only got as far as making some orbits, so congrats on putting together what looks like a cohesive, productive tool.

A couple of questions for you...
Is there any reason why you connected to Excel directly as opposed to gHowl? We're in the process of reworking the spreadsheet connections, so it would be useful to know what kind of functionality that you were looking for in your excel connection.

Second, have you thought about having programmatic elements repel each other? For instance, keeping a nursery (or quiet space) away from a mechanical room (or a noisy space). I know there have been cases where I've run into programmatic elements that have that kind of "anti" relationship, if you will, and I'm wondering how that would fit into this system (if at all).
Great - just what I tryed to develop for myself!
Dont you think to upgrade this in future with one more - functional - level. i mean - to present each room as sistem of functions (represented as furniture gizmo`s + required space) also with own relationships.... + nedded connecting space.

for programmatic elements rapel each other you can use Plaw forces with strength positif value

Marc, it is super great! I went and post it also on RhinoFabLab too, people need to see your work...
Thanks!
Charles>

Unfortunately I can't make the tool public just quite yet. We're keeping it in-house at least until we have had a chance to test it on a few projects.

Damien>

I connected to Excel directly because I knew I could do it in VB.NET and I haven't really tested GHowl. Right now my VB script pulls data and separates into data trees by column, and it also pulls the cell color from the Excel document. Those cell colors are used to paint the diagrams and program components all the way through the space planning tool. The only other feature that I would appreciate right now is the ability for the Excel tool to auto-detect the relevant information and set the Row/Column limits automatically. As it stands now, the user is required to input the starting and ending row and column numbers. My goal for this project is to make it as user-friendly for non-GH users as possible. That's why I've been trying to write VB.NET components that read Rhino layers and automatically detect changes to the layer (you may have seen the long topic in the scripting forum), etc.

Second, though it's not highlighted (or used) in the video, repulsion is already incorporated into the system. There is a third tier of connections which, if toggled, use a negative power law that repels the objects.

Philipp>

I am less interested in micro-efficiencies than I am in macro-organization. There are a lot of medical planners here that get really excited when they see this tool because they think it will somehow squeeze even more efficiency out of their systems. It is dangerous, however, to discount all of the other factors that contribute to the effectiveness of a space, and therefore I don't recommend increasing the granularity of the system too much. Of course, if you wanted to create a program requirement that included small-scale elements, you could do that without any problem in the system as-is. It's pretty open-ended already.

The other option is simply to work at different scales in the same project, which is a time-tested technique in architecture. That is, you resolve adjacencies at a large scale, and then zoom into a particular program piece and begin working out the details, moving fluidly between scales to resolve architectural and economical problematics.

Marc
Amazing work!
I referenced Scott Arvin as in Arizona State Univ, but he was at Texas AM. Here's a link to his doctorate thesis: Physically based mechanical metaphors in architectural space planning: http://repository.tamu.edu/handle/1969/395
Charles> Thank you for the link. Really cool to be made aware of that precedent.

I'm lucky that I can have a lightbulb moment and a week later, with the use of some incredible tools from David Rutten, Daniel Piker, and a handful of others, I can produce something that scarcely five years ago was the subject of a PhD thesis. It's a testament to the incredible creativity that is being unleashed right now, as we speak, by these new tools...

Thanks Charles 

 

that is interesting paper. 

do ou know if there are any other research projects done in the field of Space layout planning specially using Grasshopper or Rhino ?

Thanks for the extra information. One of the aspects of the overhaul with gHowl is aimed at better support for trees coming in and trees coming out. This will hopefully allow for the ability to encapsulate more complex data structures rather than a "flat" tree of lists. I definitely think that retrieving cell colors (as well as cell sizes potentially) could be added, although I'm not sure how that would "look" with the component.

It is somewhat hard to detect the actual "size" of the data within Excel. There's the manual way, which goes about testing cells to see if there's data in there and recording whether or not there's data within the cells. There is also a Range.Areas method that's supported, but I haven't used it yet. I'm looking at the documentation now, and it apparently return a collection of Ranges that represent areas of contiguous data. Therefore, in a condition where you have a break between data, you'll get multiple ranges back. Here's the code snippet from the Excel documentation...

Set rangeToUse = Selection
If rangeToUse.Areas.Count = 1 Then
myOperation rangeToUse
Else
For Each singleArea in rangeToUse.Areas
myOperation singleArea
Next
End If


Glad to hear that you've got repulsion in there already. That makes it extra cool...

RSS

About

Translate

Search

Videos

  • Add Videos
  • View All

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service