Страница 1 из 1

Можно ли изменить интерфейс Axis?

Добавлено: 12 дек 2011, 19:08
Morzhovich
Можно ли изменить интерфейс Axis без компиляции заново? Т.е нужно просто поменять одни слова на другие слова, маленько подправить шрифты и убрать ненужное из меню.
Когда то я это дело уже делал, но было давно и там я все компилировал сам в дебиане на пентиум три :wtf: . Что именно и как я сделал, не помню ибо было лет 6-7 назад и больше этот вопрос не трогал т.к все работает как надо до сих пор.

Re: Можно ли изменить интерфейс Axis?

Добавлено: 12 дек 2011, 19:58
Nick
А Axis разве не на питоне написано? И что конкретнее хочешь поменять? Может это можно сделать при помощи pyvcp или ngcgui или еще какой-нибудь примочки.

Re: Можно ли изменить интерфейс Axis?

Добавлено: 12 дек 2011, 20:09
Morzhovich
Написано на питоне (впрочем не важно на чем, логика то одна для таких задач в любом языке :) ). Конкретнее, надо увеличить шрифты XYZ и заменить темы охлаждения на "вакуумный стол" и "пылесос" или вообще убрать.
На самом деле эти кнопки надо удалить визуально и не использовать или же поменять смысл(т.к машинка в столярке с учениками ПТУшниками).

Re: Можно ли изменить интерфейс Axis?

Добавлено: 12 дек 2011, 20:25
Nick
Если программа на питоне, то она не компилится - питон интерпретатор. Тупо поменял код и все.
А зачем их отключать? Если пин охлаждения не подключен, то от нажатия на эти кнопки ничего не изменится. А все нужные кнопки, типо вакуумного стола вывести через pyvcp.

Re: Можно ли изменить интерфейс Axis?

Добавлено: 12 дек 2011, 20:35
Morzhovich
Ник, ты с ученичками не работал? Сразу вопросов на пол дня. "зачем?", "чотакойа?" и т.п. А еще проект починки ЧПУ надо сдать и бабос получить. Там тоже у бабосных дядь из системы образования те же вопросы. :)

Re: Можно ли изменить интерфейс Axis?

Добавлено: 12 дек 2011, 20:42
Nick
Morzhovich писал(а):Там тоже у бабосных дядь из системы образования те же вопросы.
Так наооброт, круто же: "Мы разработали систему, которая может работать с рядом шпинделей, как с системой автоматической подачи СОЖ, так и без нее" :hehehe:
"В любой момент может быть произведена модернизация или замена исполнительного устройства без дополнительных изменений в программном обеспечении."

Ищи axis py и, наверное, xml файл с его интерфейсом и три, все, что не нужно.

Re: Можно ли изменить интерфейс Axis?

Добавлено: 12 дек 2011, 20:46
Morzhovich
Nick писал(а):В любой момент может быть произведена модернизация или замена исполнительного устройства без дополнительных изменений в программном обеспечении
:hehehe:
Тем скорее всего и закончится. Классная отмазка. =))))) но пока поищу (помнить бы где искал в прошлый раз)

Re: Можно ли изменить интерфейс Axis?

Добавлено: 12 дек 2011, 20:59
Nick
даю наводку /usr/bin/axis ;)

Re: Можно ли изменить интерфейс Axis?

Добавлено: 12 дек 2011, 21:28
Morzhovich
Что то определения кнопок гуи я там не увидел (но я не гуру...). Хотя хотелось бы хоть удалить их. Закомментил строки отвечающие за параметр "Touch off" и Axis перестал пахать. Раскомментил и все еще не пашет. Кажется я там что то не то стер помимо "#". :monkey:

PS
Кстати реконфигурация через Stepconfig не помогла, но любимый tkemc естественно пашет.

Вроде, когда я менял, в прошлом (давным давно) то менял в сырцах (там не сложно) а тут косяк какой то :problem:
скорее всего прийдется придумывать отмазки для лишних кнопок :D А может перекомпилить?! :shock:

