Skip to main content
sublimechaos
Inspiring
May 25, 2023
Answered

Illustrator Script - release clipping mask

  • May 25, 2023
  • 1 reply
  • 998 views

Is there a way to script the selection of a a clipping mask named "UNC" and have it release the clipping mask "<clip group>" its a part of, leaving all other clipping masks in other clip groups alone? I've tried several ways, but can't get the script to work. Here's what i have so far: 

 

var clippingMaskName = "UNC";

function findAndReleaseClippingMask(currentGroup) {
  for (var i = 0; i < currentGroup.pageItems.length; i++) {
    var currentItem = currentGroup.pageItems[i];
    if (currentItem.name === clippingMaskName && currentItem.typename === "PathItem" && currentItem.clipping) {
      app.activeDocument.selection = null;
      currentGroup.selected = true;
      app.executeMenuCommand("unlockMask");
      app.executeMenuCommand("releaseMask");
      return;
    }

    if (currentItem.typename === "Group") {
      findAndReleaseClippingMask(currentItem);
    }
  }
}
findAndReleaseClippingMask(app.activeDocument.groupItems[0]);

 

This topic has been closed for replies.
Correct answer femkeblanco
var _name = "UNC";
var groups = app.activeDocument.groupItems;
for (var i = 0; i < groups.length; i++) {
    if (groups[i].name == _name && groups[i].clipped == true) {
        // 1 unclip
        groups[i].clipped = false;
        // 2 ungroup
        for (var j = groups[i].pageItems.length - 1; j > -1 ; j--) {
            groups[i].pageItems[j].moveAfter(groups[i]);
        }
    }
}

1 reply

femkeblanco
femkeblancoCorrect answer
Legend
May 25, 2023
var _name = "UNC";
var groups = app.activeDocument.groupItems;
for (var i = 0; i < groups.length; i++) {
    if (groups[i].name == _name && groups[i].clipped == true) {
        // 1 unclip
        groups[i].clipped = false;
        // 2 ungroup
        for (var j = groups[i].pageItems.length - 1; j > -1 ; j--) {
            groups[i].pageItems[j].moveAfter(groups[i]);
        }
    }
}
sublimechaos
Inspiring
May 25, 2023

thank you, that worked perfectly.