If you want to use objects like XSIApplication, XSIMath, XSIUtils, and XSIFactory in NetView scripts, you need to know the [mostly undocumented] progIDs of those objects.
window.onload = onLoadHandler; //------------------------------------------- // OnLoadHandler for any HTML page // that includes this .js file //------------------------------------------- function onLoadHandler() { //------------------------------------------- // Create instances of Softimage objects. //------------------------------------------- try { var Application = new ActiveXObject('XSI.Application'); var XSIUtils = new ActiveXObject('XSI.Utils'); var XSIMath = new ActiveXObject('XSI.Math'); var XSIFactory = new ActiveXObject('XSI.Factory'); } catch ( e ) { alert( e ); } }
Here’s a script that uses WMI to find the progIDs of XSI COM automation objects:
var sComputer = XSIUtils.Environment("COMPUTERNAME"); ListCOM( sComputer ); function ListCOM( computer ) { var wmistr = "winmgmts:{impersonationLevel=impersonate}!\\\\"; wmistr += computer + "\\root\\cimv2"; var wmi = GetObject( wmistr ); var query = "SELECT * FROM Win32_ClassicCOMClassSetting"; var com = wmi.ExecQuery( query ); var ecom = new Enumerator( com ); for( ; !ecom.atEnd(); ecom.moveNext() ) { var icom = ecom.item(); if ( icom.Caption != null && icom.Caption.indexOf( "XSI" ) > -1 && icom.VersionIndependentProgId != null) { LogMessage( "name : " + icom.Caption ); LogMessage( "progid : " + icom.VersionIndependentProgId ); LogMessage( "" ); } } }
And here’s the script output on my machine:
// INFO : name : XSIDialog Class // INFO : progid : XSIDial.XSIDialog // INFO : // INFO : name : XSI Framebuffer List Widget Class // INFO : progid : FramebufferListWidget.FramebufferListWidget // INFO : // INFO : name : XSI Factory Object // INFO : progid : XSI.Factory // INFO : // INFO : name : XSI Scripting Environment Object // INFO : progid : Scripting.Environment // INFO : // INFO : name : XSI Utility Object // INFO : progid : XSI.Utils // INFO : // INFO : name : XSI Plugin Helper Object // INFO : progid : XSI.PluginHelper // INFO : // INFO : name : XSIFileConverter Object // INFO : progid : XSI.XSIFileConverter // INFO : // INFO : name : XSIFileService Object // INFO : progid : XSI.XSIFileService // INFO : // INFO : name : XSI UIToolkit Object // INFO : progid : XSI.UIToolkit // INFO : // INFO : name : XSI Application Object // INFO : progid : XSI.Application // INFO : // INFO : name : XSI Math Module // INFO : progid : XSI.Math // INFO : // INFO : name : XSI Render Channel List Widget Class // INFO : progid : RenderChannelListWidget.RenderChannelListWidget // INFO : // INFO : name : XSIFileFormat Object // INFO : progid : XSI.XSIFileFormat // INFO : // INFO : name : XSI Image Format Chooser Class // INFO : progid : ImageFormatChooser.ImageFormatChooser // INFO :