algorithmic modeling for Rhino



Wasp is a set of Grasshopper components, developed in Python, directed at representing and designing with discrete repetitive elements.

Download it here: Food4Rhino

Source Code: Github

Example Files: Wasp Examples

Facebook: GhWasp

Instagram: Gh_Wasp

Location: Frankfurt, DE
Members: 40
Latest Activity: May 13

Discussion Forum

Collision check between two Field Aggregations 4 Replies

Hello,I am creating a field aggregation with one part and another one with a different part but they are overlapping. Is there a way to check for collisions between 2 different aggregations and…Continue

Started by theotses. Last reply by theotses May 13.

Aggregation for housing unit. 2 Replies

HeyThanks for this awesome plugin. I am currently trying to create a housing unit aggregating blocks that represent a give space. However I am facing issues restricting the number of block of any…Continue

Started by huzefa patheria. Last reply by huzefa patheria Mar 21.

invert rule 1 Reply

Hey!Thanks for this plug-in, it's a great job!I wondered if it was possible to create a rule that prevents two solids from being in contact (unlike the syntax: "A|0_B|1").Thanks for the help ;)Continue

Tags: #rule, #wasp

Started by AlexLPVC. Last reply by Andrea Rossi Mar 20.

Aggregation Dev

I was hoping if anyone could help me develop my Aggregation script.there's a couple of things i want it to do, but am struggling to do so.1) Origin point of aggregation 2) Hierarchy in connections3)…Continue

Started by Hashbimi Jan 25.

Comment Wall


You need to be a member of Wasp to add comments!

Comment by Andrea Rossi on January 25, 2019 at 6:37am

Hi Bi,

for the origin point of the aggregation you can use a TransformPart component to place one part in the position where you want the aggregation to start, and then feed that part in the PREV input of the Aggregation component.

For your other questions, I am not 100% sure I understand what you mean. Would be best if you would create a new post in the discussion forum above, and post some images/files explaining your problems.

Comment by Hashbimi on January 25, 2019 at 5:05am

Hi Andrea,

I was hoping you could help me develop my Aggregation script.

there's a couple of things i want it to do, but am struggling to do so.

1) Origin point of aggregation 

2) Hierarchy in connections

3) Vertical aggregation over Horizontal 

4) Change points in Field Aggregation

Hope to hear from you soon,

kind regards,



Comment by Andrea Rossi on December 13, 2017 at 5:33am

Hi Cesar,

not sure if I understand, but if I do, it is not possible with the current version of Wasp, as each part is aware of the connection it is attached to, but not of the other ones. And to keep track of that, would add a quite significant computational load to the aggregation process.

But, just to make sure I understand, could you maybe post a screenshot of the problem here, or create a topic in the discussion forum above, so we can discuss how such feature could be implemented?


Comment by Cesar Arroyo on December 11, 2017 at 5:00am

With a small field sometimes geometry faces end up touching without a rule and I was wondering if there's a way of restricting this combinations.

Comment by Andrea Rossi on December 10, 2017 at 8:00am

Hi Cesar,

thank you!

I am not sure I understand your question. Could you exaplin me what do you mean by restriction rules?

Comment by Cesar Arroyo on December 9, 2017 at 3:11pm

Hi Andrea,

Thanks for this amazing tool.

I was wonderig if there is a way to make restrictions rules?

Comment by Andrea Rossi on December 9, 2017 at 10:07am

Hi Ali,

you can use the TransformPart component to position one part in a specific location, and then provide this transformed part in the PREV input of the Aggregation components. In this way, the aggregation will start from that position.

I am working at finalizing the last touches to the new version of Wasp, and will add example files also for this.

Comment by ALI on December 8, 2017 at 3:26pm

Hi Andrea,How do I control the starting point of growth in aggregation process ?

Comment by Andrea Rossi on December 7, 2017 at 7:10am

Hi Henrik,

the PREV input is there to allow you to add a previous aggregation as a base on top of which to aggregate new modules. However, as these modules are still computed in the aggregation process, using it will not make your code faster.

Currently, the best way to achieve aggregations made of large groups is to split the aggregation in smaller sub-areas with small overlaps, and aggregate them independently, always providing the last parts as starting points for the next aggregation. I can send you a file, if you are interested.

In the new version of Wasp (will release it hopefully this weekend) there is the possibility of setting a threshold on the Field component, which allows, depending on your field, to speed up calculations, of couse sacrificing the precision of the field approximation.
If you want to take a look, you can download the work in progess components on the Github page:

I am working on a "probabilistic" field aggregation, which should be much faster, but I am not sure of when I will have something usable. If you send me a PM with your email, I can keep you in the loop and let you know as soon as I have something.

Comment by Henrik Yang on December 7, 2017 at 4:03am

Hello Andrea,

Currently im working on a project using muqarnas as element to aggregate. As you can see it needs a very high iteration number. Then I saw this PREV input that i wonder if it would help my work to become more smooth? Can u show me an example where u set up the PREV? Does it save the old parts somehow? What does it do?




Members (40)






  • Add Photos
  • View All


  • Add Videos
  • View All

© 2019   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service