LinuxCNC Features Описание обработок
Все 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]