Skip to content

Instantly share code, notes, and snippets.

@k0nserv
Last active May 29, 2016 14:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save k0nserv/4d1cef23aa8cf4600da245816c4d6f15 to your computer and use it in GitHub Desktop.
Save k0nserv/4d1cef23aa8cf4600da245816c4d6f15 to your computer and use it in GitHub Desktop.
var NUM_ARTBOARDS = 360,
NUM_COLS = 6,
NUM_ROWS = NUM_ARTBOARDS / NUM_COLS,
LAYER_NAME = "Layer to modify",
CHANGE_PER_ARTBOARD = 360 / NUM_ARTBOARDS;
var document = context.document;
var firstArtboard = [[document artboards] firstObject];
var yOffset = 0;
var frame = 2;
for (var row = 0; row < NUM_ROWS; row++) {
for (var col = 0; col < NUM_COLS; col++) {
if (col == 0 && row == 0) {
continue;
}
var newArtboard = [firstArtboard duplicate];
var x = (col % NUM_COLS) * (40 + [[firstArtboard frame] width]);
[[newArtboard frame] addX:x];
[[newArtboard frame] addY:yOffset];
[newArtboard setName:generateFrameName(frame)];
step(newArtboard, (frame - 1) * CHANGE_PER_ARTBOARD);
frame += 1;
}
yOffset += [[firstArtboard frame] height] + 40;
}
function generateFrameName(frame) {
if (frame < 10) {
return "Frame 0" + frame;
}
return "Frame " + frame;
}
function step(artboard, change) {
var children = [artboard children];
var numberOfChildren = [children count];
for (var i = 0; i < numberOfChildren; i++) {
var layer = children[i];
if ([layer name] != LAYER_NAME) {
continue;
}
// Make change
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment