Dale,
Is there a particular reason you don’t want to use the IF statements?
You don’t need to have a IF statement for every drill size. If you are going to use the same chip and SF regardless of drill size but want to change it based on material and tool type you set up for it accordingly. First off I would combine the drill type and material into 1 number if it is feasible for you. M8620=(8620 material using HSS). M8621=(8620 material using carbide). M5210=(5210 material using HSS). M5211=(5210 material using carbide).
IF[#13EQ8620]GOTO1
IF[#13EQ8621]GOTO2
IF[#13EQ5210]GOTO3
IF[#13EQ5211]GOTO4
N1
…Calculate SF for 8620 HSS
GOTO50
N2
…Calculate SF for 8620 carbide
GOTO50
N3
…Calculate SF for 5210 HSS
GOTO50
N4
…Calculate SF for 5210 carbide
N50
….
Now you can add to list if more material comes into play.
***
Now if you really want to get creative and not use this way you can set it up as I do with all of my speeds and feeds. It is the same concept but a little different. You will probably like this as you get to play with setting up custom codes. This works really slick.
In your situation I would create a list on paper that sets a number to all the material and drill styles. Then in your macro call set M to which number you want to use.
1=8620 material with HSS
2=8620 material with carbide
3=5210 material with HSS
4=5210 material with carbide.
Now set up a speed and feed program say 7000 and put the S&F in there based on number. Then set up a custom G500 to call program 9014. Now in the beginning of your sub for drilling just do a M98P7000.
Ok say you set M3 in your macro call. Now in the first line it makes a sub call to 9014 because of your G500 code but it also makes #9=1.3 and #19=600. In the 9014 if #13(=3) is equal to #4114 which is your modal N which the first one is N1. it will jump to N1 set your F&S then end the program returning to 7000 but going to N999 and ending that as well. However #13 is 3 so it is not equal to the modal N. so it will end 9014 and return to the N2 block and do the same thing. This will continue until you reach N3 of 7000 which is what you want based off M3. IOW these 2 programs will bounce back and forth until it reaches the S&F you designated with your M value in your macro call.
O7000(S&F program)
N1G500F1.3S600
N2G500F1.1S400
N3G500F2.2S800
N4G500F1.8S700
N999M99
O9014(gather S&F)
IF[#13EQ#4114]GOTO1
M99
N1F#9S#19
M99P999
Your drill sub will use M3S#19. G1F#9. Which you don’t really need to do. Since your F&S are already modal and set all you have to do is give a M3 and G1 anywhere you want in your program.
Did I get way to deep

?
Stevo