Optimization of parametric truss

Good evening!

I am writing my diploma and I have encountered a problem. I use Rnino 7 and can’t figure out how to optimize truss. I am doing optimization using the Optimize Cross Section component, but when checking AnalyseThII, there is a problem with ULS and Buckling.
What should I do to eliminate this error?

I have a second version of the program, where the optimization of sections is done through Octopus and the calculation is based on the second theory, but there I also encounter the problem that the final results are approximately twice as high as expected.
Using the SAF file, I transfer the model to SCIA and compare the results.

Thank you in advance for your reply!
Best regards,
Daniil Zvonov

Master Diplom - 12_03_2026-18 .gh (290.3 KB)

Hi, it is hard to debug your script as it is so large, and I am missing some plugins, so it would be good if you can internalise some parts so it is easier to troubleshoot. For example, the beams are not split in my script but I feel this is because some components are missing

Also I can see that you have selected all families of the rectangular. You should make sure to only select one family


Hello!
I left only two geometry options and removed the components that are not needed now.

Master Diplom - 18_03_2026.gh (124.9 KB)

The buckling issue seems to arise due to the structure being kinematic. It can rotate around the X axis, and you can see this when you plug the ModelView after the BucklingModes component.

Thanks!
I didn’t know that they could be connected and looked at the torsion.
What method would you recommend to remove rotate around the X axis?
if I had several connected truss in my system. for example, by the beams in the upper belt on which the roof lies, then there would be almost no torsion.

If I forbid torsion on the supports, then there is still torsion in the center of the system.
And BLFacs=0.062

Actually you need to set the buckling lengths of your upper and lower girders to be the real buckling length as at the moment, their buckling length is 3m. You can use the modify element component as such to do this, and then you will see that after the optimisation, your truss performs like an inverted bowstring truss (unterspannte träger)