Re: Можно ли изменить интерфейс Axis?

Добавлено: 12 дек 2011, 22:42
Nick
Перестал работать скорее всего из-за того, что потом к этим кнопкам что-то обращается, например добавляется описание событий, и это описание не находит нужной ссылки на объект.

Как называется кнопка, которая нужно удалить?
Перед редактированием лучше было сделать backup :). Сейчас можешь просто взять файл из исходников.

ЗЫ Лучше не редактируй тему, а добавляй сообщение. Иначе тема не появляется в "непрочитанных сообщениях". Либо "поднимай тему" (хотя там вроде ограничение на 1 сутки). Луше просто добавляй сообщение :).

Re: Можно ли изменить интерфейс Axis?

Добавлено: 12 дек 2011, 23:06
Morzhovich
Нуда, хотя я ведь раскомменил то, что закомментил..
Nick писал(а):Как называется кнопка, которая нужно удалить?
Хотелось бы уметь удалять любую кнопку. Как добавить всегда можно разобратся :freak_in_action: а мне нужно чтоб ничего лишнего

Re: Можно ли изменить интерфейс Axis?

Добавлено: 12 дек 2011, 23:11
Nick
Дело в том, что "любая" кнопка может удаляться по разному.
вообще нужно убрать объявдение кнопки и убрать все ссылки на нее.
Либо ... наверное ... можно попробовать сделать кнопку невидимой...

Re: Можно ли изменить интерфейс Axis?

Добавлено: 12 дек 2011, 23:31
Morzhovich
Nick писал(а):Либо ... наверное ... можно попробовать сделать кнопку невидимой...
А вот с этого места по подробней пожалуйста. Пришлось ведь сделать верхнюю панель прозрачной :D

Re: Можно ли изменить интерфейс Axis?

Добавлено: 12 дек 2011, 23:56
Nick
Ага, нашел, ищем объявление кнопки, что-то типа

кнопка.pack()
и после этого добавляем
кнопка.pack_forget()

А вообще в axis есть такая функция (строка 3265):

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

def forget(widget, *pins):
    if os.environ.has_key("AXIS_NO_AUTOCONFIGURE"): return
    if hal_present == 1 :
        for p in pins:
            if hal.pin_has_writer(p): return
    m = widget.winfo_manager()
    if m in ("grid", "pack"):
        widget.tk.call(m, "forget", widget._w)
и после нее идут строчки типа:
forget(widgets.brake, "motion.spindle-brake")
...

Эта функция проверяет есть ли пины ассоциированные с кнопкой, если нет, трет кнопку с формы. Т.е. имеет смысл попробовать почистить hal от всего лишнего!

Re: Можно ли изменить интерфейс Axis?

Добавлено: 13 дек 2011, 00:02
Morzhovich
А это то дело в каком файле?!

Re: Можно ли изменить интерфейс Axis?

Добавлено: 13 дек 2011, 00:04
Nick
Это все в том же /usr/bin/axis
кстати там есть и

forget(widgets.mist, "iocontrol.0.coolant-mist")
forget(widgets.flood, "iocontrol.0.coolant-flood")
forget(widgets.lubel, "iocontrol.0.coolant-flood", "iocontrol.0.coolant-mist")

Как раз смазка и охлаждение...

Re: Можно ли изменить интерфейс Axis?

Добавлено: 13 дек 2011, 14:20
Anonymouss
>Эта функция проверяет есть ли пины ассоциированные с кнопкой, если нет, трет кнопку с формы. Т.е. имеет смысл попробовать почистить hal от всего лишнего!

таки да, проверил - добавляю в файл конфигурации ".hal" строчку
net mist iocontrol.0.coolant-mist
появляется кнопка управления охлаждением, убираю - исчезает, то есть чтоб небыло лишних кнопок нужно удалить ссылки на лишние устройства.

Хотя исходники править интереснее...