Страница 8 из 38
LinuxCNC Features - набор мастеров для LinuxCNC
Добавлено: 22 май 2013, 18:07
Nick
Как некоторые уже заметили я пропал на недельку. И пропадал я не зря. Наконец-то решил сделать достойную замену ngcgui.
LinuxCNC Features это тулкит для создания "мастеров". Точнее это тулкит самих "мастеров". В общем и целом LinuxCNC Features работает схоже с ngcgui, но с некоторыми отличиями. Честно говоря, с ngcgui я до конца так и не разобрался, поэтому это я считаю, что он работает схоже

. (Название Features взято от кнопки в ngcgui - add feature.)
Текущий статус разработки
- Дописать обработки.
- Отловить баги
.
Возможности (для просмотра содержимого нажмите на ссылку)Что может LinuxCNC Features:
- Добавлять features - простые обработки
- Менять их порядок
- Группировать обработки
- Делать линейные и круговые массивы
- Встраиваться в axis LinuxCNC или работать как отдельной приложение
- Просматривать резултьтат в axis в редиме реального времени
- Сохранять шаблоны обработок
Это только пока

.
Re: LinuxCNC Features - набор мастеров для LinuxCNC
Добавлено: 21 июн 2013, 13:26
nkp
в /usr/share/pyshared/gladevcp положил файлы
создал ссылки на них в /usr/lib/pymodules/python2.6/gladevcp
Re: LinuxCNC Features - набор мастеров для LinuxCNC
Добавлено: 21 июн 2013, 13:30
Nick
Там где ссылки сделай ls -a... а то говорит, что файл уже существует, может там другие ссылки..
И добавь -d в строку glade, может будет доп информация...
Re: LinuxCNC Features - набор мастеров для LinuxCNC
Добавлено: 21 июн 2013, 13:35
nkp
Nick писал(а):сделай ls -a...
Код: Выделить всё
nkp@nkp-desktop:~$ cd /usr/lib/pymodules/python2.6/gladevcp
nkp@nkp-desktop:/usr/lib/pymodules/python2.6/gladevcp$ ls -a
. hal_graph.py makepins.py
.. hal_graph.pyc makepins.pyc
calculator.glade hal_gremlin.py offsetpage.glade
calculatorwidget.py hal_gremlin.pyc offsetpage_widget.py
calculatorwidget.pyc hal_mdihistory.py offsetpage_widget.pyc
drowidget.py hal_mdihistory.pyc offsetwidget.py
drowidget.pyc hal_meter.py offsetwidget.pyc
features.glade hal_meter.pyc persistence.py
features.py hal_pythonplugin.py persistence.pyc
gladebuilder.py hal_pythonplugin.pyc subroutines
gladebuilder.pyc hal_sourceview.py tooledit_gtk.glade
gladevcp-test.glade hal_sourceview.pyc tooledit_widget.py
hal_actions.py hal_widgets.py tooledit_widget.pyc
hal_actions.pyc hal_widgets.pyc xembed.py
hal_bar.py __init__.py xembed.pyc
hal_bar.pyc __init__.pyc Ссылка на drowidget.py
hal_filechooser.py led.py Ссылка на drowidget.pyc
hal_filechooser.pyc led.pyc
nkp@nkp-desktop:/usr/lib/pymodules/python2.6/gladevcp$
Код: Выделить всё
nkp@nkp-desktop:~$ glade -d
Неизвестный параметр -d
nkp@nkp-desktop:~$ glade
Re: LinuxCNC Features - набор мастеров для LinuxCNC
Добавлено: 21 июн 2013, 14:00
nkp
если при попытке вставить в окно виджет features ругается Warning! Problem while loading ini file! -
то где то здесь же спотыкается:
Код: Выделить всё
try :
inifile = linuxcnc.ini(ini)
SUBROUTINES_PATH = inifile.find('RS274NGC', 'SUBROUTINE_PATH') or ""
PROGRAM_PREFIX = inifile.find('DISPLAY', 'PROGRAM_PREFIX') or ""
except :
print _("Warning! Problem while loading ini file!")
linuxcnc - здесь - это модуль linuxcnc?? :
(для просмотра содержимого нажмите на ссылку)Код: Выделить всё
>>> dir(linuxcnc)
['AUTO_PAUSE', 'AUTO_RESUME', 'AUTO_RUN', 'AUTO_STEP', 'AXIS_ANGULAR', 'AXIS_LINEAR', 'BRAKE_ENGAGE', 'BRAKE_RELEASE', 'DEBUG_CONFIG', 'DEBUG_INTERP', 'DEBUG_INTERP_LIST', 'DEBUG_MOTION_TIME', 'DEBUG_NML', 'DEBUG_RCS', 'DEBUG_TASK_ISSUE', 'DEBUG_VERSIONS', 'EXEC_DONE', 'EXEC_ERROR', 'EXEC_WAITING_FOR_DELAY', 'EXEC_WAITING_FOR_IO', 'EXEC_WAITING_FOR_MOTION', 'EXEC_WAITING_FOR_MOTION_AND_IO', 'EXEC_WAITING_FOR_MOTION_QUEUE', 'EXEC_WAITING_FOR_SYSTEM_CMD', 'FLOOD_OFF', 'FLOOD_ON', 'INTERP_IDLE', 'INTERP_PAUSED', 'INTERP_READING', 'INTERP_WAITING', 'JOG_CONTINUOUS', 'JOG_INCREMENT', 'JOG_STOP', 'KINEMATICS_BOTH', 'KINEMATICS_FORWARD_ONLY', 'KINEMATICS_IDENTITY', 'KINEMATICS_INVERSE_ONLY', 'MIST_OFF', 'MIST_ON', 'MODE_AUTO', 'MODE_MANUAL', 'MODE_MDI', 'NML_DISPLAY', 'NML_ERROR', 'NML_TEXT', 'OPERATOR_DISPLAY', 'OPERATOR_ERROR', 'OPERATOR_TEXT', 'RCS_DONE', 'RCS_ERROR', 'RCS_EXEC', 'SPINDLE_CONSTANT', 'SPINDLE_DECREASE', 'SPINDLE_FORWARD', 'SPINDLE_INCREASE', 'SPINDLE_OFF', 'SPINDLE_REVERSE', 'STATE_ESTOP', 'STATE_ESTOP_RESET', 'STATE_OFF', 'STATE_ON', 'TRAJ_MODE_COORD', 'TRAJ_MODE_FREE', 'TRAJ_MODE_TELEOP', '__doc__', '__file__', '__name__', '__package__', 'command', 'draw_dwells', 'draw_lines', 'error', 'error_channel', 'ini', 'line9', 'nmlfile', 'positionlogger', 'stat', 'tool', 'version', 'vertex9']
>>>
Re: LinuxCNC Features - набор мастеров для LinuxCNC
Добавлено: 21 июн 2013, 14:24
Nick
Ой, ls -al, тогда все ссылки покажет.
nkp писал(а):nkp@nkp-desktop:~$ glade -d
Неизвестный параметр -d
nkp@nkp-desktop:~$ glade
Ну я в ini имел в виду дописать GLADE = features.ui -d
nkp писал(а):если при попытке вставить в окно виджет features ругается Warning! Problem while loading ini file! -
то где то здесь же спотыкается:
Странно, но вроде должен работать...
допиши туда
print linuxcnc.ini(ini)
интерессно что там...
А, еще может у тебя в ini нет этих параметров:
SUBROUTINES_PATH = inifile.find('RS274NGC', 'SUBROUTINE_PATH') or ""
PROGRAM_PREFIX = inifile.find('DISPLAY', 'PROGRAM_PREFIX') or ""
Но в принципе это не сильно важно.
nkp писал(а):linuxcnc - здесь - это модуль linuxcnc?? :
(для просмотра содержимого нажмите на ссылку)
Ага
Re: LinuxCNC Features - набор мастеров для LinuxCNC
Добавлено: 21 июн 2013, 14:30
nkp
Nick писал(а):допиши туда print linuxcnc.ini(ini)интерессно что там... А, еще может у тебя в ini нет этих параметров:SUBROUTINES_PATH = inifile.find('RS274NGC', 'SUBROUTINE_PATH') or ""PROGRAM_PREFIX = inifile.find('DISPLAY', 'PROGRAM_PREFIX') or ""Но в принципе это не сильно важно.
сейчас допишу конечно - посмотрю...
но я чет торможу как никогда(обычно средненько так

) - при чем тут ini от емс ???
вот мы создали виджет features в Glade
теперь просто хотим создать панельку с ним...
это что - при запущеном емс теперь делать???
upd
запускать наверно не надо

- виджет просто пользует данные из ини емс...
Re: LinuxCNC Features - набор мастеров для LinuxCNC
Добавлено: 21 июн 2013, 14:35
Nick
nkp писал(а):но я чет торможу как никогда(обычно средненько так ) - при чем тут ini от емс ???
Это для того, чтобы автоматом в его директории пихать ngc, сохнанять настройки и брать возможные обаботки?
nkp писал(а):это что - при запущеном емс теперь делать???
Не совсем понял, о чем ты
Изначально так и планировалось, запускаем LinuxCNC и прямо в нем рисуем обработку. И при этом сразу смотрим, что получается в окошке preview гремлина.
Re: LinuxCNC Features - набор мастеров для LinuxCNC
Добавлено: 21 июн 2013, 14:43
nkp
так - сдвиги уже есть - дописал в ини путь - Glade уже не вылетает
так это же все в readme надо будет отразить - не у всех же в ини обязательно все "нужные" строки прописаны...
зы но емс пока упрямится

Re: LinuxCNC Features - набор мастеров для LinuxCNC
Добавлено: 21 июн 2013, 14:51
Nick
Странно это вообще оно вроде и так вылетать не должно... надо будет отестировать...
Я уебегаю уже, если что буду только в понедельник.
Кстати, сделал обработку для OD, правда там еще много багов, надо будет отловить...
Re: LinuxCNC Features - набор мастеров для LinuxCNC
Добавлено: 22 июн 2013, 10:11
nkp
после того ,как поубирал все на что ругалось при запуске:
(для просмотра содержимого нажмите на ссылку)Код: Выделить всё
nkp@nkp-desktop:~/hlam/start_Glade$ ./start
find: `./subroutines/': Нет такого файла или каталога
xgettext: ошибка открытия файла "features.py" для чтения: Нет такого файла или каталога
sed: невозможно прочитать *.po: Нет такого файла или каталога
msgcat: ошибка открытия файла "tmp.po" для чтения: Нет такого файла или каталога
rm: невозможно удалить «tmp1.po»: Нет такого файла или каталога
rm: невозможно удалить «tmp.po»: Нет такого файла или каталога
cd: 1: can't cd to locale
sh: ./update-po.sh: not found
1.hal:1: gladevcp exited without becoming ready
nkp@nkp-desktop:~/hlam/start_Glade$ ./start
find: `./subroutines/': Нет такого файла или каталога
1.hal:1: gladevcp exited without becoming ready
nkp@nkp-desktop:~/hlam/start_Glade$ ./start
Warning! Problem while loading ini file!
/features.ini
Error! Fatal! Cannot find features catalog None at /usr/lib/pymodules/python2.6/gladevcp/subroutines:!
1.hal:1: gladevcp exited without becoming ready
nkp@nkp-desktop:~/hlam/start_Glade$ ./start
Warning! Problem while loading ini file!
/features.ini
Feature ini file probe-tool-l.ini not found in /home/nkp/linuxcnc-features-master/subroutines:/usr/lib/pymodules/python2.6/gladevcp/subroutines:!
Warning: Error while parsing <sub name="Measure tool length" icon="images/probe-tool-l.png" sub="probe-tool-l.ini"/>
...
File not found
Feature ini file gcode.ini not found in /home/nkp/linuxcnc-features-master/subroutines:/usr/lib/pymodules/python2.6/gladevcp/subroutines:!
Warning: Error while parsing <sub name="Custom Gcode" sub="gcode.ini" icon="images/gcode.png"/>
...
File not found
Feature ini file probe-tool-l.ini not found in /home/nkp/linuxcnc-features-master/subroutines:/usr/lib/pymodules/python2.6/gladevcp/subroutines:!
Feature ini file gcode.ini not found in /home/nkp/linuxcnc-features-master/subroutines:/usr/lib/pymodules/python2.6/gladevcp/subroutines:!
Waiting for component 'manual-example' to become ready...................................................................................................................................................................................................................................................................................................................................................................../features.ini
Warning cannot write to config file /features.ini!
.
1.hal:1: gladevcp exited without becoming ready
nkp@nkp-desktop:~/hlam/start_Glade$
вроде появились небольшие сдвиги

upd:
не осознавая до конца смысла манипуляций , добился запуска панели совместно с емс:
"мешали" следующие строки:
Код: Выделить всё
if "-c" in optlist :
self.catalog_src = optlist["-c"]
if "--catalog" in optlist :
self.catalog_src = optlist["--catalog"]
Re: LinuxCNC Features - набор мастеров для LinuxCNC
Добавлено: 22 июн 2013, 15:36
nkp
напишу здесь последовательность действий для "установки" Features (пользуем название пока Delcam молчит

)
пока в этом есть шероховатости , но будем надеяться - автор их благополучно истребит
итак наши действия можно разделить на два этапа:
1. добавление виджета features в редактор Glade
2. добавление панели Gladevcp в емс
------------------
1. скачиваем
архив с программой,распакуем .
проверяем - все ли в порядке - запускаем файл features.py:
(может потребуется добавить прав на исполнение)
в принципе тестировать можно уже на этом этапе:
запускаем емс, затем запускаем features из терминала строкой:
python features.py --ini=<путь к ini LinuxCNC>
вот эта строка у меня выглядит так : python features.py --ini=/home/nkp/linuxcnc/configs/Sherline3Axis/Sherline3Axis_mm.ini
для удобства можно создать файл с примерно таким содержимым:
#!/bin/bash
cd /home/nkp/linuxcnc-features-master
python features.py --ini=/home/nkp/linuxcnc/configs/Sherline3Axis/Sherline3Axis_mm.ini
подправить конечно путь , положить в папку с программой Features ,сделать исполняемым, и запускать ним...
прикрутить кнопку запуска на рабочем столе , и вставить ее в трей...
далее из папки с программой берем файлы features.py , features.glade и папку subroutines и копируем в папку /usr/share/pyshared/gladevcp/ (нужны права root)
(тут можно создать и ссылки - но пишу как я сам делал)
теперь пишем в терминале :
cd /usr/lib/pymodules/python2.6/gladevcp
sudo ln /usr/share/pyshared/gladevcp/features.py -s
sudo ln /usr/share/pyshared/gladevcp/features.glade -s
sudo ln /usr/share/pyshared/gladevcp/subroutines -s
то есть ,создаем ссылки на наши файлы в папке /usr/lib/pymodules/python2.6/gladevcp
теперь нужно внести изменения в файл
hal_python.xml , который может
лежать
/usr/share/glade3/catalogs или
/usr/share/glade2/catalogs
для этого пишем в терминале:
sudo gedit /usr/share/glade3/catalogs/hal_python.xml
находим по тексту вот этот код:
Код: Выделить всё
<glade-widget-class name="Calculator" generic-name="calc" title="calculator">
<properties>
<property id="size" query="False" default="1" visible="False"/>
<property id="spacing" query="False" default="0" visible="False"/>
<property id="homogeneous" query="False" default="0" visible="False"/>
</properties>
</glade-widget-class>
и после него вставляем:
Код: Выделить всё
<glade-widget-class name="Features" generic-name="features" title="features">
<properties>
<property id="size" query="False" default="1" visible="False"/>
<property id="spacing" query="False" default="0" visible="False"/>
<property id="homogeneous" query="False" default="0" visible="False"/>
</properties>
</glade-widget-class>
-----------
следом находим :
Код: Выделить всё
<glade-widget-class-ref name="Calculator"/>
и после него вставляем:
после всех этих действий в редакторе Glade
появился должен появиться новый виджет
feature:
если в glade все выглядит так как на скрине , то первую часть пути мы прошли

