Ciao Marcos80,
io qualche anno fa ho realizzato le macro utilizzando spostamenti incrementali all'interno inserendo così lo spazio identico ad ogni fine carattere. Come dati di input inserivo solo le z di lavoro e svincolo, l'altezza carattere e l'inclinazione della scritta perchè il G52 X Y Z lo uso per la correzione iniziale dello zero pezzo e usando più piazzamenti ed utensili può essere pericoloso modificaro ulteriormente.
Di seguito trovi l'esempio con il carattere 0 che ti può essere di spunto. Considera che queste macro le ho utilizzate in tutte le maniere possibili traducendole per i controlli Fanuc, Yasnak, Okuma, Heidenhain, Siemens.
%
O0999
N1(ORAS S.R.L.)
N2(VIA CAMPO GILLARO 29B SAN CESAREO)
N3G0G55G90G40
N4G52Q2X350.Y20.Z0
N5M45T1
N6M3S5000G0G43H1X0.Y0.Z50.F500
N7#100=5.(Z DI SVINCOLO)
N8#101=3.(Z DI LAVORO)
N9#102=85.(ANGOLO)
N10#103=5.(ALTEZZA CARATTERE)
N11M98P1000
N12M98P1001
N13M98P1002
N14M98P1003
N15M98P1004
N16M98P1005
N17M98P1006
N18M98P1007
N19M98P1008
N20M98P1009
N21G91G30Y0Z0
N22M30
O1000(NUMERO 0)
N1(ORAS S.R.L.)
N2(VIA CAMPO GILLARO 29B SAN CESAREO)
N3#104=[#103*0.3]
N4#105=[#103*0.5]
N5#106=[#104+#105]
N6#107=[#103*0.25]
N7#116=SIN[#102]
N8#117=COS[#102]
N9#108=[#116*#107]
N10#109=[#117*#107]
N11#110=[#117*#105]
N12#111=[#116*#105]
N13#112=[#117*#106]
N14#113=[#116*#106]
N15#118=[#108+#112]
N16#119=[#113-#109]
N17G90G0Z+#100
N18G91X-#108Y+#109
N19G90G1Z+#101
N20G91G3X+#110Y+#111R+#107
N21G01X-#111Y+#110
N22G03X-#110Y-#111R+#107
N23G01X+#111Y-#110
N24G90G00Z+#100
N25G91X+#118Y+#119
N26G90
N27M99
%
Ciao e buon lavoro