Форум профессиональных мебельщиков PROMEBELclub
 
PROMEBELclub - Форум для мебельщиков: конструкторов, дизайнеров, мастеров, технологов и всех, кто имеет отношение к производству и изготовлению мебели. Программы для конструирования и дизайна мебели. Мебельная литература и обучающие пособия.
 
 

Вернуться   Форум профессиональных мебельщиков PROMEBELclub > Программы для мебельщиков > Программы для конструирования и дизайна мебели > Система БАЗИС > Базис-мебельщик. Скрипты

Меню

Маркет


Ответ
 
Опции темы Опции просмотра
Старый 02.10.2021, 17:36  
Базис + AutoHotkey
 
Аватар для Bystry
Bystry
Новичок
Регистрация: 02.11.2018
Сообщений: 16

Сказал(а) спасибо: 5
Поблагодарили 22 раз(а) в 3 сообщениях
Версия для печати Отправить по электронной почте
Bystry Bystry вне форума 02.10.2021, 17:36
Рейтинг: ()

Добрый день.
Предлагаю тут развивать тему скриптов AutoHotkey для базиса

Я ужа давно работаю в мебельщике с помощью PieMeny написанное на AutoHotkey. Ну и пару своих скриптов... Снял пару роликов на эту тему на ютьюбе. Кому интересно оставлю тут ссылочки

и

Интересно может кто-то еще использует AutoHotkey в работе? Хотелось бы посмотреть примеры использования.

Официальный сайт | Русскоязычная документация

Я попробовал выложить на гугл диск актуальную версию из второго видео, но гугл диск почему-то считает этот архив зло пакостным поэтому если кому надо пишите в телеграмме(@BNikitaG) поделюсь

Последний раз редактировалось Uncle; 05.10.2021 в 16:45.. Причина: ссылка на актуальную версию
Просмотров: 61502
Ответить с цитированием Вверх
20 пользователя(ей) сказали cпасибо:
Старый 26.05.2022, 21:30   #71
PravCom
Местный
 
Регистрация: 15.10.2019
Адрес: Кишинёв
Сообщений: 198
Сказал(а) спасибо: 492
Поблагодарили 72 раз(а) в 31 сообщениях
Вес репутации: 89
PravCom скоро придёт к известности
По умолчанию

Всем привет! Помогите пожалуйста закончить скрипт на AHK.
Не понимаю, как сделать последнюю часть.
Хочу добиться следующего.
1. Выделить все размерные надписи, задать нужный размер - это скрипт отрабатывает.
2. Выделить весь текст на чертеже, спросить, какую высоту текста задать - ввод цифры нужной высоты текста.
Работа скрипта закончена.

P.S. если нельзя решить ввод цифры по запросу, то хотя бы прописать высоту текста в код, например 5,5.

PHP код:
#singleInstance Force
#IfWinActive, БАЗИС-Мебельщик ;Название окна программы

y:: ;Вызываем параметры размеров y
Send 
^+!= ; Ctrl-Shift-Alt-= хоткеи Параметры размеров
winwait
ahk_class TFormParRazm
qS 
;Задаем размер стрелок
qT 
;Задаем высоту надписи размера
qV 
5,;Задаем высоту надписи текста
Sleep 20 
;Подобрать паузу
qS 
;Задаем размер стрелок
qT 
;Задаем высоту надписи размера
qV 
5,;Задаем высоту надписи текста
Sleep 200
Control
Uncheck,, TCheckBox2 ;Снимаем чек с курсива
Sleep 20 
;Подобрать паузу
Control
Check,, TCheckBox3 ;Ставим чек для замены всем размерам
Sleep 20 
;Подобрать паузу
Control
Check,, Edit1
Sleep 20 
;Подобрать паузу
Control
EditPaste, %qS%, Edit1 ;Меняем размер стрелок
Send 
{Enter}
Sleep 10 ;Подобрать паузу
Control
Check,, Edit2
Sleep 20 
;Подобрать паузу
Control
EditPaste, %qT%, Edit2 ;Меняем высоту надписи
Sleep 10 
;Подобрать паузу
Send 
{Tab 3}{Enter}
Sleep 10 ;Подобрать паузу
Send
,^+{F10}  ;клавиши для выделения всего текста

