Culebra Tutorial – Shohei Nozawa


Categories: Tutorials

In this tutorial, focusing how to use grasshopper plugin called culebra ( and experiment how to use  the curve generated from culebra. The first part of tutorial contains how to generate curve from culebra, and the second part contains what we can do from that curve.


Culebra is a 2D is a 2D|3D Multi Object Behavior library written in C# (Wrapper around Culebra Java library) focused on hybrid system interactions with custom Visualization, Data, and performance features. It contains a collection of objects and behaviors for creating dynamic multi agent interactions.

In this tutorial I used called stigmergy behaviour.

‘’Stigmergy is a consensus social network mechanism of indirect coordination, through the environment, between agents or actions. The principle is that the trace left in the environment by an action stimulates the performance of a next action, by the same or a different agent. In that way, subsequent actions tend to reinforce and build on each other, leading to the spontaneous emergence of coherent, apparently system- atic activity. – Wiki’’

Screen Shot 2018-06-07 at 15.48.12

For this tutorial, I used CREEPER ENGINE, it has 5 input.

1.Int settings…deals with the agents, how they distributed, how many of them, 2D or 3D and so on.

2.Move setting…Decide agents speed, force and velocity

3. Behavioral setting…This input affect how agents act.

4.Visual setting…This input deals with how they will display (colour, thickness and so on)

5. Reset…Reseting simulation




Final- Culebra

By setting those input, run the simulation then I get the curve below.

It is important that to extract curve, display mode of VISUAL SETTING have to change “graphic” to “geometry”. It is possible to add more BEHAVOIR to CONTROLLER. 


Screen Shot 2018-06-09 at 16.34.11 ELEVATION

Screen Shot 2018-06-09 at 16.34.37


Architecture idea

1st example 

Main theme was to make organic architecture,Culebra can generate organic movement by the agents. I spend sometime to think how I can use these curve to transform architecture design. From the result I can see the there is a part where the lines are very dense, and  they are connected to other part. It looks like neural network. I extract points from the curve, it can say that these points arrangement is organic. And then connecting points to 3 or 4 it’s closest points, create triangular and quad surface. Applying material such as membrane,  made a space under the structure. As you can see where points are dense, make more small surface.

Final-Architecture part-Extract point from curve

Using  DIVIDE CURVE component extract points from curve. By define counts you can control number of points.


Screen Shot 2018-06-09 at 16.39.13



Screen Shot 2018-06-09 at 16.39.19

Final-divide curve

-Finding 4 closest points of each point to create mesh, then extract 4  and 3 points each for construct mesh. This mesh can be membraine  material which create architecture.


Screen Shot 2018-06-09 at 16.58.36



Screen Shot 2018-06-09 at 16.58.15

Final-construct mesh



2nd example 

The second example is  using same result curve cerebra  but create another architectural design. Even in same settings , every time when run the simulations, it give you different result.

At first explode the curve generated by Culebra and extract points. 


Screen Shot 2018-06-30 at 23.26.36



Join the curve from the result, then use COCOON ( to generate a mesh around the curve. Cocoon able to merge mesh next to each other then it generate organic organic shape. Where the curve is dense, more bigger object tend to appear.

Screen Shot 2018-06-30 at 23.29.43At same time apply MESH PIPE ( to the original curve to make a tube. This tube become as a transportation such as elevator to connect building.


Screen Shot 2018-06-30 at 23.33.39


2nd exsample


3rd  example 

The Third example, I took different approach. Tried to apply Culebra to exterior design of building.

Here I combine 2 behaviour which is “Mesh crawling behaviour” and “Weaving wandering” 

Using “weaving wandering” behaviour, you can control how the agent will weave. And “Mesh crawling ” behaviour simply controls how agent move along a mesh object.

Using these 2 behaviour, I applied it to exterior design of skyscraper. 

First, create base cylinder, and set circle where agents start from. Number of segment which divide curve become number of agents. Here I set 10. Which means 10 of agents are start fro.




It is necessary to modify the parameters of Culebra  by yourself to get result you want to. Also scale of object matters to the result.





Screen Shot 2018-07-01 at 16.25.18

After I get curve from Culebra, divide curve and extract points then project those points into the cylinder. Connecting these curve with “Nurbs curves” and give thickness with “Pipe”. 

Then using “Trim solid”, subtract it from original cylinder. It result this kinds of pattern.It is important to use “Cap” to the cylinder to use “Trim solid”