I don't see SIObject.GetUniqueName() in the scripting API.

Matt




From: softimage-boun...@listproc.autodesk.com 
[mailto:softimage-boun...@listproc.autodesk.com] On Behalf Of Eric Cosky
Sent: Wednesday, September 19, 2012 4:28 PM
To: softimage@listproc.autodesk.com
Subject: RE: Getting consistent path to property in scene


I'm not sure if this is helpful but it sounds like you may be able to do what 
you need by their unique names (SIObject.GetUniqueName()) instead of the 
standard full path.


From: 
softimage-boun...@listproc.autodesk.com<mailto:softimage-boun...@listproc.autodesk.com>
 [mailto:softimage-boun...@listproc.autodesk.com] On Behalf Of Matt Lind
Sent: Wednesday, September 19, 2012 4:12 PM
To: softimage@listproc.autodesk.com<mailto:softimage@listproc.autodesk.com>
Subject: Getting consistent path to property in scene

I am trying to write an export/importer toolset.  One of the tasks is to dump 
the full path to animated parameters regardless of where they live in the scene 
so they can be found/modified directly upon importing the data.

Example:

If an object called "George" has an animated texture projection, the paths (via 
Parameter.FullName) to it's translation parameters may look something like this:

George.polymsh.cls.SampleCluster.Texture_Projection.Texture_Projection_Def.projtrsu
George.polymsh.cls.SampleCluster.Texture_Projection.Texture_Projection_Def.projtrsv
George.polymsh.cls.SampleCluster.Texture_Projection.Texture_Projection_Def.projtrsw

The problem is, if I use those strings with Dictionary.GetObject(),  
Selection.SetAsText(), or any other method, Softimage throws an error claiming 
the path is invalid.  If I select the texture parameters directly in the 
explorer, the script log records the following as the paths:

George.polymsh.cls.sample.clslist.SampleCluster.Texture_Projection.Texture_Projection_Def.projtrsu
George.polymsh.cls.sample.clslist.SampleCluster.Texture_Projection.Texture_Projection_Def.projtrsv
George.polymsh.cls.sample.clslist.SampleCluster.Texture_Projection.Texture_Projection_Def.projtrsw

Notice the extra 'sample.clslist' inserted in the middle.

Using these paths, I can get a reference to the parameters using 
Dictionary.GetObject(), Selection.SetAsText() and so on.


The question is - how can I get those paths without requiring the user to 
select the parameters in the scene?


Matt


Reply via email to