Compiled CHM version of the Softimage 2014 SDK guide


Here’s a compiled CHM version of the XSI SDK guide.

There’s no index, but you can always use Search with Search titles only enabled. If I can find my old python scripts, maybe I’ll get around to adding one (but it will just be an index of objects, methods, and properties).
xsisdk_2014_chm

This year I tried the Maxscript 2013 Help CHM creator, but really all that got me was the TOC for the Programmer’s Guide. I still had to add the Ref Guide TOC, and fix up the scripting errors, and remove the unneeded navigation buttons. I do all that with a few global search and replaces.

Compiled CHM version of the Softimage 2013 SDK guide


The other day, somebody asked whether there was a CHM version of the SDK help. There isn’t. So I downloaded a copy of the [aging and neglected] HTML Help workshop, installed the local version of the Softimage 2013 documentation, and compiled the SDK help into a CHM file.

Get the xsisdk.chm file here

  • You get full-text search.
  • I created the TOC manually, so it has only two levels. But clicking one of the sub-levels (like “Customizing with the SDK” or “Objects A to Z”) takes you to a page with more links.
  • I even added an index, but it has entries only for the commands, objects, methods, and properties. No C++. (I used a Python script to generate the index from some HTML pages in the help.)
  • Some pages will give a script error (because they have an apostrophe in the page title, and that title is used in a script). You can ignore those errors and continue on.
  • Some of the icons at the top of pages, like Home and Add to Favorites will pop up a browser page. I didnā€™t take the time to update every page to get rid of them.

I almost didn’t bother with the index, because I think you can usually get the same thing with the Search, as long as you enable Search titles only. It’s always bothered me that there’s no index entries like “children, adding” or “polygon meshes, creating” and that you have to somehow know the verb part of the method or command name if you want to find it in the index.

Here’s a few examples of using Search titles 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:

What’s new in the 2013 SDK


I see that some of you have found the 2013 docs.
For your convenience, here’s a list of the new commands and Object Model methods, but with actual links šŸ™‚

New Commands

