[AI CC-CC2021] Новый артборд по выделенным объектам, как?

Slx1

Топикстартер
15 лет на форуме
Сообщения
944
Реакции
106
Господа, столкнулся с задачей быстро создать новых артбордов по выделенным объектам в документе
Вариант родной командой, только новый артборд не создается а перемещается на новое выделение...
Нашел пару скриптов только они в 2018 работают некорректно

Буду благодарен за любую полезную информацию!
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 188
Реакции
10 844
То есть я правильно понимаю, вам надо создать новый артборд по размеру выделенных обьектов, а потом переместить на него выделенные обьекты? Задача деструктивная и в общем случае нетривиальная, но скрипты, реализующие подобное здесь пробегали и тему обсуждали тоже. А зачем вам такое странное? И что именно не работает?
 

Slx1

Топикстартер
15 лет на форуме
Сообщения
944
Реакции
106
Вот наглядная иллюстрация чего нужно
Понятно что в реале не примитивы а сложные макеты
Если ткнете носом в рабочий скрипт буду очень благодарен, то я то я нашел работает криво
 

Вложения

  • 222.png
    222.png
    35.7 КБ · Просм.: 201

Slx1

Топикстартер
15 лет на форуме
Сообщения
944
Реакции
106
А зачем вам такое странное? И что именно не работает?

Родная команда просто переносит артборд на новое выделение, а нужно добавить новый
Скрипты не правильно строят артборд, а команда правильно
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 188
Реакции
10 844
Родная команда просто переносит артборд на новое выделение, а нужно добавить новый
Скрипты не правильно строят артборд, а команда правильно
Покажите скрипты и что именно они некорректно делают именно в новой версии AI?
 

kuplumosk

Участник
Сообщения
544
Реакции
127
М?
Снимок экрана 2019-10-11 в 11.52.59.pngСнимок экрана 2019-10-11 в 11.53.02.pngСнимок экрана 2019-10-11 в 11.53.03.png
Предварительно скопировать объекты а потом вставить
 

Slx1

Топикстартер
15 лет на форуме
Сообщения
944
Реакции
106

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 188
Реакции
10 844

Slx1

Топикстартер
15 лет на форуме
Сообщения
944
Реакции
106
Покажите скрипты и что именно они некорректно делают именно в новой версии AI?

Не знаю как выслать скрипт, но попробую так:

/*

Author: Alexander Ladygin (i@ladygin.pro)
Program version: Adobe Illustrator CC+
Name: createArtboardsFromTheSelection.jsx;

Copyright (c) 2018
www.ladygin.pro

*/

var win = new Window('dialog', 'Create artboard from the selection \u00A9 www.ladygin.pro');
win.orientation = 'column';
win.alignChildren = ['fill', 'fill'];

var panel = win.add('panel', undefined, 'Selection bounds:');
panel.orientation = 'column';
panel.alignChildren = ['fill', 'fill'];
panel.margins = 20;

var eachSel = panel.add('radiobutton', undefined, 'Each in the selection'),
selBnds = panel.add('radiobutton', undefined, 'Only selection bounds');
eachSel.value = true;

var panel = win.add('panel', undefined, 'Item bounds:');
panel.orientation = 'row';
panel.alignChildren = ['fill', 'fill'];
panel.margins = 20;

var bndsVis = panel.add('radiobutton', undefined, 'Vsiible'),
bndsGeo = panel.add('radiobutton', undefined, 'Geometric');
bndsVis.value = true;

var winButtons = win.add('group');
winButtons.alignChildren = 'center';
winButtons.margins = [0, 0, 0, 0];

var cancel = winButtons.add('button', undefined, 'Cancel');
cancel.helpTip = 'Press Esc to Close';
cancel.onClick = function () { win.close(); }

var ok = winButtons.add('button', [0, 0, 100, 30], 'OK');
ok.helpTip = 'Press Enter to Run';
ok.onClick = startAction;
ok.active = true;


function startAction() {
var items = selection,
i = items.length,
bounds = (bndsVis.value ? 'visible' : 'geometric') + 'Bounds';

if (eachSel.value) {
while (i--) activeDocument.artboards.add(items[bounds]);
}
else {
var x = [], y = [],
w = [], h = [];
while (i--) {
x.push(items[bounds][0]);
y.push(items[bounds][1]);
w.push(items[bounds][2]);
h.push(items[bounds][3]);
};
activeDocument.artboards.add([Math.min.apply(null, x), Math.max.apply(null, y), Math.max.apply(null, w), Math.min.apply(null, h)]);
}

win.close();
}

win.center();
win.show();
 

Slx1

Топикстартер
15 лет на форуме
Сообщения
944
Реакции
106
Не корректно создается размер если в выделенном сложная группа с масками, шрифтами и тд, на простом норм работает
Родная комманда Fit на том же самом отрабатывается корректно
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 188
Реакции
10 844
Для скриптов вообще то есть специальные тэги на панели 'rtfm''rtfm' Так и что он делает не так?
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 188
Реакции
10 844
Не корректно создается размер если в выделенном сложная группа с масками, шрифтами и тд,
А вон вы о чем. Я ж сказал - для общего случая нетривиально. Но попробовать пободаться можно, дайте пример на котором работает некорректно
 

Slx1

Топикстартер
15 лет на форуме
Сообщения
944
Реакции
106
К сожалению не могу публично светить макеты, но вот например есть такое:
В макете маской скрыты объекты, после скрипта размер становиться по этим скрытым размерам
 

Вложения

  • 333.png
    333.png
    45.9 КБ · Просм.: 321

Slx1

Топикстартер
15 лет на форуме
Сообщения
944
Реакции
106
А родной Fit тоже самое отрабатывает корректно
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 188
Реакции
10 844
Вы сам макет выложите, скрипт по скриншотам отлаживать при всем желании не получится, даже нотариально заверенным
 

Slx1

Топикстартер
15 лет на форуме
Сообщения
944
Реакции
106

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 188
Реакции
10 844
Хорошо, присылайте
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 188
Реакции
10 844
Гм, так скрипт, который вы привели не переносит объекты в новый артборд - он фактически делает то же самое, что и встроенная иллюстраторовская команда, только неправильно изза бага в visibleBounds. А где скрипт, который переносит объекты на новую созданную область и где ее создавать?
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 188
Реакции
10 844
Кстати, создать новую монтажную область с выделенными объектами можно безо всякого скрипта в два клика - Объект-Монтажные области - Подогнать по границам выделенного ; Монтажные области - Дублировать монтажные области
А вот в скрипт такое так просто не загонишь - последняя команда в экшн не пишется и придумать для нее скриптовой аналог не так просто