gscreen

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Re: gscreen

Сообщение Lexxa »

пин, я так понимаю там в скрипте где-то, а не в кнопке. отсюда и вывод, что пол скрипта перелопатить надо
а в скрипте при нажатии на эту кнопку весь этот hbox невидимым делается?
:bender:
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: gscreen

Сообщение Nick »

Вот тут к кнопке присоединяют "сигнал" к хоумингу:
self.widgets.button_homing.connect("clicked", self.homing)
но там блин еще куча мест, где эту кнопку включают/выключают и что только не делают...
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: gscreen

Сообщение nkp »

Lexxa писал(а):а в скрипте при нажатии на эту кнопку весь этот hbox невидимым делается?
да -тут активно используют две функции :

Код: Выделить всё

hide()
и
show()
например скрыть первый ряд:

Код: Выделить всё

 self.widgets.mode3.hide()
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: gscreen

Сообщение Nick »

Он там вот сколько раз встречается:

Код: Выделить всё

grep "button_homing" ./gscreen 
        self.widgets.button_homing.connect("clicked", self.homing)
            self.widgets.button_homing.set_sensitive(False)
            self.widgets.button_homing.set_sensitive(True)
        if self.widgets.button_homing.get_active():
            self.widgets.button_homing.set_sensitive(False)
            self.widgets.button_homing.set_sensitive(True)
            self.widgets.button_homing.set_sensitive(False)
            self.widgets.button_homing.set_sensitive(True)
            self.widgets.button_homing.show()
            self.widgets.button_homing.set_active(False)
            self.widgets.button_homing.hide()
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Re: gscreen

Сообщение Lexxa »

Код: Выделить всё

self.widgets.button_homing.connect("clicked", self.homing)
т.е. при клике по кнопке button_homing вызывается функция self.homing?
Что занчит self?

Код: Выделить всё

    def homing(self,*args):
        print "show/hide homing buttons"
        if self.widgets.button_homing.get_active():
            for i in range(0,3):
                self.widgets["mode%d"% i].hide()
            self.widgets.mode3.show()
            self.widgets.button_mode.set_sensitive(False)
            self.widgets.button_override.set_sensitive(False)
            self.widgets.button_graphics.set_sensitive(False)
        else:
            self.widgets.mode3.hide()
            self.mode_changed(self.data.mode_order[0])
            self.widgets.button_mode.set_sensitive(True)
            self.widgets.button_override.set_sensitive(True)
            self.widgets.button_graphics.set_sensitive(True)
Давайте разжуем этот момент. Т.е. если self.widgets.button_homing.get_active = true, т.е. кнопка нажата, то скрыть все виджеты режимов, это на сколько я понял вертикальные кнопки, да? или это ряд нижний, тогда почему только три ряда кнопок скрываются, а не 4?
сделать неактивными кнопки button_mode, button_override button_graphics
:bender:
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: gscreen

Сообщение nkp »

Lexxa писал(а):то скрыть все виджеты режимов
нет -там после условия стоит показать первый ряд (он у нас №3):

Код: Выделить всё

 self.widgets.mode3.show()
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: gscreen

Сообщение nkp »

Lexxa писал(а):это на сколько я понял вертикальные кнопки,
set_sensitive () эта функция (пардон-метод) делает активным-неактивным виджет
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: gscreen

Сообщение nkp »

а вообще то у меня вопрос-
если есть планы на пульт оператора-зачем эти танцы с переносами???
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: gscreen

Сообщение Nick »

Lexxa писал(а):Давайте разжуем этот момент. Т.е. если self.widgets.button_homing.get_active = true, т.е. кнопка нажата, то скрыть все виджеты режимов, это на сколько я понял вертикальные кнопки, да? или это ряд нижний, тогда почему только три ряда кнопок скрываются, а не 4?сделать неактивными кнопки button_mode, button_override button_graphics
Это просто вырезка всех строк, где есть homing_button, чтобы лучше понять объем работ, это не целая часть кода!
Lexxa писал(а):т.е. при клике по кнопке button_homing вызывается функция self.homing?
Да.
self, это "сам" - ссылка на объект с которым мы работаем. Т.е.

