Voronax Grasshopper Component


we finally made a grasshopper component that you can use to generate Voronax, Voronoi and Delaunay structures over trimmed/untrimmed surfaces of polysurfaces. Check out a short introductory video and test the free plug-in. Give us your feedback and tell us how to improve the plug-in.

The first version has only nodes and lines as an output but the next release will let you generate cells (as closed polylines or meshes) and cell center points…stay tuned!

Download link:


Coding Evolution

Did you ever hear about Evolutionary (or Genetic) Algorithms, and wondered what they are exactly? In our new video we are trying to explain in simple terms how basic principle of Natural Selection can be used in Design and Structural Optimization.

Digital Formwork 01

In this video we are introducing a new term into the game: DIGITAL FORMWORK. Similar to a physical formwork, we have to acknowledge the need for “one time use software”, written specifically for the building that is constructed and being highly recyclable and reusable.

Based on a real life example, we show you a glimpse of how it is to make a software that generates thousands of unique steel elements, that are all interconnected and interdependent. This is the present and the future of architecture and structural engineering.

eVe|explode – A new interesting (free) tool

I was playing around with different details and it occurred to me that I would like to “explode” its parts so I can review them and then put them back together. So I made a tool and I decided to share it. Although funny and simple at this point, the plan is to develop it into a more serious device. Future versions will be able to move different parts in different directions so you can have a nice decomposition of your structures.


Milos Dimcic



Architects have to learn how to code? No…

I hear this all the time and I have to be honest…if you asked me couple of years ago what I think about this subject, I would tell you that architects do have to learn how to code and that in the future they will do it more and more. I would say this is the case with most professions, because our world is becoming completely automated.

Well, I would have been wrong….and here is why, shortly and simply:

Real programming is too complicated. Amateur programming in architecture and design (visual programming like Grasshopper, basic macro and script knowledge, etc…) will only get you so far.

Here is a brief elaboration…

Don`t get me wrong. There are people that have two or more degrees…mathematics and medicine, law and biology, etc…and you can also be an architect and a programmer. But now we are not talking about exceptions, we are talking about the majority of architects and their day-to-day job.


If you use parametric tools that I mentioned before (Grasshopper, simple scripts, etc…) for your design, you will notice soon enough that you are very limited. Yes, you can do much more than what was possible only 10 years ago, but that is not how efficiency is measured. It is measured by what is possible today, and a programmer will be able to do much more than you can. Not to mention that their methods will be faster and more efficient. Does this mean you shouldn`t learn how to code? Of course not, but architects will not have to learn how to code – because it will be left to professionals.

And I am not just blabbering…expressing my opinion that may or may not be valid. I am talking from experience. As a programmer I can help you develop and optimize your structure or your facade. I can automate the whole process, generate complete FE models, files for CNC production, blueprints, etc… And this is possible by building serious and complex software that can (most importantly) grow easily when it is structured properly. The problem is that people cannot be easily persuaded. They have employees that know Grasshopper! (When they you tell you that, they usually pause for couple of seconds for your silent (or loud) admiration.) So I say, ”OK, good luck and let me know if I can help you”.

And I wait…and I wait…and I wait…usually for 2 or 3 months for them to do something I could have programmed in two weeks…and then I get some parametric geometry, usually full of errors and holes. And then they ask me if I can optimize it, or prepare it for static analysis, or generate 3D elements automatically… And I say, “Yes”. But…now I need senseless programming that takes their geometry as an input and works from there…extremely inefficient and a huge waste of time…and if they came to me in the first place, a software, that would give them everything at once, could have been developed in couple of weeks. No errors, no holes, 0.00001 mm precise models, blueprints and an automatically generated FE model for static analysis.

An experienced programmer is much more efficient then someone who does it as a hobby…but there is a catch…you have to include them in the project from the start…and no one does that…yet! Everybody thinks they can do it on their own, and after months of struggle they come to you 2 weeks before the deadline to do everything from scratch.

And that is why architects don`t have to learn how to code. Programming (in) architecture is a profession on its own. It requires a lot of experience to know all the tricks of the trade (any programmer will tell you this). Every architect should know the basics of construction and static analysis, but you don`t expect them to do complete structural calculations. Basic knowledge can help them estimate the sizes of columns and beams, but the sooner they include a structural engineer in the process, the faster, more efficient and more precise everything will be. It is the same with programming.

The only difference is that you need static analysis for every building, and today you don`t need programming that often. But that is about to change…coding is not limited to crazy, free form, Hadid/Gehry structures. I can give you a list of things you can program for a building that has a shape of a simple cube…in one of the next posts…

Milos Dimcic



Parametric design? No…

In my line of work I realized there is a lot of confusion about the term parametric design. The main confusion comes from the broadness of the term and I want to show that there are many completely different professions (mine included) put into that same drawer, although they do not really belong there. This is a subject for an entire book, but I will try to make this post relatively short…


“Parametric” means algorithmic, programmed, automated…by changing couple of simple parameters, through a series of algorithms (functions) a complex entity (geometry) is generated. If you visualize a mathematical function, by changing variables you can generate different graph curves. Voilà! Parametric! (I guess you all remember parametric equations from high-school). Similarly, by changing couple of parameters you can generate an entire architectural structure…that is the shortest possible explanation.

Parametric Stairs © Programming Architecture

Parametric Stairs © Programming Architecture

Parametric people of the first kind

There are people that actually use these techniques to design. They move sliders, write interesting algorithms, experiment, until they get the final architectural form (or the form of a product, when used in the industrial design)….right? Well, not really. Do not misunderstand me. There are many architectural objects designed (even built) using these type of processes…but from my experience that represents a ridiculously small percentage of the objects that are claimed to have been designed parametrically. What actually happens is that people try, and try, and try, until time runs out (and we all know how precious time is in the construction business) and then they give up and design something manually. Very often the final design is inspired by the parametric experiments, but much more often than not, the limitations of parametric software are way too constraining on the architectural creativity. So after hours and hours of playing with slider values, inspired by infinite parametric possibilities, we get our architectural sculptures.

Voronax Structure - © Programming Architecture

Voronax Structure – © Programming Architecture

Many people do this. It became almost an art movement, an occupation on its own. However, I think that software we have is not on the level needed for real, ubiquitous, parametric design. Although some of us are working on the development of new type of software, based on AI (artificial intelligence), we still have a lot ahead of us. That is why parametric design is not what I usually do, or want to do.

Programming Architecture

What I do comes usually after the design phase is over. The form is there, the idea is clear and now the geometry needs to be generated, technical drawings have to be made and elements (structure, facade,…) have to be produced and connected. This is where the real programming is done. No pretty pictures. We are talking about micrometer precision, automatically generated geometry and technical drawings, screws and bolts, as well as automated CNC production. Sometimes the involvement starts in the design phase, when we use different AI algorithms to statically or geometrically  optimize the form…but this goes much beyond what is perceived as parametric design today. That is why I don’t like calling it like that. For now it is programming architecture, and very soon it will be AI in architecture.

Grid Structure - © Programming Architecture

Grid Structure – © Programming Architecture


The reason for this post is just to point out that there is a difference between those who produce pretty pictures and those who write software trying to generate and produce precise architectural and structural elements. Just google parametric design or parametric architecture, go to Images and count how many pretty visualizations and how many actually built architectural objects you see…and you will get my point….not to mention that those architectural objects that are built usually don`t belong in the parametric design category. However, making no difference between free form architecture and parametric design is a subject for another post…


Milos Dimcic