Страница 18 из 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
Добавлено: 17 мар 2014, 11:53
Nick
Остается самый главный вопрос, выполянется ли скритп M100 при предпросмотре, или только при выполнении программы?
Re: LinuxCNC Features - набор мастеров для LinuxCNC
Добавлено: 17 мар 2014, 11:59
Сергей Саныч
У меня через М100 делаются запросы оператору. Судя по тому, что при предпросмотре никаких запросов нет - не выполняется.
Re: LinuxCNC Features - набор мастеров для LinuxCNC
Добавлено: 17 мар 2014, 12:18
Nick
хммм... хреново... надо что-то придумывать...
Re: LinuxCNC Features - набор мастеров для LinuxCNC
Добавлено: 17 мар 2014, 12:35
Сергей Саныч
я больше скажу, похоже, при предпросмотре M-коды вообще никакие не выполняются. M0 и M1 - так уж точно.
Re: LinuxCNC Features - набор мастеров для LinuxCNC
Добавлено: 17 мар 2014, 13:32
Nick
надо поковырять код предпросмотрщика....
кто занет, где он находится? Там же где и интерпретатор?
ЗЫ вроде была какая-то фишка по интеграции питона в Gкод... может оно сработает?
Re: LinuxCNC Features - набор мастеров для LinuxCNC
Добавлено: 17 мар 2014, 15:31
Nick
Ага!
http://www.linuxcnc.org/docs/devel/html ... atements_a
есть такая крутая конструкция, в 2.6-pre работает:
В предпросмотре работает! Живем, можно писать враппер!

только теперь надо придумать, как ей параметры запихать

