/** * randomDelete 0.6 * Base on * Ken Frederick * ken.frederick@gmx.de * http://cargocollective.com/kenfrederick/ * http://kenfrederick.blogspot.com/ * * Modified by Jolin Masson * http://jolinmasson.com/ * * this script uses stuff borrowed from keegan's "rando-color.js" * as well as from some other things i had written in processing * */ script.coordinateSystem = 'bottom-up'; script.angleUnits = 'radians'; var sel; var values = { b_delete: true, val_deleteAmt: 2, }; // gui components var components = { b_delete: { onChange: function(value) { components.val_deleteAmt.enabled = value; } }, val_deleteAmt: { type: 'number', fullSize: true, enabled: true }, deleteRule: { type: 'ruler', fullSize: true, }, submit: { type: 'button', value: 'Apply', onClick: function() { Main(); } } }; // Setup function Setup() { // initialize the palette window var palette = new Palette('Random Delete 0.6', components, values); } // Update function Update() { } // Main function Main() { // document properties sel = activeDocument.getItems( { type: Item, selected: true } ); //adjust delete range values based on selection number components.val_deleteAmt.range = [0, sel.length-1]; // loop through selected items for ( i in sel ) { var object = sel[i]; if( object.isValid() ) { // ------------------------------------ // delete // ------------------------------------ if ( values.b_delete ) { if (Math.random() <= val_deleteAmt/100) object.remove(); } } //end isValid() } } //end Main() // ------------------------------------------------------------------------ // methods // ------------------------------------------------------------------------ function random(minr, maxr) { return minr + Math.random() * (maxr - minr); } // ------------------------------------------------------------------------ // execution // ------------------------------------------------------------------------ Setup(); Update();