Installing PyQtForSoftimage


I read somewhere that installing PyQtForSoftimage could be difficult, so I gave it a try. I didn’t have any problems.

For my test, I installed PyQtForSoftimage in Softimage 2014 SP2, using Python 2.7.3 and pywin32 218.

Here’s a recipe that will work with Softimage 2014 and earlier. But if you’re using Softimage 2014, you can skip the part about using the system Python. Instead, use PYTHONPATH to point to folder where PyQt4 is installed (hat tip: Tim C).

On-sentence-summary
You need to switch from the Python installed with Softimage to the system Python (and pywin32), install PyQT, and then install the PyQtForSoftimage addon.

General Recipe

  1. Download and install Python 2.7.x (Note that Softimage ships with Python v2.7.3).
  2. Download and install pywin32 (Softimage ships with pywin32 217).
  3. In the Softimage Scripting preferences, clear the Use Python Installed with Softimage check box. Then restart Softimage.
    PythonInstalledWithSoftimage

    Or edit your prefs file (%XSI_USERHOME%\Data\Preferences\default.xsipref) and add this line: scripting.sipython = False

  4. Check that Python is working in Softimage. In the script editor, run a Python snippet like this: Application.LogMessage( “Hello World” )
  5. Download and install PyQt.
  6. Download (right-click and then click Save As) and install the PyQtForSoftimage addon.
  7. Check that everything is working. Open the Plug-in Manager, find PyQtForSoftimage, and run some of the examples.
    PyQt_Example

    I found that the ExampleDialog and ExampleSignalSlot examples did pop up dialogs, but the Log Text button didn’t log anything to the history log.

Softimage 2014 Recipe

  1. Download and install PyQt.
  2. Set the PYTHONPATH environment variable to point to the location of PyQt4. You could do this in setenv.bat, or in the System environment variables.
  3. Download (right-click and then click Save As) and install the PyQtForSoftimage addon.
  4. Check that everything is working. Open the Plug-in Manager, find PyQtForSoftimage, and run some of the examples.

Re-downloading Autodesk software


Here’s a quick tip if you need to re-download the original release version (for example, Mudbox 2013) instead of a service pack: use the Autodesk Virtual Agent.

  1. Go to autodesk.com/customer-service.
  2. Click ASK to use the virtual agent.
    Ask
  3. Click Downloading and Installation
  4. Click Software Download links
  5. Click I need to redownload my product

Subscription customers can always download the release versions from the Sub center, but on the public autodesk.com site, only service packs and upgrades are available. For a product like Softimage, that isn’t usually a problem: you can just download the latest service pack. But that isn’t true for every product (for example, sometimes a SP is a patch that requires the original release version).

Putting a customized setenv.bat in a deployment


You can’t actually customize setenv.bat (or any of the other files in the distribution) when you create a deployment, but you add a SiteDeploy.bat file to the install. setenv.bat is set up to call SiteDeploy.bat:

rem Verify the existence of the SiteDeploy.bat file
if exist "%XSI_BINDIR%\SiteDeploy.bat" call "%XSI_BINDIR%\SiteDeploy.bat"

To add a SiteDeploy.bat file to a deployment, you need to configure the Softimage deployment:

In the Additional Files section, expand Application\bin, and then click Browse to locate the SiteDeploy.bat file (which must exist somewhere already):

The case of the SIDeploy install that silently fails


In this case, a customer was trying to install Softimage 2013 using SIDeploy -i, but the install silently failed.

What’s SIDeploy you may ask?

It’s an [unsupported backdoor] way to install Softimage without running the full installer (the real installer does a lot of other stuff, plus it runs SIDeploy). People use it to do things like:

  • Set a custom install path by editing SIDeploy.ini
  • Work around the file path length limitation that can stop a network deployment.
  • Avoid using network deployments to install on many machines

To use SIDeploy, you’d download the setup, extract the contents, and then do something like this:

set SIDEPLOYPATH=C:\Autodesk\Autodesk_Softimage_2013_English_Japanese_Win_64bit\x64\Softimage
%SIDEPLOYPATH%\SIDeploy.exe -i -f %SIDEPLOYPATH%\SIDeploy.ini

So why did SIDeploy fail?

Because it’s unsupported :-) Seriously, the problem was that SIDeploy doesn’t install any prerequisites, like the Visual C++ 2010 runtimes.

Softimage 2013 switched up to Visual C++ 2010, so you need to have those prereqs installed already for SIDeploy to work.

You can find a list of prerequisites in C:\Autodesk\Autodesk_Softimage_2013_English_Japanese_Win_64bit\setup.ini.

(C:\Autodesk is where the installer extracts itself by default.)

Crosswalk, Common Files, and the PATH environment variable


Anytime you have problems with Crosswalk not showing up in Softimage or Crosswalk missing or dotXSI liberaries missing, it’s probably because the Common Files location is missing from your PATH environment variable.

Now, setenv.bat does add the Common Files location to the PATH:

rem Adding folder(s) to the Path
set SOFTIMAGE_COMMONFILES=C:\Program Files\Common Files\Softimage
if not "%XSI_SetenvDone%"=="" goto Done_Path
set Path=%XSI_BINDIR%\%XSI_CPU%%_CPU_REVISION%;%XSI_BINDIR%;%SOFTIMAGE_COMMONFILES%;%Path%
:Done_Path

but strangely, this doesn’t [always] help.

  • If you start Softimage from the Start menu, this Softimage still can’t find the common file Crosswalk_2013.0.64.dll (which is installed in C:\Program Files\Common Files\Softimage).
  • But if you start Softimage from a command prompt with XSI.bat, Softimage does find Crosswalk_2013.0.64.dll.

I stumbled on this when I wrote a little script to check whether or not Common Files was in the PATH. Because setenv.bat prepends the Common Files location to PATH, I need to check whether there is more than one occurrence in the PATH. If there’s just one, then that’s a problem because Crosswalk won’t be found when you start Softimage from the Start menu.

from siutils import si

if Application.Version().split('.')[0]>= "11":
	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


path = XSIUtils.Environment( 'PATH' )
cf = "".join( [XSIUtils.Environment( 'CommonProgramFiles' ), '\Softimage'] )
#cfx86 = "".join( [XSIUtils.Environment( 'CommonProgramFiles(x86)' ), '\Softimage'] )

# Check Common Files

# Log number of times Common Files is found in PATH
# log( path.split(';').count(cf) )

if path.split(';').count(cf) > 1:
	log( "'%s' is in PATH" % cf )
else:
	log( "'%s' is missing from PATH" % cf, C.siError )

Getting your new Softimage network license


A quick overview of how to get your new Softimage license.

I didn’t have an actual serial number, so I couldn’t go through the whole process. For that, check out this KB article:

If you don’t know how to install your new license, then check out this 2012 video, where I download a new license file and then update LMTOOLS.
http://xsisupport.wordpress.com/2011/04/07/activating-your-softimage-2012-network-license/

Installing Softimage 2013


Here’s a video walk-through of the download and installation of Softimage 2013:

In summary:

  • You need your Softimage 2013 serial number.
  • The product key is 590E1.

Related posts: