A script to have the used styles at the top

 From:  wayne hill (WAYNEHILL5202)
11186.5 In reply to 11186.4 
Hi Mario,

The last line of the that script restores the default styles. Append your favorite style script to the end of the purge script.
I did not consider duplicate styles being created. No coffee so far this morning.

Wayne

Example:

code:
// Purge unused styles and append 100 styles to list.

script: var gd = moi.geometryDatabase;
var styles = gd.getObjectStyles();
var counts = new Array(styles.length);
for (var i = 0; i < counts.length; ++i) {
	counts[i] = 0;
}
var objs = gd.getObjects();
for (var i = 0; i < objs.length; ++i) {
	var obj = objs.item(i);
	if (obj.styleIndex < counts.length) ++counts[obj.styleIndex];
	var subobjs = obj.getSubObjects();
	for (var j = 0; j < subobjs.length; ++j) {
		var subobj = subobjs.item(j);
		if (subobj.styleIndex < counts.length) ++counts[subobj.styleIndex];
	}
}
for (var i = 0; i < styles.length; ++i) {
	if (counts[i] == 0) styles.item(i).remove();
}

// Restore default styles:
moi.geometryDatabase.addDefaultStyles();

// append 100 styles to listing
script: /* Make gradient styles */ var red = 12,
	green = 15,
	blue = 20;
for (var i = 1; i <= 100; ++i) {
	var style = moi.geometryDatabase.addStyle();
	style.name = 'Gradient ' + i;
	style.color = ((red % 256) << 16) | ((green % 256) << 8) | (blue % 256);
	red += 2;
	green += 3;
	blue += 7;
}