Facilitating design and construction through integration with Dynamo

Peter Madlener

by Peter Madlener

The design and construction of objects in the civil engineering industry requires the collaboration of many disciplines, such as structural engineers, structural designers or road designers. Often, each discipline in a multidisciplinary team uses its own specialised software. What challenges arise in such an ecosystem and how can they be dealt with?
How to create successful application that ensure adoption
Build successful applications

Learn the process to build apps that provide real value to your work and that other people will definitely want to use as well.

The use of Dynamo

Structural designers make extensive use of BIM and CAD software, such as Autodesk Revit and AutoCAD, while road designers use Autodesk Civil3D and Bentley MX Road. Skilled designers automate their workflows in these packages with Dynamo. By creating Dynamo scripts, manual actions can be automated in those structural design software.

Dura Vermeer’s engineers and technical modellers are highly acquainted with those software packages and use Dynamo intensively in their design process. Their experience, expertise, and the concept of visual programming enable them to quickly develop models with Dynamo. However, some needs are yet to be covered: the exchange of data and versioning of that data is challenging.


Also, although Dynamo is a very handy tool, it has a learning curve: often only a specialist knows how it works, making other disciplines dependent on the time and resources of these specialized individuals. That’s where VIKTOR comes into play. VIKTOR is a web application development platform for engineers and has a large variety of digital building blocks (digital LEGO) such as integrations with structural design software. VIKTOR’s web applications provide a central database with version control on the data and offers an intuitive user interface where other disciplines can easily use encapsulated expert knowledge. This is also known as: Democratization of Knowledge.

But how do you leverage Dura Vermeer’s existing expertise in Dynamo and VIKTOR’s distribution and data control, one would ask? By building an integration between the two. VIKTOR and Dura Vermeer collaborated and developed a Dynamo-VIKTOR node package: nodes where data can be fetched and pushed from Dynamo to VIKTOR.

Single Source of Truth

Often the exchange of parameters between the different disciplines takes place via mail or quick hand-drawn sketches, which is not foolproof and can become increasingly risky when many versions and alterations are made. By developing a VIKTOR web application that automatically integrates with different design software, manual output exchanges are no longer necessary. Of course, active communication between the different professionals is still required, but less normative.

Creating Dynamo scripts

The Dynamo-VIKTOR node package consists of several nodes (in Dynamo terms, a node is a visual representation of methods/functions with only input and output). When properly placed, the nodes can perform a task such as establishing a connection between Dynamo and VIKTOR. The following figure shows a representation that makes it possible to acquire the input parameters of an entity from VIKTOR to Dynamo. Other configurations of these nodes can create alternative tasks, such as getting results, getting files and even pushing data to VIKTOR.

The Dynamo-VIKTOR node package

By connecting these strings of nodes to other Dynamo nodes, actions and even designs can be automated using the design software. These series of nodes is called a Dynamo script. Once the script is executed, multiple tasks that can be used in Revit will be performed. Since Dynamo is not only supported in Revit, scripts can also be developed for AutoCAD, Civil3D, Inventor, etc.

Using the Dynamo-VIKTOR node package

The video shows the same Dynamo-VIKTOR node package used in both Revit and Civil 3D. The video shows how the cross-section is manipulated using the parameters given in VIKTOR. No external exchange file is necessary resulting in a live connection between all disciplines (in this case the structural engineer, road designer and structural modeller) which is basically practicing the single source of truth principle.

See here how it's done!

Connecting both software and knowledge

The collaboration between VIKTOR and Dura Vermeer has created a difference in which all software is deployed independently. Not only are software packages connected, but also the knowledge of the professionals. Both parties ended up speaking the same digital language, even though their knowledge backgrounds are so different.

In only one sprint (a two-week development period) the live connection between VIKTOR and structural design software was explored and finally established. Further development will most likely yield many more functionalities and applications, as all kind of design software can tap into this single source of truth.

Dynamo-VIKTOR node package 2.png

A reusable package for future automation efforts

The Dynamo-VIKTOR node package is a very general utility to exchange data between VIKTOR and Dynamo. It is generalised: it can be linked to any VIKTOR app for which credentials are available and any Dynamo script. That is why this is a digital building block that Dura Vermeer can reuse in their future automation efforts. In the long term, VIKTOR can continue to provide digital building blocks with which Dura Vermeer can realize their vision to become the best digital contractor in the Netherlands.

If you are interested or have are any questions or remarks about this development do not hesitate to contact us at: pmadlener@viktor.ai.


Related Blog Posts

plotly pandas numpy matplotlib python

Visualize your data with Python and VIKTOR

Read more

Save time by automating PLAXIS in the Cloud

Read more

Hackathon stimulates knowledge development

Read more