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;
}
|