Подогнать artboard под размеры контента

  • Автор темы Автор темы Zz_
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

Zz_

Участник
Топикстартер
Сообщения
4
Реакции
0
Приветствую. Есть скрипт:
Он предлагает сколько оставить зазор.

#target Illustrator

// script.name = shrinkABtoFitArt_CS4.jsx;
// script.description = resizes active artboard to fit the the Art (+ margins);
// script.required = one document with at least one piece of art;
// script.parent = carlos canto // 5/3/11;
// script.elegant = false;

if (app.documents.length > 0)
{
//alert("more than 0");
var idoc = app.activeDocument;
var pageItemsCount = idoc.pageItems.length;
if (pageItemsCount>=1)
{
var msg = "Enter Artboard Margins \n";
msg += "\nEnter negative numbers to cancel";

var margins = Number(Window.prompt (msg, 0, "CS4 Shrink Arboard to Fit"));
if (margins>=0)
{

var activeABindex = idoc.artboards.getActiveArtboardIndex();
var newAB = idoc.artboards[activeABindex];

var iartBounds = idoc.visibleBounds;

var ableft = iartBounds[0]-margins;
var abtop = iartBounds[1]+margins;
var abright = iartBounds[2]+margins;
var abbottom = iartBounds[3]-margins;

newAB.artboardRect = [ableft, abtop, abright, abbottom];

var myZoom = idoc.activeView.zoom;
idoc.activeView.zoom = myZoom+.01;
idoc.activeView.zoom = myZoom;

}
else
{
alert("nos vamos");
}
}
else
{
alert("there is no art in the active document");
}
}
else
{
alert ("there are no open documents");
}

Так вот, как сделать так, что бы он автоматически подгонял под ноль?
 
Кэп говорит, что вместо
Код:
var margins = Number(Window.prompt (msg, 0, "CS4 Shrink Arboard to Fit"));
поставить
Код:
var margins =0;
 
  • Спасибо
Реакции: Zz_
Нижайший поклон)
 
ну, и до кучи: Размер Artboard по размеру выделенного (скриптец wOxxOm)
Код:
app.activeDocument.cropBox = app.activeDocument.visibleBounds;
var z, v = app.activeDocument.activeView;
z = v.zoom;  v.zoom *= 1.01; v.zoom = z;
 
Не понял хитрого смысла последней строки. 'hmmm'
 
Как писал wOxxOm: "последние две строки форсируют обновление экрана, т.к. я в адобовском скриптинге ни в зуб ногой и другого способа не нашел..." В принципе, они нафиг не нужны.
 
  • Спасибо
Реакции: _MBK_
Добрый вечер! :)
Хотел узнать, а учитывают ли вышеприведенные скрипты только fill или stroke тоже?
Например, рисуем объект 100 х 100 мм, задаем ему stroke 0,5 мм, выделяем объект, дальше Shift+O (Artboard tool), выбираем presets : Fit to selected art, и артбоард становится в размер выделенного... но прибавляется еще размер stroke, т.е. не 100, а 100,5 мм ...
У ESKO вместе с Data Exchange идет бесплатный плагин "Блок обрезки и блок материалов" (не знаю, как он именуется по-английски). Там нажатием двух кнопок все делается корректно и с вариациями....
А как обстоит дело в скрипте?
 
В принципе, учитывать обводку - это правильно. В крайнем случае, размер артбоарда можно подрихтовать в меньшую сторону, убрав толщину обводки.. Хужее случай, когда куча объектов с обводками и по ним выбирается размер артбоарда, не учитывая stroke... а за артбоард ничего вывалиться не должно.... а оно торчит своими обводками... ;)
Всегда хорошо иметь в запасе если не один полностью настраиваемый и гибкий инструмент, то хотя бы несколько работающих по-разному, но с необходимым прогнозируемым результатом...
 
На самом деле, там не все так шоколадно, свойство visibleBounds во многих случаях лажает, причем баг распространяется и на скриптинг и на plugins sdk. И на адобовском мкмьюнити так и не нашли какой то внятный способ борьбы с этим. Адобовские индусы такие индийские :(
 
Статус
Закрыто для дальнейших ответов.