Страница 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 пока ещё довольно сырая вещь.