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

Pathfinder Unite all objects on each layer

  • August 1, 2016
  • 2 replies
  • 1711 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 has been closed for replies.
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.

2 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.