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

LinuxCNC Features - набор мастеров для LinuxCNC

Добавлено: 22 май 2013, 18:07
Nick
Снимок-features.ngc - AXIS 2.6.0-pre0-4385-g9c95855 on LinuxCNC-HAL-SIM-AXIS.png (198302 просмотра) <a class='original' href='./download/file.php?id=15468&sid=c3f66d169ca498dd2281853601f84946&mode=view' target=_blank>Загрузить оригинал (153.61 КБ)</a>
Как некоторые уже заметили я пропал на недельку. И пропадал я не зря. Наконец-то решил сделать достойную замену ngcgui.
LinuxCNC Features это тулкит для создания "мастеров". Точнее это тулкит самих "мастеров". В общем и целом LinuxCNC Features работает схоже с ngcgui, но с некоторыми отличиями. Честно говоря, с ngcgui я до конца так и не разобрался, поэтому это я считаю, что он работает схоже :freak:. (Название Features взято от кнопки в ngcgui - add feature.)
В wiki cnc-club добавлена страница о LinuxCNC Features, давайте вместе ее наполнять документацией, видео и прочими полезными материалами.
http://cnc-club.ru/wiki/index.php/LinuxCNC_Features

Текущий статус разработки

  • Дописать обработки.
  • Отловить баги :freak: .
Возможности (для просмотра содержимого нажмите на ссылку)
Что может LinuxCNC Features:
  1. Добавлять features - простые обработки
  2. Менять их порядок
  3. Группировать обработки
  4. Делать линейные и круговые массивы
  5. Встраиваться в axis LinuxCNC или работать как отдельной приложение
  6. Просматривать резултьтат в axis в редиме реального времени
  7. Сохранять шаблоны обработок
Это только пока :).
Установка (для просмотра содержимого нажмите на ссылку)
Скриншоты (для просмотра содержимого нажмите на ссылку)
Пара примеров обработки, созданной за 20 сек:
LinuxCNC-Features1.png (198591 просмотр) <a class='original' href='./download/file.php?id=14825&sid=c3f66d169ca498dd2281853601f84946&mode=view' target=_blank>Загрузить оригинал (158.39 КБ)</a>
LinuxCNC-Features.png (198591 просмотр) <a class='original' href='./download/file.php?id=14826&sid=c3f66d169ca498dd2281853601f84946&mode=view' target=_blank>Загрузить оригинал (166.41 КБ)</a>

Скрины предыдущих версий

Саме начало
LinuxCNC Features.png (198595 просмотров) <a class='original' href='./download/file.php?id=14824&sid=c3f66d169ca498dd2281853601f84946&mode=view' target=_blank>Загрузить оригинал (68.04 КБ)</a>
Описание обработок - features (для просмотра содержимого нажмите на ссылку)

Описание обработок - features


См в wiki: http://cnc-club.ru/wiki/index.php/Linux ... 0%BE%D0%BA

Re: LinuxCNC Features - набор мастеров для LinuxCNC

Добавлено: 22 май 2013, 19:18
aftaev
Что то красЯвое у ЕМС появилось :good: Nick нужно присвоить медальку :beer_blow:

Nick, нужЁн еще описание как такое самому делать :eat:

Re: LinuxCNC Features - набор мастеров для LinuxCNC

Добавлено: 23 май 2013, 09:45
Nick
Главное его к LinuxCNC прикрутить, ну и до конца допилить. :)

Re: LinuxCNC Features - набор мастеров для LinuxCNC

Добавлено: 23 май 2013, 12:29
Nick
Во, видео сделал
https://www.youtube.com/watch?v=x7lQTTjvFXc

Re: LinuxCNC Features - набор мастеров для LinuxCNC

Добавлено: 23 май 2013, 13:07
Тандем
А что должно получиться в итоге? Удобный мастер для генерации программы по чертежу? Например, выбрать два потая и вырезать прямоугольник там-то там-то такой-то глубиной? Полторы минуты, и программа готова?

Re: LinuxCNC Features - набор мастеров для LinuxCNC

Добавлено: 23 май 2013, 13:15
Nick
Да. Оно самое.

Re: LinuxCNC Features - набор мастеров для LinuxCNC

