Answered
Select Last pattern
I work in patterns. I have to make 1000 patterns a day. So I am troubled by selecting every time. Can the last pattern be selected?
I work in patterns. I have to make 1000 patterns a day. So I am troubled by selecting every time. Can the last pattern be selected?
This should create a Pattern Layer with the last Pattern.
// create pattern layer with last pattern;
// 2023, use it at your own risk;
if (app.documents.length > 0) {
try {
var ref = new ActionReference();
ref.putProperty(stringIDToTypeID ("property"), stringIDToTypeID("presetManager") );
ref.putEnumerated( charIDToTypeID("capp"), charIDToTypeID("Ordn"), charIDToTypeID("Trgt") );
var applicationDesc = executeActionGet(ref);
var presetManager = applicationDesc.getList(stringIDToTypeID("presetManager"));
var patternNames = presetManager.getObjectValue(4).getList(stringIDToTypeID("name"));
var theNames = new Array;
for (m = 0; m < patternNames.count; m++) {
theNames.push(patternNames.getString(m))
};
makePatternLayer (theNames[theNames.length-1], 100);
//brickFill (theNames[theNames.length-1], 0.1)
} catch (e) {};
};
////// make pattern layer //////
function makePatternLayer (thePatternName, theScale) {
// =======================================================
var idMk = charIDToTypeID( "Mk " );
var desc3 = new ActionDescriptor();
var idnull = charIDToTypeID( "null" );
var ref1 = new ActionReference();
var idcontentLayer = stringIDToTypeID( "contentLayer" );
ref1.putClass( idcontentLayer );
desc3.putReference( idnull, ref1 );
var idUsng = charIDToTypeID( "Usng" );
var desc4 = new ActionDescriptor();
var idType = charIDToTypeID( "Type" );
var desc5 = new ActionDescriptor();
var idScl = charIDToTypeID( "Scl " );
var idPrc = charIDToTypeID( "#Prc" );
desc5.putUnitDouble( idScl, idPrc, theScale );
var idPtrn = charIDToTypeID( "Ptrn" );
var desc6 = new ActionDescriptor();
var idNm = charIDToTypeID( "Nm " );
desc6.putString( idNm, "rust400x400" );
var idIdnt = charIDToTypeID( "Nm " );
desc6.putString( idIdnt, thePatternName );
var idPtrn = charIDToTypeID( "Ptrn" );
desc5.putObject( idPtrn, idPtrn, desc6 );
var idpatternLayer = stringIDToTypeID( "patternLayer" );
desc4.putObject( idType, idpatternLayer, desc5 );
var idcontentLayer = stringIDToTypeID( "contentLayer" );
desc3.putObject( idUsng, idcontentLayer, desc4 );
executeAction( idMk, desc3, DialogModes.NO );
return app.activeDocument.activeLayer
};Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.