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

Тем, кто пишет скрипты (HELP!!!)

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

  1. Guest

    Начну с того что в числе языков, которыми я владею, языки программирования не попадаются.
    Но вот столкнулся с проблемой, когда это просто необходимо.
    Огромная просьба, если у кого из скриптеров есть свободное время, напишите пож-та тельце для осуществления операции Shear для каждого из объектов группы относительно центра каждого объекта. А то в Люстре эта штука работает относительно либо центра группы, либо центра области выделения множества объектов.
    На быстрый результат конечно не рассчитываю, но уверен, что данная фича
    принесёт радость не только мне.
    Заранее спасибо (даже если за попытку).
     
  2. Guest

    Ё!.. :)) неужели так надо?

    Ну если знатоки не захотят заморачиваться, тогда я могу попробовать. Есть у меня самопальный макрос для Корыла, который крутит, скашивает, уменьшает, увеличивает относительно любой точки как с использованием процентов (вроде Transform each в AI), так и с использованием точного значения в любых единицах измерения (что кстати в большинстве случаев более удобно чем проценты). Думаю что для AI сделать подобное несложно. Хотя обещать не буду — мои умения в этом деле на самом скромном уровне, а для AI писать, как мне кажется не так удобно как для Корела.
     
  3. Guest

    Жду с нетерпением:))))))
     
  4. Guest

    Есть файл илла. Где много объектов -текстовых боксов. В некоторых из них текст не вместился полностью (text overflow). Можно ли написать скрипт который такие объекты все найдет и выделит. И еще сделать этим объектам fit frame to context.

    Знатоки посоветуйте что-нибудь. Может такой скрипт существует?
     
  5. Arkady 16790

    Arkady 16790 Активный участник

    С нами с:
    01.01.1970
    Сообщения:
    108
    Симпатии:
    0
    Баллы:
    11
    >> А то в Люстре эта штука работает относительно либо центра группы

    А точку привязки перетаскивать мышОй не пробовал? С <Alt'ом> кликать ее?
     
  6. Guest

    2 Arkady: сто раз перетаскивать? Объекты, когда выполняется скос группы или просто множества объектов смещаются вслед за скашиваемой "гранью"
    (левой и соответственно правой:)) области выделения. А мне надо, чтобы они на местах своих "поскашивались".
     
  7. Arkady 16790

    Arkady 16790 Активный участник

    С нами с:
    01.01.1970
    Сообщения:
    108
    Симпатии:
    0
    Баллы:
    11
    Скрипт в таком случае простой, наподобие этого:

    var myTransform=new Matrix

    myTransform=getTranslationMatrix(110,110)

    myTransform.mValueA=1.1
    myTransform.mValueB=2.2
    myTransform.mValueC=3.3
    myTransform.mValueD=4.4
    myTransform.mValueTX=5.5
    myTransform.mValueTY=6.6


    mySelection=activeDocument.selection
    for (i=0; i<mySelection.length; i++) {
    myGroupObject=mySelection
    if (myGroupObject.typename == "GroupItem") {
    myPathes = myGroupObject.pathItems
    for (j=0;j<myPathes.length;j++) {
    myPathes[j].transform(myTransform)
    }
    }
    }

    Что такое матрица трансформаций, через которую осуществляются преобразования — ищи сам :)
     
  8. Arkady 16790

    Arkady 16790 Активный участник

    С нами с:
    01.01.1970
    Сообщения:
    108
    Симпатии:
    0
    Баллы:
    11
    например здесь: http://developer.apple.com/documentation/QuickTime/INMAC/QT/iqMovieToolbox.c.htm
    или в учебнике по линейной аль-джебре
     
  9. Guest

    Arkady... я вижу ты издеваешься =)))
    Зачем так пугать человека? =)
    Достаточно будет таких ссылок

    http://www.w3schools.com/js/default.asp
    http://partners.adobe.com/public/developer/en/illustrator/sdk/AIJavaScriptReference.pdf
    http://mathworld.wolfram.com/ShearMatrix.html

    -------
    var myTransform = new Matrix()

    // shear factor
    s = 1;

    myTransform.mValueA=1
    myTransform.mValueB=0
    myTransform.mValueC=s
    myTransform.mValueD=1
    myTransform.mValueTX=0
    myTransform.mValueTY=0

    mySelection=activeDocument.selection
    for (i=0; i<mySelection.length; i++)
    mySelection.transform(myTransform)
    -------
    значение C это горизонтальный шеар фактор
    значение B это вертикальный шеар фактор

    хотя я бы сделал иначе: сначала скриптом запомнил координаты объектов, а после операций над ними - скриптом эти координаты восстановил.
     
  10. Guest

    По поводу скрипта для поиска объектов, может посоветуете чего ?
     
  11. Guest

    >> По поводу скрипта для поиска объектов, может посоветуете чего

    http://partners.adobe.com/public/developer/en/illustrator/sdk/AIJavaScriptReference.pdf
    ;-)
     
  12. Guest

    Э-э, спасибо всем, кто откликнулся... А можете подсказать как всем вышенаписанным пользоваться? Куда и как это записывается и как подключается?
     
  13. Arkady 16790

    Arkady 16790 Активный участник

    С нами с:
    01.01.1970
    Сообщения:
    108
    Симпатии:
    0
    Баллы:
    11
    Читай документацию по скриптописательству в http://partners.adobe.com/public/developer/
     
  14. Guest

    я думаю достаточно почитать хелп иллюстратора (например раздел using scripts)
     

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