- Сообщения
- 12 624
- Реакции
- 3 704
А я как написал?Потому что надо 25,4, а не 24,5
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])*25.4/72+"-"+Math.abs(rect[3]-rect[1])*25.4/72;
}
}
Сразу бы проверил константуЧтоб ты без меня делал!
Для множественного выделения не пойдетfitArtboardToSelectedArt(artboardIndex);
Все или несколько оставить?поубавить циферки после запятой
Для множественного выделения не пойдет
Нет-нет, мне главное что бы по самому большой выделенному объекту был артборд среди выделенных объектов.Для множественного выделения не пойдет
В смысле, все таки первоначальный вариант?Нет-нет, мне главное что бы по самому большой выделенному объекту был артборд среди выделенных объектов.
можно все
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.floor(Math.abs(rect[2]-rect[0])*24.5/72)+"-"+Math.floor(Math.abs(rect[3]-rect[1])*24.5/72);
}
}
Допустим выделил несколько объектов, запустил скрипт получил артборд, выделил следующие несколько объектов, запустил скрипт получил второй артборд и т.д.В смысле, все таки первоначальный вариант?
Ну в исходном варианте так и былоДопустим выделил несколько объектов, запустил скрипт получил артборд, выделил следующие несколько объектов получил второй артборд и т.д.
function GetBounds()
{
var bnd=app.selection[0].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)
with (app.activeDocument)
{
var rect= GetBounds();
artboards[artboards.getActiveArtboardIndex()].artboardRect=rect;
artboards[artboards.getActiveArtboardIndex()].name==Math.floor(Math.abs(rect[2]-rect[0])*24.5/72)+"-"+Math.floor(Math.abs(rect[3]-rect[1])*24.5/72);
}
}
function GetBounds()
{
var bnd=app.selection[0].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)
with (app.activeDocument)
{
var rect= GetBounds();
var art=artboards.add(rect);
art.name=Math.floor(Math.abs(rect[2]-rect[0])*24.5/72)+"-"+Math.floor(Math.abs(rect[3]-rect[1])*24.5/72);
}
}