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

dredj

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

_MBK_

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

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 137
Реакции
10 835
Скрипт в одну строку. Но в один клик не получится. Я правильно понимаю - вы хотите под выделенный объект создать артбоард с нужным названием? Как минимум придется выделить объект и запустить скрипт.
 

dredj

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

_MBK_

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

_MBK_

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

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 137
Реакции
10 835
Вот как то так. Для каждого из выделенных объектов создает артборд с соответствующим названием
Код:
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

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

~RA~

Одарённая.
12 лет на форуме
Сообщения
11 808
Реакции
3 434
В поинтах, очевидно.
 

_MBK_

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

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 137
Реакции
10 835
А если так?
Код:
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~

Одарённая.
12 лет на форуме
Сообщения
11 808
Реакции
3 434
Последнее редактирование:

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 137
Реакции
10 835
Тьфу, даже не так:
Код:
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_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 137
Реакции
10 835
Вот что бывает когда вслепую пишешь код, попутно делая десять других дел в пятницу вечером!
 

dredj

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