SO.....I posted a problem the other day stating that I had a 1600 line program that I wanted to scale and my machine was throwing an error.

Turns out the error Spec Code 7 means you don't have that option on your machine. I knew the company wasn't going to spring the money to enable an option on a 17 year old machine so I decided to make my own workaround.

I already use G111 as my tool change code to enable continuous tool queuing while still machining so I couldn't do things exactly how I wanted, but you can use any macro code from G111 to G120

I store these as .ssb so they can be accessed from any program but I imagine they can be loaded into your .lib file as well.

I used G112 (OARC2) for G02, G113 (OARC3) for G03, G114 (OLINE) for G01, and G115 (ORAPD) for G00.

Stating an L value changes the scaling. I programmed it to be able to keep the L for as long as you want in the program stored into the VC1 variable so an L doesn't have to be entered into every line, but you can always change that to suit your own needs.

A small example:

IF [VATOL EQ 21]N1
G111 T21 (.1875 BNEM)
N1 G00 G90 G15 H25 X.8979 Y.5937
M03 S8000
G56 H21 Z.1
VC2= 32. (DOWN FEED)
VC3= 160. (SIDE FEED)
G114 Z-.09 F=VC2 L2. (L= SCALE FACTOR)
G114 X1.8099 Y3.1794 F=VC3
G114 X.5937
G114 X.8226 Y3.5558
G114 X2.2402
G112 X2.4475 Y3.2672 R.2188
G114 X1.7532 Y1.2056
G114 X4.3296 Y3.5558
G114 X4.7449
G114 X3.0537 Y2.0524
G114 X3.0125 Y1.9289
G114 X3.3318
G112 X3.5383 Y1.6378 R.2188
G114 X3.2324 Y.7642
G114 X4.1433
G112 X3.8124 Y.5937 R.4063
G114 X2.7843
G112 X2.636 Y.7994 R.1563
G114 X3.0125 Y1.9289
G114 X2.915
G114 X1.5667 Y.7285
G112 X1.2131 Y.5937 R.5313
G114 X.8979
G114 X.9261 Y.6137 Z-.105
G114 X1.8381 Y3.1994
G114 X.6292
G114 X.8338 Y3.5358
G114 X2.2402
G112 X2.4286 Y3.2736 R.1988
G114 X1.7096 Y1.1388
G114 X4.3373 Y3.5358
G114 X4.6923
G114 X3.0364 Y2.0638
G114 X2.9981 Y1.9489
G114 X2.9074
G114 X1.5534 Y.7434
G112 X1.2131 Y.6137 R.5113
G114 X.9261
G00 Z20.
X-15. Y20.
M02

I hope this helps someone as it has already helped me immensely! It also makes it easy to change programs in notepad by doing ctrl+H and replacing any G01 with G114!

Please let me know if you have any questions or advice on how to better implement these macros.

Thanks!