
2.USER PROGRAMS FOR DISPLAYING GUIDANCE DRAWING FOR GUIDANCE CUTTING SAMPLE PROGRAM B-63343EN/02
- 148 -
/* line
N050 G242 X-32 Y224
G01 X[-91*COS[45]-32] Y[-91*SIN[45]+224]
/* arrow on arc
N060 G242 X[20*COS[-135]-48] Y[20*SIN[-135]+208]
G01 X[[20-5]*COS[-135]-[0+8]*SIN[-135]-48] Y[[20-5]*SIN[-135]+[0+8]*COS[-135]+208]
G01 X[[20+2]*COS[-135]-[0+8]*SIN[-135]-48] Y[[20+2]*SIN[-135]+[0+8]*COS[-135]+208]
G01 X[20*COS[-135]-48] Y[20*SIN[-135]+208]
G206 P4 X[[20-3]*COS[-135]-[0+5]*SIN[-135]-48] Y[[20-3]*SIN[-135]+[0+5]*COS[-135]+208]
/* arc
N070 G242 X-28 Y208
G02 X[20*COS[-135]-48] Y[20*SIN[-135]+208] I-48 J208 Q1
N080
G240 P0 C11 ; /* color = black
G243 X27 Y1 ('(X1,Z1)') ;
G243 X30 Y5 ('(X2,Z2)') ;
G243 X37 Y3 ('A') ;
M99 P300
/*
/* symbol define
/*
/* $INCLUDE MGSYMBOL.INC
/*
/*
/* WHEN INPUT END WAS DEPRESSED AT CIRCLE MACHINING,
/* THIS PROGRAM IS CALLED.
/*
O1098 SAV_CIRX = X_WRK /* SAVE CENTER X
SAV_CIRZ = Z_WRK /* SAVE CENTER Z
SAV_CIRR = R_WRK /* SAVE R
/*
SIN_CCW = 0 /*
COS_CCW = 0 /*
/*
N100 WORK_AMT=1000 /*
WORK_MIN=0.0001 /*
/* /*
N300 IF [#3005 AND 4 EQ 4] THEN /*
WORK_AMT=10000 /*
WORK_MIN=0.00001 /*
ENDIF /*
M99
/*
/* circle cutting main program
/*
O1092 X_WRK = SAV_CIRX /* transfer center X data
Z_WRK = SAV_CIRZ /* transfer center Z data
R_WRK = SAV_CIRR /* transfer radius r data
/*
/* draw graphic data
/*
N100 WRK_VAR2= #5042-RN_DZ /*Z actual position
WRK_VAR = #5041-RN_DX /*X actual position
/*
WRK_VAR2= WRK_VAR2-Z_WRK /* dZ
WRK_VAR = WRK_VAR-X_WRK /* dX
/*
N200 L_WRK= SQRT[WRK_VAR2*WRK_VAR2+WRK_VAR*WRK_VAR ]; /* calculate distance from center
(dx*dx+dy*dy)**1/2
/*
N300 IF [[ABS[WRK_VAR2]] LT WORK_MIN && [ABS[WRK_VAR]] LT WORK_MIN]THEN
/*
IF [ SIN_CCW NE 0 || COS_CCW NE 0 ] THEN ;
WRK_VAR= SIN_CCW ; /* set before sin
WRK_VAR2= COS_CCW ; /* set before cos
ELSE ;
WRK_VAR= 0 ; /* set default sin data