Have you ever tried clearing smart filters from multiple selected layers? Unfortunately there is no command for that so I decided to write a script…
Batch Clear Smart Filters from Selected Layers – Photoshop Script
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
// Batch Clear Smart Filters // This script clears all smart filters from selected layers. // Mehmet Sensoy #target photoshop var scriptName = "Batch Clear Smart Filters from Selected Layers by Mehmet Sensoy"; var scriptVersion = "001"; var docRef = app.activeDocument; cTID = function(s) { return app.charIDToTypeID(s); }; sTID = function(s) { return app.stringIDToTypeID(s); }; function newGroupFromLayers(doc) { var desc = new ActionDescriptor(); var ref = new ActionReference(); ref.putClass( sTID('layerSection') ); desc.putReference( cTID('null'), ref ); var lref = new ActionReference(); lref.putEnumerated( cTID('Lyr '), cTID('Ordn'), cTID('Trgt') ); desc.putReference( cTID('From'), lref); executeAction( cTID('Mk '), desc, DialogModes.NO ); }; function undo() { executeAction(cTID("undo", undefined, DialogModes.NO)); }; function getSelectedLayers(doc) { var selLayers = []; newGroupFromLayers(); var group = doc.activeLayer; var layers = group.layers; for (var i = 0; i < layers.length; i++) { selLayers.push(layers[i]); } undo(); return selLayers; }; function deleteeffects() { try { var desc1 = new ActionDescriptor(); var ref1 = new ActionReference(); ref1.putClass(sTID("filterFX")); ref1.putEnumerated(cTID('Lyr '), cTID('Ordn'), cTID('Trgt')); desc1.putReference(cTID('null'), ref1); executeAction(cTID('Dlt '), desc1, DialogModes.NO); } catch(err) { // Handle error(s) here } } var selectedLayers = getSelectedLayers(app.activeDocument); for( i = 0; i < selectedLayers.length; i++) { selectedLayers[i].selected = true; docRef.activeLayer = selectedLayers[i]; //alert(docRef.activeLayer.name) deleteeffects(); } |
Feel free to add comments for any corrections or suggestions to improve this script.
Leave a Reply
Want to join the discussion?Feel free to contribute!