У нас скорее всего есть объект класса
class Gscreen:
в нем есть функции, и всякие параметры.
Вот если мы хотим вызвать его функцию мы пишем ссылка_на_объект.функция()

Эта строчка находится в функции def __init__(self,inipath):
она вызывается при создании объекта
app = Gscreen(sys.argv[2])
И ей передается ссылка на созданный объект - self.
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Re: gscreen

Сообщение Lexxa »

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

кнопки на панели оператора это все что я описывал в смежной теме, а всё касательно привязок, режима редактирования программ и исполнения MDI - из gscreen
nkp, я совершенно поддерживаю твой первый пост - из gscreen сделать нормальный интерфейс.
Но подчеркну, что нормаьный интерфейс это когда Пульт+Монитор+Клава

Давайте тогда действительн не будем тратить время на создание бесполезного функционала перегружая и интерфейс и описывающий его код, а обсудим то, что в итоге должно быть, а потом это реализуем исходя из требований.
Ихмо ТЗ на интерфейс такое:
Нижний ряд - 7 кнопок, правый ряд - 6 кнопок
Я уверен, для реализации всего делаемого мышкой этого вполне достаточно.
С точки зрения пассивной безопасности выезд в ноль всех осей - не есть гут, считаю, что оператору раз в день можно и пощелкать.
Всего есть 6 возможных режимов работы ЧПУ
1) Автоматический
2) MDI
3) Безразмерные ручные перемещения
4) Инкрементальные ручные перемещения
6) режим от маховичка х1 х10 х100

Давайте обсудим софтовые кнопки для каждого из режимов отдельно, учитывая, что на пульте будут кнопки
Cycle Start, Feed hold, abort, CW, CCW, SpStop, +, -, quick, селектор режимов, селектор координат, Delete block, Optional Stop, CoolanOff, т.е. в общем случае 24 сигнала + от 2 до 4 энкодеров
:bender:
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Re: gscreen

Сообщение Lexxa »

Автоматический
Edit, Save, SaveAs, Abort, reload, full graphics, graphics со всем уже написанным функционалом, ихмо удобно
MDI
вверх по истории, вниз по истории, отработать текущую выделенную строку (дублировать с Cycle Start), Abort, Zero Origin, offset origin
:bender:
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Re: gscreen

Сообщение Lexxa »

Безразмерные ручные перемещения и инкрементальные ручные перемещения
Set offset G5x,
Set offset G5y,
Set offset G5z
Set offset G5a
Set offset Tool X,
Set offset Tool Y,
Set offset Tool Z,
Set offset Tool A,
Abort

кстати только у меня перепутаны координаты в gscreen? типа активная ось Х, жмешь Zero Origin, а меняется координтата нуля по Y

В перемещениях от маховичка - добавить множители x1, x10, x100
:bender:
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: gscreen

Сообщение nkp »

Lexxa писал(а):кстати только у меня перепутаны координаты в gscreen? типа активная ось Х, жмешь Zero Origin, а меняется координтата нуля по Y
у меня все в норме
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Re: gscreen

Сообщение Lexxa »

Думаю с Никовой помощью написать по образу и подобию gscreenа можно подобную штуку)
Надеюсь , что Ник не против))
:bender:
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: gscreen

Сообщение nkp »

Lexxa писал(а):Думаю с Никовой помощью написать по образу и подобию gscreenа можно подобную штуку)Надеюсь , что Ник не против))
работа эта имеет довольно размытые временные рамки - тесты ,отладка , исправления
но начинать надо
а почему бы еще и автора не привлечь - мне кажеться ему могут быть интересны выкладки по теме
привлечь - в смысле обсудить направления развития
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Re: gscreen

Сообщение Lexxa »

я только за
:bender:
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: gscreen

Сообщение Nick »

Так, а что вас Gscreen не устраивает? :)
Давайте попробуем обойтись малой кровью :).
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Re: gscreen

Сообщение Lexxa »

перепаковать для начала, чтоб можно было хардовые кнопки прилепить
:bender:
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: gscreen

Сообщение Nick »

В каком смысле хардовые кнопки? Как это зависит от паковки?
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Re: gscreen

Сообщение Lexxa »

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

Вернуться в «LinuxCNC»