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

Пара скриптов

Тема в разделе "Adobe Illustrator", создана пользователем -, 29 авг 2003.

  1. Guest

    Накрапал тут парочку скриптов, представляющих собой модификацию выложенных мной ранее скриптов по замене объектов одним (подобно Swap Symbol). Новые скрипты взаимозаменяют 2 выделенных объекта.

    1)
    // Взаимозаменяет объекты, не меняя их изачальных размеров
    mySelection = activeDocument.selection;
    if (mySelection.length==2){
    if (mySelection instanceof Array){
    first=mySelection[0];
    second=mySelection[1];
    centerPointF=first.position[0]+(first.width/2);
    centerPointVertF=first.position[1]-(first.height/2);
    centerPointS=second.position[0]+(second.width/2);
    centerPointVertS=second.position[1]-(second.height/2);
    newFirst=first.duplicate();
    newSecond=second.duplicate();
    newFirst.position=Array((centerPointS-(first.width/2)),(centerPointVertS+(first.height/2)));
    newFirst.artworkKnockout=second.artworkKnockout;
    newFirst.clipping=second.clipping;
    newFirst.isIsolated=second.isIsolated;
    newFirst.evenodd=second.evenodd;
    if(second.polarity){
    newFirst.polarity=second.polarity
    }
    newFirst.moveBefore(second);
    second.remove()
    newSecond.position=Array((centerPointF-(newSecond.width/2)),(centerPointVertF+(newSecond.height/2)));
    newSecond.artworkKnockout=first.artworkKnockout;
    newSecond.clipping=first.clipping;
    newSecond.isIsolated=first.isIsolated;
    newSecond.evenodd=first.evenodd;
    if(first.polarity){
    newSecond.polarity=first.polarity
    }
    newSecond.moveBefore(first);
    first.remove()
    }
    }


    2)
    // Взаимозаменяет объекты, подстраивая их размеры под размер
    // заменяемого объекта
    mySelection = activeDocument.selection;
    if (mySelection.length==2){
    if (mySelection instanceof Array){
    first=mySelection[0];
    second=mySelection[1];
    centerPointF=first.position[0]+(first.width/2);
    centerPointVertF=first.position[1]-(first.height/2);
    centerPointS=second.position[0]+(second.width/2);
    centerPointVertS=second.position[1]-(second.height/2);
    ratio1=100/(first.width/second.width);
    ratioV1=100/(first.height/second.height);
    newFirst=first.duplicate();
    newSecond=second.duplicate();
    newFirst.position=Array((centerPointS-(first.width/2)),(centerPointVertS+(first.height/2)));
    if(ratio1<ratioV1){
    newFirst.resize(ratio1,ratio1,true,true,true,true,ratio1)
    }else{
    newFirst.resize(ratioV1,ratioV1,true,true,true,true,ratioV1)
    }
    newFirst.artworkKnockout=second.artworkKnockout;
    newFirst.clipping=second.clipping;
    newFirst.isIsolated=second.isIsolated;
    newFirst.evenodd=second.evenodd;
    if(second.polarity){
    newFirst.polarity=second.polarity
    }
    newFirst.moveBefore(second);
    second.remove()
    ratio2=100/(newSecond.width/first.width);
    ratioV2=100/(newSecond.height/first.height);
    newSecond.position=Array((centerPointF-(newSecond.width/2)),(centerPointVertF+(newSecond.height/2)));
    if(ratio2<ratioV2){
    newSecond.resize(ratio2,ratio2,true,true,true,true,ratio2)
    }else{
    newSecond.resize(ratioV2,ratioV2,true,true,true,true,ratioV2)
    }
    newSecond.artworkKnockout=first.artworkKnockout;
    newSecond.clipping=first.clipping;
    newSecond.isIsolated=first.isIsolated;
    newSecond.evenodd=first.evenodd;
    if(first.polarity){
    newSecond.polarity=first.polarity
    }
    newSecond.moveBefore(first);
    first.remove()
    }
    }
     
  2. Guest

    почему в скрипте с изменением размера один объект принимает ширину другого, а второй - высоту первого?
     
  3. Guest

    Подстройка габаритов происходит по меньшему размеру
     

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