[AI CC-CC2022] Повторить трансформацию

  • Автор темы Автор темы dredj
  • Дата начала Дата начала

dredj

Участник
Топикстартер
Сообщения
24
Реакции
0
Есть ли в иллюстраторе возможность повторить последнюю трансформация(Ctrl+D) в противоположную сторону последней трансформации, грубо говоря например подвинул объект на десять миллиметров вправо, после нажал например(Ctrl+Alt+D) и объект подвинулся на десять миллиметров влево?
Не по теме:
Извиняюсь за свой русский
 
Ctrl-Z
 
Тогда никак. Какая то странная хотелка, опишите что именно вам надо полностью.
 
Тогда никак. Какая то странная хотелка, опишите что именно вам надо полностью.
Ну вот подвинул я определенное количество узлов на сантиметр в право например потом выбрал другие узлы нажал "волшебную кнопку" и узлы подвинулись влево на сантиметр, теперь надеюсь понятно, хочу одну рутину сократить по роботе.
 
Экшн запишите или скрипт
 
Там у меня каждый раз разные значении а переменные экшн не поддерживает по моему.
 
у меня каждый раз разные значении
А от чего они зависят?
Я вас снова не понимаю.
Ну сделайте несколько экшнов на несколько разных значений.
Или вы хотите чтобы размер сдвига задавался телепатически?
 
А от чего они зависят?
Я вас снова не понимаю.
Ну сделайте несколько экшнов на несколько разных значений.
Или вы хотите чтобы размер сдвига задавался телепатически?
Почему телепатический '))'? я вручную подвинул узел на энное количества миллиметров потом выделил другой узел нажал волшебную кнопку узел подвинулся на минус энное количество миллиметров, размер сдвига берется из последней трансформации.
 
Гм, хотелка, прямо скажем непростая.
С ходу приходит на ум разве что совсем заденепроходный вариант решения: 1) выделяем объект запускаем первый скрипт, который его запоминает 2) двигаем узел, запускаем второй скрипт, который запоминает сдвиг 3) выделяем узлы на других объектах и запускаем третий скрипт, который двигает узлы на минус энное количество миллиметров, запомненное вторым скриптом
 
не подойдет?
2019-11-17_16-58-36.png
 
Гм, хотелка, прямо скажем непростая.
С ходу приходит на ум разве что совсем заденепроходный вариант решения: 1) выделяем объект запускаем первый скрипт, который его запоминает 2) двигаем узел, запускаем второй скрипт, который запоминает сдвиг 3) выделяем узлы на других объектах и запускаем третий скрипт, который двигает узлы на минус энное количество миллиметров, запомненное вторым скриптом
Мне это видеться как то так, скрипт берёт цифровое значении из последней трансформации(напомню это тот который вызывается по Ctrl+D)и добавляет или наоборот убирает минус перед цифровым значении из последней трансформации если там есть минус и применяет трансформацию, а остальное я сам '))' .
 
Последнее редактирование:
Если "это" это:
1. Выделяем точки, сдвигаем куда нужно
2. Сбрасываем выделение, выделяем другие точки нажимаем Enter, в окошках horizontal и vertical меняем знак минус на плюс и наоборот, нажимаем ок.

То, скорее всего, это можно заскриптовать.
 
Если "это" это:
1. Выделяем точки, сдвигаем куда нужно
2. Сбрасываем выделение, выделяем другие точки нажимаем Enter, в окошках horizontal и vertical меняем знак минус на плюс и наоборот, нажимаем ок.

То, скорее всего, это можно заскриптовать.
Именно так всё и делается сейчас у меня, хотел всё это свести к одной кнопке.
 
К одной совсем никак - надо же как то предыдущую операцию зафиксировать
 
Чисто в порядке бреда совсем извращённый вариант: анду, смотрим выбранный объект и узлы на нем, редо, смотрим сдвиг, который применяем к выбранным узлам. Недостатки - работает только сразу после операции сдвига и один раз. Впрочем, последнее можно побороть, скажем, зафиксировав первый запуск где нибудь в преференсах.
 
гыгы, можно так (но, вряд ли кому-то, кроме dredj это нужно ) )... AHK-скрипт. Работает так:

1. Выделяем точки, сдвигаем куда нужно
2. Сбрасываем выделение, выделяем другие точки, нажимаем Enter.
Скрипт все дальше делает сам.

повторить с другими точками.

Сам код:
Код:
Loop
{
WinWait, Move ahk_class #32770  ;ждемс окошко Move
rab()
Send, {TAB}
rab()
Send, {ENTER}
Sleep, 200
}

; копируем значение в буфер обмена, меняем его знак на противоположный,
; запихиваем обратно в буфер, возвращаем измененное на базу
rab()
{
Send, ^{c}

StringReplace, copiedText, Clipboard, %A_SPACE%mm, , All    ; убираем пробел и мм
StringReplace, copiedText, copiedText, `,, .       ; запятую меняем на точку - цифры с точкой д.быть
StringReplace, copiedText, copiedText, `r`n, , All ; убираем CR+LF
Clipboard := copiedText *(-1)

WinActivate, Move ahk_class #32770
Send, ^{v}
}

Ну, или откомпиленный в ехе (тут параноики обычно беснуются)

Скрипт висит в памяти, тупо ждет открытия окна "Move" иллюстратора и, по сути, делает то, что делалось ручками.
Когда действия скрипта не нужны: в Taskbar`e щелкаем правой кнопкой мышки по иконке скрипта -> exit.

ЗЫ. Ах, да... СС2019, в других версиях не знаю как, ибо какие там опознавательные данные окна "Move". черт его знает. Но это легко поправить, код вон он там =)
 
Последнее редактирование:
  • Спасибо
Реакции: Haka3aTe/|b, dredj и _MBK_