You are on page 1of 6

beta

PROGRAMMINGarchitecture

Page 1
eVe

history...
eVe is a series of plug-ins for Rhinoceros 3D coming out of the Programming Architecture kitchen. If you
want to learn more, feel free to visit www.programmingarchitecture.com. The name eVe is an abbreviation coming
from Evolving Equilibrium. Since our foundations are cast with methods based on Genetic Algorithms and Evolu-
tion Strategies, and since we use those algorithms to find equilibrium in the design of architectural elements (in
various ways), the name came naturally.

idea...
In our line of work we develop various algorithms for dealing with different types of problems in modern
architectural practice - from structural optimization of free form structures, over shading calculations for solar
trackers, to the development of software for CNC production of architectural elements. When we develop some-
thing that can be transformed into a useful plug-in, we just want to share it. It is as simple as that.

licencing...
We release our eVe plug-ins under the creative commons license. What this means is that you can use
all of them for non-commercial purposes. If you want to use eVe for commercial projects, contact us at eve@
programmingarchitecture.com and we will gladly provide you with our help and service. You will notice that some
plug-ins dont always have full functionality. This happens for different reasons. Sometimes algorithms dont work
properly and we want to improve them before releasing them. Sometimes the developed algorithms were pretty
time consuming and we find them too cool to just give away - in these cases we wait for a while and then decide
to share them.

compatibility...
eVe|voronax beta comes in two forms - 32bit and 64bit, both for Rhino 5.0. If eVe doesnt work on your
platform please inform us so we can fix the problem. You can write at eve@programmingarchitecture.com.

Page 2
eVe|voronax
introduction...
Voronax structure is developed by Milos Dimcic at the Stuttgart University in 2008 as a part of his PhD. It
is a structure created by generating a Voronoi diagram over a free form surface and then using the Force-Density
method to relax that structure, while keeping it on the surface the whole time. More information can be found on
our website where you can find the entire PhD in the publication section, and videos explaining the Voronax.
Additionally, we were bothered by the fact that Voronoi (and Voronax) structures can be generated only
over a single untrimmed surface (algorithms for Voronoi diagram generation work only in 2D and with the direct
XY - UV transformation they are mapped to the surface - but they can take only one surface/one domain into con-
sideration and they are not aware of the cuts/trims/holes). So we developed a plug-in that can generate Voronoi
and Voronax structures over any type of free form shape (trimmed or untrimmed, with or without holes, surface or
polysurface). And we included Delaunay triangulation as well as Delaunax (relaxed Delaunay) structures.
Finally, you will be able to generate irregular grids overy any free form shape you designed.

installation...
For now, eVe doesnt come with an installer. It is a single Rhino plug-in file (.rhp). In Rhino, you can sim-
ply go to Tools/Options/Plug-ins and install it, or you can just drag and drop the file and it will work. If, for some
reason, you cannot install the plug-in, please let us know so we can try to figure out what the problem is.

design...
Instead of making toolbars with a bunch of small icons, or divide the code into thousand little commands,
we decided to have one command - one dialog. The dialog is modeless, which means that you can keep it open
all the time while doing any operation in Rhino, as you would normally do, or minimize it if it bothers you. Once
you close it and reopen it most of the settings are reset.

Page 3
eVe|voronax manual
the dialog
If the plug-in is installed, all you need to do is type eve_voronax in the Rhino command line, hit Enter
and you should see a dialog that looks something like the one depicted in Figure 1. The Dialog has three parts:
the Input section in the upper part, the (Re)Generate button in the middle, and the Output section in the lower part.

Figure 1
Input
The first thing you need to do is to select a surface or a polysurface that you want to be the basis for your
structure, using the Select the Surface/Polysurface button. The counter underneath it will show you how many
surfaces are there in your polysurface. You can then choose one of the four types of structures you want to gener-
ate: Voronoi, Voronax (relaxed Voronoi), Delaunay (triangulation) or Delaunax (relaxed Delaunay).

- planting the seed


Voronoi diagram works by having a number of seed points so it can generate Voronoi cells around them.
For Delaunay structure the seed points are used to make the triangulation by connecting them. So in the Voronoi
case, seed are NOT a part of the final structure, and in the Delaunay case they ARE. In Figure 2 we see a Voronoi
and a Delaunay structure generated with the same seed points. They are known as the dual structures.
eVe gives you two options for seed generation. You can use the Existing points or the Random points

