It creates individual cluster center for every component selected,
and then it sets neutral pose for them.Useful for rigging.
Command can be found in right click menu, and EDIT tab.

Jscript
// Create Multiple Cluster Centers Plugin
// Initial code generated by XSI SDK Wizard
// e.xecuted Thu Apr 2 03:09:14 UTC+0200 2009 by memag
//
// Tip: To add a command to this plug-in, right-click in the
// script editor and choose Tools > Add Command.
//
// Tip: To get help on a callback, highlight the callback name
// (for example, "Init", "Define", or "e.xecute") and press F1.
function XSILoadPlugin( in_reg )
{
in_reg.Author = "memag";
in_reg.Name = "Create Multiple Cluster CentersPlugin";
in_reg.Email = "";
in_reg.URL = "";
in_reg.Major = 1;
in_reg.Minor = 0;
in_reg.RegisterCommand("Create_Multiple_Cluster_Centers","Create_Multiple_Cluster_Centers");
in_reg.RegisterMenu(siMenu3DViewComponentContextID,"Create_Multiple_Cluster_Centers_Menu",false,false);
in_reg.RegisterMenu(siMenuMCPEditID,"Create_Multiple_Cluster_Centers_Menu",false,false);
//RegistrationInsertionPoint - do not remove this line
return true;
}
function XSIUnloadPlugin( in_reg )
{
var strPluginName;
strPluginName = in_reg.Name;
Application.LogMessage(strPluginName + " has been unloaded.",siVerbose);
return true;
}
function Create_Multiple_Cluster_Centers_Init( in_ctxt )
{
var oCmd;
oCmd = in_ctxt.Source;
oCmd.Description = "";
oCmd.ReturnValue = true;
return true;
}
function Create_Multiple_Cluster_Centers_e.xecute( )
{
Application.LogMessage("Create_Multiple_Cluster_Centers_e.xecute called",siVerbose);
//
var oProgressBar = XSIUIToolkit.ProgressBar ;
if (selection.count != 0)
{
var objs = Selection.Count;
for (i = 0; i < objs; i++)
{
var component = Selection(0).SubComponent.ComponentCollection;
for (i = 0; i < component.Count; i++)
{
var sel = component(i);
oProgressBar.Maximum = component.Count ;
oProgressBar.Caption = "Creating Cluster Center for " + sel;
oProgressBar.CancelEnabled = false ;
oProgressBar.Visible = true;
oProgressBar.Value =i;
CreateClusterCenterWithNull(sel, 0)
var selo = GetValue("SelectionList");
SetNeutralPose(selo, siSRT, false);
SetValue(selo+".null.primary_icon", 0, null);
SetValue(selo+".null.shadow_icon",2, null);
SetValue(selo+".null.shadow_scaleX", 0.4, null);
SetValue(selo+".null.shadow_scaleY", 0.4, null);
SetValue(selo+".null.shadow_scaleZ", 0.4, null);
SetValue(selo+".null.shadow_colour_custom", true, null);
SetValue(selo+".null.R", 0.717136, null);
SetValue(selo+".null.G", 1, null);
SetValue(selo+".null.B", 0.004, null);
SetValue(selo+".Name", [sel]+" ClusterCenter "+(i+1));
DeselectAll();
if ( oProgressBar.CancelPressed ) break ;
oProgressBar.Visible = false ;
}
}
}
else
{
logmessage ("Select some COMPONENTS !");
}
//
return true;
}
function Create_Multiple_Cluster_Centers_Menu_Init( in_ctxt )
{
var oMenu;
oMenu = in_ctxt.Source;
oMenu.AddCommandItem("Create Multiple Cluster Centers","Create_Multiple_Cluster_Centers");
return true;
}