Return 
PravCom вне форума   Ответить с цитированием Вверх
Старый 26.05.2022, 21:53   #72
skromvit
Местный
 
Аватар для skromvit
 
Регистрация: 22.12.2008
Сообщений: 263
Сказал(а) спасибо: 55
Поблагодарили 237 раз(а) в 170 сообщениях
Вес репутации: 261
skromvit - весьма и весьма положительная личностьskromvit - весьма и весьма положительная личностьskromvit - весьма и весьма положительная личность
По умолчанию

Цитата:
Сообщение от PravCom Посмотреть сообщение
Всем привет! Помогите пожалуйста закончить скрипт на AHK.
2. Выделить весь текст на чертеже, спросить, какую высоту текста задать - ввод цифры нужной высоты текста.
Задать напрямую думаю вряд ли возможно. Высота текста меняется в свойствах. А выкружить оттуда данные нереально, мне так кажется. Можно через клик мышкой по координатам, активации нужной ячейки, потом через InputBox задавать величину, или если нужен стандартный параметр то через Send. При этом окно ствойств всегда должно быть развернутым и быть в одном и том же месте.

UPD: Картинки положить рядом со скриптом. Меню свойства должно быть развернуто.

Скрытый текст


PHP код:
#singleInstance Force
#IfWinActive, БАЗИС-Мебельщик ;Название окна программы


y:: ;Вызываем параметры размеров y
Send 
^+!= ; Ctrl-Shift-Alt-= хоткеи Параметры размеров
winwait
ahk_class TFormParRazm
qS 
;Задаем размер стрелок
qT 
;Задаем высоту надписи размера
qV 
5,;Задаем высоту надписи текста
Sleep 200
Control
Uncheck,, TCheckBox2 ;Снимаем чек с курсива
Sleep 20 
;Подобрать паузу
Control
Check,, TCheckBox3 ;Ставим чек для замены всем размерам
Sleep 20 
;Подобрать паузу
Control
Check,, Edit1
Sleep 20 
;Подобрать паузу
Control
EditPaste, %qS%, Edit1 ;Меняем размер стрелок
Send 
{Enter}
Sleep 10 ;Подобрать паузу
Control
Check,, Edit2
Sleep 20 
;Подобрать паузу
Control
EditPaste, %qT%, Edit2 ;Меняем высоту надписи
Sleep 10 
;Подобрать паузу
Send 
{Tab 3}{Enter}
Sleep 100 ;Подобрать паузу
Send
,^+{F10}  ;клавиши для выделения всего текста
Sleep 100
ImgFound 
:= false ;ищем картинку
While(ImgFound false)
{
ImageSearchxy0019201080, *0 text_off.png ;картинку ДО выделения вырезать через принтскринт.кнастройки темы могут быть другие
If(<> "")
{
Click, %x%, %y% ;кликаем если нашли невыделенную строку в свойствах
ImgFound 
:= true
}
ImageSearchxy0019201080, *0 text_on.png ;картинку ПОСЛЕ выделения вырезать через принтскринт.кнастройки темы могут быть другие
If(<> "")
{
Click, %x%, %y% ;кликаем если нашли выделенную строку в свойствах
ImgFound 
:= true
}
}
Send %qV% ;Меняем высоту надписи текста
Send 
{Enter}
Send {Escape}{Escape} ;сброс выделения
Return 
[свернуть]
Изображения
  

Последний раз редактировалось skromvit; 26.05.2022 в 22:49.
skromvit вне форума   Ответить с цитированием Вверх
Пользователь сказал cпасибо:
PravCom (26.05.2022)
Старый 26.05.2022, 22:31   #73
PravCom
Местный
 
Регистрация: 15.10.2019
Адрес: Кишинёв
Сообщений: 198
Сказал(а) спасибо: 492
Поблагодарили 72 раз(а) в 31 сообщениях
Вес репутации: 89
PravCom скоро придёт к известности
По умолчанию

Цитата:
Сообщение от skromvit Посмотреть сообщение
Ответ выше
Вам огромное спасибо!

