[AI CC-CC2021] Увеличить прозрачность +5% через экшн

Gad

Сообщения
2 975
Реакции
1 408
ты лучше скажи, что делать?
Не совсем понял, если удаление свотчей делается экшеном, почему не засунуть его в экшен, который вызывает скрипт (если скрипт еще что-то делает кроме удаления свочей)
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 228
Реакции
10 851
А я не пойму какая все таки надобность из скрипта вызывать экшн вызывающий скрипт %8
 

Skvoznyak

15 лет на форуме
Сообщения
5 500
Реакции
2 168
А я не пойму какая все таки надобность из скрипта вызывать экшн вызывающий скрипт %8
ты ее сам придумал, а теперь удивляешься

надобность есть вызывать из экшена скрипт, который в свою очередь при запуске создает ДРУГОЙ ЭКШЕН и его запускает. скрипт из него НЕ вызывается.
Не совсем понял, если удаление свотчей делается экшеном, почему не засунуть его в экшен, который вызывает скрипт (если скрипт еще что-то делает кроме удаления свочей)
ну например потому что запуск удаления свотчей - опция
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 228
Реакции
10 851

qsedftghk

фея
15 лет на форуме
Сообщения
2 032
Реакции
1 198
Моя задача вообще сделать экшн, чтоб двумя кнопками мыши понижать и повышать прозрачность, что называется "на глаз", быстро и точно.
Такой вот весёлый тупнячок в AutoHotkey.
В архиве скомпиленный exe. Если хотите поменять кнопочки - ставьте AutoHotkey, читайте хелп, исправляйте кнопки на свои, компильте в exe обратно, или если уже установлен AutoHotkey, запускайте просто так без компиляции.
Интересно, это вообще будет работать кроме как у меня? Точнее, AutoHotkey, в нужную ли точку будет тыкать мышкой? Зависят ли координаты этой точки от разрешения экрана?
Хотел сначала отловить Контрол окна, Edit который, но он, зараза, при каждом перезапуске иллюстратора имеет разное название, а потому пришлось лепить такой изврат, потому и работает не ахти как моментально, но если привыкнуть - норм.

Принцип: Тыкает мышкой в окно opacity, копирует в буфер текущие циферки, крутит колёсико 5 раз (можно сделать на столько, на сколько нужно сразу изменить прозрачность), либо вверх, либо вниз, в зависимости от того, какую гор. кнопку нажали, меньше нуля и больше ста - ничего не делает, просто тупит.
Как использовать: запустить скрипт. Запустить ил. Выделить нужный объект/ы - нажать Win+1 или Win+2


Код:
#NoEnv
#SingleInstance Force
SetWorkingDir %A_ScriptDir%
#NoTrayIcon

#IfWinActive ahk_exe Illustrator.exe

#1::                                    ; Win+1 - горячая кнопочка
ControlClick, x589 y50, , , ,
ControlClick, x589 y50, , , ,
Send, ^{c}
if (Clipboard>0)
{
Loop, 5
ControlClick, x600 y50, , , WheelDown
Send, {ENTER}
}
return

#2::                                    ; Win+2 -  горячая кнопочка
ControlClick, x589 y50, , , ,
ControlClick, x589 y50, , , ,
Send, ^{c}
if (Clipboard>100)
{
Loop, 5
ControlClick, x600 y50, , , WheelUp
Send, {ENTER}
}
return
 

Вложения

  • il_opacity.rar
    467.5 КБ · Просм.: 134
Последнее редактирование:
  • Спасибо
Реакции: Gene

Skvoznyak

15 лет на форуме
Сообщения
5 500
Реакции
2 168
Ну вот же тема была , в ней какие то решения
там про шоткаты вообще ни слова 'hz'
 

Gad

Сообщения
2 975
Реакции
1 408
Собственно для задачи ТС особо то проблем нет :)
Вот так выглядит запуск скрипта !.jsx в AI для моей мыши logitech :)
1641768827199.png
Но тема назначения горячих клавиш на скрипт по прежнему актуальна :) (AHK и прочие программы-кнопконажиматели не рассматриваются)
 

ITIT

15 лет на форуме
Сообщения
500
Реакции
194
Долго не решался предложить,уж больно сложное решение,прошу отнестись с пониманием.
Тыкаем мышкой в окно opacity,затем стрелка вверх(или вниз) до нужного значения.
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 228
Реакции
10 851

Gene

Участник
Топикстартер
Сообщения
202
Реакции
13
Всех благодарю за участие! Не успеваю все сразу. Ну вот через окно прозрачность это не удобно. Это надо мышь туда мышь сюда, выделение самого процента прозрачности тоже не всегда точно работает. Пока мое решение это работа через шоткасты 1234567890 с назначением прозрачности 10-20-30-40-50-60-70-80-90-100%
Оно побыстрей, но и это решение требует лишних время-действо затрат.
 

