The issue on that thing is the cut-offs (kinda a waffle) : as it’s outlined … you’ll get the most feeble members exactly where you need the strongest (where the diagonals meet for last time and start to become a dual column). Plus columns that share one edge > rather impossible in real-life.
On the other hand if you have to repeat the very same thing and given the fact that R is a surface modeller (meaning: is very slow on solid ops) you can get 1000 times faster results if you create the “basic” modules as Instance Definitions and then place them in space. This obviously is not the case when the surface is anything other than an extruded filleted L curve.