Okay, I have found the solution, but I do not fully understands why it works. Apparently I have to add to GetLocal the instance attribute to distinguish them. So these calls should become:out2,link2 = GetLocal(1) [instance:1]; and. out2,link2 = GetLocal(11) [instance:2]; ,respectively. According to the userguide page 202 the instance attribute is only used for error reporting so that in case of an error also the appropriate function is mentioned. Can anybody explane me why exactly for Get en SetLocal the instance *has* to be given to distinguish them?
Very interesting. I never used the script language much, so I never noticed that obscurity (instance).
Did you know that you can use the graphical user interface to construct macros and/or whole .net programs, then execute them in script mode? dx -script my.net will not invoke the user interface, so .net's run much faster generally speaking than when the UI is updating all those little green labels and stuff.
However, if you had created your macro in the UI, the act of placing each instance of GetLocal into the net would have assigned it a unique instance number automagically. So you wouldn't have had this problem. There is nothing inherently wrong with having multiple GetLocal/SetLocals in a single macro (I had to dig to find one I have built, but I found it: it finds the min's and max's of components of a group of 3-vectors input to it, so yields 6 outputs). This weirdness is just due to the bare bones nature of the script language being writ in the raw.
Nevertheless, it's a good trick to remember! -- Chris Pelkie Vice President/Scientific Visualization Producer Conceptual Reality Presentations, Inc. 30 West Meadow Drive Ithaca, NY 14850 [EMAIL PROTECTED]
