Добрый день.
Предлагаю тут развивать тему скриптов AutoHotkey для базиса
Я ужа давно работаю в мебельщике с помощью PieMeny написанное на AutoHotkey. Ну и пару своих скриптов... Снял пару роликов на эту тему на ютьюбе. Кому интересно оставлю тут ссылочки
и
Интересно может кто-то еще использует AutoHotkey в работе? Хотелось бы посмотреть примеры использования.
Я попробовал выложить на гугл диск актуальную версию из второго видео, но гугл диск почему-то считает этот архив зло пакостным поэтому если кому надо пишите в телеграмме(@BNikitaG) поделюсь
Последний раз редактировалось Uncle; 05.10.2021 в 16:45..
Причина: ссылка на актуальную версию
$v::
KeyWait, v
KeyWait, v, D T0.5 ;Ждем 0.5 cекунды
Wait := !!ErrorLevel
ControlGetPos, CtrlX, CtrlY, CtrlW, CtrlH,
, % "ahk_id" FindTSpTBXToolbar("Панель параметров")
i := 4 + Wait
i += (CtrlW > 367) ; 367 подставить свою ширину
Send {v}+{%i%}
return
#If
IsFocusEdit() {
ControlGetFocus, _FocusControl, A
ControlGet, _FocusControlHwnd, Hwnd, , %_FocusControl%, A
ControlGet, LineCount, LineCount,,, ahk_id %_FocusControlHwnd%
Return !!LineCount
}
FindTSpTBXToolbar(text, hwnd = 0, id = 0) {
Win := hwnd ? "ahk_id" hwnd : "A"
Loop
{
ControlGet, HWND, HWND, , TSpTBXToolbar%A_Index%, %Win%
If !HWND
Return 0
If !DllCall("IsWindowVisible", "Ptr", HWND)
Continue
ControlGetText, gText, , ahk_id %HWND%
If (gText = text)
Return HWND
}
Return 0
}
[свернуть]
Но на одну клавишу тоже надо пальцем попасть.
Можно например на среднюю или правую кнопку мыши 2 функции, на удержание и клик, а их привязать к зоне окна, или лучше к элементам управления.
Например мышь над "Панель параметров", какие то 2 действия, над "Директивы" другие...
Создавая скрипт для добавления префиксов к названиям деталей, наткнулся на интересный глюк.
Если выделить детали по материалу (именно так, а не просто выделить панели), и если они имеют общие стыки, то скрипт установит последнюю использованную схему крепежа автоматом! НО, только например на горизонты, если будут вертикальные стойки/перегородки - то тут уже не сработает. Сработает только если выделить по материалу детали у которых общие стыки только по вертикали.
PHP код:
F1:: SendInput `% Send {Enter}{Escape 2} Return
Похоже ahk-скрипом можно как-то через SendInput, в никуда так сказать, отправлять какие-то команды.
P.S. Работает и с просто выделенными панелями. SendInput `% - запускает установку схем крепежа на общие стыки.
P.S.S. Дополнение, почему-то срабатывает не всегда с первого раза. Видимо зависит от способа выделения панелей.
P.S.S.S. Команды работают с выделенными мышкой панелями: SendInput `% - Крепеж на общие стыки SendInput `$ - Крепеж на общие стыки (как и первая) SendInput `@ - Создание сборки
Последний раз редактировалось skromvit; 11.10.2022 в 21:45.
Причина: Дополнение
Ahk-скрипт выводит панель с иконками на 10 скриптов, сверху по середине (у меня разрешение монитора 1920х1080px, расчет координаты появления окна смотрите в скрипте). Для 8-ки изменить имя Bazis10.exe на Bazis_.exe (если я правильно помню).
Собственно, работа скрипта проста. Запущенный ahk-скрипт висит в трее. По хоткею F1 появляется панелька, после нажатия одной из иконок - команда передает хоткей(или комбинацию), в скрипте заменить ХОТКЕЙ_1 на свой, который назначен для запуска того или иного скрипта. После этого панелька исчезает.
Если надобность в открытой панельке отпала, то либо закрыть окно, либо нажать эскейп.
Код конечно раздут
Уверен, что можно его и существенно подсократить или улучшить (например, прикрутить всплывающие подсказки с названием/описанием скриптов, при наведении на иконки) , но ковыряться пока нет охоты
PanelScriptov.ahk
PHP код:
#singleInstance force
#IfWinActive БАЗИС-Мебельщик
Всем доброго, дошли руки до PieMenu, там не с первого раза все получилось, запутался с версиями и ожиданиями, в итоге сделал все как нужно на V2, вылез нюанс, только сейсас обратил внимание, не знаю вопрос сюда или в общую тему БМ, во всяком случае может кто-то уже нашел способ как решить. Дело в том, что БМ в инструментах "Строить" в режиме модели вызывает инструменты так, как они прописаны в настройка, т.к. (например "Параллель" Шифт+1, ит.д) а вот в режиме редактирования детали почему то вызывает совсем другой инструмент, например "Биссектриса", в общем кто сталкивался, кто что думает? это конечно вопрос не к PieMenu или AHK, но всеже кто так решил, или забил, или сделал доп меню под режим редактирования деталей?
Всем привет!
Кто может подсказать, как получить в переменную заголовок из активного окошка (см.скриншот https://radikal.host/i/kmBPO )с используемыми материалами?
Такое не канает
PHP код:
WinGetTitle, Title, A MsgBox, Сейчас активно окно "%Title%".