Friday Flashback #54
It now goes by the name “Autodesk Softimage”, but before that it was “Softimage XSI”, and before that, during development and beta, it was code named “Sumatra”. So where did the name XSI come from?
Originally, XSI was the name of a file format used to SOFTIMAGE|3D scene data. The file format was based on the Microsoft DirectX .X file format, so we used the file extension .XSI (“X” + “SI” for Softimage), and that’s where “dotXSI” came from too. The XSI File Format was part of the SOFTIMAGE|GDK; here’s a page from the documentation (which I wrote, btw):
From a 2002 xsibase interview with Michael Sheasby, then the Softimage Business Dev Manager:
What does “XSI” stand for?
When Microsoft owned Softimage, the directX “.X” format was extended with modern templates such as IK, enveloping, and constraints. This enhanced version was labelled the dotXSI format, which stood for .X – Softimage. The name was clean enough to adopt for the product itself, to reflect the central nature of data pipelines to 3D software.
Here’s some of the suggested product names that didn’t make the cut when we were looking for a product name to replace the code name “Sumatra”. These suggestions came from both internal and external people…
- SOFTIMAGE | 3D eXTC
- SOFTIMAGE | 3D SUMA
- SOFTIMAGE | 4X
…because you wouldn’t give a XXXX for anything lesss - SOFTIMAGE | Acid
- SOFTIMAGE | ACME
You would have to ship it in a plain crate with ACME 3D - SOFTIMAGE | Alchemy
For obvious reasons…. The name conjures up a notion of magic and special effects – this is what a 3D package does… It also sounds cool. - SOFTIMAGE | Ani / motion
it’s an invented word. Covers motion, feeling and has a punctuation mark which is always cool. - SOFTIMAGE | Animation Factory
- SOFTIMAGE | Artamus
- SOFTIMAGE | Avatar
a variant phase or version of a continuing basic entity - SOFTIMAGE | Catalyst
- SOFTIMAGE | Continuum
Continuum is used in “Space time Continuum” this constitutes openess and and never ending. - SOFTIMAGE | Cosmos
- SOFTIMAGE | Cyclus V1.0
sounds like movement - SOFTIMAGE | DIVA
Two people suggested “Diva”. One because “…it is a short, sexy, memorable name that means lead performer and has creative connotations in several languages. DIVA also sounds good with AVID, DV, Digital Studio, etc.”
The other because it is Avid spelled backwards. - SOFTIMAGE | eclipse
because it surpasses (or eclipses) the competition – it’s at the top of the field - SOFTIMAGE | Elixir – ZD
Elixir for the Z Dimension - SOFTIMAGE | Elixir
- SOFTIMAGE | Escher
- SOFTIMAGE | EUPHORIA
- SOFTIMAGE | EXTC
- SOFTIMAGE | Factory
- SOFTIMAGE | Generator
Another way to go around the widely used word of Genesis - SOFTIMAGE | Helix
- SOFTIMAGE | Hyperion
- SOFTIMAGE | IMAGO
- SOFTIMAGE | Kama Sumatra
All the flexibility you need… - SOFTIMAGE | Mantra
Inspiring. Linked to your mind. Maje reach the next level. - SOFTIMAGE | MOJO
Its magic - SOFTIMAGE | Nliven
NL – Non Linear Enliven…well, you get the idea - SOFTIMAGE | Nucleus
Radioactive package - SOFTIMAGE | Praxis
- SOFTIMAGE | Primal
- SOFTIMAGE | Revolve
- SOFTIMAGE | Revolv
- SOFTIMAGE | Samsara
The extinction of desire and individual consciousness - SOFTIMAGE | Tethys
- SOFTIMAGE | Tonic
Add more life to your animation - SOFTIMAGE | Turbo
the acceleration of CG work - SOFTIMAGE | Velocity
Do everything faster. Get where you want to go at a higher speed. - SOFTIMAGE | XTC
Selection filter for objects with ICE trees
Here’s a custom filter for selecting objects with ICE trees: psCustomFilters.xsiaddon. The filter appears as Obj_w_ICETree in the filter list of the Select panel in the MCP:
You can use this filter in the MCP Select panel (choose the filter and then press Ctrl+A to select all objects with an ICE tree).
Or you could make a toolbar button with these snippets:
// JScript
SelectAllUsingFilter("Obj_w_ICETree", siCheckComponentVisibility, null, null);
#Python
from siutils import C # win32com.client.constants
Application.SelectAllUsingFilter("Obj_w_ICETree", C.siCheckComponentVisibility, "", "")
Scene Search – searching for objects by type
In this video, I take a look at how to use Search for type to find objects based on their type. For example, you can find all models by searching for “#model”, or all polygon meshes by searching for “polymsh”.
I also show how to use the Scene Explorer to find the type of an object.
Note: You can’t use the “ICETree” type to find all ICETree operators, that was a disappointment.
Copying a polygon attribute to vertices
This question came up last weekend (on si-community and xsibase): how do I copy a polygon attribute to a point attribute?
As Chris_TC and gray pointed out, a point can be associated with multiple polygons. So you use VertexToPolygons to either build a per-point array of polygon attribute values, or you do something like average the polygon attribute values and store that as a point attribute value.
Using arrays to avoid Repeat part II
Another building block for using arrays instead of Repeat loops: an array that looks like [0,0,0,0, 1,1,1,1, 2,2,2,2, ...].
Again, the trick is to use this array as the indices for Select in Array.
Here’s how to build this kind of array:
Here’s a simple example. I get the positions of the objects in a group, and then use those positions to add points in a point cloud. Basically, I have a group of objects, and an array of vectors (the interpolated array). When I add a point, I take an object position and add a vector to it to get the point position.
In pseudo-code:
For each object in group
for each vector in array
Add Point
Point Position = vector + object position
If that ICE tree is hard to follow, then it may help to use some attributes to store intermediate values(arrays). That way you can separate out some branches of the tree:
Screenshots of the week
2D Face Tracker
by Paul Smith
![]()
PhysX Fluid Simulation in Softimage
by Mr.Core

Celestial Chaos
by Mootzoid

Organic swirl
by Chris Marshall

GDT Realtime Shaders
by mslaf

Replace specular on mia
by gustavoeb

Super Shapes
by Daniel Brassard

Running batch files from inside Softimage
You can use the System command:
var sCommandLine = "C:\\users\\blairs\\test.bat"; System( sCommandLine );
You can also use WScript.Shell:
// Use XSIFactory.CreateActiveXObject if in NetView
var wsh = new ActiveXObject("WScript.Shell");
wsh.run ("c:\\temp\\_SI.bat" )
If you want to use XSIUtils.LaunchProcess, you will have to do something like
XSIUtils.LaunchProcess( "cmd /C start C:\\test.bat" );
LaunchProcess is like the Win32 CreateProcess() api. You have to start a command interpreter session to run your batch file.
Friday Flashback #53
Sweating 3d objects…a 3dmastermind tutorial
In this video, Manny shows you a simple way to add sweat on a forehead with actual 3d objects instead of a texture. This way lighting conditions, transparency, specularity, and even refraction will be considered.







