As technology continues to advance at a rapid pace, the need for process automation within our industry is increasing. Automation through scripting is a valuable process that enables us to efficiently manage and manipulate important data to deliver more efficient and sustainable outcomes, writes Arup structural engineer Daniel Keating.
There is an increased need for code literacy within our industry and as designers, we are tasked with creating affordable, high-quality buildings and projects that perform efficiently.
Coding helps us communicate with computers, forming the integral link between humans and machines. By applying coding and programming skills, we are able to reach more efficient and creative engineering solutions.
Scripting is a more user-friendly version of traditional programming languages. It has multiple uses, all coming back to the same point: it helps us to accurately and precisely manipulate our data.
This enables us to do a variety of things – automate design calculations, manipulate the geometry of a building, run multiple analyses of loading, input information to a Revit model – the possibilities are endless.
Benefits of learning a new language
Scripting languages such as Python or JavaScript are perfectly suited for people beginning their automation journey – they can be interpreted easily because of their clear structure that uses shorter code than other languages.
A subsection of scripting programmes is visual programming, such as Grasshopper or Dynamo, which is much more appealing for people who do not have a computer science background or are visual learners.
This allows users to string inputs and functions together to get an output, making it easier to track what they are doing and visualise how it affects the output. The use of visual programming packages has become much more common in the industry to automate tasks.
Daniel Keating, a structural engineer at Arup, says: “Scripting is an art form and the more experience you have, the more elegant your scripts become as you find more effective ways to carry out tasks.”
Digital tools help deliver complex geometries
A common use case for scripting is parametric design. Parametric design is a computer-based design approach that allows designers to explore a complete range of design options to reconcile competing demands.
It is an efficient way to conduct multiple scheme studies of a project in a fraction of the time it would take to use traditional methods and enables designers to unlock increasingly complex designs, allowing for specifications like optimal material usage and energy efficiency alongside aesthetic architectural form.
A good example of this is Magnus Modus, a 7m tall sculpture housed in the courtyard of the National Gallery of Ireland. The free-form timber sculpture in white ash was designed by Joseph Walsh Studio with the support of Arup in terms of its structural performance and stability.
Responding to the artist’s key design criterion of the structure to be flexible, Arup used parametric workflows to analyse and optimise the art piece, developing a structural solution strong enough to let the sculpture move like a tree, and light enough to minimise the use of material.
The power of collaboration
When it comes to developing innovative scripts, collaboration is invaluable – it can be easy to get into difficulty when starting out. Fortunately, there is a broad range of expertise in the scripting community.
Each scripting language has its own online forum where questions can be posed to members, making them useful resources. One example is the Grasshopper forum.
Keating says: “Our team recently had a task that would have taken two weeks to complete using conventional methods. We started writing a script to automate the process but ran into a problem.
"To get help from our internal scripting community, we posted our query on our company intranet forum, a copy of the script and a summary of what we wanted to achieve at close of business in Dublin.
"By the following morning, a colleague from Australia had seen the post and helped us to finish the script, enabling us to complete the task in less than two days. This really demonstrates the massive efficiencies that can come from taking a collaborative approach to solving our problems.”
Rigorous review
Automation of calculations is an extremely useful application of scripting. However, there is often a misconception that Quality Assurance (QA) and Quality Control (QC) are lacking. It is important to remember that automation should be treated like any traditional task and be reviewed with the same rigour as hand calculations.
It is useful to develop a script review checklist and assign a checker, similar to how hand calculations are completed. Front page signoff sheets like design calculation check sheets are a practical way to ensure checks are carried out on inputs, outputs and calculations, as deemed appropriate. This ensures transparency and gives people the confidence that the work is of a high standard.
Beginning your automation journey
The first step to automating a process is to get a pen and paper and map out the process step by step. This will highlight any issues and help define what the desired output is. By visualising how each of these steps interacts, you can determine what type of data is required, what form the data should be in and, most importantly, the desired output.
“This is a critical part of the automation process – even the most gifted computer programmer can only get so far without a clear brief. As the age-old mantra goes, ‘Garbage in, Garbage out.’ If you do not take the time to follow these steps and really think about what you want to achieve, you run the risk of going down the rabbit hole without getting the output you need.
“It is always good to take a step back and ask yourself, ‘what is the end goal of this process and how is this going to help our clients and end-users?’ By taking this holistic approach, you will have more efficient designs and ultimately provide a better service for your client”, says Keating.
Author: Daniel Keating is a structural engineer at Arup with experience working on projects in the built environment. He has expertise in automation systems from early-stage concepts right through to construction. He is the digital transformation manager for the Arup buildings team in Ireland and is the scripting community manager for the Europe region. Through these roles he has been leading the digital transformation at Arup in Ireland, specifically working with the adaptation and development of automation processes to enhance design and quality assurance in projects.