Skip to main content
Mayestro
Participant
November 10, 2020
Question

JavaScript – Create new Group above active Layer/Group

  • November 10, 2020
  • 2 replies
  • 443 views

Hello

The Script generates a new Group with Name from List selection... 

How can i generate the Group above active Layer or Group?

 

function main () {
var myDoc = app.activeDocument;
var setNames = myList.selection;
for (i=0; i<setNames.length; i++) {
createNewSet(myDoc, setNames[i]);
}
}
 
function createNewSet(myDoc, setName) {
try {
var mySets = myDoc.layerSets;
var newSet = mySets.add();
if ( setName ) {
newSet.name = setName;
}
myDoc.activeLayerSet = newSet;
} catch (e) {
 
}
}

 

This topic has been closed for replies.

2 replies

Mayestro
MayestroAuthor
Participant
November 12, 2020

Thank you... but it does not work...

The new Group is always on Top

Community Expert
November 12, 2020

Can you post some screenshot of what you are trying to achieve and what is the issue with the script?

-Manan

-Manan
Community Expert
November 10, 2020

Try the following

function main () {
	var myDoc = app.activeDocument;
	var setNames = myList.selection;
	for (i=0; i<setNames.length; i++) {
		createNewSet(myDoc, setNames[i]);
	}
}

var aLayer = app.activeDocument.activeLayer
function createNewSet(myDoc, setName) {
	try {
		var mySets = myDoc.layerSets;
		var newSet = mySets.add();
		if ( setName ) {
			newSet.name = setName;
		}
		newSet.move(aLayer, ElementPlacement.PLACEBEFORE)
		myDoc.activeLayerSet = newSet;
	} catch (e) {

	}
}

-Manan

-Manan