Feeding lists to the Analysis.CalculateWithSave node for analysis with Robot



I am trying to feed a list of properties into the Analysis.CalculateWithSave node in a similar manner to Dieter Vermueulen’s 'Dynam(o)ite Your Design for Engineers class from AU 2015. In the first instance i just want to create a proof of concept and run a selection of beams through a simple analysis…but i cant figure out how it works.

Does anyone have a simple example to illustrate this?

Should i be looking at a LoopWhile node?

Looping Beam Trial.dyn (65.5 KB)


Hi Daniel
First of all, in order to load profiles into Robot and thus make them available you need to use the node “Bars.LoadSections”, secondly these sections should be a naming that exists in the database of Robot.
Next: You should only pass superimposed loads to the “analysis.calculation” node.
Apart from this your script looks fine. However you’re trying to set 6 sections to a list of 10 analytical bars, which is not possible, you need to split it op in individual “setsectionbyname” nodes (Only one section type can be accepted as input (as string))
Last the “flatten” node is not needed in the analysis step (this is included in the analysis.calculation" node.
I’ve tried to make a few corrections in your dynamo graph.

If you wish to look at several version of the same structure I’d recommend you to look into the possibilities around the package “Optimo”
Looping Beam Trial.dyn (64.7 KB)


Thanks Jonathan,
Ive had a look at Optimo but I was trying to get something simple to work to start with. Ive seen a couple of examples where lists are fed into an analysis and Robot runs and saves an analysis as it goes through the list of sections. This is what I was trying to replicate. Many thanks for your other tips though.


Hi Daniel

I see, can you point to some of the examples where you’ve seen the sampling through section-lists?


I was looking at the AU class here;

specifically ‘case 4’ for feeding a list of sections into an analysis. There is even an example file but I don’t understand it.

I was also looking at a loop example here;

This uses a code block rather than the ‘loop while’ node - from what I gather the code block is easier to implement - but I cant seem to get this to work either with my limited knowledge of design script.


If you wish to follow case 4, then keep an eye on the use of “getitematindex” for the sections in the custom node, and step 5, specifically the List.CartesionProduct node. These are the main reasons why this works as it does.

Unfortunately I cannot help you with the code block.

One last thing, be aware that due to issues the visual-update that you see in the video of RSA updating will not happen in the newer versions.