Collaborative parametric design models allow you to work together for better solutions
Note: You can use the navigation bar below to get directly to the topic of your choice!
Parametric design is a design approach that uses flexible models that can be adjusted and solved quickly to automatically generate a solution. A more formal definition can be found through Wikipedia: “The parametric design process is based on algorithmic thinking that enables the expression of parameters and rules that, together, define, encode, and clarify the relationship between design intend and design response.”
To make it simple, you can think of parametric models like an Excel sheet. You put a formula which links to a cell, change the number in the cell, and the sheet automatically calculates the right answer for you.
The same goes for more complex parametric design models. By simply changing the input variables (read: parameters) within a parametric model, you can immediately see the effect this has on the design outcome. A good parametric model includes all key elements of a project and can dynamically be changed based on new knowledge, insights, or requirements (material, dimensions, go on) that come along during a project.
With traditional design, models are created, changed, and checked manually. As everyone in the business knows, it is very unlikely that you will find a good solution the first time trying. Usually, you must iterate several times until you find a solution that fulfils the requirements. On top of that, requirements and circumstances often change throughout a project, meaning even more iterations are needed before you get a good outcome. This process is time consuming and not fun at all.
That is why parametric design models are so popular. Here, all components of the design rely on parameters, meaning that if a parameter changes, everything else automatically changes as well. This means you spend less time updating and calculating models. This time you can invest in finding better and more optimized designs and exploring new solutions. Moreover, you are flexible and always ready in case requirements or circumstances change.
Thus: A traditional model provides one outcome for a structure at a time, while parametric design models can be used to automate designs for every possible outcome structure you can think of!
Both parametric design and generative design are often called the future of design, and that is for a good reason. Just like parametric design, generative design approaches are faster than traditional design approaches. With both, designers can make real-time changes to their models, which can be reused in future projects as well.
Even though a lot of people often use both terms to indicate the same thing, they do differ from each other to a certain extent. These differences lie in the degree of design automation. Generative design takes it a step further than parametric design, using an algorithm that generates thousands of design options. These are all analyzed and compared to each other to come up with the most optimal outcome (considering the requirements) or with solutions you have maybe never even thought of yet.
Lately, generative design is becoming even more powerful thanks to the inclusion of artificial intelligence. Here, machine learning algorithms can be used at both sides of the equation: To generate different designs and to evaluate and rank these designs according to their performance.
In short, this means that where with parametric design we still have to manually change the parameters and check the result by hand to find a solution. Generative design actually allows us to choose the design we prefer out of a set of designs that all fulfil the requirements. To avoid confusion: Throughout this article we will use the term parametric design to indicate both parametric and generative design.
There are lots of people that use parametric design to automate parts of their workflow (e.g. repetitive calculation processes). This is already very beneficial, but to reap the most benefit from design automation, we must take parametric design to the next level by also enabling active collaboration.
With collaborative parametric design we mean that different stakeholders work together on a single tool to find a solution for a problem. These models integrate data across different software packages and disciplines to include all key elements of the project, saving time and making the process less prone to communication errors.
Additionally, we also mean active collaboration in creating parametric design tools. This means that, instead of reinventing the wheel, different people and organizations cooperate to create better and more powerful tools than they can create individually.
The rise of web-based parametric design applications is helping to reach collaborative parametric design. These applications are hosted in the Cloud and can be accesses anywhere through internet and are user-friendly, which enables people with all kinds of different backgrounds to use them. Additionally, they serve as a single source of truth making sure everyone always works with the same version of the data and tools.
We have already mentioned several good reasons why you should use parametric design but to sum it up, here are the nine biggest benefits of creating and using parametric design applications in the Cloud:
It may be difficult to visualize how to reach true collaborative parametric design. That’s why we created a roadmap to help you evaluate how far you are in the journey and think about how to achieve the next step(s). Note: This is not a linear process – you can see it more as a guideline to evaluate what the foundation is for the next step. It is like building a pyramid; digitalization is the basis for building everything on top until you reach democratization. However, as the reach and power of your parametric design tools grows, it may be necessary to extend the basis and digitalize things that were not necessary to be digitalized before.
We love it when people have big dreams. However, we always encourage you to start small. Even though the roadmap looks like a linear process, it is actually more of a circular one. We advise you to try and go through all the steps as quickly as possible, learn from your experiences, and start the cycle again. Don’t get stuck in automation and optimization, only to discover afterwards that you cannot properly distribute and democratize your tools.
Digitalization is the first step. We assume that most organizations are not creating their designs using pen and paper anymore but depending on your ambitions it may be necessary to digitalize other parts of the workflow that are not digitalized yet. For example, data sharing between colleagues or registration of data at the construction site.
After digitalization follows the second step, which is the standardization of your processes. We don’t mean that you should provide just a limited number ‘standard’ solutions, designs, or products. It is about always following a clear and well-defined path to find the right solution. Even though each design is different, the process to create it is very similar each time if you think about!
So, how do you go about this? Try to sketch your process in a flowchart. At the top you will have all input that is relevant for your design (dimensions, materials, etc.). At the bottom you have a design that fulfils the requirements. You process is standardized if you can define all steps and choices needed to go from ‘input’ to ‘solution’ in such a way that you can simply follow a path without landing in a situation that requires improvisation.
Standardization not only applies to designs but data as well. To standardize, make sure data is stored in an even and consistent way. Think also in input data obtained from the jobsite, time sheets, CPT measurements, or other things alike.
The third step is integration. If you want to avoid all the manual copy+pasting of information, you must find a way to break the boundaries between all the software packages and data sources you use to create your designs. That way, the various models and data sources you are using can communicate with each other, which is necessary if you want to automate processes. This can be done, for example, by using an API (Application Programming Interface) provided by the software vendor or using plug-ins in Grasshopper or Dynamo.
For example, for your parametric design tool you may have to combine spreadsheets (e.g. Excel) with visual programming tools like Grasshopper or Dynamo, structural design software like SCIA, and/or a programming language like Python.
Nice, copy+paste is gone now! But wait, are there still some actions that need to be performed manually within the different software packages you are using? Now it is time to eliminate those steps as well!
Through automation, your parametric model can run all software packages and access all data sources automatically. You want to reach the point where you only have to provide the input variables, run the model at the push a button, and get the results. For this, all processes should be standardized, and all necessary software integrated.
After automation follows optimization. Countless calculations need to be done before you end up with the optimal design. You don’t want to do all these iteration by hand but rather use an algorithm that helps you calculate hundreds of solutions in an instant to find out what the optimal outcome is.
At this point, it is important to have tools that not only allow you to run multiple calculations but also help you to find the best and most optimized design and make it possible to compare multiple solutions in an insightful way. We noticed that results are most insightful when they are presented in a graphical way, thus, instead of providing a bunch of data, try to use graph(ic)s, 3D models, and other visual representations.
Distribution is an important but often underestimated step. People often think that automation and optimization require much more attention, which is not true at all! With distribution we mean how tools are shared, which is very important. Not having a good system in place can affect your complete project or organization.
Let’s illustrate this with a simple example. Let’s think of any model that is placed on the company network drive, for example a Grasshopper script. With a bit of luck, people will be able to find, understand, and use it instead of having to start from scratch. So, they copy this model on their local drive and use it. But what happens if you discover a bug or make an improvement to your model after that? In that case, you update the script and publish it on the network drive again. However, the people who already downloaded your previous version are now using the ‘wrong’ one. So the question is: How can you be sure that everyone is using the latest version? Moreover, what happens if people have already modified a local copy of the model for their own specific situation? You may end up with all kinds of different versions of the model, with and without bugs, that all come up with numerous different results.
Thus, having good distribution means making sure that:
Democratization is the last step of the roadmap to collaborative parametric design. After you have found a way to properly distribute your tools, you have to ask yourself the question: Is anyone actually able to use them? That is the essence of democratization: Transforming the parametric design tools that only you or a handful of experts can use into something anyone can and wants to use. User-friendliness of your tools is key for adoption. If your tools are too difficult to understand, nobody will end up using them at all. Many users may not feel comfortable using Python, Grasshopper, Dynamo, and others. That is why you have to find a way to create applications with a user-friendly interface that are easy to understand and navigate for everyone and, most important, that provide real value for the end user. But how?
The answer: Make end-user part of the process. Constantly ask them how they feel about the tools you are creating. This not only results in better tools but makes the end-users feel ownership. If you are interested in learning more about this topic, we wrote a complete guide addressing user-centric tool creation: Building successful applications (that others want to use as well).
Over the past years, application development platforms are becoming more popular. These platforms facilitate the democratization of parametric design methods by enabling people to create user-friendly web applications that, besides easy distribution, can easily be used for collaboration by all stakeholders (e.g. direct colleges but also other departments, organizations, or clients) to find the best solutions for a project. But more on that later.
In the previous chapter, we explained which steps are involved in the creation of collaborative parametric design tools. Keeping the roadmap in mind, we will evaluate different aspects of commonly used parametric design tools. Starting off with an explanation of the various parts and an overview, which can be seen in the table below. We will go into more detail about this later but to sum it up and to keep things simple, we created three categories:
Explanation of the categories:
It is easy to learn the basics of Excel to make simple parametric tools that, for example, can be used to calculate a beam. Actually, the real power of Excel is that many people already know how to use it. This means that, as long as your tool is well-structured and not too complex, people will find it easy to use too. It is also nice that you can use Excel to create all kinds of graphs that help visualise data and short table data in different ways with little effort.
It is only when you want to create more advanced tools that working with Excel starts to become a problem. For example, you have limited possibilities to process data, show another kind of visualisation (3D models, maps, etc.), do matrix operations, and command other software packages. You can solve some of these limitations by creating macros (VBA scripts), but not all of them. Although people are creating excellent tools in Excel, we think that – at the moment you start programming – it makes more sense to choose for a more powerful and friendly programming language, such as Python.
When it comes to distribution and collaboration, Excel is a weak tool as well. There are no good ways to work together with other people to create parametric design tools or use these together with other people. There is also no version control of the code and data. It is difficult to follow the logic of an advanced sheet and it is challenging to make sure that the changes you make to the logic will not break something else. You can distribute Excel tools only by sharing the files. After some has received a file, there is little control over what they do with it or who else they share it with. This makes it challenging to protect your intellectual property. It actually is possible to lock a sheet with a password. However, this still does not provide sufficient protection from someone with serious intentions.
In this section, we will use Python as the representative of programming languages because we believe it is the most used programming language in the engineering and construction industry and is easier to learn and use than other languages, like Matlab and C#. Out of all programming languages, Python probably resembles English most, meaning you can go from thought to code very fast and intuitive.
Even though learning Python is harder than learning the basics of Excel, when you get through this initial learning phase, you will discover that making advanced tools is much easier. A significant advantage of Python is that there are so many libraries that you can use for free. You can find libraries for numerical calculus, machine learning, data processing, aerodynamics, creating interactive visualisations, geodesics, and so much more. Many software packages have a Python API that makes it possible to use FEM or 3D modelling software just as any other digital building block.
The drawback of creating and using parametric design tools with Python – or any other programming language – is that they can be pretty intimidating to someone without programming experience. Additionally, Python scripts are distributed by file-sharing, meaning you have the same version control and user management problems as with Excel. On top of that, these files are also difficult to use together with other people.
On the positive side, you can solve these problems as long as you are willing to invest enough time in getting more skilled at Python. You can use it to make almost anything you want. For example, you can create a Graphical User Interface (GUI, or connect your tools to a database to have a user management system and version control of your data. Additionally, you can build-in tests that automatically check if your code works appropriately after modifying it, and much more. There are also entire libraries that you can use for this, but that is a more advanced topic and that requires a high level of expertise.
Python is also very scalable. Large organisations like Google, Spotify, and Netflix use Python too. Many other tools facilitate the collaboration with several people on a single Python project and can be used to control how code and versions changes and how distribution takes place. An example of such a tool is GitLab. You can share Python scripts as files and also create an executable file (.exe) that enables availability of a tool without exposing its logic.
Visual programming tools are relatively easy to learn how to use. You don't even need to write a single line of code to create a parametric design model. These tools allow you to work with pre-made pieces of logic (nodes) that can be connected,. You can see how this works on the right side of the picture below.
Software tools like Grasshopper and Dynamo are strong when it comes to 3D modelling and they seamlessly integrate with Rhino and Revit, respectively. This makes it possible to visualise changes in your 3D model immediately, as shown on the left side of the picture. Features like these are the ones that made this software's famous for architecture and BIM. Over the last years, different plug-ins also make it possible to integrate with structural engineering and other software.
However, Grasshopper and Dynamo are not as strong as Python when it comes to managing and processing large amounts of data or performing numerical calculus and matrix operations, which may be necessary to optimise your design or perform advanced analysis. Additionally – and in a similar way to Excel – there can come a point where you reach the limit of what can be done using just nodes, and it becomes inevitable to start writing actual code.
When it comes to distribution, Grasshopper and Dynamo are not really made to create or use parametric design tools with other people. However, there are still interesting possibilities for collaboration. For example, it is possible to create, share and import nodes. You can also ask to write or read data from a network drive so that you can share data with colleagues or clients. Nevertheless, this is not to the level that you are able work together with different people on the same script to create better solutions. Moreover, you still need to share Grasshopper or Dynamo files through Excel, making that version control of data and models and IP protection are also limited.
Looking at the overview of the pros and cons of different software packages, you may notice that there is no perfect solution for creating collaborative parametric design tools. In general, all of these tools are quite strong when it comes to integration, automation and optimisation, but lack the features required for distribution and democratisation. This leaves the question: How can you overcome the limitations of these packages without hiring a software engineer?
In this chapter, we will explain why hosting software in the Cloud the solution to this problem is. This will be followed by some concrete examples of how this can be done.
So, how can you overcome the limitations of software packages without hiring a software engineer? The answer: By using an application development platform, such as VIKTOR. An application development platform enables people to create web-based applications that are user-friendly and easy to distribute. You can use it to transform your Excel, Python, Grasshopper or Dynamo scripts into a professional online application without requiring software development skills. It also includes ready-to-use integrations with engineering and design software so you can easily and quickly automate your workflow(s).
Because everything is hosted in the Cloud, it is easy to share your apps with everyone you want to. The apps automatically include user management and version control of the design, enabling you to collaborate with all kinds of different people. You can assign roles and permissions to determine who works on and sees which parts of the project. People can simply use the app but don't actually get to see any of the logic behind it, meaning your intellectual property is safe at all times. Moreover, people are not required to install any software locally, as this runs in the Cloud.
Here we have some examples for you of how software is hosted in Cloud-based VIKTOR applications to automate processes.
Many Excel sheets are used in construction to do calculations. Heijmans linked their Excel sheets with reinforcement calculations for concrete cross-sections to SCIA in a VIKTOR application for the reinforcement of slabs. Now, fewer numbers have to be copied and engineers can work more efficiently, have more time left for complex and challenging work, and the risk of error is reduced.
Read the full article here: Automating concrete-cross section analysis by linking Excel sheets to SCIA
To simplify and enhance the efficiency of their process, Sweco created custom Python scripts. They used VIKTOR to integrate in an application which functions as a user-friendly interface to centralize data and enable people to simultaneously use the scripts. All in one day!
“It’s amazing that we are able to develop an application within 1 day, which ensures that everybody uses the same analyses and models. This saves time and reduces the chance of errors.” - Tjeerd Hermsen, BIM manager at Sweco
Read the full article here: Custom Python scripts in VIKTOR to save time and reduce change of errors
Engineers often use SCIA Engineer in the design process of civil structures to assess whether the design(s) suffice the requirements. SCIA offers an API to create structural models without having to manually use the interface. VIKTOR created a Python library with specific SCIA objects that can be used to easily build up a (parametric) model that also can be exported to XML format, which can then be read in SCIA.
A VIKTOR worker takes care of a connection between the web application and the software, such that SCIA can be executed from within the browser. After the analysis, the results are returned and can be visualised on top of the model visualization. This means that the manual tasks of constructing a SCIA model in the interface, analysing the model and assessing the results can all be done with a simple click of a button from within the VIKTOR interface. See here, the associated visualization:
Read the full article to see how you can create the SCIA model with a few lines of Python: Using Python and SCIA to create parametric models in the Cloud
Dynamo is loved by modelers for making automation accessible to non-programmers. However, Dynamo models tend to get quite complicated quite quickly, making them hard to use for those unfamiliar with their inner workings. At global design and consultancy firm Arcadis, engineering teams are ‘wrapping’ their Dynamo models in VIKTOR web apps, making cooperation easier and quicker.
VIKTOR provides an easy-to-use user interface that asks for input and shows the results. This allows you to use a model you don’t know, without being afraid to break it. You don't need to learn another new tool, or program, and you can use models from your colleagues easily, which can save enormous amounts of time and prevent mistakes from happening. As soon as you finish it, the app is instantly available online and providing access to colleagues is easy and fast.
In the video, you can see one of Arcadis’ two Dynamo models in a VIKTOR web-app:
Read the full article here: Dynamo and Python in the Cloud for easy sharing and accessibility
The design and construction of objects in the civil engineering industry requires the collaboration of many disciplines, such as structural engineers, structural designers, and road designers. Often, each discipline in a multidisciplinary team uses its own specialised software, making design processes complex and data exchange difficult. Due to Dynamo’s steep learning curve only a specialist knows how it works often. This makes other disciplines dependent on the time and resources of these specialized individuals. That’s where VIKTOR comes into play.
By building an integration between Dynamo and VIKTOR, both expertise and distribution of data can be leveraged. That is why Dura Vermeer build a Dynamo-VIKTOR node package: Nodes where data can be fetched and pushed from Dynamo to VIKTOR. In the video, you can see the node package used in Revit and Civil3D. It shows how cross-sections are manipulated using the parameters in VIKTOR, resulting in a live connection between all disciplines – a single source of truth!
Read the full article here: A single source of truth for Dynamo and Civil3D
Grasshopper is a great tool for creating complex logic in a quick and visual manner, ideal for those who are not quite ready for coding yet. Grasshopper easily integrates with your VIKTOR web application, empowering Grasshopper users to contribute to applications or even take over most of the coding. Deploying the Grasshopper script is easily done by pushing it to our worker in the Cloud. In other words, VIKTOR and Grasshopper is a powerful combination of visual programming and code, empowering a whole new group of people to contribute to online web application development.
Here, you can see what it looks like to parametrically design a façade structure with visual programming in Grasshopper on the VIKTOR platform:
Read the full article here: Parametric design in the Cloud with Grasshopper.
From the examples you can see that there are several benefits to hosting software (for parametric design) in Cloud-based VIKTOR applications. To sum it up, here we have an overview of the 6 most important benefits of an application development platform:
For this project, The Graaf Weinaldalliantie, consisting of the Water Board Rivierenland, the contractor consortium ‘Waalensemble’ (Heijmans, GMB, de Vries & van de Wiel), and advisory party Royal HaskoningDHV, build an extensive parametric calculation tool for dike improvements, called Wilma.
Traditionally, dike design methods are based on manual input of cross-sections and based on that a planning is made of how many cross-sections can be calculated. This normally is about one for every hundred meters of dike, which causes the design to be over-dimensioned. For people that built the dike from a safety point of view, this is okay. However, this does lead to strict and heavy measures that affect the environment and therefore this is not always desirable from a stakeholder point of view. With the Wilma tool, these calculations are automated, resulting in the optimal dike design, that also considers the requirements of stakeholders.
Another example is a parametric design application by COWI that automates the design of the Fehmarnbelt: A road and rail tunnel from Germany to Denmark. With the application, the design of the tunne will be optimized so it can enable lorries to take shorter routes and reduce overall traffic to contribute to a more sustainable future by significantly decreasing CO2 emissions.
The online parametric design application Calypso, enables both experts and non-experts to analyze offshore wind turbine installations quickly. Because Calypso can be used for all kinds of purposes, from quick communication to generation of clear images,to easy performance of in-depth calculations, it can be used to create the optimal design that also meets the wishes of all kinds of stakeholders (e.g. sales managers, engineers).
FrameFlux used the VIKTOR platform to quickly generate geometrically complex custom constructions (used at festivals) with in-house parametric design software. In their application, the Antalyze One, they integrated Grasshopper, Python, and SCAD Re-Event (a popular 3D CAD program) in a user-friendly interface. Now, clients can easily structurally
A visualization of a truss structure in Antalyze One on the VIKTOR platform (integrated with Grasshopper software)
Dura Vermeer has also been working on a parametric design application for wind turbines in which the geotechnical analysis (carrying capacity, D-foundations) is combined with the constructional analysis (AxisVM). The results of these analyses depend on each other and normally you must solve them iteratively. With this application, however, the analyses are linked and therefore this happens automatically. Additionally, the reinforcement of the concrete can be tested using another link with IDEA Statica. Besides that, it combines the results of all analyses and puts them in a downloadable design report.
The creation of a 3D parametric model with the Wind Turbine application on the VIKTOR platform
Together with joint venture de Groene Boog, BESIX designed the 2.2 kilometer long A16 tunnel through Rotterdam. This tunnel consists of many similar tunnel sections, thousands of foundations and sheet piles, a detailed 3D BIM model, and numerous technical drawings. The project focusses on the automation and improvement of repetitive work for the structural design of the tunnel using parametric design methods. For the design of the reinforced concrete tunnel structure, BESIX developed a parametric design tool to drastically speed up the calculation process. Where one would traditionally calculate only a handful of representative tunnel sections, this tool allows calculating hundreds within the same time. The tool is hence beneficial to achieve higher precision results and improved insight, which enables fine-tuning the design and reducing material costs as well.
Due to the rapidly developing Rotterdam port area, train traffic has intensified. Because of that, the Theemsweg route was built as new railway viaduct. Wagemaker used VIKTOR to parametrically design and calculate the substructure of the route. To do this, they integrated with geotechnical and structural calculation software such as the finite element program SCIA. Using the tool resulted in a more efficient design process and reporting enabled Wagemaker to demonstrate that they have been able to design and analyze all support points properly.
Voorbij created a web-based parametric design application on the VIKTOR platform to optimize the (re)design process of pile foundations, which helped their clients save a lot of time and money. Before, Voorbij optimized pile foundations based on their experience, by grouping CPTs, and including soil variances in a smarter way. Now, they use their parametric design application to speed up this time-consuming manual process. The app allows for the automated grouping of CPTs based on a given set of rules and generates optimized pile plans according to aspects such as cost, soil structure, grouping, pile tip levels, and pile types, while also providing rich visualizations of results for quick interpretations.
VIKTOR is a platform for parametric design in the Cloud. It empowers engineers to create professional and multidisciplinary parametric design tools quickly. It allows you to profit from all the advantages of custom software in the cloud without software engineering skills in-house. VIKTOR is made for engineering: Invest time in standardizing and improving your process. We take care of the rest!
The past years, VIKTOR has been working on the development of many different applications that can be used to automate and optimize processes, centralize data, and allow people to work efficiently and collaborate on projects by implementing the principles of parametric design. Results from these projects all point to the same type of benefits of the implementation of parametric design methods in engineering: Because parametric design methods can be used to calculate all possible outcomes it reduces risks, saves times, leads to the most optimal design, and makes you more flexible in case of changes compared to when using traditional design methods. Our approach is implementing the right centralized system that facilitates collaboration and analysis and provides understandable insights to all key players. This system is easily set up with the desired tools and can be controlled by a team of domain experts and low-code developers. All the while, we focus on the following seven key drivers:
Curious about how you can use VIKTOR to improve your workflow? Check out our parametric design solutions!