Перейти к содержимому


Фотография

Не работает MDI в пятой NC

MDI

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 80

#61 OFFLINE   lkbyysq

lkbyysq

    Гуру CNC

  • Cтарожил
  • PipPipPipPipPipPipPipPipPipPip
  • 9 486 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург
  • Из:Санкт-Петербург

Отправлено 20 Сентябрь 2017 - 03:24

Я на делфи пишу, но си позволяет больше.

А четырехзаходные фрезы какбэ не для дюраля. А если без сожа, то специально для алюминия.
  • 0

Станислав Ерофеев
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   Metaller

Metaller

    Бакалавр CNC

  • Пользователи+
  • PipPipPip
  • 109 сообщений
  • Пол:Мужчина
  • Город:Тольятти
  • Интересы:Электроника, мото-вело.
  • Из:Тольятти

Отправлено 20 Сентябрь 2017 - 13:27

...не работает в железе центроискалка...йа олень..отскоки не сделал и он думает что уже скатался и туда и обратно т.к. контакт не рвёццо... :crazy:


  • 0

#63 OFFLINE   Metaller

Metaller

    Бакалавр CNC

  • Пользователи+
  • PipPipPip
  • 109 сообщений
  • Пол:Мужчина
  • Город:Тольятти
  • Интересы:Электроника, мото-вело.
  • Из:Тольятти

Отправлено 20 Сентябрь 2017 - 14:04

всё работает! :pleasantry:  дописал отскоки и всё, можно базироваться по углам деталей и по центрам отверстий и пазов.

...для металла контакт калибратора на деталь (она у меня к массе не привязана), в параметрах толщина калибратора равна нулю и всё, базируется на ура! ...с деревяшкой приходится этот калибратор подсовывать всякий раз, и указывать его толщину... надо щуп сделать...правда мнеж лениво будет его вместо фрезы пихать...хотя...можно стационарный под шпинделем пришурупить и учитывать его смещение от оси шпинделя  :crazy:  в общем вот рабочее базирование по углам и отверстиям:

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

команды в MDI и переменная на прошлой странице.

...блин...жалко на вызов MDI шотката нет в кнопках..только по альту и стрелкам скакать  :pardon:


Сообщение отредактировал Metaller: 20 Сентябрь 2017 - 14:05

  • 0

#64 OFFLINE   Metaller

Metaller

    Бакалавр CNC

  • Пользователи+
  • PipPipPip
  • 109 сообщений
  • Пол:Мужчина
  • Город:Тольятти
  • Интересы:Электроника, мото-вело.
  • Из:Тольятти

Отправлено 21 Сентябрь 2017 - 06:18

...накатал экзешник-управлялку, с набором диаметров фрез для вызова своих искалок из паблика без ручного забивания строк в MDI... пришлось на менюшку MDI выходить по тупому: три шага вправо, тринадцать вниз  :pardon:

...потом наверное инишку добавлю чтобы запоминал где ему висеть и чтобы можно было указать фрезы в наборе...


Сообщение отредактировал Metaller: 21 Сентябрь 2017 - 06:22

  • 0

#65 OFFLINE   lkbyysq

lkbyysq

    Гуру CNC

  • Cтарожил
  • PipPipPipPipPipPipPipPipPipPip
  • 9 486 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург
  • Из:Санкт-Петербург

Отправлено 21 Сентябрь 2017 - 10:59

Поиск процесса.
Поиск главного окна процесса.
Определение хендла главного меню.
Получение хендла третьего пункта.
Вызов тринадцатого пункта.
http://www.delphikin...p?catalogid=800

Но окно MDI уже создано при запуске приложения, достаточно его найти по кепшену и активировать, и не надо ползать по меню главного окна.

Поиск дочернего окна - текстбокса, по классу, паренту и координатам в паренте.
Поиск кнопки по классу, надписи, паренту и координатам.
Активация окна и возможно вкладки.
Засыл строки в текстбокс.
Нажатие кнопки.

Но.
Предварительно надо определить, готова ли энцеха к получению команд.
Найти окна в панели состояния по классу, классу парента, классу парента парента, количеству чилдов, координатам... Панель состояния может иметь две иерархии парентов, ибо ее можно вынести в отдельное дочернее окно.
Кажется IDLE - это готов.

