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

Slx1

15 лет на форуме
Сообщения
944
Реакции
106
Еще такой вопросик возник)

Можно сделать так чтобы размеры в текущих единицах измерения документа проставлялись
Например, если сейчас мм -- проставлялись мм, если поменялись на пункты -- проставлялись в пунктах?

А то что то под печать, а что то и под web готовим

Спасибо заранее, если так можно будет сделать
 

_MBK_

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

Slx1

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

_MBK_

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

Slx1

15 лет на форуме
Сообщения
944
Реакции
106
Конечно-конечно, когда будет удобно
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 185
Реакции
10 844
Конечно-конечно, когда будет удобно
JavaScript:
if (documents.length > 0) {
 
    with (app.activeDocument)
    {

      for (var i=0;i<artboards.length;i++)
      {
        var art=artboards[i];
        var rect=art.artboardRect;
        var w=rect[2]-rect[0];
        var h=rect[3]-rect[1];         
        if (DocumentPreset.units==RulerUnits.Millimeters) c=25.4/72; else       
        if (DocumentPreset.units==RulerUnits.Centimeters) c=2.54/72; else       
        if (DocumentPreset.units==RulerUnits.Inches) c=1/72; else                       
        if (DocumentPreset.units==RulerUnits.Picas) c=6/72; else                       
        if (DocumentPreset.units==RulerUnits.Points) c=1; else                       
        if (DocumentPreset.units==RulerUnits.Pixels) c=1; else                       
        if (DocumentPreset.units==RulerUnits.Qs) c=25.4*4/72;
art.name=Math.floor(Math.abs(w)*c)+"-"+Math.floor(Math.abs(h)*c);
      }
    }
}
 
  • Спасибо
Реакции: Slx1

Slx1

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

Slx1

15 лет на форуме
Сообщения
944
Реакции
106
JavaScript:
if (documents.length > 0) {

    with (app.activeDocument)
    {

      for (var i=0;i<artboards.length;i++)
      {
        var art=artboards[i];
        var rect=art.artboardRect;
        var w=rect[2]-rect[0];
        var h=rect[3]-rect[1];        
        if (DocumentPreset.units==RulerUnits.Millimeters) c=25.4/72; else      
        if (DocumentPreset.units==RulerUnits.Centimeters) c=2.54/72; else      
        if (DocumentPreset.units==RulerUnits.Inches) c=1/72; else                      
        if (DocumentPreset.units==RulerUnits.Picas) c=6/72; else                      
        if (DocumentPreset.units==RulerUnits.Points) c=1; else                      
        if (DocumentPreset.units==RulerUnits.Pixels) c=1; else                      
        if (DocumentPreset.units==RulerUnits.Qs) c=25.4*4/72;
art.name=Math.floor(Math.abs(w)*c)+"-"+Math.floor(Math.abs(h)*c);
      }
    }
}


В CS 2018 не работает((
не видит мм
 

_MBK_

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

Slx1

15 лет на форуме
Сообщения
944
Реакции
106
Все в ПИКСЕЛЯХ пишет(
Даже если настройки линеек документа в мм
 
Последнее редактирование:

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 185
Реакции
10 844
Это весьма странно, если он не определяет валидный RulerUnits то по идее просто ошибку должен выдавать а не в пикселах
замените всю конструкцию принудительно на
JavaScript:
c=25.4/72;
//if (DocumentPreset.units==RulerUnits.Millimeters) c=25.4/72; else       
//        if (DocumentPreset.units==RulerUnits.Centimeters) c=2.54/72; else       
//        if (DocumentPreset.units==RulerUnits.Inches) c=1/72; else                       
//        if (DocumentPreset.units==RulerUnits.Picas) c=6/72; else                       
//        if (DocumentPreset.units==RulerUnits.Points) c=1; else                       
//        if (DocumentPreset.units==RulerUnits.Pixels) c=1; else                       
//        if (DocumentPreset.units==RulerUnits.Qs) c=25.4*4/72;
 
  • Спасибо
Реакции: Slx1

Slx1

15 лет на форуме
Сообщения
944
Реакции
106
Это весьма странно, если он не определяет валидный RulerUnits то по идее просто ошибку должен выдавать а не в пикселах
замените всю конструкцию принудительно на
JavaScript:
c=25.4/72;
//if (DocumentPreset.units==RulerUnits.Millimeters) c=25.4/72; else      
//        if (DocumentPreset.units==RulerUnits.Centimeters) c=2.54/72; else      
//        if (DocumentPreset.units==RulerUnits.Inches) c=1/72; else                      
//        if (DocumentPreset.units==RulerUnits.Picas) c=6/72; else                      
//        if (DocumentPreset.units==RulerUnits.Points) c=1; else                      
//        if (DocumentPreset.units==RulerUnits.Pixels) c=1; else                      
//        if (DocumentPreset.units==RulerUnits.Qs) c=25.4*4/72;


Так работает!
А чтобы понимал когда мм а когда пиксели не получиться сделать?
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 185
Реакции
10 844
Не пойму, может в 2018 константу поменяли?
Поставьте alert(DocumentPreset.units); - что выдаст в окне?
 

Slx1

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

Вложения

  • Снимок экрана 2019-10-31 в 16.48.07.png
    Снимок экрана 2019-10-31 в 16.48.07.png
    559.5 КБ · Просм.: 140

_MBK_

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

Slx1

15 лет на форуме
Сообщения
944
Реакции
106
И если линейки поменять на ММ
То есть получается, что при установленных миллиметрах все равно говорит что поинты??? Это явно баг какой то. А при установленных поинтах что говорит?

это говорит и при мм и при поинтах
 

_MBK_

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

Skvoznyak

15 лет на форуме
Сообщения
5 500
Реакции
2 168
а какая религия не дает activeDocument.rulerUnits использовать?
 

_MBK_

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

Slx1

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