Internship of Jef Verstegen

Missing study points in your personal study plan and gaining work experience in the field of structural engineering? To tackle these topics, I did an academic internship at engineering firm Verhoeven en Leenders based in Volkel. The aim was to research the possibilities of extending and optimizing an existing Grasshopper script, which I conducted last year from August 2021 until February 2022. Luckily, most of the internship took place at the office, even though COVID-19 still reigned supreme during this period.

As many structural engineering firms nowadays, one seeks solace in parametric automation of repetitive processes with as main goal to streamline the structural design process. These parametric automation is performed by various CAD, BIM, and analytical software packages through scripting and programming tools such as Grasshopper. In the case of Verhoeven en Leenders, a parametric automation process has been created to generate several analytical models of a standardized steel hall design. This model can be parametrically adjusted by only one input sheet that includes geometry, material properties, and loads. As part of this process, Verhoeven en Leenders developed a custom Grasshopper plug-in to migrate data from Grasshopper to RFEM, the analytical program used by the firm. In the end, this plug-in saves a lot of repetitive work for the structural designer.

For an academic student, this automation process may not necessarily seem like a subject suitable for academic research. However, the way data is handled is a minor detail that is often overlooked in these kind of automation processes. Especially, when working with large scripts, data management and  computational costs can become issues with significant stakes. In this internship, the possibilities for optimizing these challenges were explored.

For my research, I started by exploring how the current automated process at Verhoeven en Leenders worked. In addition, I started to learn Python to gain more programming knowledge. The library data collected by the script is organized through Python on profile properties and their sometimes distinct appellation by different software progams. This helped with a better organization of the Grasshopper script. Furthermore, recommendations were given in order to improve data organization in future scripts.

The second topic was to extend the current Grasshopper script by adding a connection between the global analytical finite element program RFEM and the analysis program on detail level IDEA. The latter, IDEA is used for the assessment of K-nodes, see Figure 1, in truss beams by both Eurocode and FEM checks. It was noted that there were quite a few snags in coupling the current analytical models to detail level.

Figure 1: K-node modelled in IDEA

This was mostly encountered in the difference between a single- or multi-span member in RFEM, which requires more profound data management of resulting force values. It was also found that the current plug-in for IDEA needed improvement and problems were tackled in collaboration with the developer. Eventually, conclusions were drawn and recommendations were given that served as advice for Verhoeven en Leenders to improve future scripting of automation processes.

In a way, this internship changed my point of view on automation processes, the use of scripting in these processes, and the use of both analytical and drawing software programs in the built environment. In my experience, our sector is well on its way to catch up with other fields of technology, such as mechanical engineering, by improving design and construction efficiency. However, there is still work has to be done. Gaining a better understanding of data management definitely belongs to one side of the medal of making the built environment genuinely future-proof.