[AI CC2019] Задать имя монтажной области

dredj

Участник
Топикстартер
Сообщения
15
Оценка реакций
0
День добрый, пытаюсь автоматизировать одну рутину, хотелось что бы при создании артборда имя этого самого артборда был размер этого самого артборд, то есть у нас объект с значением ширины и высоты например 1800 x 470 миллиметров и я инструментом монтажной облости кликаю по этому объект, тем самым создавая артборд с наименованием - "1800-470". Можно такое как-то реализовать?
Прошу прошение за свой русский
 

_MBK_

Пикирующий бомбардировщик
12 лет на форуме
Сообщения
24 078
Оценка реакций
8 292

_MBK_

Пикирующий бомбардировщик
12 лет на форуме
Сообщения
24 078
Оценка реакций
8 292
Скрипт в одну строку. Но в один клик не получится. Я правильно понимаю - вы хотите под выделенный объект создать артбоард с нужным названием? Как минимум придется выделить объект и запустить скрипт.
 

dredj

Участник
Топикстартер
Сообщения
15
Оценка реакций
0
@_MBK_, да именно это мне и нужно а скрипт запустить не проблема.
 

_MBK_

Пикирующий бомбардировщик
12 лет на форуме
Сообщения
24 078
Оценка реакций
8 292
Вот как то так. Для каждого из выделенных объектов создает артборд с соответствующим названием
Код:
function GetBounds(obj)
{
      var bnd=obj.geometricBounds;
/*      for (var i=1;i<app.selection.length;i++)
      {
          if (bnd[0]>app.selection[i].geometricBounds[0]) bnd[0]=app.selection[i].geometricBounds[0];
          if (bnd[1]<app.selection[i].geometricBounds[1]) bnd[1]=app.selection[i].geometricBounds[1];
          if (bnd[2]<app.selection[i].geometricBounds[2]) bnd[2]=app.selection[i].geometricBounds[2];
          if (bnd[3]>app.selection[i].geometricBounds[3]) bnd[3]=app.selection[i].geometricBounds[3];
      } */
      if (bnd[0]==bnd[2]) bnd[0]-=1;
      if (bnd[1]==bnd[3]) bnd[1]+=1;
      return bnd;
}

if (documents.length > 0) {
    if (app.selection.length>0)
     for (var i=0;i<app.selection.length;i++)
        with (app.activeDocument)
       {
           var rect=GetBounds(app.selection[i]);
           var art=artboards.add(rect);
         
          art.name=Math.abs(rect[2]-rect[0])/24.5*72+"-"+Math.abs(rect[3]-rect[1])/24.5*72;
       }
}
 

dredj

Участник
Топикстартер
Сообщения
15
Оценка реакций
0
@_MBK_, а в каких единицах именуется артборд?Снимок.JPG
 

~RA~

Чмоки всем в этом чате.
Сообщения
6 775
Оценка реакций
1 899
В поинтах, очевидно.
 

_MBK_

Пикирующий бомбардировщик
12 лет на форуме
Сообщения
24 078
Оценка реакций
8 292
А если так?
Код:
function GetBounds(obj)
{
      var bnd=obj.geometricBounds;
/*      for (var i=1;i<app.selection.length;i++)
      {
          if (bnd[0]>app.selection[i].geometricBounds[0]) bnd[0]=app.selection[i].geometricBounds[0];
          if (bnd[1]<app.selection[i].geometricBounds[1]) bnd[1]=app.selection[i].geometricBounds[1];
          if (bnd[2]<app.selection[i].geometricBounds[2]) bnd[2]=app.selection[i].geometricBounds[2];
          if (bnd[3]>app.selection[i].geometricBounds[3]) bnd[3]=app.selection[i].geometricBounds[3];
      } */
      if (bnd[0]==bnd[2]) bnd[0]-=1;
      if (bnd[1]==bnd[3]) bnd[1]+=1;
      return bnd;
}

if (documents.length > 0) {
    if (app.selection.length>0)
     for (var i=0;i<app.selection.length;i++)
        with (app.activeDocument)
       {
           var rect=GetBounds(app.selection[i]);
           var art=artboards.add(rect);
          
          art.name=Math.abs(rect[2]-rect[0])/24.5/72+"-"+Math.abs(rect[3]-rect[1])/24.5/72;
       }
}
 

~RA~

Чмоки всем в этом чате.
Сообщения
6 775
Оценка реакций
1 899
Последнее редактирование:

_MBK_

Пикирующий бомбардировщик
12 лет на форуме
Сообщения
24 078
Оценка реакций
8 292
Тьфу, даже не так:
Код:
function GetBounds(obj)
{
      var bnd=obj.geometricBounds;
/*      for (var i=1;i<app.selection.length;i++)
      {
          if (bnd[0]>app.selection[i].geometricBounds[0]) bnd[0]=app.selection[i].geometricBounds[0];
          if (bnd[1]<app.selection[i].geometricBounds[1]) bnd[1]=app.selection[i].geometricBounds[1];
          if (bnd[2]<app.selection[i].geometricBounds[2]) bnd[2]=app.selection[i].geometricBounds[2];
          if (bnd[3]>app.selection[i].geometricBounds[3]) bnd[3]=app.selection[i].geometricBounds[3];
      } */
      if (bnd[0]==bnd[2]) bnd[0]-=1;
      if (bnd[1]==bnd[3]) bnd[1]+=1;
      return bnd;
}

if (documents.length > 0) {
    if (app.selection.length>0)
     for (var i=0;i<app.selection.length;i++)
        with (app.activeDocument)
       {
           var rect=GetBounds(app.selection[i]);
           var art=artboards.add(rect);
          
          art.name=Math.abs(rect[2]-rect[0])*24.5/72+"-"+Math.abs(rect[3]-rect[1])*24.5/72;
       }
}
 

_MBK_

Пикирующий бомбардировщик
12 лет на форуме
Сообщения
24 078
Оценка реакций
8 292
Вот что бывает когда вслепую пишешь код, попутно делая десять других дел в пятницу вечером!
 

dredj

Участник
Топикстартер
Сообщения
15
Оценка реакций
0
Снимок.JPGизвиняюсь, опять что то не так
 
Последнее редактирование: