
Сообщений в теме: 80
#61
OFFLINE
Отправлено 20 Сентябрь 2017 - 03:24
Я на делфи пишу, но си позволяет больше.
А четырехзаходные фрезы какбэ не для дюраля. А если без сожа, то специально для алюминия.
А четырехзаходные фрезы какбэ не для дюраля. А если без сожа, то специально для алюминия.
Станислав Ерофеев
Beaver 9A (2007), Beaver 9AT2 (2011), KingCut X6 (2005), WoodPecker 1224 (2006), Roland EGX-300 (2004), Roland EGX-20 (2003), ZeldeR 0613TP (2014).
#62
OFFLINE
Отправлено 20 Сентябрь 2017 - 13:27
...не работает в железе центроискалка...йа олень..отскоки не сделал и он думает что уже скатался и туда и обратно т.к. контакт не рвёццо...
#63
OFFLINE
Отправлено 20 Сентябрь 2017 - 14:04
всё работает! дописал отскоки и всё, можно базироваться по углам деталей и по центрам отверстий и пазов.
...для металла контакт калибратора на деталь (она у меня к массе не привязана), в параметрах толщина калибратора равна нулю и всё, базируется на ура! ...с деревяшкой приходится этот калибратор подсовывать всякий раз, и указывать его толщину... надо щуп сделать...правда мнеж лениво будет его вместо фрезы пихать...хотя...можно стационарный под шпинделем пришурупить и учитывать его смещение от оси шпинделя в общем вот рабочее базирование по углам и отверстиям:
Скрытый текст
команды в MDI и переменная на прошлой странице.
...блин...жалко на вызов MDI шотката нет в кнопках..только по альту и стрелкам скакать
Сообщение отредактировал Metaller: 20 Сентябрь 2017 - 14:05
#64
OFFLINE
Отправлено 21 Сентябрь 2017 - 06:18
...накатал экзешник-управлялку, с набором диаметров фрез для вызова своих искалок из паблика без ручного забивания строк в MDI... пришлось на менюшку MDI выходить по тупому: три шага вправо, тринадцать вниз
...потом наверное инишку добавлю чтобы запоминал где ему висеть и чтобы можно было указать фрезы в наборе...
Сообщение отредактировал Metaller: 21 Сентябрь 2017 - 06:22
#65
OFFLINE
Отправлено 21 Сентябрь 2017 - 10:59
Поиск процесса.
Поиск главного окна процесса.
Определение хендла главного меню.
Получение хендла третьего пункта.
Вызов тринадцатого пункта.
http://www.delphikin...p?catalogid=800
Но окно MDI уже создано при запуске приложения, достаточно его найти по кепшену и активировать, и не надо ползать по меню главного окна.
Поиск дочернего окна - текстбокса, по классу, паренту и координатам в паренте.
Поиск кнопки по классу, надписи, паренту и координатам.
Активация окна и возможно вкладки.
Засыл строки в текстбокс.
Нажатие кнопки.
Но.
Предварительно надо определить, готова ли энцеха к получению команд.
Найти окна в панели состояния по классу, классу парента, классу парента парента, количеству чилдов, координатам... Панель состояния может иметь две иерархии парентов, ибо ее можно вынести в отдельное дочернее окно.
Кажется IDLE - это готов.
Аналогично можно определить кнопки и лабели координат для считывания извне.
Гарантированное получение текста из строки сообщений возможно только внедрением в процесс и подменой функций, ибо это оутпут текст.
Также можно мониторить наличие процесса и повесить иконку в трей.
Ну и наконец можно будет создать ActiveX и вытащить его например в кореле.
Поиск главного окна процесса.
Определение хендла главного меню.
Получение хендла третьего пункта.
Вызов тринадцатого пункта.
http://www.delphikin...p?catalogid=800
Но окно MDI уже создано при запуске приложения, достаточно его найти по кепшену и активировать, и не надо ползать по меню главного окна.
Поиск дочернего окна - текстбокса, по классу, паренту и координатам в паренте.
Поиск кнопки по классу, надписи, паренту и координатам.
Активация окна и возможно вкладки.
Засыл строки в текстбокс.
Нажатие кнопки.
Но.
Предварительно надо определить, готова ли энцеха к получению команд.
Найти окна в панели состояния по классу, классу парента, классу парента парента, количеству чилдов, координатам... Панель состояния может иметь две иерархии парентов, ибо ее можно вынести в отдельное дочернее окно.
Кажется IDLE - это готов.
Аналогично можно определить кнопки и лабели координат для считывания извне.
Гарантированное получение текста из строки сообщений возможно только внедрением в процесс и подменой функций, ибо это оутпут текст.
Также можно мониторить наличие процесса и повесить иконку в трей.
Ну и наконец можно будет создать ActiveX и вытащить его например в кореле.
Сообщение отредактировал lkbyysq: 21 Сентябрь 2017 - 11:00
Станислав Ерофеев
Beaver 9A (2007), Beaver 9AT2 (2011), KingCut X6 (2005), WoodPecker 1224 (2006), Roland EGX-300 (2004), Roland EGX-20 (2003), ZeldeR 0613TP (2014).
#66
OFFLINE
Отправлено 21 Сентябрь 2017 - 11:22
...ога, читал ту темку на королевстве...но поленился и сделал как сделал ...мнеж из горелых дров не нужно НЦхой рулить, мне 3D по дюральке пилить надыть, а эт полюбас сначала модель в каком-нибудь солиде, потом УП, а потом уже НЦ.
#67
OFFLINE
Отправлено 22 Сентябрь 2017 - 14:57
чуток допилил свою рулилку к NCшке... бросить в каталог NC студио и запускать прям оттуда. если NC не запущена - запустит и будет висеть поверх всех окон... и запускается теперь не в центре экрана, а вверху справа, там где в NCшке свободное место...ну по крайней мере у меня ...пока лениво инишку с координатами и набором фрез делать, другие диаметры туда загнать-то можно, и они работают, просто она их не запоминает...на "сейчас" сделал чего мне надо было а там видно будет...
...забавно что когда качаешь эту рулилку - антивир её "подозрительным объектом" обзывает... ну и не удивительно блин... эта штука создана чтобы в чужую программу лезть...ну чем ни шпиён?
зы. эта штука работает только когда запущена NC, а сама запустить NC она может только если сама находится в каталоге NC. при закрытии NC она тоже закрывается.
...в общем надеюсь что эта штука тоже кому-нибудь да пригодится
Сообщение отредактировал Metaller: 22 Сентябрь 2017 - 15:09
#68
OFFLINE
Отправлено 23 Сентябрь 2017 - 18:54
...прицепил таки инишку для рулилки... при первом запуске создаёт инишку с моими параметрами по умолчанию, а дальше там можно исправить диаметр инструмента по умолчанию, набор рабочих фрез через вертикальную черту " | ", а место где она появляется она запоминает при закрытии NC.
...хоть переименовывай тему из "не работает" в "Рулилка для НЦ"
...единственное что огорчает - нужно иметь допиленный public.dat
...а я вот в раздумьях, надо ли туды впихивать дубль кнопки базирования по Z...
...а деталька-то у меня так и кривая получается блин ...Y опять мимо
Сообщение отредактировал Metaller: 23 Сентябрь 2017 - 19:37
#69
OFFLINE
Отправлено 23 Сентябрь 2017 - 22:22
Надо заслать листбоксу месседж очищения.
Станислав Ерофеев
Beaver 9A (2007), Beaver 9AT2 (2011), KingCut X6 (2005), WoodPecker 1224 (2006), Roland EGX-300 (2004), Roland EGX-20 (2003), ZeldeR 0613TP (2014).
#70
OFFLINE
Отправлено 23 Сентябрь 2017 - 23:01
...хм...а где косяк? попробовал запустить как есть, потом в инишке поменял набор на другие две штуки и поменял в дефалте тоже, в итоге в листе три других...ничего не загадилось... или я чего не понял?
зы. там кстати комбо а не лист, потому и говорил что можно на лету свой диаметр воткнуть без инишки...но он не сохраняется.... делать исчо кнопки для редактирования списка на мой взгляд лишнее...быстрее инишку поправить...
Сообщение отредактировал Metaller: 23 Сентябрь 2017 - 23:12
#71
OFFLINE
Отправлено 23 Сентябрь 2017 - 23:18
Я про окно MDI.
Про список использованных команд.
Про список использованных команд.
Станислав Ерофеев
Beaver 9A (2007), Beaver 9AT2 (2011), KingCut X6 (2005), WoodPecker 1224 (2006), Roland EGX-300 (2004), Roland EGX-20 (2003), ZeldeR 0613TP (2014).
#72
OFFLINE
Отправлено 23 Сентябрь 2017 - 23:44
хм...и каков будет его текст? чёт я туплю... этот список хранится в ncstudio.dat как его там очистить не переписывая этот файл из чистой копии я не знаю
...кстати отловить окно MDI по хендлу у меня чёт тоже не выходит...так и скачу "альт" 3 вправо, 13 вниз
Сообщение отредактировал Metaller: 23 Сентябрь 2017 - 23:47
#73
OFFLINE
Отправлено 24 Сентябрь 2017 - 00:01
Че его ловить...
Все дочерние окна главного окна EnumChildWindow, в функции обратного вызова проверка по Caption.
Затем опять поиск дочерних окон с родителем MDI. Находим листбокс и туда SendMessage. API в помощь.
Все дочерние окна главного окна EnumChildWindow, в функции обратного вызова проверка по Caption.
Затем опять поиск дочерних окон с родителем MDI. Находим листбокс и туда SendMessage. API в помощь.
Станислав Ерофеев
Beaver 9A (2007), Beaver 9AT2 (2011), KingCut X6 (2005), WoodPecker 1224 (2006), Roland EGX-300 (2004), Roland EGX-20 (2003), ZeldeR 0613TP (2014).
#74
OFFLINE
Отправлено 24 Сентябрь 2017 - 00:03
...странно...у меня он только когда физически вызван отлавливается... ...видать не так ищу...я тупо пытаюсь хендл по заголовку найти, а он в этот момент не вызван...
...попробую ещё раз дочерние пошукать...
...и всёж таки как почистить лист MDI-то?
#75
OFFLINE
Отправлено 24 Сентябрь 2017 - 00:11
А скакать эмуляцией нажатий на клавиатуре - моветон. Аукнется нестабильностью работы. Это особенности клавы в виндах.
Надо взять прогу со списком всех процессов и их окон и подсмотреть там иерархию всех окон процесса энцехи. А там понятно будет как искать....странно...у меня он только когда физически вызван отлавливается...
Сообщение отредактировал lkbyysq: 24 Сентябрь 2017 - 00:13
Станислав Ерофеев
Beaver 9A (2007), Beaver 9AT2 (2011), KingCut X6 (2005), WoodPecker 1224 (2006), Roland EGX-300 (2004), Roland EGX-20 (2003), ZeldeR 0613TP (2014).
#76
OFFLINE
Отправлено 24 Сентябрь 2017 - 00:27
А скакать эмуляцией нажатий на клавиатуре - моветон. Аукнется нестабильностью работы. Это особенности клавы в виндах.
Надо взять прогу со списком всех процессов и их окон и подсмотреть там иерархию всех окон процесса энцехи. А там понятно будет как искать.
согласен...эдак он из любого места может понажимать "вправо" да "вниз" и фиг знает что вызвать.... я сначала прицепился к Alt+O ...но нашёл "русифицированный" вариант НЦ, на котором это не работает, потому и скачу от "корня" ...в общем попробую ещё дочек половить
#77
OFFLINE
Отправлено 24 Сентябрь 2017 - 07:29
...чёт сдаётся мне, что НЦшка создаёт окно MDI только в момент его вызова из менюшки... не находится оно у меня... другие дочерние вылазят (всякие там координаты и тому подобное, но всё из того что видно на основном экране) а скрытые дочерние чёт не находятся нифига
...в общем либо я что-то не так ищу...либо надо софтину менять...
#78
OFFLINE
Отправлено 24 Сентябрь 2017 - 11:57
Посмотрел исходники. Окно MDI и главное окно не подчинены друг другу. Значит надо искать все верхние окна процесса NcStudio.
У меня так.
При запуске помогателя нахожу нужный процесс, а затем составляю дерево всех окон процесса.
Ведь как в программировании. При запуске приложения обычно создаются все окна верхнего уровня (в делфи - наследники класса TForm), а потом активируется одно из них и обзывается главным. По необходимости другие окна верхнего уровня просто активируются и выводятся на передний план.
Это потому, что создавать окно долго, а активировать - быстро.
У меня так.
При запуске помогателя нахожу нужный процесс, а затем составляю дерево всех окон процесса.
Ведь как в программировании. При запуске приложения обычно создаются все окна верхнего уровня (в делфи - наследники класса TForm), а потом активируется одно из них и обзывается главным. По необходимости другие окна верхнего уровня просто активируются и выводятся на передний план.
Это потому, что создавать окно долго, а активировать - быстро.
Станислав Ерофеев
Beaver 9A (2007), Beaver 9AT2 (2011), KingCut X6 (2005), WoodPecker 1224 (2006), Roland EGX-300 (2004), Roland EGX-20 (2003), ZeldeR 0613TP (2014).
#79
OFFLINE
Отправлено 25 Сентябрь 2017 - 15:05
ну да...обычно так оно и делается... придётся таки сишный компилятор под вины ставить (у мну только под AVR сейчас стоит)...ну или дельфу на худой конец в ней я последний раз лет 10 тому назад писал ... в очередной раз убеждаюсь что "Васёк" это кастрат... я эту штуку в "Autoit" нарисовал, а он на Ваське всё делает
...там тупо НИКАК не находятся дочерние контролы которые в настоящий момент не активированы в приложении...кстати обнаружил косячок в рулилке...чтобы она корректно работала надо перед этим заглянуть в закладку MDI и закрыть, а она последняя в окне продвинутых функций...по умолчанию-то при вызове этого окна попадёшь в прямоугольный карман, и рулилка будет какать туда в первый попавшийся edit
...в общем мало открыть конкретное окно (которое автоит не в состоянии отловить по заголовку если оно не активно), нужно ещё и активировать закладку MDI, а иначе не туда насыпет комманд
#80
OFFLINE
Отправлено 25 Сентябрь 2017 - 18:00
В помощь
Скрытый текст
Сообщение отредактировал lkbyysq: 25 Сентябрь 2017 - 18:03
Станислав Ерофеев
Beaver 9A (2007), Beaver 9AT2 (2011), KingCut X6 (2005), WoodPecker 1224 (2006), Roland EGX-300 (2004), Roland EGX-20 (2003), ZeldeR 0613TP (2014).
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных