Because getDirectories returns an array, you'd get the first element and then add the file name afterwards: out_name = (getDirectories ((systemTools.getEnvVariable("USERPROFILE"))+"/Desktop"))[1] + "test.txt"
It looks like it's using fibonnaci spirals. You might be able to find a plugin that will generate an array using them, then bend them down to fit the shape?
Have you tried the Spacing tool? Also if it's a helix of boxes that you want, like a spiral staircase, then no need for a spline if you use the Array tool.
Hmm that's interesting, I wonder what can be done to make something that will be usable. There must be some array that I can access that will have the undo labels.
You can easily create an array listing your attributes and to create UI with a Loop. This is clean, optimized, fast and will create to you some holidays :D