Нужен скрипт расстановки крестов

Статус
Закрыто для дальнейших ответов.

ACTPOHOM

Топикстартер
12 лет на форуме
Сообщения
2 981
Реакции
1 133
Может есть плагины, не нашел,
Задача такая, выделяю объект или группу объектов, жму цапу,
рисуюутся 4 креста по каждому на угол, отлет центра креста по 10 мм от объекта.
Сам крест: линии толщиной в 2 pt длиной 10 мм

+ +
O
+ +
 

qsedftghk

фея
15 лет на форуме
Сообщения
2 032
Реакции
1 198
для одного объекта как-то так. Для группы, делать лень. Летом нужно отдыхать =).
Код:
mm = 2.834645;
lsd = activeDocument.activeLayer;
mySelection = activeDocument.selection;
coord=mySelection[0].geometricBounds;
grupp = lsd.groupItems.add();
line(lsd,((coord[0]/mm)-10),((coord[1]/mm)+15),((coord[0]/mm)-10),((coord[1]/mm)+5), 2);
line(lsd,((coord[0]/mm)-15),((coord[1]/mm)+10),((coord[0]/mm)-5),((coord[1]/mm)+10), 2);
grupp.duplicate();
grupp.position=Array((coord[2]/mm +5)*mm, ((coord[1]/mm)+15)*mm);
grupp.duplicate();
grupp.position=Array((coord[2]/mm +5)*mm, ((coord[3]/mm)-5)*mm);
grupp.duplicate();
grupp.position=Array((coord[0]/mm -15)*mm, ((coord[3]/mm)-5)*mm);

function line(parent,x1,y1,x2,y2, weight){
    var line = parent.pathItems.add();
    line.strokeOverprint = false;
    line.fillOverprint = false;
    line.stroked = true;
    line.filled = false;
    line.strokeWidth = weight;
    line.setEntirePath( Array( Array(x1*mm, y1*mm), Array(x2*mm, y2*mm) ) );
    line.move (grupp,ElementPlacement.PLACEATEND);
    line = null;
}
 
  • Спасибо
Реакции: ACTPOHOM

ACTPOHOM

Топикстартер
12 лет на форуме
Сообщения
2 981
Реакции
1 133
Напиши в личку, что нужно на борьбу с ленью :)
 

ACTPOHOM

Топикстартер
12 лет на форуме
Сообщения
2 981
Реакции
1 133
я не программист совсем, я даже не знаю как прикручивать скрипт
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 235
Реакции
10 852
После
Код:
mySelection = activeDocument.selection;
coord=mySelection[0].geometricBounds;
вставляем
Код:
for (i=1;i<mySelection.length;i++)
{
  if (coord[0]<mySelection[i].geometricBounds[0]) coord[0]=mySelection[i].geometricBounds[0];
  if (coord[1]<mySelection[i].geometricBounds[1]) coord[1]=mySelection[i].geometricBounds[1];
  if (coord[2]>mySelection[i].geometricBounds[2]) coord[2]=mySelection[i].geometricBounds[2];
  if (coord[3]>mySelection[i].geometricBounds[3]) coord[3]=mySelection[i].geometricBounds[3];
}
И получаем координаты всего селекшна
 
  • Спасибо
Реакции: ACTPOHOM

qsedftghk

фея
15 лет на форуме
Сообщения
2 032
Реакции
1 198
распаковываем в папку C:\Program Files\Adobe\Adobe Illustrator CS6 (64 Bit)\Presets\en_GB\Scripts
В иле: Выделяем нужное и File->Scripts->startlsd.jsx
 

Вложения

  • labuda.rar
    1.3 КБ · Просм.: 294
Последнее редактирование:
  • Спасибо
Реакции: ACTPOHOM

ACTPOHOM

Топикстартер
12 лет на форуме
Сообщения
2 981
Реакции
1 133
Спасибо большое, работает !
 

ACTPOHOM

Топикстартер
12 лет на форуме
Сообщения
2 981
Реакции
1 133
Второй файл, который lsd.jsxbin не редактируется
Если мне надо поменять цвет креста с регистрейшена на черный, как самому отредактировать ?
 

qsedftghk

фея
15 лет на форуме
Сообщения
2 032
Реакции
1 198
никак. Либо написать скрипт самому по вышеприведенному сценарию. В аттаче - делает черные кресты
 

Вложения

  • xxx.rar
    1.2 КБ · Просм.: 283
  • Спасибо
Реакции: artprofile и ACTPOHOM

Skvoznyak

15 лет на форуме
Сообщения
5 500
Реакции
2 168
а что мешает проверить?
 
Статус
Закрыто для дальнейших ответов.