As we continue to analyze and developers keep improving the systems we use to work with Generative Design, we can achieve better outcomes, way faster with better information and making sure we have the correct result we are aiming to achieve.
Explorations for Generative Design are not easy or simple, depending on the user (the person developing code for a behavior) and depending in the requirements of the "Client". Most times the task of a user will be to interpret or translate the thinking of the user and create some kind of mix between rational thinking, geometrical thinking and programming.
So lets talk about the sample for this blog:
We need to understand multiple positions for a land in this case any type of land, for this sample the land is a flat (always in one plane) and based on a couple of constraints and goals we are exploring multiple positions for the code to analyze and explore.
My advise to everyone is the following set up a couple of logics first of what you are looking to achieve, once you have this in your mind try to put in in computational language:
How can I set multiple boxes in a surface?
What are the limitations we need to avoid, such as clashes?
What are the rotations we need to set up? (for this sample it wasn't applied as you may see)
How can I reproduce multiple options of the same behavior without wasting lines of code? (This is a tricky question for those who want to learn more about coding, which i believe it comes with practice and improving you coding's skills)
What are the parameters that will control the outputs?
There are many more questions to set up, but the importance is to have a clear message to the computer, that can be simple and strong to provide us with a solution.
Now something that i have realized with the time is that knowing script such as dynamo or grasshopper is not enough to use the potential of Generative Design, I am not saying that everyone should code (I highly recommended to those who want to play with Generative Design), it is definitely possible to use Generative Design with the "traditional" scripting but coding allow us to take this to the next level.
Why do i mention this? Because of what is know as object oriented programming and the power of interactions using coding, in other words it gives you more alphabet to play with the software, as well as more freedom in the way we explain the code the needs and requirements we have in order to provide the correct output.
Testing is crucial.
Once you start moving forward with the first steps, test, make sure to test frequently what you are trying to achieve, if you forget about this step you may regret it and it may be possible that you will have to go back, and even if you are always going back and forward, as any common practice, it is important that you get a personal learning in the process. Always test your code and the see if the behavior is actually what you are expecting, if the result is different to what you expect probably you had the incorrect path when developing.
In my personal perspective all kind of automation, machine learning, deep learning or similar will be come more and more important in our industry and companies that require to be active and successful will have to develop code that will be specifically for the performance they required, because in the end there is no one solution for all projects and if we think that one solution helps multiple companies at the same time that means that your product is the same as many others so somehow you lost you uniqueness in your product.
Just a small reflection about the vision we have for Generative Design, hoping this is helpful for people out there, if you find this interested please share and don't hesitate to contact if you want to learn mora bout this type of workflow.
PD: Always pay attention to the evolution of the learning process
Hopefully we will keep posting more about this workflows.
Commentaires