подпрограммы в G - коды

Катерина

Здраствуйте, все!

Вопрос следующий: хочу сделать несколько одинаковых квадратов только в разных местах, например, в точке с координатами x0 y0, x-11.7, y11.7, x0 y11.7 и т. д. прописывать все ручками лень. Я сделала переход к относительным координатам, когда фрезируются квадраты, а переходы от точки к точке в абсолютных. Но программа получилась очень громоздкой. Хочется более компактную. Пыталась использовать тег P, но че - то не получается. Может кто знает подскажите как куски написанные в относительных координатах переписать с помощью подпрограмм, как ссылаться правильно в программе на подпрограмму и где подпрограммы прописывать, где хранить? Буду очень признательна! Кусок программы следующий:

F30
G71
G01 z-2.0
G91 ( переход к относительным координатам )
G01 x-1 y0
G01 y1
G01 x2
G01 y-2
G01 x-3
G01 y3
G01 x4
G01 y-4
G01 x-5
G01 y5
G01 x6
G01 y-6
G01 x-6
G01 y3
G01 x3
G80 ( завершение цикла )
G90 ( переход к абсолютным координатам )
G00 z2
G00 x-11.7 y11.7
G00 z0
G01 z-0.8
G91
G01 x-1 y0
G01 y1
G01 x2
G01 y-2
G01 x-3
G01 y3
G01 x4
G01 y-4
G01 x-5
G01 y5
G01 x6
G01 y-6
G01 x-6
G01 y3
G01 x3
G80
G90

M00

Creolka

G40 G61 G80 G90
M6 T1
G43 H1
G0 X0 Y0 Z15
Z2 M3
M98 P1
G0 Z5
X-11.7 Y11.7
Z2
M98 P1
G0 Z5
X0 Y11.7
Z2
M98 P1
G0 Z15 M5
M30

O1
G91
G01 Z-2.0 F75
G01 X-10
G01 Y10
G01 X10
G01 Y-10
G0 Z5
G90
M99