
B-63423EN/02 SAMPLE PROGRAM
12. USER PROGRAMS FOR GUIDANCE CUTTING
-569-
GOTO 350
ENDIF
/*
/* (X1,Y1) AND (X2,Y2)
/*
IF [[WORK_Y2 - WORK_Y1] EQ 0 ]THEN /* X PARALLEL ?
LINE_KID = 0
GOTO 100
ENDIF
IF [[WORK_X2 - WORK_X1] EQ 0 ]THEN /* Y PARALLEL ?
LINE_KID = 1
GOTO 200
ENDIF
COFI_A = [WORK_Y2 - WORK_Y1]/[WORK_X2 - WORK_X1]
COFI_B = -[COFI_A*WORK_X1] + WORK_Y1
GOTO 350
/*
/* (X1,Y1) AND A OR (X2,Y2) AND A
/* OR (X,Y) AND A.
/*
N310 COFI_A = TAN[WORK_A]
IF [SET_X1 NE #0]THEN
IF [SET_Y1 NE #0]THEN
COFI_B = -[COFI_A*WORK_X1]+WORK_Y1
GOTO 350
ENDIF
ENDIF
IF [SET_X2 NE #0]THEN
IF [SET_Y2 NE #0]THEN
COFI_B = -[COFI_A*WORK_X2]+WORK_Y2
GOTO 350
ENDIF
ENDIF
/*
COFI_B = -[COFI_A*W_POS1]+W_POS2
/**
N350 CROS_X = -[COFI_B/[1/COFI_A+COFI_A]]
CROS_Y = -[1/COFI_A]*CROS_X
WORK_SIN=[[CROS_Y*WORK_210]/SQRT[CROS_X*CROS_X+CROS_Y*CROS_Y]]*WORK_220
WORK_COS=[[CROS_X*WORK_210]/SQRT[CROS_X*CROS_X+CROS_Y*CROS_Y]]*WORK_220
VERT_LEN = SQRT[CROS_X*CROS_X+CROS_Y*CROS_Y]*W_MUDV
/*
WORK_AMT=1000 /* MM
WORK_MIN=0.0001 /*
IF [#3005 AND 4 EQ 4] THEN /*METRICK THEN
WORK_AMT=10000 /*INCH
WORK_MIN=0.00001 /*
ENDIF /*
/*
IF [ROUND[ABS[CROS_X]*WORK_AMT]/WORK_AMT LT WORK_MIN] THEN
IF [ROUND[ABS[CROS_Y]*WORK_AMT]/WORK_AMT LT WORK_MIN] THEN
IF [WORK_A NE 0 && WORK_A NE #0] GOTO 351
WORK_SET = -1/[[WORK_Y2-WORK_Y1]/[WORK_X2-WORK_X1]]
WORK_SET = ATAN[WORK_SET]/[1]
WORK_SIN = ABS[SIN[WORK_SET]]
WORK_COS = ABS[COS[WORK_SET]]
N354 WORK_SIN = WORK_SIN * WORK_230
WORK_COS = WORK_COS * WORK_230
GOTO 356
N351 WORK_SET = ABS[WORK_A]
WORK_SIN = ABS[COS[WORK_SET]]
WORK_COS = ABS[SIN[WORK_SET]]
N352 WORK_SIN = WORK_SIN * WORK_230
WORK_COS = WORK_COS * WORK_230
/*
N356 VERT_LEN = 0
IF [WORK_A NE 0 && WORK_A NE #0] GOTO 355