
B-63343EN/02 SAMPLE PROGRAM 2.USER PROGRAMS FOR DISPLAYING GUIDANCE DRAWING FOR GUIDANCE CUTTING
- 157 -
G242 X[W_CXPOS+4] Y[W_CYPOS]
G03 X[W_CXPOS+4] Y[W_CYPOS] I[W_CXPOS] J[W_CYPOS] Q4
G206 P11 X[W_CXPOS] Y[W_CYPOS]
M99
/*************************************************************
/* Copyright (C) 1997 by FANUC LTD. ALL rights reserved. *
/*************************************************************
/*
/*$INCLUDE MGSYMBOL.INC /* include file
/*
/*
O1097
G244 P0 ; /* set solid line
W_CXPOS = -40 ; /* offset x pos
W_CYPOS = 168 ; /* offset y pos
CUNT = 0 ; /* counter clear
ASET = 0 ; /* init angle
/* WORK_C = COS[W_TEST] /* for debug
/* WORK_S = SIN[W_TEST] /*
/* W_COS = WORK_C /*
/* W_SIN = WORK_S /*
WHILE [CUNT LT 4] DO 1 ; /* 4 times
DRCT_CUT = 0 ; /* cutter direction
/* set angle
W_COS = WORK_C*COS[ASET]-WORK_S*SIN[ASET] ;
W_SIN = WORK_C*SIN[ASET]+WORK_S*COS[ASET] ;
IF [CUNT EQ 1] THEN ; /*
IF [WORK_ARW EQ 0] THEN ; /* if approach direction «?
G240 P2 ; /* set color green
ELSE ; /*
G240 P5 ; /* set color pink
DRCT_CUT = 1 ; /* set cutter direction
ENDIF ; /*
ENDIF; /*
IF [CUNT EQ 3] THEN ; /*
IF [WORK_ARW EQ 0] THEN ; /* if approach direction «?
G240 P5 ; /* set color pink
DRCT_CUT = 1 ; /* set cutter direction
ELSE ; /*
G240 P2 ; /* set color green
ENDIF ; /*
ENDIF; /*
IF [CUNT EQ 0 || CUNT EQ 2] THEN; /*
G240 P6 ; /* set color light blue
ENDIF;
/* arrow on line
G242 X[48*W_COS+W_CXPOS] Y[48*W_SIN+W_CYPOS]
G01 X[[48-12]*W_COS-[0-6]*W_SIN+W_CXPOS] Y[[48-12]*W_SIN+[0-6]*W_COS+W_CYPOS]
G01 X[[48-12]*W_COS-[0+6]*W_SIN+W_CXPOS] Y[[48-12]*W_SIN+[0+6]*W_COS+W_CYPOS]
G01 X[48*W_COS+W_CXPOS] Y[48*W_SIN+W_CYPOS]
G206 X[[48-5]*W_COS+W_CXPOS] Y[[48-5]*W_SIN+W_CYPOS]
/* 3dot line
G242 X[48*W_COS+W_CXPOS] Y[48*W_SIN+W_CYPOS] ;
G01 X[W_CXPOS] Y[W_CYPOS] ;
G242 X[[48-5]*W_COS+W_CXPOS+1] Y[[48-5]*W_SIN+W_CYPOS] ;
G01 X[W_CXPOS+1] Y[W_CYPOS] ;
G242 X[[48-5]*W_COS+W_CXPOS] Y[[48-5]*W_SIN+W_CYPOS+1] ;
G01 X[W_CXPOS] Y[W_CYPOS+1] ;
G242 X[[48-5]*W_COS+W_CXPOS-1] Y[[48-5]*W_SIN+W_CYPOS] ;
G01 X[W_CXPOS-1] Y[W_CYPOS] ;
G242 X[[48-5]*W_COS+W_CXPOS] Y[[48-5]*W_SIN+W_CYPOS-1] ;
G01 X[W_CXPOS] Y[W_CYPOS-1] ;
/* set handle circle center
W_HDCXP = 40*W_COS-23*W_SIN+W_CXPOS ;
W_HDCYP = 40*W_SIN+23*W_COS+W_CYPOS ;
/* draw handle circle