algorithmic modeling for Rhino

Quelea - agent-based design for Grasshopper


Quelea - agent-based design for Grasshopper

Agent-Based Design for Grasshopper
+ A new paradigm for 3D modeling utilizing agents.
+ Assign forces and behaviors to systems of agents to create interactions.
+ Utilize any data to drive the system.
+ Easily debug your system by displaying individual force vectors.
+ High performance, parallel algorithms, spatial data-structures.
+ Write your own custom forces, no coding required.
+ Open source framework for others to build custom behaviors.
+ Boid forces: Cohese, Separate, Align, & View.
+ Contain Agents within Brep, Box, Surface, and Polysurface environments.
+ Forces: Path Follow, Attract, Contain, Surface Flow, Seek, Arrive, Avoid Obstacle, Avoid Unaligned Collision, Sense Image, Sense Point, & more to come.
+ Behaviors: Bounce Contain, Kill Contain, Initial Velocity, Eat, Set Velocity, & more to come.

Future work:

+ Behaviors to drive simulations of people and vehicles.

+ Temporal inputs can change the actions of the system over time.

Download the add-on on Food4Rhino

If you find any bugs or have any feature requests please post them on the GitHub Issue Tracker which will allow everyone to see which bugs are open or closed and allows me to update you when it is fixed.

This is an open source project so if you need custom defined forces or behaviors for your project reach out to me about becoming a committer.

View the project on GitHub

To get started check out this video tutorial on how to set up a basic particle scene. Follow along with this example script.

Learn how to set up a flocking simulation with agents in this video tutorial and example file.

To learn more about the polymorphic type system in the latest release of Quelea see this video explanation.

For questions on how to use Quelea, please create a new Discussion.

Members: 230
Latest Activity: Aug 15

Discussion Forum

Missing Deconstruct System and Deconstruct Quelea

Hello, I have been trying to follow this tutorial …Continue

Started by Bara'a Usama Mar 16.

Quelea Polysurface Environment Problem

Hello Everyone,I have been using quelea for the past month, so I am still familiarizing.I have created a polysurface in rhino which represents my roof.I am trying to use particles to simulate…Continue

Started by Alexandra Kalymniou Nov 22, 2018.

Avoid Obstacle Force 2 Replies

HiI am a  student at University of Tabriz in Iran.I want to use Quelea for my thesis,but i have a problem with Avoid obstacle force as you seen in attach file. Could you help me?Continue

Started by azam ghasemi. Last reply by Alex Fischer Jul 24, 2018.

Point based environment

Hi,Im wondering if anyone knows a way to make agents to move from Point to Point in a Point cloud instead of moving free in an volume based Environment?I guess that would save me lots of computer…Continue

Started by Johan Bernmark Apr 20, 2018.

Comment Wall


You need to be a member of Quelea - agent-based design for Grasshopper to add comments!

Comment by Amir Soltani on May 30, 2015 at 10:50am

I really like Quelea, it's beautiful! Thank you Alex for creating and sharing it. Also the examples and tutorials are very useful for learning Quelea.

Comment by Alex Fischer on May 26, 2015 at 10:43pm


Yes if you want them to obey that rule unequivocally and never intersect with an obstacle. Sometimes that may not be the case and you just want them to avoid an area. I would say the Avoid Obstacle Force and the Contain Force are usually the ones you want to apply alone. You can also get creative with how and when you apply and weight forces. For instance, you can weight by distance to a point once a particle is within a certain area. You can step up pretty much any relationships between rules and even use the And or Or components to combine when to apply a certain rule.

I added some example scripts on the website that are more complex and use some of these techniques.

Comment by Robin Dripps on May 26, 2015 at 8:28am


Thanks so much for this.  It  works perfectly.  I am now curious as to whether one can generalize about the Avoid Obstacle Force being best used without any other forces or was this just a particular case? And then would this apply to any other forces that are best used in isolation?

Comment by Alex Fischer on May 25, 2015 at 8:08pm

Hi Robin,

Thank you for your comments. I'm happy you found it useful. I took a look and I think the real key was to not apply any other force when the avoid obstacle force is applied. I've attached my version below. I changed a few other things that I found useful and highlighted them in blue. Please let me know if you have any more questions or feedback or requests!


Comment by Robin Dripps on May 25, 2015 at 8:27am


This is such an elegant plugin-powerful yet intuitive. Most of my experiments have succeeded but I ran into trouble on a test for an eventual system of key line dams on a real topography. The attached file is an abstract surface with a brep acting as a dam. But, it does not seem to be a very effective dam and that is the basis of my query. Thanks for any help or pointing out any mistakes of

Comment by Alex Fischer on May 21, 2015 at 12:01pm

Sorry I updated the files on food4rhino and forgot to update them here. The new files should work now. Report back with what you create!

Comment by Hossam Elkady on May 18, 2015 at 2:14pm

Alex , congrats ..i downloaded Quelea buton startup a missing file message appear.... system deconstruct is missing ! , any idea how to solve this issue !!

Comment by Alex Fischer on May 14, 2015 at 9:44am

Hi Andreas,

There is a way if you're down to do a little coding. You can view and modify the source code on GitHub and I can get you started on how you can add a Mesh Environment component. It's quite straightforward if you've done any coding in the past.

Otherwise, you will have to wait until I get around to that feature.

Comment by Andreas Iosif on May 12, 2015 at 1:52am

Hey Alex, i was wondering if there is a way to import a mesh as Environment. Any help would be great, thanks in advance!

Comment by Alex Fischer on April 24, 2015 at 1:06pm


1. I have not gotten to obstacle avoidance forces yet but you can certainly implement it yourself either through grasshopper with the Apply Custom Force Component or by modifying the source code. See these issues on GitHub for an explanation of how to implement the different types of obstacle avoidance. Alternatively, just use an attractor force with a negative weight to create a repulsor. Or create a second system with static agents with a separation force on them.

2. Certainly! Just use the Apply Custom Force component and feed in some calculated vector. In your case I would use the deconstruct agent component to get to their positions, test to see if any of those points are 'over' another point, and then apply some custom force based on that event.

If you would like to contribute to the development of Quelea by writing your own custom forces and behaviors, check out this blog post on the dedicated website for Quelea that I am still in the process of filling out.


Members (230)





© 2019   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service