Добавлено: 23 май 2013, 13:45
Тандем
Крайне необходимая вещь. Но, мне кажется, нужен намного более глубокий подход.
Опишу на примерах
- Вот сделали мы надцать потаев радиусом 10. Но толку, ведь мы работаем фрезой. Диаметр инструмента не учтён, компенсации нет, программа для использования здесь и сейчас не пригодна.
- Высота безопасного перехода для каждого элемента? А смысл, она должна быть где-то уровнем выше одна для всех.
- Номер системы координат для каждого элемента? Аналогично, не пойму зачем. Мне кажется, работать нужно просто в текущей системе координат, по крайней мере для стандратных 3-ех координатных фрезеров.
- Разбиение траектории на несколько проходов с увеличивающейся глубиной. Самая рутина, нету. (правда предполагаю, планируется в ближайшем будущем))

Re: LinuxCNC Features - набор мастеров для LinuxCNC

Добавлено: 23 май 2013, 20:20
Nick
Тандем писал(а): (правда предполагаю, планируется в ближайшем будущем))
Ага :)

Написал пару обработок по вышеописанному:
1. теперь есть компоненты задания глубины обработки, поверхности, шага заглубления и rappid.
2. есть tool, но в нем из рабочего пока только установка шага заглубления.
3. есть обработка прямоугольника по слоям :)

Надо будет во всех компонентах поменять глубину и все остальные параметры на переменные типа #<_global_depth_step>

Re: LinuxCNC Features - набор мастеров для LinuxCNC

Добавлено: 23 май 2013, 20:21
Nick
хммм... как бы так заставить конфиг парсер не стирать отступы...

Re: LinuxCNC Features - набор мастеров для LinuxCNC

Добавлено: 24 май 2013, 07:00
elephant007
Вещь нужная, я сразу ее применил бы на обработке заготовок после болгарки.
в моем случае сразу отпадает КАМ, из пушки по воробьям больше можно не стрелять.

Re: LinuxCNC Features - набор мастеров для LinuxCNC

Добавлено: 25 май 2013, 23:58
Nick
хмммм какие-то странности с Окодами...
Может это конечно из-за того, что у меня версия LinuxCNC кривая и стоит на 12.10...

В общем ловлю странное поведение при разных о кодах.

Например:
Программа для многослойной обработки прямоугольника
В верху идет SUB multipass ему передается номер подпрограммы sub и параметры обработки.
Так вот, в нем есть цикл while, в котором как раз и вызываются обработки, так вот, если в строке
O#1 CALL [#8] [#9] [#10] [#11] [#12] [#13] [#14] [#15] [#16] [#17] [#18] [#19]
вместо #1 написать #<sub>, который определяется выше в той же процедуре, то вылазит сообщение, что sub не орпеделен...
Попробуйте, может это только у меня?

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

