Personally I wouldn’t go near scripting myself when doing this, grasshopper will be fine (and to be honest just CAD modelling it would also be adequate, but I guess there are learning objectives to be had here too).
Personally, if I were tackling this I would be creating a profile curve and then doing a polar array, rather than dividing all these circles which could get tricky to manage. If you use a polar array, you can then create a single vertical profile curve, extend it (as per the roof), rotate it and then trim it. The plan view of this project gives a clue that this was maybe how it was done:
This original curve could just be a 3-point polyline, then use the Fillet component (a). Then use a the Polar Array component around a centre point (b). Create many of these (with extended lines) which are then trimmed with a top curve using the Trim with Region component (c). For the top curve itself, you might want to play with the MetaBall component, which is usually horribly overused but in this case might generate a nice top curve that looks similar to the project. Finally, you can then use these setting out curves to extrude and create the steel plate elements themselves.
I think it would be remiss of me to upload a grasshopper file, because you won’t learn anything from it, but hopefully this gives you a new approach in tackling your problem. It won’t necessarily be the right approach, but that’s the beauty of these things, there are always different ways to do it. Have a go with some of the components mentioned above maybe.
Best of luck with it!