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: 242
Latest Activity: Oct 1

Discussion Forum

Avoid Obstacle Force 4 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 SarahBrunning Jul 13, 2020.

Missing Deconstruct System and Deconstruct Quelea

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

Started by Bara'a Usama Mar 16, 2019.

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.

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 Igor Mitrić Lavovski on June 1, 2015 at 2:47pm

Hi Alex, 

It looks amazing. Thank you for your work and sharing!

I saw in a introduction video Rain flow on surface. Do you have some example or some inputs for start?

Is it only for surfaces or is good for mesh too.

I am working on multi-objective optimization, I have sun and wind, if Quelea provides rain it would magnificent :)


Igor M


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!


Members (242)






  • Add Photos
  • View All


  • Add Videos
  • View All

© 2021   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service