Skvoznyak
15 лет на форуме
- Сообщения
- 5 500
- Реакции
- 2 168
почему ты смотришь юнитс от DocumentPreset.units, а не от activeDocument.rulerUnits?
Из класса?
if (documents.length) {
with (app.activeDocument)
{
var c = 1;
switch(rulerUnits)
{
case RulerUnits.Millimeters: c=25.4/72; break;
case RulerUnits.Centimeters: c=2.54/72; break;
case RulerUnits.Inches: c=1/72; break;
case RulerUnits.Picas: c=6/72; break;
case RulerUnits.Qs: c=25.4*4/72;
}
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[1]-rect[3];
art.name=Math.round(w*c)+"-"+Math.round(h*c);
}
}
}
ну вот так в общем (убрал индусский if заодно, и из цикла его вынес).
Код:if (documents.length) { with (app.activeDocument) { var c = 1; switch(rulerUnits) { case RulerUnits.Millimeters: c=25.4/72; break; case RulerUnits.Centimeters: c=2.54/72; break; case RulerUnits.Inches: c=1/72; break; case RulerUnits.Picas: c=6/72; break; case RulerUnits.Qs: c=25.4*4/72; } 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[1]-rect[3]; art.name=Math.round(w*c)+"-"+Math.round(h*c); } } }
И все же, интересный теоретический вопрос - а что, так можно читать из любого класса? И какие значения будут?
Например, если не открыто ни одного документаТак в твоем варианте и были всегда pt. Что странного?
А зачем получать независимые от документа, когда нужны текущие единицы с линеек, которые легко берутся из rulerUnits?
Странно что у топикстартера работало изначальноТак в твоем варианте и были всегда pt. Что странного?
Например, если не открыто ни одного документа
Странно что у топикстартера работало изначально
Я не про этот конкретный случай, а вообще.и какому артборду ты имя будешь менять? не говоря о том, что в начале сам же поставил проверку if(documents.length)