~RA~

Одарённая.
12 лет на форуме
Сообщения
11 891
Реакции
3 458
Оно побыстрей, но и это решение требует лишних время-действо затрат.
А вы, если не секрет, чем занимаетесь, что вам понадобилась такая необычная функция?
 

Gene

Участник
Топикстартер
Сообщения
202
Реакции
13
А вы, если не секрет, чем занимаетесь, что вам понадобилась такая необычная функция?
Отрисовываю анатомические картинки. Но работаю очень много и оплата не на время, а на результат. В офисе с удовольствием бы повисел более медитативно:) Просто много работаю с прозрачностью, блики, тени и все такое.
 

Skvoznyak

15 лет на форуме
Сообщения
5 500
Реакции
2 168

Не по теме:


Код:
runAction ("Action 1", "Set 1")
//
function runAction (action, set) {
var myScriptString = "app.doScript('"+action+"', '"+set+"')";
        var bt = new BridgeTalk;
        bt.target = "illustrator";
        bt.body = myScriptString;
        bt.send();
};

Немного не понял, в чем прикол? Все вешается еще на этапе создания экшена
 

Skvoznyak

15 лет на форуме
Сообщения
5 500
Реакции
2 168
Ну кстати можно его заблаговременно сделать и оставить.
 

Gad

Сообщения
2 975
Реакции
1 408
генерит и запускает экшен
Ну ты бы выражался яснее :) Если речь о запуске, то предполагается что он уже загружен и до этого этапа проблем нет :)
Я лично пробовал только на запуск и да, он повис :)
 

Gad

Сообщения
2 975
Реакции
1 408
Последнее редактирование:
  • Спасибо
Реакции: Skvoznyak

Skvoznyak

15 лет на форуме
Сообщения
5 500
Реакции
2 168
но сейчас таким же макаром, загрузил и выполнил экшн, ничего не повисло

у меня ничего не происходит в таком случае, сгенерированный экшен через бриджтолк не отрабатывает :( если добавить значение в send(), то виснет аккурат на выполнении сгенерированного экшена
 
Последнее редактирование:

Skvoznyak

15 лет на форуме
Сообщения
5 500
Реакции
2 168
Ну ты бы выражался яснее :) Если речь о запуске, то предполагается что он уже загружен и до этого этапа проблем нет :)
Я лично пробовал только на запуск и да, он повис :)

вот кусок кода и видеоклип

Код:
function swatchesAction() {
    var ActionString = "/version 3\
/name [ 16\
    53637269707465645f616374696f6e73\
]\
/isOpen 1\
/actionCount 1\
/action-1 {\
    /name [ 12\
        52656d6f7665556e75736564\
    ]\
    /keyIndex 0\
    /colorIndex 0\
    /isOpen 1\
    /eventCount 2\
    /event-1 {\
        /useRulersIn1stQuadrant 0\
        /internalName (ai_plugin_swatches)\
        /localizedName [ 8\
            5377617463686573\
        ]\
        /isOpen 1\
        /isOn 1\
        /hasDialog 0\
        /parameterCount 1\
        /parameter-1 {\
            /key 1835363957\
            /showInPalette 4294967295\
            /type (enumerated)\
            /name [ 17\
                53656c65637420416c6c20556e75736564\
            ]\
            /value 11\
        }\
    }\
    /event-2 {\
        /useRulersIn1stQuadrant 0\
        /internalName (ai_plugin_swatches)\
        /localizedName [ 8\
            5377617463686573\
        ]\
        /isOpen 1\
        /isOn 1\
        /hasDialog 1\
        /showDialog 0\
        /parameterCount 1\
        /parameter-1 {\
            /key 1835363957\
            /showInPalette 4294967295\
            /type (enumerated)\
            /name [ 15\
                44656c657465205377617463686573\
            ]\
            /value 3\
        }\
    }\
}";
    createAction(ActionString);
    var ActionString = null;
    
    
  //  app.doScript("RemoveUnused", "Scripted_actions", false);
    runAction("RemoveUnused", "Scripted_actions");
    app.unloadAction("Scripted_actions", "");
}

function runAction (action, set) {
var myScriptString = "app.doScript('"+action+"', '"+set+"')";
        var bt = new BridgeTalk;
        bt.target = "illustrator";
        bt.body = myScriptString;
        bt.send(1000);
};

function createAction(str) {
    var f = new File('~/ScriptAction.aia');
    f.open('w');
    f.write(str);
    f.close();
    app.loadAction(f);
    f.remove();
}

www.dropbox .com/s/1wtmpukevufk8kw/illustrator_hanging.mov?dl=0