Send to Maya: Destination folder is invalid or not writable, operation cancelled


You may get this error when you try to Send to Maya.
The problem is that Softimage is trying to write a file in the folder Data/XSI_SAMPLES/Simulation, where it doesn’t have write permissions.

The solution is to set a new active directory (so that you no longer see XSI_SAMPLES listed in the XSI title bar). You’ll have to restart Softimage, because Softimage appears to cache the current project location at start up.

When you do a Send to Maya, the OneClick plugin writes an FBX file to the Simulation folder.

Setting expressions/scops on the transformation of an Environment shader


I was asked recently if there’s a way to put an expression or scripted operator (scop) on the Transformation of the image in an Environment shader.

In 2010, you could right-click the animation icon, click Property Editor, and that would open the PPG for a StaticKineState, where you could set expressions or scops on the SRT values.

This changed in 2011, and as of that release, you use the explorer to access the SRT XYZ values and set expressions or scripted operators on them:

This change was by design. In the 2011 release, the matrix types were changed to give access to the matrix components instead of having a nested StaticKineState property. This allows ICE attributes to plug directly in the shader input matrix ports and have texturable matrix ports.

Green points in the viewport???



Now and again a customer will report that they’re getting these green points in the viewport, and they can’t get rid of them.
“Green points” are how “affected points” are displayed in the Shape Manager, but they shouldn’t show up in the viewport.

This usually happens with reference models.
The solution is to clear the Clusters check box in the Delta, and re-load the model.

hat tip: User hamairon on xsibase.

Using LUT files in Softimage 2012


There seems to be a bit of UI glitch in the Color Management preferences PPG. If you choose From LUT File in the Source list, you cannot select a LUT file from the Filename list. In fact, the Filename list just lists No LUT.

Here’s a couple of workarounds:

  • Set the LUT file through scripting:
    Application.SetValue("preferences.Display.color_management_source", 1, "")
    Application.SetValue("preferences.Display.color_management_lut_filename", "sRGB_10bits.lut", "")
    
  • Use this modified factory SPDL:
    $XSI_HOME/Application/spdl/C3DPrefsDisplay.spdl
    I tested this on my own install, but still, “use at your own risk”.

BTW, this issue is already logged and fixed internally.

Displaying topics from compiled help files (CHM)


Using an undocumented preference value, you can use the undocumented XSIUtils.DisplayHtmlHelp method to open compiled help files. To find the undocumented preference value, I had to go into the Softimage source and find the implementation of DisplayHtmlHelp().

Prior to 2012, DisplayHtmlHelp worked with CHM files, since the Softimage help itself was compiled. But as of 2012, DisplayHtmlHelp now works with HTML files by default.

// Set the helplocationtype to CHM
var tmp = Preferences.GetPreferenceValue( "General.helplocationtype" );
Preferences.SetPreferenceValue( "General.helplocationtype", 3 );

// Open a specific topic in a compiled help file
var s = "C:\\Program Files\\7-Zip\\7-zip.chm::/fm/plugins/7-zip/options.htm";
XSIUtils.DisplayHtmlHelp( s );

// IMPORTANT: Restore pref after
Preferences.SetPreferenceValue( "General.helplocationtype", tmp );

Exporting FBX to Maya


My understanding is that Crosswalk FBX exports the frame rate and time slider information from Softimage, but that the FBX import plugins don’t currently support that.

  • In Maya 2012, you’ll have to change the frame rate before you import the FBX file. You can set the Maya frame rate in Window > Settings/Preferences >Preferences >Settings >Working Units-Time.
    Note that the frame rate is reset when you restart Maya or start a new scene.
  • In the Maya Import dialog box, when you click a .FBX file, look at Options > File Type Specific Options > Statistics.
    You’ll see something like this (note that File frame rate is not correctly parsed by the importer):

    System frame rate: 24 ***Warning: Frame rates do not match***
    File frame rate: 30
    
  • Note also there is Fill timeline option under File Type Specific Options > Extra Options. This will update the Maya timeline range to match the range of animation in the FBX file.

Softimage 2012 startup crash on Ubuntu


A customer reported that while he was running Softimage 2011 fine on Ubuntu, Softimage 2012 crashed at startup.