=============================
часть вторая ...
файл с таким содержимым :
Код: Выделить всё
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<requires lib="gtk+" version="2.16"/>
<!-- interface-requires gladevcp 0.0 -->
<!-- interface-naming-policy project-wide -->
<object class="GtkWindow" id="window1">
<property name="type_hint">combo</property>
<child>
<object class="GtkVBox" id="vbox2">
<property name="visible">True</property>
<child>
<object class="Features" id="features">
<property name="visible">True</property>
</object>
</child>
</object>
</child>
</object>
</interface>
сохраняем в папке со своей конфигурацией например как name.ui
затем в ini файле в разделе [DISPLAY] пропишем :
GLADEVCP = name.ui
запускаем емс:
Re: LinuxCNC Features - набор мастеров для LinuxCNC
Добавлено: 22 июн 2013, 16:05
tooshka
nkp писал(а):запускаем емс, затем запускаем features из терминала строкой:
python features.py --ini=<путь к ini LinuxCNC>
А нельзя как то прицепить запуск мастера к кнопке в ЛСНС???
Блин теперь еще все страшнее стало)))
)))думаю до Нового года разберусь)))
Re: LinuxCNC Features - набор мастеров для LinuxCNC
Добавлено: 22 июн 2013, 16:17
nkp
tooshka писал(а):А нельзя как то прицепить запуск мастера к кнопке в ЛСНС???
я себе сделал файлик с командой запуска, на него кнопочку,кнопочку в трей
все более менее удобно и быстро
вот хотел дописать этот маленький талмудик и испросить в теме по скриптам про объеденение двух команд
когда я пишу в скрипте запустить сначала емс , а потом features - то емс запускается , и лишь когда закрывается - позволяет запустить нашу прогу:
Код: Выделить всё
#!/bin/bash
linuxcnc /home/nkp/linuxcnc/configs/Sherline3Axis/Sherline3Axis_mm.ini
cd /home/nkp/linuxcnc-features-master
python features.py --ini=/home/nkp/linuxcnc/configs/Sherline3Axis/Sherline3Axis_mm.ini
надо
UAVpilot поспрохать - пусть надоумит