Аналогично можно определить кнопки и лабели координат для считывания извне.

Гарантированное получение текста из строки сообщений возможно только внедрением в процесс и подменой функций, ибо это оутпут текст.

Также можно мониторить наличие процесса и повесить иконку в трей.

Ну и наконец можно будет создать ActiveX и вытащить его например в кореле.

Сообщение отредактировал lkbyysq: 21 Сентябрь 2017 - 11:00

  • 0

Станислав Ерофеев
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   Metaller

Metaller

    Бакалавр CNC

  • Пользователи+
  • PipPipPip
  • 109 сообщений
  • Пол:Мужчина
  • Город:Тольятти
  • Интересы:Электроника, мото-вело.
  • Из:Тольятти

Отправлено 21 Сентябрь 2017 - 11:22

...ога, читал ту темку на королевстве...но поленился и сделал как сделал  :pardon: ...мнеж из горелых дров не нужно НЦхой рулить, мне 3D по дюральке пилить надыть, а эт полюбас сначала модель в каком-нибудь солиде, потом УП, а потом уже НЦ.


  • 0

#67 OFFLINE   Metaller

Metaller

    Бакалавр CNC

  • Пользователи+
  • PipPipPip
  • 109 сообщений
  • Пол:Мужчина
  • Город:Тольятти
  • Интересы:Электроника, мото-вело.
  • Из:Тольятти

Отправлено 22 Сентябрь 2017 - 14:57

чуток допилил свою рулилку к NCшке... бросить в каталог NC студио и запускать прям оттуда. если NC не запущена - запустит и будет висеть поверх всех окон... и запускается теперь не в центре экрана, а вверху справа, там где в NCшке свободное место...ну по крайней мере у меня :)  ...пока лениво инишку с координатами и набором фрез делать, другие диаметры туда загнать-то можно, и они работают, просто она их не запоминает...на "сейчас" сделал чего мне надо было а там видно будет...

 

...забавно что когда качаешь эту рулилку - антивир её "подозрительным объектом" обзывает... ну и не удивительно блин... эта штука создана чтобы в чужую программу лезть...ну чем ни шпиён?  :pardon:

 

зы. эта штука работает только когда запущена NC, а сама запустить NC она может только если сама находится в каталоге NC. при закрытии NC она тоже закрывается. 

...в общем надеюсь что эта штука тоже кому-нибудь да пригодится :)


Сообщение отредактировал Metaller: 22 Сентябрь 2017 - 15:09

  • 0

#68 OFFLINE   Metaller

Metaller

    Бакалавр CNC

  • Пользователи+
  • PipPipPip
  • 109 сообщений
  • Пол:Мужчина
  • Город:Тольятти
  • Интересы:Электроника, мото-вело.
  • Из:Тольятти

Отправлено 23 Сентябрь 2017 - 18:54

...прицепил таки инишку для рулилки... при первом запуске создаёт инишку с моими параметрами по умолчанию, а дальше там можно исправить диаметр инструмента по умолчанию, набор рабочих фрез через вертикальную черту " | ", а место где она появляется она запоминает при закрытии NC.

...хоть переименовывай тему из "не работает" в "Рулилка для НЦ"  :pleasantry:

 

...единственное что огорчает - нужно иметь допиленный public.dat

...а я вот в раздумьях, надо ли туды впихивать дубль кнопки базирования по Z...

...а деталька-то у меня так и кривая получается блин ...Y опять мимо :pardon:


Сообщение отредактировал Metaller: 23 Сентябрь 2017 - 19:37

  • 0

#69 OFFLINE   lkbyysq

lkbyysq

    Гуру CNC

  • Cтарожил
  • PipPipPipPipPipPipPipPipPipPip
  • 9 486 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург
  • Из:Санкт-Петербург

Отправлено 23 Сентябрь 2017 - 22:22

Надо заслать листбоксу месседж очищения.
  • 0

Станислав Ерофеев
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   Metaller

Metaller

    Бакалавр CNC

  • Пользователи+
  • PipPipPip
  • 109 сообщений
  • Пол:Мужчина
  • Город:Тольятти
  • Интересы:Электроника, мото-вело.
  • Из:Тольятти