#<_tool_feed> = 100
	(Rectangle sub definition)
	O<multipass> SUB
		#<sub> = #1
		#<depth> = #2
		#<step> = #3
		#<surface> = #4
		#<rappid> = #5
		#<x0> = #6
		#<y0> = #7		
	
		G0 Z#<rappid>
		G0 X#<x0> Y#<y0>
		#<z> = #<surface>
		O<multipass-while> WHILE [#<z> GT #<depth>]
			
			#<z> = [#<z>-#<step>]
			O<multipass-if> IF [#<z> LT #<depth>]
				#<z>=#<depth>
			O<multipass-if> ENDIF 
			F#<_tool_feed>
			G1 Z#<z>	
			(call pass sub with the restof parameters)
			(DEBUG, #<sub>)
			O#<sub> CALL [#8] [#9] [#10] [#11] [#12] [#13] [#14] [#15] [#16] [#17] [#18] [#19]
		
		O<multipass-while> ENDWHILE
	
		G0 Z#<rappid>	
	O<multipass> ENDSUB




(Rectangle sub definition)
#<_spiral-rectangle> = 1000
O#<_spiral-rectangle> sub
	#<cx> = #1
	#<cy> = #2
	#<w>  = #3
	#<h>  = #4
	#<spiral-step> = #5 
	#<a>  = #6

	O<spiral-rectangle-if-0001> IF [#<spiral-step> GT 0.01]
	  	
		#<x1> = [#<cx>-#<w>/2]
		#<x2> = [#<cx>+#<w>/2]
		#<y1> = [#<cy>-#<h>/2]
		#<y2> = [#<cy>+#<h>/2]
		G1 X#<x1> Y#<y1>

		; CW
		O<spiral-rectangle-while> WHILE [1]
		
			G1 X#<x1> Y#<y2>
			#<x1> = [#<x1> + #<spiral-step>]	
			O<spiral-rectangle-if-0002> IF [#<x1> GT #<x2>]
				G1 X[[#<x1>+#<x2>]/2]
				G1 Y[#<y1>]
				O<spiral-rectangle-while> BREAK
			O<spiral-rectangle-if-0002> ENDIF


			G1 X#<x2> Y#<y2>
			#<y2> = [#<y2> - #<spiral-step>]	
			O<spiral-rectangle-if-0003> IF [#<y1> GT #<y2>]
				G0 Y[[#<y1>+#<y2>]/2]
				G0 X[#<x1>]
				O<spiral-rectangle-while> BREAK
			O<spiral-rectangle-if-0003> ENDIF
	
			G1 X#<x2> Y#<y1>
			#<x2> = [#<x2> - #<spiral-step>]	
			O<spiral-rectangle-if-0004> IF [#<x1> GT #<x2>]
				G1 X[[#<x1>+#<x2>]/2]
				G1 Y[#<y1>]
				O<spiral-rectangle-while> BREAK
			O<spiral-rectangle-if-0004> ENDIF
	
			G1 X#<x1> Y#<y1> 
			#<y1> = [#<y1> + #<spiral-step>]	
			O<spiral-rectangle-if-0005> IF [#<y1> GT #<y2>]
				G0 Y[[#<y1>+#<y2>]/2]
				G0 X[#<x2>]
				O<spiral-rectangle-while> BREAK
			O<spiral-rectangle-if-0005> ENDIF
	
		O<spiral-rectangle-while> ENDWHILE

	O<spiral-rectangle-if-0001> ENDIF

O#<_spiral-rectangle> endsub(End definitions)

(Call spiral rectangle sub cX cY w h spiral-step depth depth-step surface rappid)

;					sub				   depth step surf rappid	#x0 #y0 #cx #cy   w    h    [spir-step]
O<multipass> CALL [#<_spiral-rectangle>] [-5.1] [1] [0] [10] 		[5] [2] [1]  [1]  [10] [20] [.1]
  
M02


Re: LinuxCNC Features - набор мастеров для LinuxCNC

Добавлено: 26 май 2013, 00:06
Nick
Блин, даже вот такая комбинация выдает parameter not defined!

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

			#<sub> = #1
			O#<sub> CALL [#8] [#9] [#10] [#11] [#12] [#13] [#14] [#15] [#16] [#17] [#18] [#19]
Как такое может быть? :thinking:

Re: LinuxCNC Features - набор мастеров для LinuxCNC

Добавлено: 26 май 2013, 00:11
nkp
попробуй:

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

#<_tool_feed> = 100
   (Rectangle sub definition)
   O<multipass> SUB
      (#<sub> = #1)
      #<depth> = #2
      #<step> = #3
      #<surface> = #4
      #<rappid> = #5
      #<x0> = #6
      #<y0> = #7   
#1 не с этой строки берётся...

Re: LinuxCNC Features - набор мастеров для LinuxCNC

Добавлено: 26 май 2013, 00:23
Nick
Или вот еще пример:
Убираем RETURN или WHILE и всеработает. А с ними выдает ошибку...

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

O123 sub

	O<200> IF [5 LE 0.01]
		O123 RETURN
	O<200> ENDIF

	O124 WHILE [1]
		O124 BREAK
	O124 ENDWHILE

O123 endsub(End definitions)

M02
Screenshot from.png (30702 просмотра) <a class='original' href='./download/file.php?id=14978&sid=c3f66d169ca498dd2281853601f84946&mode=view' target=_blank>Загрузить оригинал (210.96 КБ)</a>
--------------------------
сейчас попробую, а в чем идея? В каком смысле не с той строки?

Re: LinuxCNC Features - набор мастеров для LinuxCNC

Добавлено: 26 май 2013, 00:27
Nick
Не помогает...

Re: LinuxCNC Features - набор мастеров для LinuxCNC

Добавлено: 28 май 2013, 20:40
nkp
Nick писал(а):Или вот еще пример:
Убираем RETURN или WHILE и всеработает. А с ними выдает ошибку...
наверно логтка в этом есть:
если так как ты написал - то строкой O123 RETURN мы выходим
из подпрограммы о123 (основной) и O125 остается неопределенной...
вот если поменять местами - то это подтверждается:

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

O123 sub
   O125 WHILE [1]
      O125 BREAK
   O125 ENDWHILE
   
   O200 IF [5 LE 0.01]
      O123 RETURN
   O200 ENDIF
O123 endsub
M02

Re: LinuxCNC Features - набор мастеров для LinuxCNC

Добавлено: 28 май 2013, 20:47
nkp
Nick писал(а):хмммм какие-то странности с Окодами... Может это конечно из-за того, что у меня версия LinuxCNC кривая и стоит на 12.10... В общем ловлю странное поведение при разных о кодах.
а откуда код? какой то странный интересный стиль...
да и наверно это часть бОльшей программы (в первом вызове параметры #13-19 явно "на вырост")

Re: LinuxCNC Features - набор мастеров для LinuxCNC

Добавлено: 29 май 2013, 18:52
sandman
Здравсвуй Nick, у меня не получается завести нормально эту программу.
ZIP архив распаковал в /home/xxxx/linuxcnc, при старте выскакивает GUI с кнопками но без картинок, и не могу ничего подгрузить:

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

Warning: problem with image subroutines/icons/dz.png 
Warning: Error while parsing set_depth_step.ini...
'icons/dz.png'
Warning: problem with image subroutines/icons/center.png 
Warning: Error while parsing hexagon.ini...
'icons/center.png'
Warning: problem with image subroutines/icons/dz.png 
Warning: Error while parsing set_rappid.ini...
'icons/dz.png'
Warning: problem with image subroutines/icons/diameter.png 
Warning: Error while parsing set_tool.ini...
'icons/diameter.png'
Warning: problem with image subroutines/icons/rect.png 
Warning: Error while parsing array.ini...
'icons/rect.png'
Warning: problem with image subroutines/icons/dz.png 
Warning: Error while parsing set_surface.ini...
'icons/dz.png'
Warning: problem with image subroutines/icons/rect.png 
Warning: Error while parsing rect-center.ini...
'icons/rect.png'
Warning: problem with image subroutines/icons/rect.png 
Warning: Error while parsing group.ini...
'icons/rect.png'
Warning: problem with image subroutines/icons/dz.png 
Warning: Error while parsing set_depth.ini...
'icons/dz.png'
Warning: problem with image subroutines/icons/rect.png 
Warning: Error while parsing rect_center_step.ini...
'icons/rect.png'
Warning: problem with image subroutines/icons/center.png 
Warning: Error while parsing n-gon.ini...
'icons/center.png'
Warning: problem with image subroutines/icons/rect.png 
Warning: Error while parsing rect.ini...
'icons/rect.png'
Warning: problem with image subroutines/icons/rect.png 
Warning: Error while parsing circular-array.ini...
'icons/rect.png'
Warning: Error while parsing gcode.ini...
Datei »subroutines/icons/gcode.png« konnte nicht geöffnet werden: Datei oder Verzeichnis nicht gefunden
Warning: problem with image subroutines/icons/rect.png 
Warning: Error while parsing circle.ini...
'icons/rect.png'

Re: LinuxCNC Features - набор мастеров для LinuxCNC

Добавлено: 29 май 2013, 19:04
nkp
у меня тоже похоже было...
начал просматривать .png в папках icons , images - после этого все нормализовалось...

Re: LinuxCNC Features - набор мастеров для LinuxCNC

Добавлено: 29 май 2013, 19:13
sandman
В смысле ? Как просматривать, и где?
У меня этот эффект и на компе с 12.04 и на 10.04...