[AI CC-CC2021] Как в группу добавить элемент через скрипт?

Андрей1977

Участник
Топикстартер
Сообщения
42
Реакции
1
Как в группу GroupItems добавить элементы item, которые уже созданы и находятся в документе, кроче сгруппировать скриптом несколько элементов?
Заранее спасибо.
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
У каждого объекта есть методы move и duplicate
Если первый параметр этих методов - группа, то туда они благополучно и перекочуют
 

qsedftghk

фея
15 лет на форуме
Сообщения
2 028
Реакции
1 197
Код:
newgroup = activeDocument.activeLayer.groupItems.add(); //новая пустая группа
obj=activeDocument.activeLayer.pathItems[1]; // какой-то объект, например
obj.move (newgroup,ElementPlacement.PLACEATEND); // запихиваем объект в конец группы
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
Таким же образом, кстати, можно и в другой (новый) документ объекты перемещать
 
  • Спасибо
Реакции: Андрей1977

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
Вот тут
116816
 
  • Спасибо
Реакции: ACTPOHOM

Андрей1977

Участник
Топикстартер
Сообщения
42
Реакции
1
У каждого объекта есть методы move и duplicate
Если первый параметр этих методов - группа, то туда они благополучно и перекочуют
А можно ли группу добавить в другую группу? Сделать ее вложенной в другую группу.
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
Не знаю как Бутрин но лично я не против
 

Андрей1977

Участник
Топикстартер
Сообщения
42
Реакции
1
Не знаю как Бутрин но лично я не против

Код:
//к - значение текущего цикла
//collectDekor - созданная в этом цикле группа
var sel = [];
sel[k] = collectDekor;

var collectDekor_Group = app.activeDocument.groupItems.add();
sel[k].move(collectDekor_Group,ElementPlacement.PLACEATBEGINNING);

и ничего не происходит. группа не создается. И ошибку не выдает.
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
А почему не
collectDekor.move(collectDekor_Group,ElementPlacement.PLACEATBEGINNING);
?
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
У меня все получается, проблема на вашей стороне
JavaScript:
var collectDekor=selection[0];

var collectDekor_Group = app.activeDocument.groupItems.add();
collectDekor.move(collectDekor_Group,ElementPlacement.PLACEATBEGINNING);
117680
 
Последнее редактирование:

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
Так тоже работает
JavaScript:
var collectDekor=selection[0];
var sel = [];
var k=0;
sel[k] = collectDekor;

var collectDekor_Group = app.activeDocument.groupItems.add();
sel[k].move(collectDekor_Group,ElementPlacement.PLACEATBEGINNING);
говорите collectDecor_Group даже не создается пустая?
Похоже что это нехватка кого то еще
Покажите весь код
 

Oleg Butrin

20 лет на форуме
Сообщения
1 989
Реакции
1 213

Не по теме:
@_MBK_, я видел много разного интересного в жизни, но чтобы код скриптов для Illustrator набрасывали в FAR -- это, пожалуй, рекорд.
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
@_MBK_, я видел много разного интересного в жизни, но чтобы код скриптов для Illustrator набрасывали в FAR -- это, пожалуй, рекорд.

Не по теме:
У меня для тебя еще много приятных сюрпризов припасено '))'