Re: LinuxCNC Features - набор мастеров для LinuxCNC
Добавлено: 22 июн 2013, 16:21
tooshka
Виндозомби типа меня это почти невозможно осилить. Приведет к перегреву ЦП и "палата №6" )))
Re: LinuxCNC Features - набор мастеров для LinuxCNC
Добавлено: 22 июн 2013, 16:21
nkp
tooshka писал(а):)))думаю до Нового года разберусь)))
выделенное синим шрифтом - дополнительный материал(как в школе

)
основной контекст - "вставка" Features непосредственно в LinuxCNC
тогда ничего дополнительно делать не придется - запускаем Lcnc и справа у нас панелька с Features.
Re: LinuxCNC Features - набор мастеров для LinuxCNC
Добавлено: 23 июн 2013, 15:57
nkp
вот такой прием , когда нужно дополнить строку:
G-код G <здесь ставим 2 или 3>
мне кажеться , гораздо удобней радиокнопка :
дуга по часовой____________☺
дуга против часовой________☻
в NGCGUI тоже было так : охлаждение ставить 8 или 9
потом сделали чекбокс:
это гораздо интуитивней воспринимается...
Re: LinuxCNC Features - набор мастеров для LinuxCNC
Добавлено: 24 июн 2013, 10:05
Nick
С радиокнопками пока засада - сейчас все делается через gtk-шный компонент treeview, в нем есть колонки, в колонках за интерфейс отвечает CellRenderer. Так вот сейчас там стоит CellRenderer text, чтобы поставить другой - надо делать отдельную колонку и в нее добавлять другой cellrenderer или писать свой... С наскоку у меня это не получилось... поставим на будущее.
За инструкцию респект!

Re: LinuxCNC Features - набор мастеров для LinuxCNC
Добавлено: 24 июн 2013, 11:02
Алексс
Nick писал(а):поставим на будущее.
и выпадающий список наверно не помешает на будущее...
Re: LinuxCNC Features - набор мастеров для LinuxCNC
Добавлено: 24 июн 2013, 11:32
Nick
Да, надо бы сделать под все типы - список, int и float - spinbox, radio buttons и чекбоксы...
Еще была мысль завязать параметры между собой, чтобы можно было вводить один параметр, а остальные сами подстраивались... только пока не знаю как бы это так по проще и по универсальнее сделать...
Re: LinuxCNC Features - набор мастеров для LinuxCNC
Добавлено: 24 июн 2013, 15:53
Nick
Кстати, а можно ли как нибудь добавить дополнительную отрисовку в гремлин, чтобы например изобразить начальный кусок материала? Может есть что-то такое?