The problem turned out to be the microsecond character (µs) in $XSI_HOME/Application/spdl/MentalRayOptions.spdl:

	Parameter "DiagnosticMaxPixelTime"
	{
		GUID		= {0A2DA6AE-B850-4189-BE71-BD244F8938A4};	// GUID_MentalRayOptions_DiagnosticMaxPixelTime
		Label		= "Max Pixel Time (µs)";

For some reason, this causes problems on some Linux flavors, but not on Fedora.
The solution was to edit the .spdl, and remove the “(µs)” from the string “Max Pixel Time (µs)”.

Hat Tip to Sean Donnelly for the solution.

For reference, here’s the gbd backtrace for the startup crash. Note that it pretty clearly points to some problem related the spdl 😉

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff4bd588a in CSIString::AllocBSTR() const () from /usr/Softimage/Softimage_2012/Application/bin/libsigeneral.so
(gdb) bt full
#0  0x00007ffff4bd588a in CSIString::AllocBSTR() const () from /usr/Softimage/Softimage_2012/Application/bin/libsigeneral.so
No symbol table info available.
#1  0x00007ffff56e59ea in SpdlValue2Variant(miSpdl_PropertyValue const&, tagVARIANT&) () from /usr/Softimage/Softimage_2012/Application/bin/libspdlparse.so
No symbol table info available.
#2  0x00007fffce5976cc in CSpdlPopulate::AddPropertyDefaults(miSpdl_Property*, CComPtr&) () from /usr/Softimage/Softimage_2012/Application/bin/libspdlpop.so
No symbol table info available.
#3  0x00007fffce597a05 in CSpdlPopulate::AddPropertyDefaults(miSpdl_Property*) () from /usr/Softimage/Softimage_2012/Application/bin/libspdlpop.so
No symbol table info available.
#4  0x00007fffce597b04 in CSpdlPopulate::AddToParamDict(miSpdl_Property*) () from /usr/Softimage/Softimage_2012/Application/bin/libspdlpop.so
No symbol table info available.
#5  0x00007fffce597baf in CSpdlPopulate::AddToParamDict(miSpdl_Section*) () from /usr/Softimage/Softimage_2012/Application/bin/libspdlpop.so
No symbol table info available.
#6  0x00007fffce598e90 in CSpdlPopulate::DoAll() () from /usr/Softimage/Softimage_2012/Application/bin/libspdlpop.so
No symbol table info available.
#7  0x00007fffce59513b in CSpdlParser::DoParse(tagS3DSPDLPARSERINFO*) () from /usr/Softimage/Softimage_2012/Application/bin/libspdlpop.so
No symbol table info available.
#8  0x00007ffff5ea0da1 in DSCompileSPDLEx(_GUID const&, IUnknown*, char const*) () from /usr/Softimage/Softimage_2012/Application/bin/libdssdk10.so
No symbol table info available.
#9  0x00007fffca3b7600 in ?? () from /usr/Softimage/Softimage_2012/Application/bin/libmentalray.so
No symbol table info available.
#10 0x00007fffd9a9b041 in C3DActiveData::Initialize(_GUID const&) () from /usr/Softimage/Softimage_2012/Application/bin/libactivedata.so
No symbol table info available.
#11 0x00007fffd9a7f39c in C3DActiveData::Construct() () from /usr/Softimage/Softimage_2012/Application/bin/libactivedata.so
No symbol table info available.
#12 0x00007fffca3b965e in ?? () from /usr/Softimage/Softimage_2012/Application/bin/libmentalray.so
No symbol table info available.
#13 0x00007fffca3c6a76 in ?? () from /usr/Softimage/Softimage_2012/Application/bin/libmentalray.so
No symbol table info available.
#14 0x00007fffca3c8500 in ?? () from /usr/Softimage/Softimage_2012/Application/bin/libmentalray.so
No symbol table info available.
#15 0x00007ffff5e8eab4 in SICreateInstanceEx(_GUID const&, IUnknown*, unsigned int, _GUID const&, void**) () from /usr/Softimage/Softimage_2012/Application/bin/libdssdk10.so
No symbol table info available.
#16 0x00007fffca38f8c2 in ?? () from /usr/Softimage/Softimage_2012/Application/bin/libmentalray.so
No symbol table info available.
#17 0x00007fffced89f50 in ?? () from /usr/Softimage/Softimage_2012/Application/bin/librendercore.so
No symbol table info available.
#18 0x00007fffcedc4c14 in ?? () from /usr/Softimage/Softimage_2012/Application/bin/librendercore.so
No symbol table info available.
#19 0x00007fffcedc5a2c in ?? () from /usr/Softimage/Softimage_2012/Application/bin/librendercore.so
No symbol table info available.
#20 0x00007fffcedc674d in ?? () from /usr/Softimage/Softimage_2012/Application/bin/librendercore.so
No symbol table info available.
#21 0x00007fffd30530af in ?? () from /usr/Softimage/Softimage_2012/Application/bin/libscnmgr.so
No symbol table info available.
#22 0x00007fffd3055bbd in ?? () from /usr/Softimage/Softimage_2012/Application/bin/libscnmgr.so
No symbol table info available.
#23 0x00007fffd3014899 in ?? () from /usr/Softimage/Softimage_2012/Application/bin/libscnmgr.so
No symbol table info available.
#24 0x00007fffd304853a in ?? () from /usr/Softimage/Softimage_2012/Application/bin/libscnmgr.so
No symbol table info available.
#25 0x00007fffd304bc15 in ?? () from /usr/Softimage/Softimage_2012/Application/bin/libscnmgr.so
No symbol table info available.
#26 0x00007fffdf7f4b69 in ?? () from /usr/Softimage/Softimage_2012/Application/bin/libdssdkco.so
No symbol table info available.
#27 0x00007fffdf7f38b2 in ?? () from /usr/Softimage/Softimage_2012/Application/bin/libdssdkco.so
No symbol table info available.