LinuxCNC Features Описание обработок

Материал из cnc-club
Перейти к: навигация, поиск

Все features записаны в виде файлов ini.

Описание ini, на примере обработки прямоугольника:

Обработка SUBROUTINE

[SUBROUTINE]
icon = icons/rect.svg
name = Rectangle from center
image = images/simp.png
type = Center rect
help = 	<big>Creates rectangle from center<big>
		cX cY W H

SUBROUTINE - главный раздел описывающий обработку. icon - иконка для обработки в дереве. name - название image - картинка с пояснениями type - тип обработки - уникальное название, будет использоваться в Gкоде help - помощь по обработке, показывается вместе с картинкой, можно использовать тэги pango - <big><b><u><i>...

Описание параметров PARAM

[PARAM_1]
name = cX
type = float
icon = icons/rect.svg
tool_tip = X of center point 
value = 10

PARAM_0 - Название параметра должно быть уникально! name - имя - отображается в редакторе type - пока не используется, но лучше записать - float,int,string,bool icon - иконка tool_tip - помощь по параметру value = значение по умолчанию call - если задан, то будет маской замены при генерации Gкода, по умолчанию равен id параметра - param_*. В Gкоде все вхождения типа #param_0 будут заменены значением параметра.


Заголовки - DEFINITIONS

[DEFINITIONS]
content = 
	(Rectangle sub definition)
	O<center-rect> sub
		#<cx> = #1    
		#<cy> = #2
		#<w>  = #3 
		#<h>  = #4
		#<depth>  = #5
		#<rappid>  = #6
		#<x0> = [#<cx>-#<w>/2]
		#<y0> = [#<cy>-#<h>/2]
		 
		G0 Z#<rappid>
		G0 X#<x0> Y#<y0>
		G1 Z#<depth>	
		G1 X[#<x0>+#<w>]
		G1 Y[#<x0>+#<h>]
		G1 X[#<x0>]
 		G1 Y[#<y0>]
		G0 Z#<rappid>
	O<center-rect> endsub

Defenitions - заголовок обработки. Помещается в Gкод в самый верх, добавляется только 1 раз для данного типа обработки. Сюда нужно записывать, например, объявления процедур OSUB

Вызов обработки - CALL

[CALL]
content = 
	 (Call rectangle sub x0 y0 w h depth rappid)
	 O<center-rect> CALL [#param_1] [#param_2] [#param_3] [#param_4] [#param_5] [#param_6][/code]

CALL - строки вызова обработки.

Вызов обработки префикс - BEFORE

[BEFORE]
content = 

Вызов обработки суффикс - AFTER

[AFTER]
content = 

BEFORE и AFTER - строки которые будут вызываться перед и после обработки - используются в Массивах - в них можно записать O REPEAT и ENDREPEAT.

Синтаксис ini: все многострочные параметры записываются с отступом - все что имеет отступ будет внутри много строчного параметра (см DEFENITIONS).

В итоге Gкод будет примерно таким:

(Rectangle sub definition)
O<rectangle> sub
	#<x0> = #1
	#<y0> = #2
	#<w>  = #3
	#<h>  = #4
	#<depth>  = #5
	#<rappid>  = #6
	G0 Z#<rappid>
	G0 X#<x0> Y#<y0>
	G1 Z#<depth>
	G1 X[#<x0>+#<w>]
	G1 Y[#<x0>+#<h>]
	G1 X[#<x0>]
	G1 Y[#<y0>]
	G0 Z#<rappid>
O<rectangle> endsub
(End definitions)
 
(Call rectangle sub x0 y0 w h depth rappid)
O<rectangle> CALL [0] [0] [4] [1] [-1] [5]