New Methods (Object Model)

  • ICEAttribute.DataArray – Sets a 1D Array object containing the data defined by an attribute.
  • ICEAttribute.DataArray2D – Sets a 2D Array object containing the 2D data defined by an attribute.
  • XSICollection.Filter – Returns a subset of this collection as a new collection of objects matching the filter criteria.
  • Clip.AddProperty2 – Creates and adds a UserDataBlob or CustomProperty to a Clip object. This method is specific to the python language.
  • Geometry.AddICEAttribute – Adds and returns a new attribute data on a geometry.
  • Geometry.RemoveICEAttribute – Removes a non-built-in attribute from a geometry if not required by an ICETree.
  • Layout.CreateViewFromDefinitionFile2 – Creates a new View object given the path to its definition on disk. This method is similar to Layout.CreateViewFromDefinitionFile but specific to the python language.
  • Layout.FindView2 – Finds an existing View object given a name in this layout. This method is similar to Layout.FindView but specific to the python language.
  • Menu.AddItem2 – Adds a menu item at to end of the menu. This method is similar to Menu.AddItem but specific to the python language.
  • Menu.AddCommandItem2 – Adds a menu item at the end of the menu and attaches a command. This method is similar to Menu.AddCommandItem but specific to the python language.
  • Menu.AddCallbackItem2 – Adds a menu item to the end of the menu and attaches a callback function. This method is similar to Menu.AddCallbackItem but specific to the python language.
  • ICENode.GetPortFromName2 – Returns the ICENodePort object that matches a specific port name. This method is similar to ICENode.GetPortFromName but specific to the python language.
  • ICENode.GetPortFromIndex2 – Returns the ICENodePort object specified by a port index, group index and group instance index. This method is similar to ICENode.GetPortFromIndex but specific to the python language.
  • Operator.GetPortAt – Returns the specified Port object. This method is similar to Operator.PortAt but specific to the python language.
  • Operator.GetPort3 – Returns the specified Port object for the operator. This method is similar to Operator.GetPort2 but specific to the python language.
  • Override.AddParameterEntry2 – Adds a new entry to override the input parameter and returns the new overriding parameter. This method is similar to Override.AddParameterEntry but specific to the python language.
  • Primitive.GetGeometry3 – Returns a Geometry object containing the object’s geometry. This method is similar to Primitive.GetGeometry2 but specific to the python language.
  • ProjectItem.AddICEAttribute – Adds and returns a new attribute data on this object.
  • ProjectItem.RemoveICEAttribute – Removes a non-built-in attribute from a geometry if not required by an ICETree.
  • SceneItem.GetPropertyFromName2 – Returns a property, given its scripting name. This method is similar to SceneItem.GetPropertyFromName but specific to the python language.
  • SceneItem.GetLocalPropertyFromName2 – Returns a local property, given its scripting name. This method is similar to SceneItem.GetLocalPropertyFromName but specific to the python language.
  • ShaderArrayParamDef.ItemDef2 – Returns the underlying ShaderParamDef or ShaderStructParamDef object for this array item. This method is similar to ShaderArrayParamDef.ItemDef but specific to the Python language.
  • ShaderArrayParameter.Item2 – Returns the specified ShaderParameter item in this array. This method is similar to ShaderArrayParameter.Item but specific to the Python language.
  • ShaderParamDefContainer.AddParamDef2 – This method is similar to ShaderParamDefContainer.AddParamDef but specific to the Python language.
  • ShaderParamDefContainer.GetParamDefByName2 – Returns the ShaderParamDef that matches the specified name from this container. This method is similar to ShaderParamDefContainer.GetParamDefByName but specific to the Python language.
  • ShaderParameter.Definition2 – Returns the shader parameter definition as a ShaderParamDef object. This method is similar to ShaderParameter.Definition but specific to the Python language.
  • View.FindView2 – Finds an existing View object given a name. This method is similar to View.FindView but specific to the Python language.
  • X3DObject.GetActivePrimitive3 – Returns the 3D object’s active Primitive for a given frame. This method is similar to X3DObject.GetActivePrimitive2 but specific to the Python language.
  • XSIApplication.ActiveProject3 – Returns or sets the active XSIProject object. This method is similar to XSIApplication.ActiveProject2 but specific to the Python language.
  • XSIApplication.GetObjectFromID2 – Returns the object matching the specified ID. This method is similar to XSIApplication.GetObjectFromID but specific to the python language.
  • XSIFactory.CreateObjectFromPreset2 – Creates an object from a preset and optional preset family name. This method is similar to XSIFactory.CreateObjectFromPreset but specific to the Python language.
  • ShaderParamDefOptions.SetReadOnly – Sets the Read Only capability of the Shader parameter.
  • XSIApplication.GetCustomPropertyCount – Returns the Custom Property count for a given type.

New view attributes in 2012


For the Scene Layer Manager, there is a selectedlayer attribute.

For the Schematic view, there are two view attributes: AnchorPointID and Target.
Target is available for the node context menu only.

Here’s some code from the new Schematic example in the XSI SDK workgroup:

def XSILoadPlugin( in_reg ):
	#...
	in_reg.RegisterMenu(C.siMenuSchematicNodeContextID,"LogNodeInfo_Menu",False,False)	
	#...

def LogNodeInfo_Menu_Init( in_ctxt ):
	oMenu = in_ctxt.Source
	oMenu.AddCallbackItem("Log Node Info","log_info_cb")	
	return True

def log_info_cb( ctxt ):

	Application.LogMessage("log_info_cb called")

	# Returns the view object or a list with the view object and the target node (siMenuSchematicNodeContextID only)		
	target = ctxt.GetAttribute('Target')
	anchorPtID = ctxt.GetAttribute('AnchorPointID')
	# ...