I hated this about Softimage when I first started learning how to script. I was both learning Python and the Softimage SDK at the same time. Little quirks like this really messed with my head.
Also how very little in the documentation has any Python examples, everything was in Jscript of Vscript. Made my life hell. And ISVT collections to this day still annoy me as I find them ugly and clunky to work with. Now after years of getting used to the SDK I still look back on the early days and shiver. It really did suck to have to figure all this stuff out the hard way. We recently hired a junior TD here and the first thing I did was get her to watch Rafaele's training videos. All the stuff I had to figure out from years of trial and error was in there. I'm actually a bit jealous http://tod.cgsociety.org/ On Thu, Apr 25, 2013 at 9:44 PM, Alan Fregtman <[email protected]>wrote: > *ISIVTCollection* collections exist because *Python was not in Softimage > since the very beginning*, so a few of the SDK command implementations > used these so-called "output arguments" feature (since a big chunk of the > core commands are written in VBScript, which supports it.) The special > collection object was a way of getting them to be accessible automatically > without having to go back and add new commands. > > > > >>* Either way, I don't think the new SDK docs really show what > arguments are the ones returned > * > > Perhaps not clearly, but they *do* show. For example: > > http://download.autodesk.com/global/docs/softimage2013/en_us/sdkguide/si_cmds/PickElement.html > > Note how in the 2nd paragraph they mention output arguments, then in the > Parameters list, for "*PickedElement*", "*ButtonPressed*" and "* > ModifierPressed*" the Description of the parameter reads *"Returns the..." > *. That's how you know it's an *output argument*; because it's trying to > return something. > > The Parameter name for the output argument is the key for the > ISIVTCollection returned, so in this it might be something like * > Application.PickElement(...)("PickedElement")* for example. > > > Cheers, > > -- Alan > > > > On Thu, Apr 25, 2013 at 9:10 AM, Eric Thivierge <[email protected]>wrote: > >> Yeah certain commands aren't, let's say, specifically compatible with >> Python or other scripting languages that don't support output arguments. >> That's an ugly explanation but is pretty much how I think of it. Either >> way, I don't think the new SDK docs really show what arguments are the ones >> returned so it may be a bit tough to know but if you take a look at the >> various code around and maybe some of the older docs you'll see how it >> works. >> >> This may help too in Python: >> >> http://download.autodesk.com/global/docs/softimage2013/en_us/sdkguide/index.html?url=files/ISIVTCollection.htm,topicNumber=d30e53970 >> >> >> On 25/04/2013 7:57 AM, David Barosin wrote: >> >> Look at these links - they help explain what ISIVTCollections are and >> when they are returned. >> >> http://download.autodesk.com/global/docs/softimage2013/en_us/sdkguide/index.html?url=files/outarg_bylang.htm,topicNumber=d30e53710 >> >> http://download.autodesk.com/global/docs/softimage2013/en_us/sdkguide/index.html?url=files/ISIVTCollection.htm,topicNumber=d30e53970 >> >> >> >> On Thu, Apr 25, 2013 at 7:36 AM, Martin <[email protected]> wrote: >> >>> Hi list, >>> >>> I have a question about SIImportMatLib command. >>> >>> I was trying to get the return value in jscript without success until >>> I checked Eric's ET_PassManager code where he is using >>> >>> oMatLib = xsi.SIImportMatLib(strMatLibPath)("Value") >>> >>> and the oMatLib gets the return value. >>> >>> It works (in jscript too) and I'm using it now, but why does it work? >>> >>> I mean, where this ("Value") thing comes from? >>> >>> When should I use it? >>> >>> Thanks >>> >>> >>> >>> M.Yara >>> >>> >> >> >