ПОЛУЧИЛОСЬ! с поиском картинки на экране просто магия))) супер!

Последний раз редактировалось PravCom; 26.05.2022 в 23:23.
PravCom вне форума   Ответить с цитированием Вверх
Старый 26.05.2022, 22:48   #74
skromvit
Местный
 
Аватар для skromvit
 
Регистрация: 22.12.2008
Сообщений: 263
Сказал(а) спасибо: 55
Поблагодарили 237 раз(а) в 170 сообщениях
Вес репутации: 261
skromvit - весьма и весьма положительная личностьskromvit - весьма и весьма положительная личностьskromvit - весьма и весьма положительная личность
По умолчанию

Цитата:
Сообщение от PravCom Посмотреть сообщение
спасибо за ответ, а как это сделать? Можете помочь дописать скрипт, ввести высоту для текста, после чего завершить работу скрипта до следующего чертежа? По сути я у Вас и перенял идею и часть скрипта, за что Вам огромное спасибо!
Ответ выше
skromvit вне форума   Ответить с цитированием Вверх
Пользователь сказал cпасибо:
PravCom (26.05.2022)
Старый 27.05.2022, 14:41   #75
sergio1982
Местный
 
Регистрация: 01.09.2019
Сообщений: 424
Сказал(а) спасибо: 52
Поблагодарили 480 раз(а) в 147 сообщениях
Вес репутации: 196
sergio1982 - луч света в тёмном царствеsergio1982 - луч света в тёмном царствеsergio1982 - луч света в тёмном царствеsergio1982 - луч света в тёмном царствеsergio1982 - луч света в тёмном царстве
По умолчанию

Попробуйте так. При условии что номер строки сверху всегда одинаков, и имя окна свойств имеет класс TVirtualStringTree2 (есть варианты обхода).
Для теста надо выделить одиночный текст.
PHP код:
f1::
    
:= номер строки сверху минус один.
    
WinExist("A")
    
SetKeyDelay2010  
    InputBox
sizeкакую высоту текста задатьввод цифры нужной высоты текста
    
if ErrorLevel
        
Return  
    
WinActivate 
    ControlSend
TVirtualStringTree2, {LCtrl Down}{Home}{LCtrl Up}{Down %i%}   
    
Send, %size%{Enter}{Escape 2}  
    Return 
sergio1982 вне форума   Ответить с цитированием Вверх
Старый 27.05.2022, 15:44   #76
PravCom
Местный
 
Регистрация: 15.10.2019
Адрес: Кишинёв
Сообщений: 198
Сказал(а) спасибо: 492
Поблагодарили 72 раз(а) в 31 сообщениях
Вес репутации: 89
PravCom скоро придёт к известности
По умолчанию

Цитата:
Сообщение от sergio1982 Посмотреть сообщение
Попробуйте так.
Это скачок вперёд! Окно для ввода появляется, но значение не присваивается, видимо не ловит окно свойств так, как надо.
Скрин может помочь?
https://ibb.co/qrjzj1P
PravCom вне форума   Ответить с цитированием Вверх
Старый 27.05.2022, 15:49   #77
sergio1982
Местный
 
Регистрация: 01.09.2019
Сообщений: 424
Сказал(а) спасибо: 52
Поблагодарили 480 раз(а) в 147 сообщениях
Вес репутации: 196
sergio1982 - луч света в тёмном царствеsergio1982 - луч света в тёмном царствеsergio1982 - луч света в тёмном царствеsergio1982 - луч света в тёмном царствеsergio1982 - луч света в тёмном царстве
По умолчанию

перед
Send, %size%{Enter}{Escape 2}
попробуйте сделать задержку.

Добавлено через 2 минуты
или вместо задержки, например

SetKeyDelay, 50, 20
sergio1982 вне форума   Ответить с цитированием Вверх
Старый 27.05.2022, 15:57   #78
PravCom
Местный
 
Регистрация: 15.10.2019
Адрес: Кишинёв
Сообщений: 198
Сказал(а) спасибо: 492
Поблагодарили 72 раз(а) в 31 сообщениях
Вес репутации: 89
PravCom скоро придёт к известности
По умолчанию

