Skip to main content
arop16461101
Known Participant
August 1, 2016
Answered

Pathfinder Unite all objects on each layer

  • August 1, 2016
  • 3 replies
  • 1749 views

I wonder if someone can help me to make script, wich doing unite shape mode via pathfinder on all objects on each layer.

Manually i activate one layer, pushing ctrl + a, then clicking on Unite shape mode button. Then layers are more then 50, it making big peace of time.

This topic is closed to new replies. Start a new post to keep the conversation going.
Correct answer zertle

Piggybacking off of pixxxel schubser

function MergeAllLayers() {

    // exit early if there are no files open

    if( !app.documents.length ) return;

    var doc = app.activeDocument;

   

    // clear selection

    doc.selection = null;

   

    // loop through all layers

    var layers = doc.layers;

    for( var i = 0, ii = layers.length; i < ii; i++ ) {

       

        // select everything on the current layer

        layers.hasSelectedArtwork = true;

       

        app.executeMenuCommand("group"); 

        app.executeMenuCommand("Live Pathfinder Add"); 

        app.executeMenuCommand("expandStyle"); 

       

        // clear selection

        doc.selection = null;

    }

}

MergeAllLayers();

Setting the hasSelectedArtwork Layer property equal to true is a fun trick to select everything on a layer, you just have to make sure to clear any other selection first.

3 replies

zertleCorrect answer
Inspiring
August 8, 2016

Piggybacking off of pixxxel schubser

function MergeAllLayers() {

    // exit early if there are no files open

    if( !app.documents.length ) return;

    var doc = app.activeDocument;

   

    // clear selection

    doc.selection = null;

   

    // loop through all layers

    var layers = doc.layers;

    for( var i = 0, ii = layers.length; i < ii; i++ ) {

       

        // select everything on the current layer

        layers.hasSelectedArtwork = true;

       

        app.executeMenuCommand("group"); 

        app.executeMenuCommand("Live Pathfinder Add"); 

        app.executeMenuCommand("expandStyle"); 

       

        // clear selection

        doc.selection = null;

    }

}

MergeAllLayers();

Setting the hasSelectedArtwork Layer property equal to true is a fun trick to select everything on a layer, you just have to make sure to clear any other selection first.

arop16461101
Known Participant
August 8, 2016

I thought that now I will always do it manually. So, many thanks to u! It works  so fast!!!

pixxxelschubser
Community Expert
Community Expert
August 1, 2016

Hi arop16461101​,

in Illustrator DOM isn't a direct command for the pathfinder available.

But:

Are there only simple paths in your selection?

And your Illustrator version is newer than CS5?

You can try something like this (only CS6+ ):

// select 2 or more path items

app.executeMenuCommand("group");

app.executeMenuCommand("Live Pathfinder Add");

app.executeMenuCommand("expandStyle");

Have fun.