Creating Subroutines Called by G Functions
en-938872/2 5 - 11
5
IF [PLANT]<>0 THEN
IF [.BG20]=1 THEN @Y=X @X=Z @J=I @I=K
ELSE @Y=Y @X=X @J=J @I=I
ENDI
IF [diam]=1 THEN [multi]=2
For turning by diameter (x2)
ENDI
ELSE
E11005=0
IF [.BG17]=1 THEN @Y=Y @X=X @J=J @I=
ELSE
IF [.BG18]=1 THEN @Y=X @X=Z @J=I @I=K
Address equivalence for milling
ELSE
@Y=Z @X=Y @J=K @I=J
ENDI
ENDI
ENDI
[axis1]= [TAB(3,NB)]
*
[multi] [axis2] [TAB(2,NB)]
Profile start point equal
to end point
G1 GL943 @Y [axis1] @X [axis2]
G998
FOR [NBLOC]=[NB] DOWNTO 2 DO
[G]=[TAB(1,NBLOC)]
IF [G]=0 THEN [G]=1
ELSE
IF [G]=-1 THEN [G]=3
Loop until the
ELSE [G]=2
profile is finished
ENDI
ENDI
[axis1]=[TAB(7,NBLOC)]
*
[multi][axis2]=[TAB(6,NBLOC)]
[centre1]=[TAB(5,NBLOC)]
*
[multi][centre2]=[TAB(4,NBLOC)]
G[G] @Y[axis1] @X [axis2] @J[centre1] @I[centre2]
ENDF
ELSE
G1 GL943 G77 H[H] N[N1] N[N2]
Execution of forward profile
ENDI
N9900 G80
E11005=[diam]
Programming by diameter or radius as
defined at the beginning restored