Combinations in Grasshopper

As part of a student research project, I’ve been thinking about a building that is as modular as possible. It consists of 7 modules that will be generated in the future via the parameter of the required area on a grid arranged appropriately. My question is now. Are there solvers, which move whole geometries in addition to optimizing single values and then check the moved elements for given conditions?

I suspect a C++ programming, if this is the solution, I am also glad to hear this. Unfortunately I am missing the approach.

Pictures of the modules can be found here:

I think you might be interested in WASP from Andrea Rossi

he is also sharing on youtube a very complete series of tutorials (literally zero to hero) about his awesome plugin:

Thanks Inno,
i will try it out!

That seems to be a good approach, i will have to find a way to bind the geometrys, their possible vectors/rotations and the conditions for the alignment of the modules through the script. I will try and let you know.

Okay, i have managed to build Wasp Parts an to Build up the connections of the Element, but, unfortunately the aggregation seems to be wrong. In case of working i had to set up a collider geometry. Now the Module is always connecting to the coneectionpoint of the collider geometry and it is only doiung it once. Help?

could you please post your GH definition with internalized geometries? (or GH + Rhino file)
it’s pretty difficult to catch what’s going on with just a screenshot :slight_smile: (359.7 KB)

Here is the file, sorry for the mess

it took a while but it works :slight_smile:

a couple of notes:
I have disabled all the Karamba components (have installed it otherwise my GH was crashing, but disable them to stay on the safe side)
I’m using Wasp 0.4.013 you’ll need to install that version ( )
I have rewritten the Wasp part to just use planes for connections

I think it might be really helpful to follow the developer’s tutorial on how to write custom grammar rules, in such a way each module will be combined only with exactly what you want (link: )

the definition is ready to receive your custom grammar rules, the connection naming standard I used is:
first connection plane is ALWAYS facing -Y axis, and connection numbering starts from 1 and follows counterclockwise

for instance: Modul_4 will have 4 connections named Modul_4-C1, Modul_4-C2, Modul_4-C3, Modul_4-C4

[edit: re-uploaded the correct GH file] (403.0 KB)

Wow Inno,
i am very impressed for your effort. Thank you so much, you solved my misunderstanding, only planes makes it a lot more entangled and understandable too, next to working. This really helps a lot.
Subject closed, haha!