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: 248
Latest Activity: Sep 21

Discussion Forum

literature review

Writing a literature review is a common task for academics and students, but it’s also one of the most challenging ones. Poorly written reviews can expose a lot of plagiarism and bring down your…Continue

Started by Barry I. Bradt Sep 21.

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.

Comment Wall


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

Comment by Sohail Dalili on January 20, 2016 at 10:49am

Hey Calvin Karel, 

see if this is something you

Comment by Youssef Eskandar on December 17, 2015 at 7:24pm

Hi all is it possible to achieve something like this using quelea

same flow of lines ???

Thanks in advance uelea

Comment by Kelvin Karel on November 28, 2015 at 9:12am

Hey Alex and All, 

Firstly, I'd like to thank Alex for the wonderful plug-in and the tutorials online. It has been a great help in understanding what Quelea could actually do and i can't wait to use it in my future school projects.

I've downloaded obstacle avoidance file from the Quelea website and am currently exploring on it. I've tried adding more components such as the "bounce behaviour" but it just doesn't seem to work well along with the "avoidance force". 

The image drawn below is what i was trying to achieve. A mixture of "Bounce Behaviour" and "Avoidance Force" that will steer away from the obstacles. Thus, creating a history lines to show random circulations. Would there be any possibility for the 2 components to work together ? Thanks in advance.


Kelvin Karel

P.S. GH file attached below

Comment by Don Reilly Semple on October 19, 2015 at 9:12am

Hi Alex

Is there a way to save each iteration of quelea points between separate lifespans? Currently every time a lifespan ends the next created Quelea replaces a pre-existing data tree path. It would be nice if each iteration of a particular lifespan was a separate data branch. So that the branch structure had depth. For example {i,x}, i as the current iteration of the lifespan and x as the particular path of quelea points. Maybe there is a way to do this that I am not seeing. Thanks in advance for the help.

Comment by Ricky on September 21, 2015 at 3:25am

Hey Alex!

Is it possible if you could do a tutorial on the Jewelery Heart necklace example? (The one where you made the agents follow a path) Otherwise is it okay if you upload the script you used to achieve that?

Comment by Andreas Iosif on September 17, 2015 at 4:48am

hello guys!

i was wondering if its possible to use Quelea as point emitter to update point cloud on Locust every time while seeking some points and add more particles in the swarming process. To create somehow a loop and make both working together, since i am not familiar with scripting methods. I guess i have high hopes, but if anyone got something to suggest that would be great. 


Thanks in advance! Great plug in! 

Comment by Djmonster on August 28, 2015 at 6:47pm

it would be so kind if u can do a pathFollow one. like the one u did in the test file

Comment by Alex Fischer on August 17, 2015 at 7:38pm

Hi Djmonster,

No need for sorry's, I created this group so you could bother me. There are some example scripts on the Quelea website here. Is there a particular file in the test folder that you wanted to look at? I can remake it manually for you.



Comment by Djmonster on August 14, 2015 at 7:15am

Sorry to bother, but a lot of the script in the Source file u provided on GitHub is not working since u update the name of the Agent to Quelea. Is there any updated version of the test files?

Comment by Alex Fischer on June 21, 2015 at 2:04pm

That's awesome Petar, thank you for sharing it. It seems like you got it to work. There's not much that can be optimized in the script through, you have a lot of agents and a lot of interactions, it just is going to be slow. However, if you record your data points you can set it to simulate and play back in real time by using the list item and animate a slider.


Members (248)






  • Add Photos
  • View All

© 2022   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service