Отправлено 23 Сентябрь 2017 - 23:01

...хм...а где косяк? попробовал запустить как есть, потом в инишке поменял набор на другие две штуки и поменял в дефалте тоже, в итоге в листе три других...ничего не загадилось... или я чего не понял? :pardon:

 

зы. там кстати комбо а не лист, потому и говорил что можно на лету свой диаметр воткнуть без инишки...но он не сохраняется.... делать исчо кнопки для редактирования списка на мой взгляд лишнее...быстрее инишку поправить...


Сообщение отредактировал Metaller: 23 Сентябрь 2017 - 23:12

  • 0

#71 OFFLINE   lkbyysq

lkbyysq

    Гуру CNC

  • Cтарожил
  • PipPipPipPipPipPipPipPipPipPip
  • 9 486 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург
  • Из:Санкт-Петербург

Отправлено 23 Сентябрь 2017 - 23:18

Я про окно MDI.
Про список использованных команд.
  • 0

Станислав Ерофеев
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   Metaller

Metaller

    Бакалавр CNC

  • Пользователи+
  • PipPipPip
  • 109 сообщений
  • Пол:Мужчина
  • Город:Тольятти
  • Интересы:Электроника, мото-вело.
  • Из:Тольятти

Отправлено 23 Сентябрь 2017 - 23:44

хм...и каков будет его текст? чёт я туплю... этот список  хранится в ncstudio.dat как его там очистить не переписывая этот файл из чистой копии я не знаю  :pardon:

 

...кстати отловить окно MDI по хендлу у меня чёт тоже не выходит...так и скачу "альт" 3 вправо, 13 вниз :)


Сообщение отредактировал Metaller: 23 Сентябрь 2017 - 23:47

  • 0

#73 OFFLINE   lkbyysq

lkbyysq

    Гуру CNC

  • Cтарожил
  • PipPipPipPipPipPipPipPipPipPip
  • 9 486 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург
  • Из:Санкт-Петербург

Отправлено 24 Сентябрь 2017 - 00:01

Че его ловить...
Все дочерние окна главного окна EnumChildWindow, в функции обратного вызова проверка по Caption.
Затем опять поиск дочерних окон с родителем MDI. Находим листбокс и туда SendMessage. API в помощь.
  • 0

Станислав Ерофеев
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   Metaller

Metaller

    Бакалавр CNC

  • Пользователи+
  • PipPipPip
  • 109 сообщений
  • Пол:Мужчина
  • Город:Тольятти
  • Интересы:Электроника, мото-вело.
  • Из:Тольятти

Отправлено 24 Сентябрь 2017 - 00:03

...странно...у меня он только когда физически вызван отлавливается... :pardon: ...видать не так ищу...я тупо пытаюсь хендл по заголовку найти, а он в этот момент не вызван... :) ...попробую ещё раз дочерние пошукать...

 

...и всёж таки как почистить лист MDI-то?


  • 0

#75 OFFLINE   lkbyysq

lkbyysq

    Гуру CNC

  • Cтарожил
  • PipPipPipPipPipPipPipPipPipPip
  • 9 486 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург
  • Из:Санкт-Петербург

Отправлено 24 Сентябрь 2017 - 00:11

А скакать эмуляцией нажатий на клавиатуре - моветон. Аукнется нестабильностью работы. Это особенности клавы в виндах.

...странно...у меня он только когда физически вызван отлавливается...

Надо взять прогу со списком всех процессов и их окон и подсмотреть там иерархию всех окон процесса энцехи. А там понятно будет как искать.

Сообщение отредактировал lkbyysq: 24 Сентябрь 2017 - 00:13

  • 0

Станислав Ерофеев
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   Metaller

Metaller

    Бакалавр CNC

  • Пользователи+
  • PipPipPip
  • 109 сообщений
  • Пол:Мужчина
  • Город:Тольятти
  • Интересы:Электроника, мото-вело.
  • Из:Тольятти

Отправлено 24 Сентябрь 2017 - 00:27

