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 :