
2.USER PROGRAMS FOR DISPLAYING GUIDANCE DRAWING FOR GUIDANCE CUTTING SAMPLE PROGRAM B-63343EN/02
- 166 -
VERT_LEN = WORK_X*W_MUDV;
GOTO 400
/*
/* OBLIQUE LINE.
/*
N300 IF [SET_A NE #0] THEN ; /* SET ANGLE
IF [WORK_X1 NE 0 && WORK_X1 NE #0]GOTO 310
IF [WORK_X2 NE 0 && WORK_X2 NE #0]GOTO 310
IF [WORK_Z1 NE 0 && WORK_Z1 NE #0]GOTO 310
IF [WORK_Z2 NE 0 && WORK_Z2 NE #0]GOTO 310 ;
/*
WORK_SET =-[1/TAN[WORK_A]];
WORK_SET = ATAN[WORK_SET]/[1];
WORK_SIN =-SIN[WORK_SET] * WORK_230 ;
WORK_COS =-COS[WORK_SET] * WORK_230 ;
VERT_LEN = 0 ;
COFI_A = TAN[WORK_A];
COFI_B = -[COFI_A*#5042]+[#5041*WORK_D]
IF [WORK_X1 EQ 0 && WORK_Z1 EQ 0]GOTO 302
IF [WORK_X2 EQ 0 && WORK_Z2 EQ 0] THEN
N302 COFI_B = 0 ;
ENDIF
WORK_SET = WORK_A
GOTO 350 ;
ENDIF;
/*
/* (X1,Z1) AND (X2,Z2)
/*
IF [[WORK_Z2 - WORK_Z1] EQ 0 ]THEN; /* X PARALLEL ?
LINE_KID = 0 ;
GOTO 100 ;
ENDIF;
IF [[WORK_X2 - WORK_X1] EQ 0 ]THEN; /* Z PARALLEL ?
LINE_KID = 1 ;
GOTO 200 ;
ENDIF;
COFI_A = [WORK_X2 - WORK_X1]/[WORK_Z2 - WORK_Z1] ;
COFI_B = -[COFI_A*WORK_Z1] + WORK_X1 ;
GOTO 350 ;
/*
/* (X1,Z1) AND A OR (X2,Z2) AND A
/* OR (X,Z) AND A.
/*
N310 COFI_A = TAN[WORK_A] ;
IF [SET_X1 NE #0]THEN;
IF [SET_Z1 NE #0]THEN;
COFI_B = -[COFI_A*WORK_Z1]+WORK_X1;
GOTO 350
ENDIF;
ENDIF;
IF [SET_X2 NE #0]THEN;
IF [SET_Z2 NE #0]THEN;
COFI_B = -[COFI_A*WORK_Z2]+WORK_X2;
GOTO 350
ENDIF;
ENDIF;
/*
COFI_B = -[COFI_A*#5042]+[#5041*WORK_D]
/*
N350 CROS_Z = -[COFI_B/[1/COFI_A+COFI_A]] ;
CROS_X = -[1/COFI_A]*CROS_Z ;
/*
WORK_SIN=[[CROS_X*WORK_210]/SQRT[CROS_X*CROS_X+CROS_Z*CROS_Z]]*WORK_220
WORK_COS=[[CROS_Z*WORK_210]/SQRT[CROS_X*CROS_X+CROS_Z*CROS_Z]]*WORK_220
VERT_LEN = SQRT[CROS_X*CROS_X+CROS_Z*CROS_Z]*W_MUDV
/*
/*