1. Пользоваться форумом на планшетах и телефонах стало удобнее благодаря Tapatalk

Несколько скриптов

Тема в разделе "Adobe Illustrator", создана пользователем -, 9 янв 2004.

  1. Guest

    Решил я выложить несколько скриптов, которые были написаны уже давно, но не выкладывались, ввиду их узкоспецифического назначения (я думал, что это мало кому нужно). Но теперь подумал, что, фиг его знает, может кому это и понадобится. Все они связаны с перекладыванием некоторых операций на горячие клавиши. Для тех, кто не знает, скрипт можно поместить в Action, (через "Insert menu item"), которому и назначить хоткей.

    Работая в Фотошопе я привык к возможности увеличения/уменьшения диаметра кисти горячими клавишами. В илле такого нет, и я решил возместить это дело скриптом. Итак:

    //скрипт увеличивает Stroke всех выделенных объектов на 0,5pt.

    for(i=0;i<activeDocument.pageItems.length;i++){
    obj=activeDocument.pageItems;
    if(obj.selected){
    try{
    obj.strokeWidth+=0.5;
    }catch(exc){
    continue
    }
    }
    }

    //скрипт уменьшает Stroke всех выделенных объектов на 0,5pt.

    for(i=0;i<activeDocument.pageItems.length;i++){
    obj=activeDocument.pageItems;
    if((obj.selected)&&(obj.strokeWidth)){
    obj.strokeWidth-=0.5;
    if(obj.strokeWidth<0){
    obj.strokeWidth=0
    }
    }
    }


    Часто по работе мне приходится обрисовывать растровые картинки или логотипы. Работаю я таким образом: помещаю растровый рисунок на первый слой, а обрисовываю на втором. При надобности, всегда можно оставить видимым только нижний слой, или только верхний, или включить оба этих слоя. Что б не тыкать постоянно на палитре Layers, я решил связать это дело с горячими клавишами. Можно, конечно, всё это делать и через сохранённые Views, но они сохраняют и масштаб. Итак, вот эти скрипты:

    // Делает видимым только первый слой

    activeDocument.layers[activeDocument.layers.length-1].visible=true;
    if(activeDocument.layers.length>1){
    for(i=activeDocument.layers.length-2;i>=0;i--){
    activeDocument.layers.visible=false;
    }
    }


    // Делает видимым только второй слой

    activeDocument.layers[activeDocument.layers.length-1].visible=false;
    if(activeDocument.layers.length>1){
    activeDocument.layers[activeDocument.layers.length-2].visible=true;
    if(activeDocument.layers.length>2){
    for(i=activeDocument.layers.length-3;i>=0;i--){
    activeDocument.layers.visible=false;
    }
    }
    }


    // Делает видимыми оба слоя

    activeDocument.layers[activeDocument.layers.length-1].visible=true;
    if(activeDocument.layers.length>1){
    activeDocument.layers[activeDocument.layers.length-2].visible=true;
    }
     
  2. Guest

    классно! побольше скриптов хороших и разных :)
     
  3. Guest

    Спасибо за скрипты!
    В Illustrator СS можно обойтись и без экшена. Сразу назначив горячие кнопки скриптам.
     
  4. Guest

    Давно не понимал, почему такая полезная штука есть во Фрихенде и нет в Иле.
     
  5. Guest

    Скрипт по удалению лишних точек.
    Работает в 10 и не работает в CS. Как бы его "починить"?

    mySelection = activeDocument.selection;
    if (mySelection.length>0){
    for(i=0;i<mySelection.length;i++){
    if(mySelection.pathPoints){
    papo=mySelection.selectedPathPoints;
    for(q=0;q<papo.length;q++){
    if(papo[q].selected==2){
    papo[q].remove();
    }
    }
    }
    }
    }else{}
     
  6. Guest

    Sergio, к сожалению, я пока не установил CS, та что, проверить сейчас не могу. Но уже уверен, что дело в этом значении:
    if(papo[q].selected==2)
    Нужно просто попробовать подставить другую цифру (от 0 до 4)
     
  7. Guest

    Непомогает :(
     
  8. Guest

    Всё, исправил. Классно, что в Илле есть теперь возможность назначать скриптам хоткеи. Так что, теперь товарищи, привыкшие в других прогах удалять кучу точек одним движением мыши, могут этим воспользоваться и в илле.
    Да, кстати, я обнаружил, что мой скрипт по "разлинкованию" линков теперь (в CS) работает и с PSD, не содержащими векторов.
    напоминаю, что скрипты лежат на www.zadomnaperod.by.ru/scripts/scripts.htm
    Не все они пока оптимизированы под CS, хотя, почти все работают в CS.

    mySelection = activeDocument.selection;
    if (mySelection.length>0){
    for(i=0;i<mySelection.length;i++){
    if(mySelection.pathPoints){
    papo=mySelection.selectedPathPoints;
    for(q=0;q<papo.length;q++){
    if(papo[q].selected==PathPointSelection.ANCHORPOINT){
    papo[q].remove();
    }
    }
    }
    }
    }else{}
     

Поделиться этой страницей