Voronoi Delaunay

seed

Figure 2

Page 4
- Existing Points
With this option it is your responsibility to scatter the points on the surface. U can draw them directly on
the surface or project them. Try not to generate duplicate points (SelDup command in Rhino can help you with
this), but even if you do eVe will recognize and ignore them. Make sure that all of your points are ON the surface.
Once selected eVe will search for the surface closest point for each of the selected seed, so if the points are not
on the surface, the result might not be what you expected. Keep in mind that you need at least 3 points per surface
to generate the structure. If you dont have them, eVe will ask your permission to generate the additional points
for you. Once you have selected your points using the Select button, you can see how many are there and you are
ready to hit (Re)Generate.

- Random Points
With this option, eVe will scatter the seed all over the surface/polysurface randomly. U can choose the
number of seed you want to have in total. You can see that there is an Advanced Settings button which, in 99% of
the cases, you dont really need to open. But if you do, Figure 3 shows what you will see.

Figure 3
Let us go over the options quickly. In the lower part you can choose how to distribute the seed if you have a
polysurface. A polysurface consists of multiple surfaces and differences among them can be immense. So usually
it makes no sense to generate the same number of points on each of them. The Proportionally Distributed option
will calculate the area of each surface in the polysurface and divide the total number of random points according
to that area. Equally Distributed will just divide the number of desired seed points equally among the surfaces.
Keep in mind that the numbers will be rounded, so the total number of random seed that you wanted can vary a
little. Figure 4 shows what happens if we wanted 50 random points.

Equally Distributed

16 12
4 12
10 12
19 12
Proportionally Distributed

Figure 4

Page 5
The other options are not so interesting. The Random Value Precision determines the range of the param-
eters in both directions (UV) that can be randomly generated. You shouldnt change this value. You can experi-
ment with it, but nothing interesting can come out of it. The Voronoi Seed minimum Distance determines what the
minimum distance between two randomly generated points is. If a newly generated point is too close (within this
value - in the units that the Rhino file is currently in) to any of the already generated points it will not be accepted
and eVe will ignore it or try to generate another one. This value is set to Absolute Tolerance of the Rhino file by
default (which is a very good value and you shouldnt change it). What if you put too large of a value there, or if the
surface is so small that it cannot fit the wanted number of seed while respecting the minimum distance? In those
cases eVe will try to generate new random points over and over again for a certain number of times and eventually
give up and go to the next surface. The Loop Limit for random Generation is that number. Ten thousand is quite
enough...if eVe cannot generate a new random point in 10.000 attempts it probably cannot be done, so you have
to adjust the distance or change the number of seed you want.

(Re)Generate
Once you have chosen your settings just hit the (Re)Generate button and the structure will be generated. U
can change any of the parameters and hit the button again and the whole structure will be regenerated.

Output
We figured out it is more interesting to have an option to quickly generate different solutions, preview them,
and then, once you are satisfied with the structure, export/draw the grid. So we designed the plug-in in this way.
Once you hit the (Re)Generate button you will see the preview of the structure. In the right lower part of the Dialog
you have the option to turn the preview on and off. You can also choose what you want to see (Seed, Joints, and
Members). Hitting Refresh will update your choice.

Once you are satisfied with your structure you can extract it with the Extract the Geometry button. You can
also choose what part of it to extract (Seed, Joints, and Members).

the beginning...
There is nothing more to say. All the complicated stuff is hidden in the thousands of lines of code. These
manuals are release sensitive. This is the first - beta - manual. Try out the software, and write to us whenever you
encounter some problems so we can try to fix them. If you have some ideas on how we can improve the plug-in
we are very eager to hear them. If you want to help us develop the code further you are also very welcome. Once
again, we are www.programmingarchitecture.com and you can contact us at info@programmingarchitecture.
com. For all the questions regarding the eVe plug-ins you can write at eve@programmingarchitecture.com. We
are looking forward to hearing from you.

Milos Dimcic
Dr.-Ing.

Programming Architecture
Johannesstr. 55B
70176 Stuttgart
Germany

PROGRAMMINGarchitecture

Page 6

You might also like