- Click View in Browser, press CTRL+F and search for the command. When you find it, scroll up until you see the name of the group that contains the command. For example, here’s the “XSI” group in a Key Map html page:
-
In the Keyboard Mapping editor, click that group in the Group box.
- Click in the Command box and start typing the name of the command you’re looking for.
Category Archives: Tips
Tip: Quickly explore any user, workgroup, or factory location
The default project
The default project is the active project at startup (the project whose name appears in the Softimage title bar).
When you first install Softimage, the default project is XSI_SAMPLES.
After that, as you open scenes and exit and restart Softimage, the default project becomes the project that contained the scene you last opened. This is saved in your Default.xsipref file like this:
data_management.last_sequence_dir = C:\Users\SOLIDANGLE\Projects\My Project\Scenes
But you can explicitly set a default project with the Project Manager, then that is saved in your Default.xsipref like this:
xsiprivate_unclassified.DS_SZ_LOAD_DEFAULT_PROJECT = #STRI#C:\Users\SOLIDANGLE\Projects\Support
Use Global Coordinates for Display
Sometimes it can be useful to turn on Use Global Coordinates for Display. Because otherwise you’re going to be looking at points in local space, and that can mess up your thinking.
Here’s a simple example to show the difference. Purple is global, light green is local. As you can see, the purple points match up with the actual coordinates.

Now here’s a better example of the usefulness of Use Global Coordinates for Display. Red is local (and misleading). Yellow is global. Imagine you’re doing all kinds of coordinate system conversions in a complicated tree, and then you decide to show values as points. If you’re not careful, like me sometimes, you end up doubting everything you’ve done and pulling it all apart.

Using Generate Sample Set to avoid the Repeat node
Hat tip to Oleg who posted this tip on the mailing list some time ago.
The basic ideas is that instead of looping over an array with a Repeat with Counter, you use Generate Sample Set to get a data set, and you do everything in a per-generated element context.
As an example, let’s revisit the problem of taking one array and creating a new array where each element is the sum of the elements before it.
The old way, with a Repeat with Counter node, looks like this:

Using Generate Sample Set, you can work with a data set and use that to access the array elements:

Generate Sample Set is set up to give an exact number of samples:

Tip: Importing 3ds files
Not everyone knows it, but the ability to import 3ds files, which was removed in XSI 7.01, came back in Crosswalk 2012.
Just click File > Import > Import FBX, and then click 3D Studio 3DS (*.3ds) in the File Types list.
For example, you could download a 3ds model of an astronaut from the NASA 3d Models page, and import it into Softimage.
Beneath the hood: why ApplyOp doesn’t pop up a PPG
Let’s take a look at a question that was posted recently on the Softimage mailing list:
From: softimage-bounces@listproc.autodesk.com [mailto:softimage-bounces@listproc.autodesk.com] On Behalf Of Adam Sale
Sent: Tuesday, January 08, 2013 3:40 PM
To: softimage@listproc.autodesk.com
Subject: Force ppg to open on script launchI’m a little confused as to why the following does not work:
- Get a sphere
- Run Deform > Smooth
- PPG appears and all is good.Now, take the generated command and run it through the script editor
ApplyOp(“Smooth”, “torus”, 3, siPersistentOperation, null, 0);
This time, no PPG appears.
Any idea why? And is there a way to force a ppg launch when I tun the command from a button or from the script editor?
Thanks
Adam
Matt Lind explained why on the list, but I’ll take a little more detailed look into how commands like Smooth work.
Deforms like Smooth (and Relax and Push and Bend and others) are commands that are mapped to a special handler function in $XSI_HOME\Application\DSScripts\operators.vbs.
The ApplyOpProc provides special-case handling for applying operators, and also takes care of popping up a PPG after the operator is applied.
Don’t try to run “Smooth”; you’ll just get an error. It’s scripting name is actually ApplyOp.

ApplyOp is also implemented by a VBScript handler in operator.vbs. This time, it’s ApplyOpFunc, and ApplyOpFunc does not inspect the created operators.
If you want to apply a Smooth operator from your script, and pop up the PPG after, here’s one way to do it:
si = Application
si.AutoInspect( si.ApplyOp("Smooth", si.Selection, 3, "siPersistentOperation", "", 0) )
Tip: Middle-click ICE tree connections to hide and show values
Brush properties saved in scene file
Brush properties are stored in the scene file. Who knew? I certainly didn’t. Given where Brush Properties appear in the explorer, I didn’t expect them to be saved in a scene file.

What happened was that I loaded up a customer scene, activated the vertex paint brush, and it didn’t work. But I had just been painting vertex colors before I loaded their scene! I didn’t think to check the brush properties until later, so I spent a bit of time scratching my head over this…until finally I noticed that Selection was set to Use, not Ignore.
I tested this by saving scenes with different brush settings, and then reloading them. And different brush settings came in with each scene.
Checking the environment of a running program
Sometimes when you’re troubleshooting, it’s a good idea to check the environment in which Softimage is running.
You can check specific environment variables in the script editor like this:
import os print os.getenv( "XSI_USERHOME" ) print os.getenv( "TEMP" )
or like this:
print XSIUtils.Environment("XSI_BINDIR")
But I would typically use Process Explorer to see the full environment:

or Process Monitor (in Process Monitor, you just have to find the Process Start operation for XSI.exe and double-click it).









