The case that wouldn’t clone points


Select Case doesn’t want to clone points. Suppose you have a set up like this:

If you plug Clone Point nodes into two consecutive Case ports, the first Clone Point only is executed.

If you plug something else into a Case port, between two Clone Points, then both Clone Points work:

But unfortunately I couldn’t trick ICE by multiplying the shapeID by 2. When I did that, ICE went back to evaluating the first Clone Point only.

Searching the SDK docs


For the searching the current SDK documentation, I would install the SDK docs locally. The local docs use a different search that works better.

To download a single installer for both the User Guide and SDK Guide:
http://www.autodesk.com/softimage-documentation

Just the SDK:
http://images.autodesk.com/adsk/files/softimage-2013-sdk-doc0.zip

Local search results are much better than the online search:

Visual representation of Softimage 2013 SP1 Fixes


As a word cloud

Full list of fixes

I had added the words “Softimage” and “2013SP1” and “Fixes” to the word cloud on purpose, as a sort of title tags for the cloud. Here’s a cloud without them. Note that some words, like “SDK” and “Crosswalk” and “Rendering”, are there because I added an occurrence of those words for each fix in that category.

Friday Flashback #75


Email blast for an “Experience Softimage XSI 5.1 and Face Robot 1.0” event in Orlando, June 2006.

The “jellyfish solver” bit caught my eye. I’d forgetten about that phrase. Here’s the “jellyfish solver” graphic:

and a description of the jellyfish solver from an xsibase interview with Thomas Kang, a co-creator of Face Robot:

The core of Face Robot is based on what we call the “jellyfish solver,” which is a densely interconnected web of nonlinear interpolation algorithms that can be tuned and manipulated through a common set of interfaces.

Yet another change to the Python shortcuts



To fix it so that the 2012 Python shortcuts would work in 2013 SP1, we did an Undo on the changes to the siutils module. So now, scripts that use the 2012 siutils shortcuts will work unchanged in 2013 SP1.

We moved all the changes [which included some bug fixes] to a new module named sipyutils. When you use the Syntax Help in the 2013 SP1 script editor, you’ll get these shortcuts:

#
# Softimage 2013 SP1 shortcuts
#
from sipyutils import si		# win32com.client.Dispatch('XSI.Application')
from sipyutils import siut		# win32com.client.Dispatch('XSI.Utils')
from sipyutils import siui		# win32com.client.Dispatch('XSI.UIToolkit')
from sipyutils import simath	# win32com.client.Dispatch('XSI.Math')
from sipyutils import log		# LogMessage
from sipyutils import disp		# win32com.client.Dispatch
from sipyutils import C			# win32com.client.constants
from sipyutils import logf

si = si()
logf( "Version %s has %d commands", si.Version(), si.Commands.Count )

Note that you get an si shortcut that is a function, so you have to call it to get the actual XSIApplication object.

In summary:

  • 2012 shortcuts work unchanged in 2013 SP1
  • 2013 shortcuts won’t work in 2013 SP1. This line will give you an error:

    si = si()					# win32com.client.Dispatch('XSI.Application')
    

    You have to either comment that line out, or edit siutils and uncomment the definition of si(). Or just switch to using the new sipyutils shortcuts.

  • 2013 SP1 shortcuts come from the new sipyutils module. The si shortcut is a function, call the function and bind the result to an identifier eg si = si().

For reference, here’s the shortcuts from previous versions:

#
# 2013 shortcuts
#
from siutils import si
si = si()					# win32com.client.Dispatch('XSI.Application')
from siutils import log		# LogMessage
from siutils import disp	# win32com.client.Dispatch
from siutils import C		# win32com.client.constants
#
# 2012 shortcuts
#
from siutils import si		# Application
from siutils import sidesk	# Desktop
from siutils import sidict	# Dictionary
from siutils import sifact	# XSIFactory
from siutils import simath	# XSIMath
from siutils import siproj	# ActiveProject2
from siutils import sisel	# Selection
from siutils import siuitk	# XSIUIToolkit
from siutils import siut	# XSIUtils
from siutils import log		# LogMessage
from siutils import disp	# win32com.client.Dispatch
from siutils import C		# win32com.client.constants