А скакать эмуляцией нажатий на клавиатуре - моветон. Аукнется нестабильностью работы. Это особенности клавы в виндах.
Надо взять прогу со списком всех процессов и их окон и подсмотреть там иерархию всех окон процесса энцехи. А там понятно будет как искать.

согласен...эдак он из любого места может понажимать "вправо" да "вниз" и фиг знает что вызвать.... я сначала прицепился к Alt+O ...но нашёл "русифицированный" вариант НЦ, на котором это не работает, потому и скачу от "корня" ...в общем попробую ещё дочек половить  :pardon:


  • 0

#77 OFFLINE   Metaller

Metaller

    Бакалавр CNC

  • Пользователи+
  • PipPipPip
  • 109 сообщений
  • Пол:Мужчина
  • Город:Тольятти
  • Интересы:Электроника, мото-вело.
  • Из:Тольятти

Отправлено 24 Сентябрь 2017 - 07:29

...чёт сдаётся мне, что НЦшка создаёт окно MDI только в момент его вызова из менюшки... не находится оно у меня... другие дочерние вылазят (всякие там координаты и тому подобное, но всё из того что видно на основном экране) а скрытые дочерние чёт не находятся нифига :pardon:

...в общем либо я что-то не так ищу...либо надо софтину менять... 


  • 0

#78 OFFLINE   lkbyysq

lkbyysq

    Гуру CNC

  • Cтарожил
  • PipPipPipPipPipPipPipPipPipPip
  • 9 486 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург
  • Из:Санкт-Петербург

Отправлено 24 Сентябрь 2017 - 11:57

Посмотрел исходники. Окно MDI и главное окно не подчинены друг другу. Значит надо искать все верхние окна процесса NcStudio.
У меня так.
При запуске помогателя нахожу нужный процесс, а затем составляю дерево всех окон процесса.
Ведь как в программировании. При запуске приложения обычно создаются все окна верхнего уровня (в делфи - наследники класса TForm), а потом активируется одно из них и обзывается главным. По необходимости другие окна верхнего уровня просто активируются и выводятся на передний план.
Это потому, что создавать окно долго, а активировать - быстро.
  • 0

Станислав Ерофеев
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   Metaller

Metaller

    Бакалавр CNC

  • Пользователи+
  • PipPipPip
  • 109 сообщений
  • Пол:Мужчина
  • Город:Тольятти
  • Интересы:Электроника, мото-вело.
  • Из:Тольятти

Отправлено 25 Сентябрь 2017 - 15:05

ну да...обычно так оно и делается... придётся таки сишный компилятор под вины ставить (у мну только под AVR сейчас стоит)...ну или дельфу на худой конец в ней я последний раз лет 10 тому назад писал :) ... в очередной раз убеждаюсь что "Васёк" это кастрат... я эту штуку в "Autoit" нарисовал, а он на Ваське всё делает  :pardon:

...там тупо НИКАК не находятся дочерние контролы которые в настоящий момент не активированы в приложении...кстати обнаружил косячок в рулилке...чтобы она корректно работала надо перед этим заглянуть в закладку MDI и закрыть, а она последняя в окне продвинутых функций...по умолчанию-то при вызове этого окна попадёшь в прямоугольный карман, и рулилка будет какать туда в первый попавшийся edit  :crazy:

...в общем мало открыть конкретное окно (которое автоит не в состоянии отловить по заголовку если оно не активно), нужно ещё и активировать закладку MDI, а иначе не туда насыпет комманд  :pardon:


  • 0

#80 OFFLINE   lkbyysq

lkbyysq

    Гуру CNC

  • Cтарожил
  • PipPipPipPipPipPipPipPipPipPip
  • 9 486 сообщений
  • Пол:Мужчина
  • Город:Санкт-Петербург
  • Из:Санкт-Петербург

Отправлено 25 Сентябрь 2017 - 18:00

В помощь

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

Сообщение отредактировал lkbyysq: 25 Сентябрь 2017 - 18:03

  • 1

Станислав Ерофеев
Beaver 9A (2007), Beaver 9AT2 (2011), KingCut X6 (2005), WoodPecker 1224 (2006), Roland EGX-300 (2004), Roland EGX-20 (2003), ZeldeR 0613TP (2014).





Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных