I code to automate tasks at my job, I develop tools to share with others and I code for fun.
It all started with some basic HTML and Pascal in the early 2000s. Since then, I have used the following programming languages for various purposes:
- Python
- Visual Basic for Applications (VBA)
- Visual Basic .NET
- Matlab/Octave
- GDScript
- Delphi/Pascal
- Dynamo.
Android Apps
I have published several small Android apps. I have used Python/Kivy and Godot to develop these apps. Read more:
VBA GUI programs
To automate design calculations and reports during my work as a Structural Engineer, I have developed several VBA macros for:
- punching shear in concrete flat slabs to Eurocode 2, ACI 318 and Model Code 2010;
- design of beams to Eurocode 2 (including serviceability);
- analysis of retaining walls to Eurocode 7;
- design of steel connections;
- automating Excel spreadsheet operations, etc.
Easily customizable and detailed Microsoft Word reports of design calculations are instantly produced using these macros. Here are some examples:
VBA macros to automate tasks
I have developed VBA scripts to automate tasks during my work as a structural engineer, leading to significant time saving for the teams I was part of. Notable examples include:
- bulk analysis, safety verification and report generation for approximately 200 bridges in southern Albania;
- automatic modification, analysis and post-processing of CSI Sap2000 models of various school buildings using CSI API.
A stand-alone application for Finite Element Analysis
MEF-FIN is a stand-alone program I developed around 2015 for personal research and educational purposes. The program was written in Visual Basic .NET and it has a GUI in Albanian. The program analyses 2D frames using the Finite Elements Method. Linear and eigenvalue analyses are supported.
Python scripts
I have used Python extensively to analyze experimental and numerical data during my research, to plot and to automate different tasks. In some cases, especially during the first years of my PhD, I have used Matlab/Octave.
In addition, I have experimented a bit with Computer Vision in Python:
Finally, I use Python to write scripts for my Raspberry Pi. I am currently experimenting the use of low-cost accelerometers for the analysis of vibrations in structures:
Dynamo (+ Python)
I use Python, sometimes with the help of Dynamo, to automate repetitive tasks when I work with programs such as Autodesk Robot, Autocad and Advance Steel. In the example below, I am using Dynamo with some Python nodes to model bolted connections in a steel lattice tower in Advance Steel.