Re: LinuxCNC Features - набор мастеров для LinuxCNC
Добавлено: 17 мар 2014, 15:59
Nick
Точно, все работает:
Код: Выделить всё
#<x>=1
#<y>=1
;py,import interpreter
;py,print "x=",interpreter.this.params["x"]
;py,print "y=",interpreter.this.params["y"]
o100 if [1 eq 2]
#<x>=10
o100 endif
o101 if [2 eq 2]
#<y>=10
o101 endif
;py,print "x=",interpreter.this.params["x"]
;py,print "y=",interpreter.this.params["y"]
воводит
Re: LinuxCNC Features - набор мастеров для LinuxCNC
Добавлено: 17 мар 2014, 16:00
Nick
aaleksander, давай обсуждать интерфейс общения
Или у тебя можно просто импортнуть библиотеку, и потом писать на питоне?
Re: LinuxCNC Features - набор мастеров для LinuxCNC
Добавлено: 17 мар 2014, 16:46
aaleksander
Nick писал(а):aaleksander, давай обсуждать интерфейс общения
Или у тебя можно просто импортнуть библиотеку, и потом писать на питоне?
Ну да. Ради этого все и затевалось:
Попробуй, например, для
последней версии небольшой скрипт (он есть в гите, "text.py" называется).
Если в LCNC откроется, то можно пробовать впихнуть в features.
Код: Выделить всё
from py2gcode import *
from py2gcode.Fonts import arial
sz = 5
def f():
G0(0, 0, sz)
font = get_font("arial")
t = TextTrajectory(font, "Проба текста")
t.grav(0, 0, 0, sz, 500, 2.8) #0.4
G0(Z=sz)
export(f)
Re: LinuxCNC Features - набор мастеров для LinuxCNC
Добавлено: 17 мар 2014, 16:59
aaleksander
А вот такая штука прокатит?
Код: Выделить всё
#<m>=;py, 3 + 2
;py,import interpreter
;py,print "m=",interpreter.this.params["m"]
Re: LinuxCNC Features - набор мастеров для LinuxCNC
Добавлено: 17 мар 2014, 17:38
Nick
aaleksander писал(а):#<m>=;py, 3 + 2
Напрямую это не работает...
Хотя интересно... надо по больше почитать....
Re: LinuxCNC Features - набор мастеров для LinuxCNC
Добавлено: 17 мар 2014, 17:48
Nick
Вот так работает:
Код: Выделить всё
;py,interpreter.this.params['m'] = 3+2
(DEBUG, #<m>)
К этому можно приписать:
Код: Выделить всё
O<get_gcode> SUB
#<return> = 0
O<get_gcode_while> WHILE [#<return> NE 1]
(тут читаем строку в питоне и парсим ее на параметры #<read_n> и если строка посделняя делаем #<return>=1 )
(И потом выполняем)
G#<read_01> X#<read_02> Y#<read_03> (...)
O<get_gcode_while> ENDWHILE
O<get_gcode> ENDSUB
Re: LinuxCNC Features - набор мастеров для LinuxCNC
Добавлено: 24 мар 2014, 13:29
going
Встроил features в linuxcnc-2.5.3. Запускается. Вроде бы код экспортирует в linuxcnc , а картинка кода не видна.
Подскажите пожалуйста где искать проблему.
Re: LinuxCNC Features - набор мастеров для LinuxCNC
Добавлено: 24 мар 2014, 14:38
Nick
Я так понимаю, что у тебя только Circular Array - он не делает обработку, а просто расставляет готовые элементы по кругу. Поэтому на картинке ничего нет.
Добавь обработку круга, или квадрата и увидишь.
Re: LinuxCNC Features - набор мастеров для LinuxCNC
Добавлено: 24 мар 2014, 19:46
going
Nick писал(а):Добавь обработку круга, или квадрата и увидишь.
Если добавить ошибки сыпать начинает. Чего то я не то сотворил.
Источником у меня был
https://github.com/cnc-club/linuxcnc-fe ... master.zip
там давненько ничего не обновлялось.
Re: LinuxCNC Features - набор мастеров для LinuxCNC
Добавлено: 24 мар 2014, 23:58
Nick
хмм.... бум проверять смотреть....
Re: LinuxCNC Features - набор мастеров для LinuxCNC
Добавлено: 26 мар 2014, 10:18
going
Получилось только с этим. Но странно. Меняешь угол, а меняется размер.

- угол 20

- угол40
когда приводил в соответствие места проживания файлов в ../subroutines/catalogs/late.xml и ..../mill.xml и их реального расположения в папках,
переместил некоторые в другие места. Может это не корректно?
Попробую наоборот исправить в в ../subroutines/catalogs/late.xml и ..../mill.xml
У кого работает можете поделиться выводом команды diff -r linuxcnc-features-master/ linuxcnc-features-custom/ >file.txt ?
linuxcnc-features-master это вот здесь живёт
https://github.com/cnc-club/linuxcnc-fe ... master.zip
Re: LinuxCNC Features - набор мастеров для LinuxCNC
Добавлено: 26 мар 2014, 22:11
going
"Дело было не в бабине."
Результат:
только это рисует, а при запуске выдаёт:
Код: Выделить всё
Starting LinuxCNC...
(gladevcp:3587): libglade-WARNING **: Expected <glade-interface>. Got <interface>.
(gladevcp:3587): libglade-WARNING **: did not finish in PARSER_FINISH state
**** GLADE VCP INFO: Not a libglade project, trying to load as a GTK builder project
Xlib.protocol.request.QueryExtension
Xlib.protocol.request.QueryExtension
Внёс вот эти изменения:
Код: Выделить всё
Только в linuxcnc-features-custom/: features.ui
diff -U 2 -r linuxcnc-features-custom/subroutines/catalogs/mill.xml linuxcnc-features-master/subroutines/catalogs/mill.xml
--- linuxcnc-features-custom/subroutines/catalogs/mill.xml 2014-03-26 22:03:46.000000000 +0400
+++ linuxcnc-features-master/subroutines/catalogs/mill.xml 2013-12-12 11:19:01.000000000 +0400
@@ -2,6 +2,6 @@
<group name="Cutting" icon="images/rect.png">
<group name="Rectangles" icon="images/rect.png">
- <sub name="Rectangle" icon="images/rect-corner.png" src="mill/rect.ini"/>
- <sub name="Rectangle from Center" icon="images/center-rect.png" src="mill/rect-center.ini"/>
+ <sub name="Rectangle" icon="images/rect-corner.png" src="rect.ini"/>
+ <sub name="Rectangle from Center" icon="images/center-rect.png" src="rect-center.ini"/>
</group>
@@ -22,5 +22,5 @@
<group name="Grouping" icon="images/array.png">
- <sub name="Group" icon="images/group.png" src="group.ini"/>
+ <sub name="Group" icon="images/group.png" src="mill/group.ini"/>
<sub name="Array" icon="images/array.png" src="mill/array.ini"/>
<sub name="Circular array" icon="images/circular-array.png" src="mill/circular-array.ini"/>
@@ -31,4 +31,5 @@
<sub name="Tool" icon="images/mill-tool.png" src="set-tool.ini"/>
<sub name="Set cuting params" icon="images/tool.png" src="mill/set-cutting-params.ini"/>
+ <sub name="Measure tool length" icon="images/probe-tool-l.png" src="probe-tool-l.ini"/>
<sub name="Measure tool diameter" icon="images/probe-tool-d.png" src="probe-tool-d.ini"/>
<sub name="Set tool probing params" icon="images/tool-probe.png" src="set-tool-probing-params.ini"/>
@@ -36,5 +37,5 @@
<group name="Gcode" icon="images/gcode.png">
- <sub name="Custom Gcode" src="gcode/gcode.ini" icon="images/gcode.png"/>
+ <sub name="Custom Gcode" src="gcode.ini" icon="images/gcode.png"/>
</group>
@@ -43,5 +44,5 @@
<sub name="Probe hole" src="probe-hole.ini" icon="images/probe-hole.png"/>
<sub name="Probe cube" src="probe-cube.ini" icon="images/probe-cube.png"/>
- <sub name="Set probing params" icon="images/probe.png" src="mill/set-probing-params.ini"/>
+ <sub name="Set probing params" icon="images/probe.png" src="set-probing-params.ini"/>
</group>
</xml>
Re: LinuxCNC Features - набор мастеров для LinuxCNC
Добавлено: 07 апр 2014, 22:31
going
Гуру!
Подскажите пожалуйста, что бы это значило.
Код: Выделить всё
Starting LinuxCNC...
(gladevcp:5550): libglade-WARNING **: Expected <glade-interface>. Got <interface>.
(gladevcp:5550): libglade-WARNING **: did not finish in PARSER_FINISH state
**** GLADE VCP INFO: Not a libglade project, trying to load as a GTK builder project
Xlib.protocol.request.QueryExtension
Xlib.protocol.request.QueryExtension
Traceback (most recent call last):
File "/usr/lib/pymodules/python2.6/gladevcp/features.py", line 913, in refresh
f.write(self.to_gcode())
File "/usr/lib/pymodules/python2.6/gladevcp/features.py", line 895, in to_gcode
g,d = self.refresh_recursive(iter)
File "/usr/lib/pymodules/python2.6/gladevcp/features.py", line 872, in refresh_recursive
gcode_def += f.get_definitions()
File "/usr/lib/pymodules/python2.6/gladevcp/features.py", line 257, in get_definitions
s = self.process(self.attr["definitions"])
File "/usr/lib/pymodules/python2.6/gladevcp/features.py", line 327, in process
s = re.sub(r"(?i)(<eval>(.*?)</eval>)", eval_callback, s)
File "/usr/lib/python2.6/re.py", line 151, in sub
return _compile(pattern, 0).sub(repl, string, count)
File "/usr/lib/pymodules/python2.6/gladevcp/features.py", line 290, in eval_callback
return str( eval(m.group(2), {"self":self}) )
File "<string>", line 1, in <module>
File "/usr/lib/pymodules/python2.6/gladevcp/features.py", line 277, in include_once
return self.include(src)
File "/usr/lib/pymodules/python2.6/gladevcp/features.py", line 266, in include
f = open(search_path(SUBROUTINES_PATH,src))
TypeError: coercing to Unicode: need string or buffer, NoneType found
/usr/bin/gladevcp:290: GtkWarning: GdkWindow 0x4e00029 unexpectedly destroyed
gtk.main()
/home/leo/linuxcnc/configs/kkk/features.conf
**** GLADE VCP ERROR: X Protocol Error: 3
Shutting down and cleaning up LinuxCNC...
Cleanup done
Re: LinuxCNC Features - набор мастеров для LinuxCNC
Добавлено: 07 апр 2014, 22:55
Serg
По ошибке свалилось. Вроде такая ошибка бывает если попытаться открыть файл (open()) с пустым именем.
Нужно помнить, что features пока ещё довольно сырая вещь.