Да, проблема в том, что это не записываемое действие, и хотя на первый взгляд оно кажется простым, дублирование артборда, по-видимому, требует многого. Но вы можете дополнить код своими потребностями. Этот фрагмент создаст новую монтажную область и будет использовать копирование/вставку для размещения элементов на новой монтажной области. Если новая монтажная область оказывается за пределами монтажной области, это редактирование кода. Если у вас уже есть 1000 монтажных областей, и добавление следующей приводит к ошибке или сбою, это редактирование кода. Если у вас есть проблемы с тем, как он уничтожает ваш существующий выбор или буфер обмена, вам лучше поверить, что это редактирование кода!
Но вот мой простой образец!
#target illustrator
function test(){
var doc = app.activeDocument;
var thisBoardIndex = doc.artboards.getActiveArtboardIndex();
var thisBoard = doc.artboards[thisBoardIndex];
var thisRect = thisBoard.artboardRect;
var lastBoard = doc.artboards[doc.artboards.length - 1];
var lastRect = lastBoard.artboardRect;
doc.selectObjectsOnActiveArtboard();
app.copy();
var newBoard = doc.artboards.add(thisRect);
var offsetH = 20;
newBoard.artboardRect = [
lastRect[2] + offsetH,
lastRect[1],
lastRect[2] + offsetH + (thisRect[2] - thisRect[0]),
lastRect[3]
];
newBoard.name = thisBoard.name + " copy";
app.executeMenuCommand("pasteFront");
doc.selection = null;
};
test();
Для копирования слоя, как бы безумно это ни было, одно из них является записываемым действием, поэтому вы можете использовать его для копирования слоя, а затем запускать действие как пакет в нужной папке.
Дуглас Бикальо
targetLayer = doc.layers.add();
Глупый-V
Девнер
Error 1200: an illustrator error occured.... Line 13: -> newBoard.artboardRect = [
. Можно ли это исправить?Глупый-V