Цитата:
Сообщение от sergio1982 Посмотреть сообщение
попробуйте сделать задержку.

не помогло

вот весь код, может чего-то не хватает?
PHP код:
#singleInstance Force
#IfWinActive, БАЗИС-Мебельщик ;Название окна программы


y:: ;Вызываем параметры размеров y
Send 
^+!= ; Ctrl-Shift-Alt-= хоткеи Параметры размеров
winwait
ahk_class TFormParRazm
qS 
;Задаем размер стрелок
qT 
;Задаем высоту надписи размера
qV 
;Задаем высоту надписи текста
Sleep 200
Control
Uncheck,, TCheckBox2 ;Снимаем чек с курсива
Sleep 20 
;Подобрать паузу
Control
Check,, TCheckBox3 ;Ставим чек для замены всем размерам
Sleep 20 
;Подобрать паузу
Control
Check,, Edit1
Sleep 20 
;Подобрать паузу
Control
EditPaste, %qS%, Edit1 ;Меняем размер стрелок
Send 
{Enter}
Sleep 10 ;Подобрать паузу
Control
Check,, Edit2
Sleep 20 
;Подобрать паузу
Control
EditPaste, %qT%, Edit2 ;Меняем высоту надписи
Sleep 10 
;Подобрать паузу
Send 
{Tab 3}{Enter}
Sleep 100 ;Подобрать паузу
Send
,^+{F10}  ;клавиши для выделения всего текста
Sleep 100

f1
::
    
:= номер строки сверху минус один.
    
WinExist("A")
    
SetKeyDelay2010  
    InputBox
sizeкакую высоту текста задатьввод цифры нужной высоты текста
    
if ErrorLevel
        
Return  
    
WinActivate 
    ControlSend
TVirtualStringTree2, {LCtrl Down}{Home}{LCtrl Up}{Down %i%}   
SetKeyDelay5020
    Send
, %size%{Enter}{Escape 2}  
    Return 
PravCom вне форума   Ответить с цитированием Вверх
Старый 27.05.2022, 16:01   #79
sergio1982
Местный
 
Регистрация: 01.09.2019
Сообщений: 424
Сказал(а) спасибо: 52
Поблагодарили 480 раз(а) в 147 сообщениях
Вес репутации: 196
sergio1982 - луч света в тёмном царствеsergio1982 - луч света в тёмном царствеsergio1982 - луч света в тёмном царствеsergio1982 - луч света в тёмном царствеsergio1982 - луч света в тёмном царстве
По умолчанию

а так
PHP код:
f1::
    
:= номер строки сверху минус один.
    
WinExist("A")
    
SetKeyDelay2010  
    InputBox
sizeкакую высоту текста задатьввод цифры нужной высоты текста
    
if ErrorLevel
        
Return  
    
WinActivate 
    ControlSend
TVirtualStringTree2, {LCtrl Down}{Home}{LCtrl Up}{Down %i%}   
    
Sleep 150
    SetKeyDelay
5020   
    Send
, %size%
    
Send, {Enter}{Escape 2}  
    Return 
sergio1982 вне форума   Ответить с цитированием Вверх
Старый 27.05.2022, 16:05   #80
PravCom
Местный
 
Регистрация: 15.10.2019
Адрес: Кишинёв
Сообщений: 198
Сказал(а) спасибо: 492
Поблагодарили 72 раз(а) в 31 сообщениях
Вес репутации: 89
PravCom скоро придёт к известности
По умолчанию

Цитата:
Сообщение от sergio1982 Посмотреть сообщение
а так
код после ввода значения продолжает работу, но значение не присваивается
PravCom вне форума   Ответить с цитированием Вверх
Ответ

Нижняя навигация
Вернуться   Форум профессиональных мебельщиков PROMEBELclub > Программы для мебельщиков > Программы для конструирования и дизайна мебели > Система БАЗИС > Базис-мебельщик. Скрипты


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Базис-7,"Народный Базис"и Windows-8 sergeyzak18 "НАРОДНЫЙ" базис 23 16.01.2014 00:37


Текущее время: 03:12. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
© 2007-2023 PROMEBEL

џндекс.Њетрика