This is the closest i have to threading with macro.

Maybe someone can do a better one or maybe improve this one.

You need to modify the numbers based on you machine.

Have added all my macros in the attachment that I made for my needs. Hope they help some.

Macrko:

[Thread RIGHT]
G1 G91 F1000

#Pitch = 1
#Length = 1
#Cut = 0
#Slots = 1
#Clear = 1
#Feed = 10000
#Rappidfeed = 10000

%Inputs, Enter the following data, Pitch in mm, #Pitch, Length of slots in mm, #Length, Cut IN, #Cut, Number of slots, #Slots, Clearence, #Clear, Feed, #Feed, Rappid feed, #Rappidfeed

#Ymax = #Length
#Ymax / #Pitch
#Ymax * 360

#Index = 0
#Index / #Slots

while(#Slots> 0)
{
M0
G91
G1 X-#Cut F#Feed
G1 Y#Ymax Z-#Length F#Feed
G0 X#Clear
G0 Y-#Ymax Z#Length
G0 Y#Index
G0 X-#Clear


#Slots-1
}
M2