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

  • Автор темы Автор темы Gene
  • Дата начала Дата начала
ты лучше скажи, что делать?
Не совсем понял, если удаление свотчей делается экшеном, почему не засунуть его в экшен, который вызывает скрипт (если скрипт еще что-то делает кроме удаления свочей)
 
А я не пойму какая все таки надобность из скрипта вызывать экшн вызывающий скрипт %8
 
А я не пойму какая все таки надобность из скрипта вызывать экшн вызывающий скрипт %8
ты ее сам придумал, а теперь удивляешься

надобность есть вызывать из экшена скрипт, который в свою очередь при запуске создает ДРУГОЙ ЭКШЕН и его запускает. скрипт из него НЕ вызывается.
Не совсем понял, если удаление свотчей делается экшеном, почему не засунуть его в экшен, который вызывает скрипт (если скрипт еще что-то делает кроме удаления свочей)
ну например потому что запуск удаления свотчей - опция
 
Моя задача вообще сделать экшн, чтоб двумя кнопками мыши понижать и повышать прозрачность, что называется "на глаз", быстро и точно.
Такой вот весёлый тупнячок в 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
 

Вложения

Последнее редактирование:
  • Спасибо
Реакции: Gene
Ну вот же тема была , в ней какие то решения
там про шоткаты вообще ни слова 'hz'
 
Собственно для задачи ТС особо то проблем нет :)
Вот так выглядит запуск скрипта !.jsx в AI для моей мыши logitech :)
1641768827199.png
Но тема назначения горячих клавиш на скрипт по прежнему актуальна :) (AHK и прочие программы-кнопконажиматели не рассматриваются)
 
Долго не решался предложить,уж больно сложное решение,прошу отнестись с пониманием.
Тыкаем мышкой в окно opacity,затем стрелка вверх(или вниз) до нужного значения.
 
Всех благодарю за участие! Не успеваю все сразу. Ну вот через окно прозрачность это не удобно. Это надо мышь туда мышь сюда, выделение самого процента прозрачности тоже не всегда точно работает. Пока мое решение это работа через шоткасты 1234567890 с назначением прозрачности 10-20-30-40-50-60-70-80-90-100%
Оно побыстрей, но и это решение требует лишних время-действо затрат.
 
Оно побыстрей, но и это решение требует лишних время-действо затрат.
А вы, если не секрет, чем занимаетесь, что вам понадобилась такая необычная функция?
 
А вы, если не секрет, чем занимаетесь, что вам понадобилась такая необычная функция?
Отрисовываю анатомические картинки. Но работаю очень много и оплата не на время, а на результат. В офисе с удовольствием бы повисел более медитативно:) Просто много работаю с прозрачностью, блики, тени и все такое.
 

Не по теме:


Код:
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
но сейчас таким же макаром, загрузил и выполнил экшн, ничего не повисло

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

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

Код:
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