Você está na página 1de 603

GE Fanuc Automation Europe

Computer Numerical Controls

Manual Guide for Milling

Programming Manual

B-63423EN/02

TECHNOLOGY AND MORE

SAFETY PRECAUTIONS

B-63423EN/02

SAFETY PRECAUTIONS
This manual includes safety precautions for protecting the user and
preventing damage to the machine. Precautions are classified into
Warnings and Cautions according to their bearing on safety. Also,
supplementary information is described as Notes. Read the Warnings,
Cautions, and Notes thoroughly before attempting to use the machine.

WARNING
Applied when there is a danger of the user being
injured or when there is a danger of both the user
being injured and the equipment being damaged if
the approved procedure is not observed.
CAUTION
Applied when there is a danger of the equipment
being damaged, if the approved procedure is not
observed.
NOTE
Notes are used to indicate supplementary
information other than Warnings and Cautions.
* Read this manual carefully, and store it in a safe place.

s-1

SAFETY PRECAUTIONS

B-63423EN/02

To ensure safety while using a machine featuring the MANUAL


GUIDE function that is made according to this programming manual,
observe the following precautions:

WARNING
On MANUAL GUIDE, after adding a new function
onto it, or modifying its standard function by
modifying the sample programs according to this
programming manual, do no run the machine by
using these new or modified functions immediately.
Instead, confirm every step of the resultant machine
motions, and make sure that the tool path and
machining operation are correct and that the tool will
not strike the work-piece or machine. Before starting
production machining, run the machine with no
work-piece attached to the machine to make sure
that the tool will not strike a work-piece or the
machine. If the tool strikes the machine and/or workpiece, the tool and/or machine may be damaged,
and even injuries the operator.

s-2

TABLE OF CONTENTS

B-63423EN/02

TABLE OF CONTENTS
SAFETY PRECAUTIONS .......................................................................... s-1
I. USER PROGRAM
1

OUTLINE OF USER PROGRAM............................................................3


1.1
1.2

SCOPE OF CUSTOMIZING ..........................................................................3


USABLE SOFTWARE RESOURCE FOR USER PROGRAM .......................4

RESTRICTIONS FOR CUSTOMIZING...................................................5

CREATING LOADING FILES.................................................................6


3.1
3.2

START-UP MACRO PROGRAM..........................................................12


4.1
4.2

SETTING OF PROGRAM NUMBER AND VARIABLE START NUMBER ...12


DEFINITION OF EACH DATA .....................................................................13

COMMENT ON A MANUAL GUIDE SCREEN .....................................15


5.1
5.2
5.3
5.4
5.5
5.6
5.7

MACRO LIBRARY COMPONENTS...............................................................7


PROCEDURE FOR CREATING LOAD MODULES.....................................10

COMMENT IN A TITLE BAR .......................................................................16


COMMENT IN A STATUS INDICATOR WINDOW......................................17
COMMENT IN A WORK COORDINATE SYSTEM WINDOW.....................18
COMMENT IN A TOOL OFFSET WINDOW ...............................................19
COMMENT IN A PROGRAM LIST WINDOW .............................................20
COMMENT IN A GRAPHIC WINDOW ........................................................21
COMMENT IN A GUIDANCE CUTTING WINDOW.....................................23

COMMENT OF SOFT-KEYS FOR EACH MENU .................................25


6.1
6.2
6.3
6.4
6.5
6.6
6.7
6.8
6.9
6.10

COMMENT OF SOFT-KEYS IN LARGE CLASSIFIED MENU ....................26


COMMENT OF SOFT-KEYS IN EDIT FUNCTION MENU ..........................27
COMMENT OF SOFT-KEYS IN MEM MENU..............................................29
COMMENT OF SOFT-KEYS IN MDI MENU ...............................................30
COMMENT OF SOFT-KEYS IN HANDLE MENU........................................31
COMMENT OF SOFT-KEYS IN GRAPHIC FUNCTION MENU ..................32
COMMENT OF SOFT-KEYS IN LIST MENU ..............................................34
COMMENT OF SOFT-KEYS IN WRK-CO MENU .......................................35
COMMENT OF SOFT-KEYS IN OFFSET MENU........................................36
COMMENT OF SOFT-KEYS IN CONTOUR PROFILE MENU....................37
c-1

TABLE OF CONTENTS
6.11
6.12
6.13

COMMENT OF INPUT DATA ITEM IN G-CODE MENU .............................45


COMMENT OF INPUT DATA ITEM IN CONTOUR PROFILE MENU .........49
COMMENT OF INPUT DATA ITEM IN CYCLE MOTIONS MENU..............52

DATA STRUCTURE OF MACHINING PROGRAM ..............................56


8.1
8.2

COMMENT OF SOFT-KEYS IN CYCLE MOTIONS MENU ........................39


COMMENT OF SOFT-KEYS IN TEACH MENU..........................................41
COMMENT OF SOFT-KEYS IN CNV NC MENU ........................................43

COMMENT OF INPUT DATA ITEM .....................................................44


7.1
7.2
7.3

B-63423EN/02

DATA ATTRIBUTE ......................................................................................57


DETAIL OF DATA ATTRIBUTE...................................................................60

USER PROGRAMS FOR DISPLAYING GUIDANCE DRAWING


FIGURE ................................................................................................62
9.1
9.2
9.3

G CODES FOR DRAWING .........................................................................63


CHARACTER COORDINATES SYSTEM AND GRAPHIC COORDINATES
SYSTEM ......................................................................................................65
NOTES ON CREATING GUIDANCE DRAWING FIGURES .......................67

10 USER PROGRAMS FOR CHECKING INPUTTED DATA ....................69


11 USER PROGRAMS FOR EXECUTING MACHINING PROGRAM.......71
12 USER PROGRAMS FOR TOOL CHANGE ..........................................73
13 PMC CUSTOMIZING TOOLS ..............................................................75
13.1
13.2
13.3
13.4
13.5
13.6
13.7
13.8
13.9

SIGNALS FOR USER PROGRAMS CALLING............................................76


CHANGING MODE FOR AUTOMATIC OPERATION AND MACHINING
SIMULATION ...............................................................................................79
CHANGING MODE FOR MANUAL OPERATION .......................................79
CHANGING MODE FOR EDITING OPERATION........................................80
CHANGING MODE FOR MDI OPERATION................................................81
SIGNAL FOR ISO / GUIDE SCREEN CHANGING .....................................82
OPERATION FOR STARTING MACHINING...............................................83
GUIDANCE HANDWHEEL CONTROL SIGNALS .......................................84
MANUAL PULSE BOX CONTROL SIGNALS..............................................87

14 USER WINDOW PROGRAMS .............................................................88


14.1
14.2
14.3

USER WINDOWS ON THE EDITING SCREEN..........................................89


MACRO PROGRAMS AND VARIABLES ....................................................90
MONITORING KEYSTROKES ....................................................................92
c-2

TABLE OF CONTENTS

B-63423EN/02

14.4
14.5
14.6
14.7
14.8

MEMORY STORAGE AND CHANGING TOOLS ........................................93


CHARACTER COORDINATE SYSTEM AND GRAPHIC COORDINATE
SYSTEM ......................................................................................................95
USER WINDOWS ON THE OPERATION SCREEN ...................................97
CHANIGING USER WINDOWS TO SUPPORT CYCLES...........................98
RESTRICTIONS ........................................................................................101

15 DISPLAYING USER-SPECIFIED STRINGS ......................................102


15.1
15.2

EXAMPLE OF DEFINING THE TITLE AS A SEPARATE PROGRAM ......103


PARAMETERS ..........................................................................................104

16 MEASUREMENT CYCLE...................................................................105
16.1
16.2
16.3
16.4
16.5
16.6

STARTUP MACRO PROGRAM ................................................................106


CALIBRATION AND MEASUREMENT CYCLES ......................................107
ATTRIBUTE DATA ....................................................................................110
MACRO PROGRAMS FOR DISPLAYING GUIDANCE DRAWING FIGURES
...................................................................................................................111
MACRO PROGRAMS FOR CHECKING INPUT DATA .............................112
MACRO PROGRAMS FOR EXECUTING CALIBRATION AND
MEASUREMENT CYCLES........................................................................113

II. SAMPL E PROGRAM


1

LIST OF USER PROGRAMS .............................................................117

USER PROGRAMS FOR SYSTEM COMMENT ................................121

USER PROGRAMS FOR G-CODE MENU.........................................128


3.1
3.2
3.3
3.4

USER PROGRAMS FOR CONTOUR PROFILE MENU.....................172


4.1
4.2
4.3
4.4

COMMENTS DEFINITION.........................................................................129
DATA ATTRIBUTE ....................................................................................133
GUIDANCE DRAWING FIGURE ...............................................................138
INPUTTED DATA CHECKING ..................................................................167
COMMENTS DEFINITION.........................................................................173
DATA ATTRIBUTE ....................................................................................176
GUIDANCE DRAWING FIGURE ...............................................................181
INPUTTED DATA CHECKING ..................................................................204

USER PROGRAMS FOR HOLE MACHINING MENU........................207


5.1
5.2

COMMENTS DEFINITION.........................................................................208
DATA ATTRIBUTE ....................................................................................211
c-3

TABLE OF CONTENTS
5.3
5.4

COMMENTS DEFINITION.........................................................................307
DATA ATTRIBUTE ....................................................................................309
GUIDANCE DRAWING FIGURE ...............................................................312
INPUTTED DATA CHECKING ..................................................................329

USER PROGRAMS FOR SIDE CUTTING MENU..............................332


8.1
8.2
8.3
8.4

COMMENTS DEFINITION.........................................................................269
DATA ATTRIBUTE ....................................................................................273
GUIDANCE DRAWING FIGURE ...............................................................279
INPUTTED DATA CHECKING ..................................................................302

USER PROGRAMS FOR FACING MENU .........................................306


7.1
7.2
7.3
7.4

GUIDANCE DRAWING FIGURE ...............................................................214


INPUTTED DATA CHECKING ..................................................................265

USER PROGRAMS FOR HOLE PATTERN MENU ...........................268


6.1
6.2
6.3
6.4

B-63423EN/02

COMMENTS DEFINITION.........................................................................333
DATA ATTRIBUTE ....................................................................................339
GUIDANCE DRAWING FIGURE ...............................................................347
INPUTTED DATA CHECKING ..................................................................383

USER PROGRAMS FOR POCKETING MENU..................................394


9.1
9.2
9.3
9.4

COMMENTS DEFINITION.........................................................................395
DATA ATTRIBUTE ....................................................................................402
GUIDANCE DRAWING FIGURE ...............................................................411
INPUTTED DATA CHECKING ..................................................................447

10 USER PROGRAMS FOR CALIBRATION CYCLE MENU..................459


10.1
10.2
10.3
10.4

COMMENTS DEFINITION.........................................................................460
DATA ATTRIBUTE ....................................................................................462
GUIDANCE DRAWING FIGURE ...............................................................464
INPUTTED DATA CHECKING ..................................................................473

11 USER PROGRAMS FOR MEASURING CYCLE MENU ....................476


11.1
11.2
11.3
11.4

COMMENTS DEFINITION.........................................................................477
DATA ATTRIBUTE ....................................................................................489
GUIDANCE DRAWING FIGURE ...............................................................497
INPUTTED DATA CHECKING ..................................................................553

12 USER PROGRAMS FOR GUIDANCE CUTTING...............................563


12.1
12.2

GUIDANCE DRAWING FIGURE FOR GUIDANCE CUTTING..................564


USER PROGRAMS CALLED BY USER PROGRAM CALLING SIGNALS590
c-4

I. USER PROGRAM

USER PROGRAM

B-63423EN/02

1. OUTLINE OF USER PROGRAM

OUTLINE OF USER PROGRAM


In MANUAL GUIDE, MTB can modify the FANUC standard
specification, and also can make their own features by using Custom
Macro Program.
In order to carry out this modification, the software package named
"User Program for MANUAL GUIDE" is prepared. And, in this
documentation, we call it "User Program" in short.

1.1

SCOPE OF CUSTOMIZING
By using this "User Program", MTB make their own features as
follows.
1)
2)

3)

4)

Comment on a MANUAL GUIDE All-in-one screen


All of the comment can be changed.
Data item of FANUC standard machining menu
Each cycle motions can be changed or newly added.
Data attribute can be changed, and new data item can be
added.
Soft-key menu that has Literal data type can be changed or
newly added.
Pictorial guidance in a Pop-up Window for each data can be
changed or newly added.
MTB's own machining menu
New cycle motions for their machine
Data items for new cycle motions
Literal data type Soft-key menu used for data item for new
cycle motions
Pictorial guidance in a Pop-up Window for each data items for
new cycle motions
PMC customizing tools
20 signals (DI) are prepared for User Program Calling.
ISO/GUIDANCE switch (DI) is prepared for switching these
screens.

-3-

1. OUTLINE OF USER PROGRAM

1.2

USER PROGRAM

B-63423EN/02

USABLE SOFTWARE RESOURCE FOR USER PROGRAM


Since a part of P-code custom macro program and variables are used
for FANUC standard cycle motions already, usable resource of User
Programs are limited as follows.
1)

P-code Program Numbers


O0001 - O5999
O9000 - O9049
O9400 - O9449

NOTE
Beside the above program numbers, some program
numbers such as O6000 -, O7000 - , O8000 - ,
O9050 - O9339 , and O9500 - can be used by User
Programs, but their contents or purpose are fixed by
MANUAL GUIDE system software as described in
this document.
So, these program number cannot be used as MTB
likes.
2) Common Variables
#100 - #149 (#199)
#500 - #531 (#999)
3) P-code Custom Macro Variables
#20000 - #29999

NOTE
P-code Custom Macro Variables #10000- are used
by MANUAL GUIDE system.
So, these P-code custom macro variables cannot be
used
4) Number of G-code
G400 G499

NOTE
Other G codes may be used, but they are reserved
for future extensions in the MANUAL GUIDE.

-4-

USER PROGRAM

B-63423EN/02

2. RESTRICTIONS FOR CUSTOMIZING

RESTRICTIONS FOR CUSTOMIZING


The following part of MANUAL GUIDE cannot be modified by MTB.
1)
2)
3)
4)
5)

6)

7)

Status Indicator Window


Excepting data name comment, the contents of data displayed
in a Status Indicator Window cannot be changed.
Graphic Display Window
Key-in Buffer
Pictorial pattern of soft-keys
Editing Menu
Excepting data name comment and the contents of data items
displayed in each window, menu itself cannot be changed and
newly added.
Contour Menu
Excepting data name comment, the contents of data items
displayed in each window and menu itself, cannot be changed
and newly added.
Hole Machining Menu
Excepting data name comment, the contents of data items
displayed in each window and menu itself, cannot be changed
and newly added. (As to the other menus, it is possible to
modify the contents.)

-5-

3. CREATING LOADING FILES

USER PROGRAM

B-63423EN/02

CREATING LOADING FILES


To enable the use of the MANUAL GUIDE functions, loading files to
write to the FROM must be created from the FANUC-provided macro
library.
The macro library is in source format (text files) or MEM file format
(binary files). After conclusion of a confidentiality contract, the
source-format macro library is provided, which can be customized by
the MTB. If such a contract is not concluded, the object-format macro
library is provided, so that the FANUC standard macros are used
without modification.

-6-

B-63423EN/02

3.1

USER PROGRAM

3. CREATING LOADING FILES

MACRO LIBRARY COMPONENTS


The macro library comes in three floppy disks as shown below.
1) Disk 1:
<1> BJ41.PG1 to BJ41.PG3
Object files used to create a load module file for the MANUAL
GUIDE system (the load module file is hereinafter referred to as a
"MANUAL GUIDE control module")

2) Disk 2:
<1> BJ41.PG4
Object file used to create a MANUAL GUIDE control
module
<2> DUMMY.REL
Object file used to create a MANUAL GUIDE control
module
<3> BJ41.LNK
Link control file used to create a MANUAL GUIDE control
module
<4> M_STUP.SRC
Source file for a macro program that defines the screen
layout (required when the measurement cycle option is
provided)
<5> PROC8.SRC, PROC9.SRC
Source files for macro programs that define the process data
(required when the measurement cycle option is provided)
<6> M_STR*3.SRC, STRING*8.SRC, STRING*9.SRC
Source files for macro programs that define the strings
(required when the measurement cycle option is provided)
<7> FIG8.SRC, FIG9.SRC, FIGSUB8.SRC, FIGSUB9.SRC
Source files for macro programs for guidance drawing
figures (required when the measurement cycle option is
provided)
<8> CHECK8.SRC, CHECK9.SRC
Source files for macro programs for checking input
completion (required when the measurement cycle option is
provided)
<9> MEASURE.SRC
Source file for a macro program for machining macros
(required when the measurement cycle option is provided)
-7-

3. CREATING LOADING FILES

USER PROGRAM

B-63423EN/02

<10>RESULT.SRC
Source file for a sample macro program for displaying
measurement results (required when the measurement cycle
option is provided)
<11>MBJ41_U1.LNK
Sample link control file used to create user module 1 when
the measurement cycle option is provided

NOTE
1 Macro programs for measurement cycles must only
be used with the measurement cycle option, which
should be purchased separately. Without the
option, the programs do not operate normally if they
are linked.
3) Disk 3:
<1> F16IMP1M.MEX
Object file used to create a load module file for the macro
program section of the MANUAL GUIDE (the load module
file is hereinafter referred to as "user module 1")
<2> F16IMP2M.MEX
Object file used to create a load module file for the macro
program section created by the MTB (the load module file
is hereinafter referred to as "user module 2")
<3> STARTUP.SRC
Source file for a macro program that defines the screen
layout
<4> PROC*.SRC
Source file for a macro program that defines the process
data
<5> MACROSTR.SRC, STRING*.SRC
Source files for macro programs that define the strings
<6> FIG*.SRC
Source file for a macro program for guidance drawing
figures
<7> CHECK*.SRC
Source file for a macro program for checking input
completion
<8> COMMON.SRC, HOLE.SRC, H_PTN.SRC, FACE.SRC,
SIDE.SRC, POCKET.SRC, CONTOUR.SRC
Source programs for macro programs for machining macros

-8-

B-63423EN/02

USER PROGRAM

3. CREATING LOADING FILES

<9> GDH_*.SRC
Source file for a macro program for handle machining
<10>BJ41_U1.LNK
Sample link control file used to create user module 1
<11>BJ41_U2.LNK
Sample link control file used to create user module 2
<12>*.DEF
Symbol definition file for macro source programs

NOTE
2 If the same program number exists in user modules
1 and 2, the number (O number) in user module 2 is
given a priority.
3 Compile parameters of modules are prioritized in
the following order: user module 2, user module 1,
and control module.
4 Without the conclusion of the confidentiality
contract, only one floppy disk is provided. The disk
includes compressed file BJ41**.ZIP (where ** is an
edition number) containing BJ41.MEM and
BJ41_U1.MEM.

-9-

3. CREATING LOADING FILES

3.2

USER PROGRAM

B-63423EN/02

PROCEDURE FOR CREATING LOAD MODULES


As the load module, create a MANUAL GUIDE control module and
load it to the NC system. Also create user modules 1 and 2 if
necessary.

NOTE
5 Without the conclusion of the confidentiality
contract, the load module is provided and the steps
below are not required.
1) Creating a MANUAL GUIDE control module (BJ41.MEM)
<1> Execute MLINK to link object files BJ41.PG1 to BJ41.PG4
and DUMMY.REL included in floppy disks 1 and 2.
c:>MLINK BJ41 [Enter]
Once the linking has completed, ROM file BJ41.ROM is
created. The files to be referenced during the linking must
have been defined in the link control file, because this
linking is performed by referencing the link control file.
Normally, the MTB need not modify the file.
<2> Execute MMCARD to convert the ROM file created in <1>
into a file in memory card format. As a result of the
conversion, load module file BJ41.MEM is created.
c:>MMCARD BJ41 [Enter]
Link (MLINK)
BJ41.PG1 to 4
DUMMY.REL

BJ41.ROM

Convert to MEM file


(MMCARD)
BJ41.ROM

BJ41.MEM

Load to CNC

2) Creating user module 1 (BJ41_U1.MEM)


<1> Execute MCOMP0 to compile source file *.SRC included
in floppy disk 3. (Also compile source file *.SRC in floppy
disk 2 when the measurement cycle option is provided.)
c:>MCOMP0 *.SRC [Enter]
Once the compiling has completed, REL file *.REL is
created. Execute MLINK to link the object file created in
-10-

B-63423EN/02

USER PROGRAM

3. CREATING LOADING FILES

<1> with F16IMP1.MEM, the object file for creation of


user module 1. As a result of the linking, ROM file
BJ41_U1.LNK is created. This linking is performed by
referencing BJ41_U1.LNK. Use the same procedure to
create user module 2.
When the measurement cycle option is provided, use
MBJ41_U1.LNK, instead of BJ41_U1.LNK, for the linking.
c:>MLINK BJ41_U1 [Enter] : For user module 1
c:>MLINK BJ41_U2 [Enter] : For user module 2
c:>MLINK MBJ41_U1 [Enter] : With measurement cycles
<2> Execute MMCARD to convert the ROM file created in <1>
into a file in memory card format. As a result of the
conversion, load module file BJ41_U1.MEM is created.
c:>MMCARD BJ41_U1 [Enter]
Compile (MCOMP0)
*.SRC

Link (MLINK)
F16IMP1M.MEX
*.REL

*.REL

BJ41_U1.ROM

Convert to MEM file


(MMCARD)
BJ41_U1.ROM

BJ41_U1.MEM

Load to CNC

-11-

4. START-UP MACRO PROGRAM

USER PROGRAM

B-63423EN/02

START-UP MACRO PROGRAM


Start-up Macro Program is the editing macro program which specifies
the configuration of Manual Guide Screen (Comments in the screen,
Menu, Soft-key, Input dada item, and so on). This program runs only
one time at the time of turning on the power and informs the system
of the configuration about Manual Guide Screen. By setting the data
to the macro variable, the system can know the configuration of
Manual Guide Screen.

4.1

SETTING OF PROGRAM NUMBER AND VARIABLE START


NUMBER
Start-up Macro Program Number and the variable start number which
is used in Start-up Macro Program, are set to the following parameter.
Parameter
Number
No. 9100
No. 9101

Content

Start-up Macro Program Number


Variable Start Number for Editing Macro
Program

Standard
Setting
Values
8000
0

NOTE
Usually, there is not need to set the parameter
No.9101. If No.9101 is 0, the system treats the
variable start number as #6020.

-12-

USER PROGRAM

B-63423EN/02

4.2

4. START-UP MACRO PROGRAM

DEFINITION OF EACH DATA


The configuration data of Manual Guide Screen starts from the
variable number specified at parameter No.9101 (Usually, #6020).
The contents of each variable number are the followings.
Variable
Number

Content

+0
+1
+2
+3
+4

Macro program number for displaying System Comment


Menu number of G-code Menu
Macro program number for displaying Comment of G-code Menu
Macro program number for defining Data attribute of G-code Menu
Macro program number for displaying Guidance drawing figure of Gcode Menu
Macro program number for checking inputted data of G-code Menu
Menu number of Contour Profile Menu
Macro program number for displaying Comment of Contour Profile
Menu
Macro program number for defining Data attribute of Contour Profile
Menu
Macro program number for displaying guidance drawing figure of
Contour Profile Menu
Macro program number for checking inputted data of Contour Profile
Menu
Menu number of Cycle Motions Menu
Macro program number for displaying Comment of Cycle Motions
Menu
Menu number of Hole Machining Menu
Macro program number for displaying Comment of Hole Machining
Menu
Macro program number for defining Data attribute of Hole Machining
Menu
Macro program number for displaying guidance drawing figure of
Hole Machining Menu
Macro program number for checking inputted data of Hole Machining
Menu
Menu number of Hole Pattern Menu
Macro program number for displaying Comment of Hole Pattern Menu

+5
+6
+7
+8
+9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19

-13-

Standard
Setting
Values
7000
7
7010
8402
8602
8802
10
7100
8411
8611
8811
5
7300
3
7310
8432
8632
8832
6
7500

4. START-UP MACRO PROGRAM

USER PROGRAM

Variable
Number

Content

+ 20

Macro program number for defining Data attribute of Hole Pattern


Menu
Macro program number for displaying guidance drawing figure of
Hole Pattern Menu
Macro program number for checking inputted data of Hole Pattern
Menu
Menu number of Facing Menu
Macro program number for displaying Comment of Facing Menu
Macro program number for defining Data attribute of Facing Menu
Macro program number for displaying guidance drawing figure of
Facing Menu
Macro program number for checking inputted data of Facing Menu
Menu number of Side Cutting Menu
Macro program number for displaying Comment of Side Cutting Menu
Macro program number for defining Data attribute of Side Cutting
Menu
Macro program number for displaying guidance drawing figure of Side
Cutting Menu
Macro program number for checking inputted data of Side Cutting
Menu
Menu number of Pocketing Menu
Macro program number for displaying Comment of Pocketing Menu
Macro program number for defining Data attribute of Pocketing Menu
Macro program number for displaying guidance drawing figure of
Pocketing Menu
Macro program number for checking inputted data of Pocketing Menu

+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+32
+ 33
+ 34
+ 35
+ 36
+ 37

-14-

B-63423EN/02

Standard
Setting
Values
8451
8651
8851
2
7600
8461
8661
8861
5
7700
8471
8671
8871
5
7800
8481
8681
8881

B-63423EN/02

USER PROGRAM

5. COMMENT ON A MANUAL GUIDE SCREEN

COMMENT ON A MANUAL GUIDE


SCREEN
All of the comment displayed in an All-in-one screen of MANUAL
GUIDE can be modified by changing the comment data in User macro
program for displaying System Comment, which is specified in Startup macro program.

-15-

5. COMMENT ON A MANUAL GUIDE SCREEN

5.1

USER PROGRAM

B-63423EN/02

COMMENT IN A TITLE BAR


O700n ;
N9999 (Alphanumeric letters for Title Bar comment) ;
Maximum 50 ch.

NOTE
1. This user program number O700n is specified to
Macro program number for displaying System
Comment, which is specified in Start-up macro
program.
2. By selecting "n" in O700n, Displaying language can
be automatically changed. And, in the similar
description coming out hereafter, this "n" has same
meaning.
n=1 : English
2 : Japanese
3 : German
4 : French
5 : Italian
6 : Spanish
3. Number described in ( ) means the maximum
character number available for the comment.
Sample for English)
O7001 ;
N9999(' MANUAL GUIDE') ;

Title Bar of MANUAL GUIDE


MANUAL GUIDE

-16-

USER PROGRAM

B-63423EN/02

5.2

5. COMMENT ON A MANUAL GUIDE SCREEN

COMMENT IN A STATUS INDICATOR WINDOW


ACTUAL POSITION

X 234.567
Y -153.728
Z 58.980
A 0.000 B 0.000

(1)

(2)

DIST TO GO
G01 X 0.000
Y 0.000
Z 0.000
NEXT BLOCK
G00 X 0.000
Y 0.000
Z 0.000

SPINDLE

O 0001
N 00010

S : 200
FEEDRATE

MM/MIN

F : 100

(3)

(4)

(5)

T 0001 G 54
D 01 H 01
S 1000 M 6
F 500
G 00 17 90
40
49
80
54

(6)

(7)

O700n ;
N1001 ( alphanumeric letters for comment (1)) ;
Maximum 12 ch.
N1002 ( alphanumeric letters for comment (2)) ;
Maximum 12 ch.
N1003 ( alphanumeric letters for comment (3)) ;
Maximum 12 ch.
N1004 ( alphanumeric letters for comment (4)) ;
Maximum 12 ch.
N1005 ( alphanumeric letters for comment (5)) ;
Maximum 12 ch.
N1006 ( alphanumeric letters for comment (6)) ; (In the case of MM)
Maximum 6 ch.
N1007 ( alphanumeric letters for comment (6)) ; (In the case of INCH)
Maximum 6 ch.

-17-

5. COMMENT ON A MANUAL GUIDE SCREEN

5.3

USER PROGRAM

B-63423EN/02

COMMENT IN A WORK COORDINATE SYSTEM WINDOW


WORK CO. : G54

(1)
(3)

NO.
DATA
00
X 0.000
(EXT) Y 0.000
Z 0.000

NO.
02
(G55)

DATA
X 0.000
Y 0.000
Z 0.000

01
X 0.000
(G54) Y 0.000
Z 0.000

03
(G56)

X 0.000
Y 0.000
Z 0.000

O700n ;
N1027 ( alphanumeric letters for comment (1)) ;
Maximum 12 ch.
N1028 ( alphanumeric letters for comment (2)) ;
Maximum 6 ch.
N1029 ( alphanumeric letters for comment (3)) ;
Maximum 6 ch.

-18-

(2)

USER PROGRAM

B-63423EN/02

5.4

5. COMMENT ON A MANUAL GUIDE SCREEN

COMMENT IN A TOOL OFFSET WINDOW


OFFSET

(1)

NO.
1
2
3
4
5
6

(4)

RADIUS
LENGTH
GEOMETRY WEAR GEOMETRY WEAR
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0

(3)
(2)

(5)
(6)
O700n ;
N1021 ( alphanumeric letters for comment (1)) ;
Maximum 12 ch.
N1022 ( alphanumeric letters for comment (2)) ;
Maximum 12 ch.
N1023 ( alphanumeric letters for comment (3)) ;
Maximum 12 ch.
N1024 ( alphanumeric letters for comment (4)) ;
Maximum 6 ch.
N1025 ( alphanumeric letters for comment (5)) ;
Maximum 6 ch.
N1026 ( alphanumeric letters for comment (6)) ;
Maximum 6 ch.

-19-

5. COMMENT ON A MANUAL GUIDE SCREEN

5.5

USER PROGRAM

B-63423EN/02

COMMENT IN A PROGRAM LIST WINDOW


(1)
(2)
(3)
(5)

PROGRAM DIR.
PROGRAM NO.
USED/FREE
3 / 125
MEMORY AREA
USED/FREE 900 / 3000
NO.
NAME
CREATE DATE SIZE(CHAR)
O0010: CIRCLE MACHINING
1998-08-12 10:12 380
O0020: LINE MACHINING
1998-10-10 11:21 520
O0030

(6)

(4)

O700n ;
N1010 ( alphanumeric letters for comment (1)) ;
Maximum 12 ch.
N1011 ( alphanumeric letters for comment (2)) ;
Maximum 12 ch.
N1012 ( alphanumeric letters for comment (3)) ;
Maximum 12 ch.
N1013 ( alphanumeric letters for comment (4)) ;
Maximum 6 ch.
N1014 ( alphanumeric letters for comment (5)) ;
Maximum 6 ch.
N1015 ( alphanumeric letters for comment (6)) ;
Maximum 6 ch.
N1016 ( alphanumeric letters for comment (7)) ;
Maximum 6 ch.
N1017 ( alphanumeric letters for comment (8)) ;
Maximum 12 ch.

-20-

(7)

(8)

USER PROGRAM

B-63423EN/02

5.6

5. COMMENT ON A MANUAL GUIDE SCREEN

COMMENT IN A GRAPHIC WINDOW


1) Path Graphic Parameter Window
(1)
(2)
(4)
(6)
(8)
(10)
(12)
(14)
(16)

PATH GRAPHIC PARAMETER


AXES
ROTATION ANGLE
TITLTING ANGLE
SCALE
MAX.(CENTER) X
Y
Z
MIN.
I
J
K
START SEQ. NO.
END SEQ. NO.
TOOL RAD. COMP
COLOR : PATH
AUTO
TOOL POS

=
=
=
=
=
=
=
=
=
=
=
=
=
=
=
=

(3)
(5)
(7)
(9)
(11)
(13)
(15)
(17)

O700n ;
N3010 ( alphanumeric letters for comment (1)) ;
Maximum 30 ch.
N3011 N3026 ( alphanumeric letters for comment (2) (17)) ;
Maximum 20 ch.

-21-

5. COMMENT ON A MANUAL GUIDE SCREEN

USER PROGRAM

B-63423EN/02

2) Animate Graphic Parameter Window


(1)
(2)
(4)
(6)
(8)
(10)

(12)

ANIMATE GRAPHIC PARAMETER


BLANK FORM
BLANK POSITION X

Y
Z

BLANK DIMENSN I
J
K
TOOL RADIUS
TOOL LENGTH
START SEQ. NO.
END SEQ. NO.
ANIME SPEED
PLANE COLOR

=
=
=
=
=
=
=
=
=
=
=
=
=

(3)
(5)
(7)
(9)

(11)

O700n ;
N3030 ( alphanumeric letters for comment (1)) ;
Maximum 30 ch.
N3031 N3041 ( alphanumeric letters for comment (2) (12)) ;
Maximum 20 ch.

3) Programming Figure Setting Window


(1)
(2)
(4)
(6)
(8)
(10)

PROGRAMING FIGURE SETTING


WORK FIGURE
COORDINATE
SCALE MAX X AXIS
Y AXIS
Z AXIS
SCALE MIN X AXIS
Y AXIS
Z AXIS
COLOR PATH
WORK

= ON
= XY
=
=
=
=
=
=
=
=

(3)
(5)
(7)
(9)
(11)

O700n ;
N1030 ( alphanumeric letters for comment (1)) ;
Maximum 30 ch.
N1031 N1040 ( alphanumeric letters for comment (2) (11)) ;
Maximum 20 ch.

-22-

USER PROGRAM

B-63423EN/02

5.7

5. COMMENT ON A MANUAL GUIDE SCREEN

COMMENT IN A GUIDANCE CUTTING WINDOW


1) Common Data Window
(1)
(2)
(3)
(4)
(5)

GUIDANCE CUTTING
TOOL NO.
D CODE NO.
FEED RATE
SPINDLE SPEED

T=
D=
F=
S=

O700n ;
N1050 ( alphanumeric letters for comment (1)) ;
Maximum 30 ch.
N1051 N1054 ( alphanumeric letters for comment (2) (5)) ;
Maximum 16 ch.

2) Figure Data Input Window (Line)


(1)
(2)
(3)
(4)

Figure Data Input Window (Line)


X1 POS.
Y1 POS.
X2 POS.
Y2 POS.
ANGLE

=
=
=
=
=

(5)
(6)
O700n ;
N1060 ( alphanumeric letters for comment (1)) ;
Maximum 40 ch.
N1061 N1065 ( alphanumeric letters for comment (2) (6)) ;
Maximum 10 ch.

-23-

5. COMMENT ON A MANUAL GUIDE SCREEN

USER PROGRAM

B-63423EN/02

3) Figure Data Input Window (Circle)


(1)
(2)
(3)

Figure Data Input Window (Circle)


CENTER X =
CENTER Y =
RADIUS
=

(4)

O700n ;
N1070 ( alphanumeric letters for comment (1)) ;
Maximum 40 ch.
N1071 N1073 ( alphanumeric letters for comment (2) (4)) ;
Maximum 10 ch.

NOTE
The messages and some other message data are
excepted to explain.
So, change these data after confirming the contents.

-24-

B-63423EN/02

USER PROGRAM

6. COMMENT OF SOFT-KEYS FOR EACH MENU

COMMENT OF SOFT-KEYS FOR EACH


MENU
All of the comment of soft-keys displayed in an All-in-one screen of
MANUAL GUIDE can be modified by changing the comment data in
User macro program for displaying System Comment, which is
specified in Start-up macro program.

-25-

6. COMMENT OF SOFT-KEYS FOR EACH MENU

6.1

USER PROGRAM

B-63423EN/02

COMMENT OF SOFT-KEYS IN LARGE CLASSIFIED MENU


After power on, the following soft-keys will be displayed
There are the functions to select first.
EDIT

MEM

MDI

HANDLE

CHECK

LIST

WORK

TOOL

COOD

OFFST

SETTNG

EDIT
MEM
MDI
HANDLE
CHECK

: This key is selected to create or edit a program.


: This key is selected to run a program.
: This key is selected to perform MDI operation.
: This key is selected to perform handle machining.
: This key is selected to perform drawing based on a
program
PROGRAM
: The program can be selected for new making, editing,
drawing, and executing.
WORK COOD : The work coordinate system can be displayed and set.
TOOL OFFST : The offset for cutter compensation and tool length
compensation can be displayed and set.
SETTING
: The display method of each window can be set.

NOTE
1 This user program number O700n is specified to "Macro
program number for displaying System Comment", which
is specified in Start-up macro program.
2 The ("20 01 ???? 20") data setting in front of Comment
data defines the pictorial pattern of soft-keys, and cannot
be changed. Only Comment data can be changed. In
this documents, the ("20 01 ???? 20") data shows the
pictorial pattern of soft-keys.
O700n ;
N0168 (20 01 C010 20) (Alphanumeric letters for EDIT) ;
Maximum 6 ch.
N0003 (20 01 C018 20) (Alphanumeric letters for MEM ) ;
Maximum 6 ch.
N0146 (20 01 C020 20) (Alphanumeric letters for MDI) ;
Maximum 6 ch.
N0169 (20 01 C028 20) (Alphanumeric letters for HANDLE) ;
Maximum 6 ch.
N0170 (20 01 C030 20) (Alphanumeric letters for CHECK) ;
Maximum 6 ch.
N0001 (20 01 C040 20) (Alphanumeric letters for LIST) ;
Maximum 6 ch.
N0005 (20 01 C048 20) (Alphanumeric letters for WORK COOD) ;
Maximum 6 ch.
N0006 (20 01 C050 20) (Alphanumeric letters for TOOL OFFST) ;
Maximum 6 ch.
N0085 (20 01 C058 20) (Alphanumeric letters for SETTING) ;
Maximum 6 ch.

-26-

USER PROGRAM

B-63423EN/02

6.2

6. COMMENT OF SOFT-KEYS FOR EACH MENU

COMMENT OF SOFT-KEYS IN EDIT FUNCTION MENU


By pushing [EDIT] in the large-classified menu, the edit function
menu below is displayed. In this menu, a selected program can be
edited. The soft-keys in the menu are changed as shown below each
time the rightmost key [+] is pushed.
INIT

TOOL

MSF

COMP

MOVE

COPY

DELETE

ALTER

POSTIN

CONTUR

CYCLE

USER

SEARCH SEARCH SEARCH

LIST

INIT

TEACH

WRK-CO

OFFSET

RETURN

RETURN

RETURN

: Definition of work coordinate system, blank


form data
: Definition of tool data
: Instruction of M, S, F code except G code
: Instruction of cutter or tool length
compensation
: Instruction of Line figure (G00, G01)
: Definition of canned cycles such as drilling,
milling
: Creation of programs with handle machining
and auxiliary buttons
: Display of user window screens
: Instruction of Contour figure ( Line + Circle )
: Movement of a part of the program
: Copying of a part of the program
: Deletion of a part of the program
: Change of a part of the program
: Selection of a program
: Word search in the upward direction
: Word search in the downward direction

TOOL
MSF
COMP
POSTIN
CYCLE
TEACH
USER
CONTUR
MOVE
COPY
DELETE
ALTER
O SEARCH
SEARCH
SEARCH

LIST, WRK-CO, OFFSET are the same as those in the largeclassified menu, and are omitted in the remainder of this manual.
O701n ;
N0001 (20 01 C010 20) (Alphanumeric letters forINIT ) ;
Maximum 6 ch.
N0002 (20 01 C018 20) (Alphanumeric letters forTOOL) ;
Maximum 6 ch.
N0003 (20 01 C020 20) (Alphanumeric letters for MSF) ;
Maximum 6 ch.
N0004 (20 01 C028 20) (Alphanumeric letters forCOMP) ;
Maximum 6 ch.

-27-

6. COMMENT OF SOFT-KEYS FOR EACH MENU

USER PROGRAM

B-63423EN/02

N0005 (20 01 C030 20) (Alphanumeric letters for POSTIN) ;


Maximum 6 ch.
N0006 (20 01 C038 20) (Alphanumeric letters for CONTUR) ;
Maximum 6 ch.
N0007 (20 01 C040 20) (Alphanumeric letters for CYCLE) ;
Maximum 6 ch.
N0008 (20 01 C048 20) (Alphanumeric letters for TEACH) ;
Maximum 6 ch.
N0009 (20 01 C050 20) (Alphanumeric letters for USER) ;
Maximum 6 ch.

NOTE
The number (O701n) of this user program is set for
the number of the string definition macro for the
editing menu, in the startup macro program.
O700n ;
N0013 (20 01 C010 20) (Alphanumeric letters forMOVE) ;
Maximum 6 ch.
N0011 (20 01 C018 20) (Alphanumeric letters for COPY) ;
Maximum 6 ch.
N0012 (20 01 C020 20) (Alphanumeric letters for DELETE) ;
Maximum 6 ch.
N0175 (20 01 C028 20) ( Alphanumeric letters forALTER) ;
Maximum 6 ch.
N0181 (Alphanumeric letters for O SEARCH) ;
Maximum 6 ch.
N0184 (Alphanumeric letters for SEARCH) ;
Maximum 6 ch.
N0185 (Alphanumeric letters for SEARCH) ;
Maximum 6 ch.

-28-

USER PROGRAM

B-63423EN/02

6.3

6. COMMENT OF SOFT-KEYS FOR EACH MENU

COMMENT OF SOFT-KEYS IN MEM MENU


By pushing [MEM] in the large-classified menu, the operation menu
below is displayed. In this menu, a selected program can be run or
drawing can be performed based on the program. The soft-keys in the
menu are changed as shown below each time the rightmost key [+] is
pushed.

EXEC

O
N
REWIND
SEARCH SEARCH

CHECK

LIST

EXEC
O SEARCH
N SEARCH
REWIND
CHECK
USER
BGEDIT

:
:
:
:
:
:
:

USER

BGEDIT

RETURN

WRK-CO

OFFSET

RETURN

Run a program.
Search for a program.
Search for a sequence number.
Find the start of a block.
Switch to the drawing screen.
Display the user window screen.
Switch to the BG editing screen.

O700n ;
N0125 (20 01 C010 20) (Alphanumeric letters for EXEC) ;
Maximum 6 ch.
N0182 (Alphanumeric letters for O SEARCH) ;
Maximum 6 ch.
N0186 (Alphanumeric letters for N SEARCH) ;
Maximum 6 ch.
N0124 (20 01 C030 20) (Alphanumeric letters for REWIND) ;
Maximum 6 ch.
N0177 (20 01 C038 20) (Alphanumeric letters for CHECK) ;
Maximum 6 ch.
N0188 (20 01 C048 20) (Alphanumeric letters for USER) ;
Maximum 6 ch.
N0176 (20 01 C050 20) (Alphanumeric letters for BGEDIT) ;
Maximum 6 ch.

-29-

6. COMMENT OF SOFT-KEYS FOR EACH MENU

6.4

USER PROGRAM

B-63423EN/02

COMMENT OF SOFT-KEYS IN MDI MENU


By pushing [MDI] in the large-classified menu, the MDI operation
menu below is displayed. In this menu, a program can be created with
G codes, and it can be run without modification. The soft-keys in the
menu are changed as shown below each time the rightmost key [+] is
pushed.
EXEC

REWIND

LIST

WRK-CO

OFFSET

The soft-keys are the same as those in the operation menu.

-30-

RETURN

RETURN

USER PROGRAM

B-63423EN/02

6.5

6. COMMENT OF SOFT-KEYS FOR EACH MENU

COMMENT OF SOFT-KEYS IN HANDLE MENU


By pushing [HANDLE] in the large-classified menu, the manual
machining menu below is displayed. In this menu, machining can be
performed with the handle. The soft-keys in the menu are changed as
shown below each time the rightmost key [+] is pushed.

EXEC

REWIND

LIST

LINE
CIRCLE

WRK-CO

OFFSET

RETURN

RETURN

: Select linear cutting for handle machining.


: Select circular cutting for handle machining.

-31-

6. COMMENT OF SOFT-KEYS FOR EACH MENU

6.6

USER PROGRAM

B-63423EN/02

COMMENT OF SOFT-KEYS IN GRAPHIC FUNCTION MENU


1) Tool Path Drawing (wire-frame)
By pushing [CHECK] in the small-classified menu, the following
soft-keys are displayed. The machining program can be checked using
this drawing.
ANIME

SBK ON

SCL ON

/OFF

/OFF

ANIME
SBK ON/OFF
SCL ON/OFF
EXEC
ERASE
SCALE
TOOL POS.
PARAM

EXEC

ERASE

SCALE

TOOL

PARAM

RETURN

POS.

: Switch to the animated simulation screen.


: Make a single block stop while continuous
simulation is being executed. Or, starts single
block simulation
: Indicate whether to use scaling or not before
drawing.
: Start the continuous simulation drawing.
: Erase all drawn tool paths.
: Enlarge or reduces a part of the drawn tool
path.
: Display the current tool center position with a
mark.
: Change the drawing parameters.

O700n ;
N0025 (20 01 C010 20) (Alphanumeric letters for ANIME) ;
Maximum 6 ch.
N0026 (20 01 C020 20) (Alphanumeric letters for SBK ON) ;
Maximum 6 ch.
N0027 (20 01 C020 20) (Alphanumeric letters for SBK OFF) ;
Maximum 6 ch.
N0028 (20 01 C028 20) (Alphanumeric letters for SCL OFF) ;
Maximum 6 ch.
N0029 (20 01 C028 20) (Alphanumeric letters for SCL ON) ;
Maximum 6 ch.
N0030 (20 01 C030 20) (Alphanumeric letters for EXEC) ;
Maximum 6 ch.
N0031 (20 01 C038 20) (Alphanumeric letters for ERASE) ;
Maximum 6 ch.
N0032 (20 01 C040 20) (Alphanumeric letters for SCALE) ;
Maximum 6 ch.
N0033 (20 01 C048 20) (Alphanumeric letters for TOOL POS.) ;
Maximum 6 ch.
N0034 (20 01 C050 20) (Alphanumeric letters for PARAM) ;
Maximum 6 ch.

2) Animated Simulation
By pushing [ANIME], the following soft-keys are displayed. The
machining program can be checked easily by viewing this simulation.

-32-

USER PROGRAM

B-63423EN/02

PATH

PLANE

PATH
EXEC
ROTATE
PLANE
SECT.P
3-PLAN

6. COMMENT OF SOFT-KEYS FOR EACH MENU


EXEC

ROTATE

SECT.P

3-PLAN

PARAM

RETURN

: Switch to the tool path drawing screen.


: Start drawing after drawing a blank
: Rotate a generated drawing.
: Display a plan view of a work-piece.
: Display a cross-sectional view of a work-piece.
: Display a tri-plane view from a drawn machining
profile.
: Change the drawing parameters.

PARAM

O700n ;
N0043 (20 01 C010 20) (Alphanumeric letters for PATH) ;
Maximum 6 ch.
N0046 (20 01 C028 20) (Alphanumeric letters for PLANE) ;
Maximum 6 ch.
N0044 (20 01 C030 20) (Alphanumeric letters for EXEC) ;
Maximum 6 ch.
N0045 (20 01 C038 20) (Alphanumeric letters for ROTATE) ;
Maximum 6 ch.
N0047 (20 01 C040 20) (Alphanumeric letters for SECT.P) ;
Maximum 6 ch.
N0048 (20 01 C048 20) (Alphanumeric letters for 3-PLAN) ;
Maximum 6 ch.
N0049 (20 01 C050 20) (Alphanumeric letters for PARAM) ;
Maximum 6 ch.

-33-

6. COMMENT OF SOFT-KEYS FOR EACH MENU

6.7

USER PROGRAM

B-63423EN/02

COMMENT OF SOFT-KEYS IN LIST MENU


By pushing [LIST] in the large-classified menu, the list menu below is
displayed. In this menu, selection, copying, and other program
operations can be performed.
SELECT

COPY

SELECT
COPY
DELETE
CNV NC

DELETE

CNV NC

O
SEARCH

:
:
:
:

RETURN

Select a program.
Copy a program.
Delete a program.
Convert a conversational statement into an NC
statement.
: Search for a program.

O SEARCH

O700n ;
N0007 (20 01 C010 20) (Alphanumeric letters for SELECT) ;
Maximum 6 ch.
N0008 (20 01 C020 20) (Alphanumeric letters forCOPY) ;
Maximum 6 ch.
N0009 (20 01 C028 20) (Alphanumeric letters forDELETE) ;
Maximum 6 ch.
N0187 (20 01 C030 20) (Alphanumeric letters for CNV NC) ;
Maximum 6 ch.
N0183 (Alphanumeric letters for O SEARCH) ;
Maximum 6 ch.

-34-

USER PROGRAM

B-63423EN/02

6.8

6. COMMENT OF SOFT-KEYS FOR EACH MENU

COMMENT OF SOFT-KEYS IN WRK-CO MENU


By pushing [WRK-CO] in the large-classified menu, the coordinate
system menu below is displayed. In this menu, coordinates can be set.
INPUT

+INPUT

RETURN

INPUT
+INPUT

: Set a specified value as the current coordinate.


: Increment the current coordinate by a
specified value.

O700n ;
N0179 (Alphanumeric letters for INPUT) ;
Maximum 6 ch.
N0180 (Alphanumeric letters for +INPUT) ;
Maximum 6 ch.

-35-

6. COMMENT OF SOFT-KEYS FOR EACH MENU

6.9

USER PROGRAM

B-63423EN/02

COMMENT OF SOFT-KEYS IN OFFSET MENU


By pushing [OFFSET] in the large-classified menu, the offset menu
below is displayed. In this menu, tool offset values can be set.
INPUT

+INPUT

RETURN

INPUT
+INPUT

: Set a specified value as the current coordinate.


: Increment the current coordinate by a
specified value.

O700n ;
N0179 (Alphanumeric letters for INPUT) ;
Maximum 6 ch.
N0180 (Alphanumeric letters for +INPUT) ;
Maximum 6 ch.

-36-

USER PROGRAM

B-63423EN/02

6.10

6. COMMENT OF SOFT-KEYS FOR EACH MENU

COMMENT OF SOFT-KEYS IN CONTOUR PROFILE MENU


By pushing [CONTUR] in the editing menu, the contour profile menu
below is displayed. In this menu, any contour can be created by
selecting or inputting figures.
Intersections and contacts are
automatically calculated. The soft-keys in the menu are changed as
shown below each time the rightmost key [+] is pushed.

START

LINE

POINT

TRANS
COPY

ROTATE
COPY

CW

CCW

ARC

ARC

CHAMF

ROUND

END

TANGNT

RECALC

MIRROR
COPY

LIST

START POINT
LINE
CW ARC
CCW ARC
CHAMF
ROUND
END
TANGNT
RECALC
TRANS COPY
ROTATE
COPY
MIRROR
COPY

WRK-CO

OFFSET

RETURN

RETURN

RETURN

: Instructing the start point


: Instructing the line figure
: Instructing the clockwise arc figure
: Instructing the counterclockwise arc figure
: Instructing the chamfer figure
: Instructing the round figure
: Instructing the end of figure
: Instructing the tangent
: Executing the calculation of intersection
: Translating the specified figure
: Rotating the specified figure
: Performing mirror conversion of the specified
figure

NOTE
This user program number O710n is specified to
"Macro program number for displaying Comment of
Contour Profile Menu", which is specified in Start-up
macro program.
O710n ;
N0001 (20 01 C010 20) (Alphanumeric letters for START POINT) ;
Maximum 6 ch.
N0002 (20 01 C018 20) (Alphanumeric letters for LINE) ;
Maximum 6 ch.
N0003 (20 01 C020 20) (Alphanumeric letters for CW ARC) ;
Maximum 6 ch.
N0004 (20 01 C028 20) (Alphanumeric letters for CCW ARC) ;
Maximum 6 ch.

-37-

6. COMMENT OF SOFT-KEYS FOR EACH MENU

USER PROGRAM

B-63423EN/02

N0005 (20 01 C030 20) (Alphanumeric letters for CHAMF) ;


Maximum 6 ch.
N0006 (20 01 C038 20) (Alphanumeric letters for ROUND) ;
Maximum 6 ch.
N0007 (20 01 C040 20) (Alphanumeric letters for END) ;
Maximum 6 ch.
O700n ;
N0155 (20 01 C048 20) (Alphanumeric letters for TANGNT) ;
Maximum 6 ch.
N0156 (20 01 C048 20) (Alphanumeric letters for RECALC) ;
Maximum 6 ch.
O720n ;
N0022 (20 01 C010 20) (Alphanumeric letters for TRANS COPY) ;
Maximum 6 ch.
N0023 (20 01 C018 20) (Alphanumeric letters for ROTATE COPY) ;
Maximum 6 ch.
N0043 (20 01 C020 20) (Alphanumeric letters forMIRROR COPY) ;
Maximum 6 ch.

-38-

USER PROGRAM

B-63423EN/02

6.11

6. COMMENT OF SOFT-KEYS FOR EACH MENU

COMMENT OF SOFT-KEYS IN CYCLE MOTIONS MENU


By pushing [CYCLE] in Editing menu, the following soft-keys are
displayed.
HOLE

PATTER

FACE

SIDE

POCKET

LIST

HOLE
PATTER
FACE
SIDE
POCKET

WRK-CO

OFFSET

RERURN

RETURN

: Defining the cycle machining of hole


: Defining the hole pattern
: Defining the cycle machining of facing
: Defining the cycle machining of side cutting
: Defining the cycle machining of pocketing

NOTE
This user program number O730n is specified to
"Macro program number for displaying Comment of
Cycle Motions Menu", which is specified in Start-up
macro program.
O730n ;
N0001 (20 01 C010 20) (Alphanumeric letters for HOLE) ;
Maximum 6 ch.
N0002 (20 01 C018 20) (Alphanumeric letters for PATTER) ;
Maximum 6 ch.
N0003 (20 01 C020 20) (Alphanumeric letters for FACE) ;
Maximum 6 ch.
N0004 (20 01 C028 20) (Alphanumeric letters for SIDE) ;
Maximum 6 ch.
N0005 (20 01 C030 20) (Alphanumeric letters for POCKET) ;
Maximum 6 ch.

-39-

6. COMMENT OF SOFT-KEYS FOR EACH MENU

USER PROGRAM

B-63423EN/02

NOTE
The comment of soft-keys for other Cycle Motion is
defined in the same way. And the user program
number for each Cycle Motion is specified to the
following program number, which is specified in
Start-up macro program.
Cycle Machining of Hole := Macro program
number for displaying Comment of Hole Machining
Menu
Hole Pattern := Macro program number for
displaying Comment of Hole Pattern Menu
Facing := Macro program number for displaying
Comment of Facing Menu
Side Cutting := Macro program number for
displaying Comment of Side Cutting Menu
Pocketing := Macro program number for
displaying Comment of Pocketing Menu

-40-

USER PROGRAM

B-63423EN/02

6.12

6. COMMENT OF SOFT-KEYS FOR EACH MENU

COMMENT OF SOFT-KEYS IN TEACH MENU


By pushing [TEACH] in the editing menu, the common data input
window is displayed. After data is set, the soft-key menu below is
displayed by pushing the [INPEND] soft-key.

LINE

CIRCLE

LINE
CIRCLE
SAVE
AUX
RAPID
CUT
COMMON

SAVE

AUX

RAPID

CUT

LIST

WRK-CO

COMMON RETURN

OFFSET

RETURN

: Select the linear cutting using a guidance


handwheel.
: Select the circular cutting using a guidance
handwheel.
: The feed rate and spindle speed are recorded
: After pushing one or continuously several ones of
the auxiliary function switches, the operator can
teach-in these commands.
: After moving a tool toward a proper position, the
operator can teach-in this tool motion into CNC as
a rapid traverse block.
: Teach-in the tool motion into CNC as a cutting
block.
: Open the common data input window.

O700n ;
N0130 (20 01 C010 20) (Alphanumeric letters for LINE) ;
Maximum 6 ch.
N0131 (20 01 C018 20) (Alphanumeric letters for CIRCLE) ;
Maximum 6 ch.
N0138 (20 01 C030 20) (Alphanumeric letters for SAVE) ;
Maximum 6 ch.
N0139 (20 01 C040 20) (Alphanumeric letters for AUX) ;
Maximum 6 ch.
N0140 (20 01 C048 20) (Alphanumeric letters for RAPID) ;
Maximum 6 ch.
N0141 (20 01 C050 20) (Alphanumeric letters for CUT) ;
Maximum 6 ch.
N0190 (20 01 C050 20) (Alphanumeric letters for CUTCOMMON) ;
Maximum 6 ch.

By pushing [LINE] or [CIRCLE], the figure data input window is


displayed. After data is set, the soft-key menu below is displayed by
pushing the [INPEND] soft-key.
LMT
ON/OFF

SAVE

-41-

AUX

RAPID

CUT

COMMON

INPEND

6. COMMENT OF SOFT-KEYS FOR EACH MENU

USER PROGRAM

LMT ON/OFF
INPEND
CUT

B-63423EN/02

: The limit not to exceed the target line becomes


available or unavailable.
: Set the inputted data.
: The linear and/or circular cutting are ended.

O700n ;
N0133 (20 01 C018 20) (Alphanumeric letters for LMT ON/OFF) ;
Maximum 6 ch.
N0134 (20 01 C018 20) (Alphanumeric letters for INPEND) ;
Maximum 6 ch.
N0136 (20 01 C058 20) (Alphanumeric letters for CUT) ;
Maximum 6 ch.

-42-

USER PROGRAM

B-63423EN/02

6.13

6. COMMENT OF SOFT-KEYS FOR EACH MENU

COMMENT OF SOFT-KEYS IN CNV NC MENU


By pushing [LIST] on the initial soft-key screen or another, the softkey menu below is displayed.
SELECT

COPY

CNV NC

DELETE

CNV NC

LIST

WRK-CO

OFFSET

RETURN

: Convert a program into an NC statement.

O700n ;
N0187 (20 01 C030 20) (Alphanumeric letters for INPEND CNV NC) ;
Maximum 6 ch.

NOTE
The other soft-key comment data are excepted to
explain.
So, change these data after confirming the contents.

-43-

7. COMMENT OF INPUT DATA ITEM

USER PROGRAM

B-63423EN/02

COMMENT OF INPUT DATA ITEM


All of the comment of the data item displayed in the pop-up window
on the manual guide screen also can be modified by changing the
comment data in User macro program for displaying Comment, which
is specified in Start-up macro program.

-44-

7.1

7. COMMENT OF INPUT DATA ITEM

USER PROGRAM

B-63423EN/02

COMMENT OF INPUT DATA ITEM IN G-CODE MENU


By pushing soft-key [SELECT] in large classified menu, the
following softy-keys of Editing menu will be displayed.
INIT

TOOL

MSF

COMP

POSTIN

CONTUR

CYCLE

TEACH

USER

RETURN

By pushing each soft-keys, the pop-up window of the selected menu


will be displayed. This time, it is explained as an example of INITIAL
SET menu. By pushing [INIT], the following Input Data Window
(Pop-up Window) will be displayed.
Title (1)

The 1st - mth item

INITIAL SET
WORK
WORK
WORK
WORK
WORK
WORK
WORK
WORK

CO-ORD.
SHAPE
X CO-ORD.
Y CO-ORD.
Z CO-ORD.
X WIDTH
Y WIDTH
THICKNESS

1/1
G= NO OUT
P= RECT.
X=
Y=
Z=
I=
J=
K=

And, By pushing [DETAIL], the following Detail Window is


displayed.
Title (2)

INITIAL SET (DETAIL)


ABS / INC
PLANE SELECTION
ORIGIN POINT
INPUT UNIT

-45-

A=
S=
B=
M=

NO OUT
NO OUT
CENTER
NO OUT

7. COMMENT OF INPUT DATA ITEM

USER PROGRAM

B-63423EN/02

The each data item in the window are specified by using the following
macros.

NOTE
1 The user program number (O702n) of this menu is
the number, which is added 10 to the number of
Macro program number for displaying Comment of
G-code menu in Start-up macro program. The
program number of the following each menu is
increased by 10.
(1). INITIAL SET menu
= O702n
(2). TOOL SETTING menu = O703n
(3). MSF CODE menu
= O704n
(4). COMP. menu
= O705n
(5). POSTIN menu
= O706n
O702n ;
N9999 (Alphanumeric letters for Title(1)) ;
Maximum 40ch
N9998 (Alphanumeric letters for Title(2)) ;
Maximum 40ch
N0001 (Alphanumeric letters for 1st item) ;
Maximum 18ch
N0002 (Alphanumeric letters for 2nd item) ;
Maximum 18ch
N000m (Alphanumeric letters for mth item) ;
Maximum 18ch

NOTE
2 The serial number of input data item counts the first
item of Input Data Window or Detail Window as an
initial term. The item is displayed in Windows (Input
Data one or Detail one) according to Data Attribute
of the next chapter.
And the comment of the soft-key for each input data can be modified.

NOTE
3 The soft-key to each input data item corresponds to
the sequence number of the second digit. Moreover,
the order of the displayed soft-key corresponds to
the sequence number of the fourth digit.
N0101 (20 01 C010 20) (The 1st soft-key letters of 1st item) ;
Maximum 6ch
N010n (20 01 C010 20) (The nth soft-key letters of 1st item) ;
Maximum 6ch
N0m01 (20 01 C010 20) (The 1st soft-key letters of mth item) ;
Maximum 6ch
N0m0n (20 01 C010 20) (The nth soft-key letters of mth item) ;
Maximum 6ch

-46-

B-63423EN/02

USER PROGRAM

7. COMMENT OF INPUT DATA ITEM

And the output data from the selected soft-key can be modified.

NOTE
4 As for the output data by selecting each soft-key,
the sequence number of the third digit corresponds
to 5.
N0151 (Numeric data of the 1st soft-key to 1st item) ;
N015n (Numeric data of the nth soft-key to 1st item) ;
N0m51 (Numeric data of the 1st soft-key to mth item) ;
N0m5n (Numeric data of the nth soft-key to mth item) ;

-47-

7. COMMENT OF INPUT DATA ITEM

USER PROGRAM

B-63423EN/02

Example )
The definition of Input data item in INITIAL SET menu
O7021 ;
N9999 (INITIAL SET) ;
N9998 (INITIAL SET (DETAIL)) ;
N0001 (WORK CO-ORD.) ;
N0002 (WORK SHAPE) ;
N0003 (WORK X CO-ORD) ;
N0004 (WORK Y CO-ORD) ;
N0005 (WORK Z CO-ORD) ;
N0006 (WORK X WIDTH) ;
N0007 (WORK Y WIDTH) ;
N0008 (WORK THICKNESS) ;
N0009 (ABS / INC) ;
N0010 (PLANE SELECTION) ;
N0011 (ORIGIN POINT) ;
N0012 (INPUT UNIT) ;
N0100 (1) ;
N0101 (20 01 C010 20)( G54 ) ;
N0102 (20 01 C010 20)( G55 ) ;
N0103 (20 01 C010 20)( G56 ) ;
N0104 (20 01 C010 20)( G57 ) ;
N0105 (20 01 C010 20)( G58 ) ;
N0106 (20 01 C010 20)( G59 ) ;
N0106 (20 01 C018 20)(NO OUT) ;
N0151 (1) ;
N0152 (2) ;
N0153 (3) ;
N0154 (4) ;
N0155 (5) ;
N0156 (6) ;
N0157 (7) ;
N0200 (2) ;
N0201 (20 01 C010 20)(RECT) ;
N0202 (20 01 C018 20)(CYLIN) ;
N0203 (20 01 C020 20)(NO OUT) ;
N0251 (1) ;
N0252 (2) ;
N0253 (3) ;
N0900 (3) ;
N0901 (20 01 C010 20)( G90 ) ;
N0902 (20 01 C018 20)( G91 ) ;
N0903 (20 01 C020 20)(NO OUT) ;
N0951 (1) ;
N0952 (2) ;
N0953 (3) ;

-48-

USER PROGRAM

B-63423EN/02

7.2

7. COMMENT OF INPUT DATA ITEM

COMMENT OF INPUT DATA ITEM IN CONTOUR PROFILE


MENU
By pushing [CONTUR] of G-code menu, the following soft-keys of
Contour profile menu are displayed.
START
POINT

LINE

CW

CCW

ARC

ARC

CHAMF

ROUND

END

TANGNT

RECALC.

RETURN

By pushing each soft-keys, the pop-up window of the menu will be


displayed. This time, it is explained as an example of START POINT
menu. By pushing [START POINT], the following Input Data
Window will be displayed.
Title (1)
The 1st - mth item

START POSITION
START POINT X
X=
START POINT Y
Y=
START POINT TYPE E= START POINT

The each data item in the window can be modified by using the
following user macro program.

NOTE
1 The user program number (O711n) of this menu is
the number, which is added 10 to the number of
Macro program number for displaying Comment of
Contour Profile menu in Start-up macro program.
The program number of the following each menu is
increased by 10.
(1). START POINT menu
= O711n
(2). LINE menu
= O712n
(3). CW ARC menu
= O713n
(4). CCW ARC menu
= O714n
(5). CHAMFER menu
= O715n
(6). ROUND menu
= O716n
(7). END menu
= O717n
(8). TRANS COPY menu
= O718n
(9). ROTATE COPY menu = O719n
(10). MIRROR COPY menu = O720n

-49-

7. COMMENT OF INPUT DATA ITEM

USER PROGRAM

B-63423EN/02

O711n ;
N9999 (Alphanumeric letters for Title(1)) ;
Maximum 40ch
N9998 (Alphanumeric letters for Title(2)) ;
Maximum 40ch
N0001 (Alphanumeric letters for 1st item) ;
Maximum 18ch
N0002 (Alphanumeric letters for 2nd item) ;
Maximum 18ch
N000m (Alphanumeric letters for mth item) ;
Maximum 18ch

NOTE
2 The serial number of input data item counts the first
item of Input Data Window or Detail Window as an
initial term. The item is displayed in Windows (Input
Data one or Detail one) according to Data Attribute
of the next chapter.
And the comment of the soft-key for each input data can be modified.

NOTE
3 The soft-key to each input data item corresponds to
the sequence number of the second digit. Moreover,
the order of the displayed soft-key corresponds to
the sequence number of the fourth digit.
N0101 (20 01 C010 20) (The 1st soft-key letters of 1st item) ;
Maximum 6ch
N010n (20 01 C010 20) (The nth soft-key letters of 1st item) ;
Maximum 6ch
N0m01 (20 01 C010 20) (The 1st soft-key letters of mth item) ;
Maximum 6ch
N0m0n (20 01 C010 20) (The nth soft-key letters of mth item) ;
Maximum 6ch

And the output data by selecting soft-key can be modified.

NOTE
4 As for the output data by selecting each soft-key,
the sequence number of the third digit corresponds
to 5.
N0151 (Numeric data of the 1st soft-key to 1st item) ;
N015n (Numeric data of the nth soft-key to 1st item) ;
N0m51 (Numeric data of the 1st soft-key to mth item) ;
N0m5n (Numeric data of the nth soft-key to mth item) ;

-50-

B-63423EN/02

USER PROGRAM

7. COMMENT OF INPUT DATA ITEM

Example )
The definition of Input data item in START POINT menu
O7112 ;
N9999 (START POINT) ;
N9998 (STRAT POINT (DETAIL SET)) ;
N0001 (START POINT X) ;
N0002 (START POINT Y) ;
N0003 (START POINT TYPE) ;
N0004 (ISLAND Z CO-ORD.) ;
N0005 (GROOVE Z CO-ORD.) ;
N0006 (MOV TYPE TO ST.PT.) ;
N0007 (FEED RATE TO ST.PT.) ;
N0008 (FEED RATE FROM ST.PT.) ;
N0009 (COMP. DIRECTION
) ;
N0300 (1) ;
N0301 (20 01 C010 20)(START) ;
N0302 (20 01 C010 20)(ISLAND) ;
N0303 (20 01 C010 20)(NXT MV) ;
N0304 (20 01 C028 20)( DIRECT ) ;
N0351 (1) ;
N0352 (2) ;
N0353 (3) ;
N0354 (4) ;
N0600 (1) ;
N0601 (20 01 C010 20)( RAPID ) ;
N0602 (20 01 C018 20)( CUT ) ;
N0651 (1) ;
N0652 (2) ;
N0900('5');
N0901("20 01 C028 20")(' LEFT ');
N0902("20 01 C030 20")(' RIGHT ');
N0903("20 01 C040 20")('NO OUT');
N0951('1');
N0952('2');
N0953('3');
M99 ;

-51-

7. COMMENT OF INPUT DATA ITEM

7.3

USER PROGRAM

B-63423EN/02

COMMENT OF INPUT DATA ITEM IN CYCLE MOTIONS MENU


By pushing [CYCLE] of G-code menu, the machining cycle menus
are displayed as follows.
HOLE

PATTER

FACE

SIDE

POCKET

RETURN

By pushing each soft-keys, the detail menu of each cycle motion will
be displayed. [FACE] is pushed here.
SQUARE

CIRCLE

RETURN

By pushing each soft-keys, the pop-up window of the menu will be


displayed. This time, it is explained as an example of SQUARE
SURFACE menu.
By pushing [SQUARE], the following Input Data Window will be
displayed.
Title (1)

The 1st - mth item

SQUAREFACE

1/2

MACH. PROCESS
END POINT Z
RECTANGULAR
REMOVAL DEPTH
REMOVAL PITCH
FINISHING ALW.
FEED RATE
CUTTING WITDH

P= ROUGH
Z=
B=
J=
H= 0.000
F= 70.000
C=

SQUAREFACE
CENTER POINT X
CENTER POINT Y
U-LENGTH
V-LENGTH

First page

2/2
X=
Y=
U=
V=

Second page

And, By pushing [DETAIL], the following Detail Window is


displayed.
Title (2)

SQUARE FACE

(DETAIL)

CLEARANCE
L=
3
CUT DIRECTION W= UNI-DIRECTION
INCLINE ANGLE A= 0.000
START POINT SEL.
E= [1]
APPROACH GAP M= 5.000
ESCAPE GAP
N= 5.000

-52-

B-63423EN/02

USER PROGRAM

7. COMMENT OF INPUT DATA ITEM

The each input data item in the window can be modified by using the
following user macro program.

NOTE
1 The user program number (O761n) of this menu is
the number, which is added 10 to the number of
Macro program number for displaying Comment of
Facing menu in Start-up macro program. The
program number of the following each menu is
increased by 10.
(1). SQUARE menu
= O761n
(2). CIRCLE menu
= O762n
2 The other cycles motions menu is specified by
similar method.
For example, if it is the hole machining, the
numbers are as follows.
(1). DRILLING menu
= O732n
(2). BORING menu
= O733n
(3). TAPPING menu
= O734n
(4). RIGID TAPPING menu = O735n
O761n ;
N9999 (Alphanumeric letters for Title(1)) ;
Maximum 40ch
N9998 (Alphanumeric letters for Title(2)) ;
Maximum 40ch
N0001 (Alphanumeric letters for 1st item) ;
Maximum 18ch
N0002 (Alphanumeric letters for 2nd item) ;
Maximum 18ch
N000m (Alphanumeric letters for mth item) ;
Maximum 18ch

NOTE
3 The serial number of input data item counts the first
item of Input Data Window or Detail Window as an
initial term. The item is displayed in Windows (Input
Data one or Detail one) according to Data Attribute
of the next chapter.
And the comment of the soft-key for each input data item can be
modified.

NOTE
4 The soft-key to each input data item corresponds to
the sequence number of the second digit. Moreover,
the order of the displayed soft-key corresponds to
the sequence number of the fourth digit

-53-

7. COMMENT OF INPUT DATA ITEM

USER PROGRAM

B-63423EN/02

N0101 (20 01 C010 20) (The 1st soft-key letters of 1st item) ;
Maximum 6ch
N010n (20 01 C010 20) (The nth soft-key letters of 1st item) ;
Maximum 6ch
N0m01 (20 01 C010 20) (The 1st soft-key letters of mth item) ;
Maximum 6ch
N0m0n (20 01 C010 20) (The nth soft-key letters of mth item) ;
Maximum 6ch

And the output data by selecting the soft-key can be modified.

NOTE
5 As for the output data by selecting each soft-key,
the sequence number of the third digit corresponds
to 5.
N0151 (Numeric data of the 1st soft-key to 1st item) ;
N015n (Numeric data of the nth soft-key to 1st item) ;
N0m51 (Numeric data of the 1st soft-key to mth item) ;
N0m5n (Numeric data of the nth soft-key to mth item) ;

-54-

B-63423EN/02

USER PROGRAM

7. COMMENT OF INPUT DATA ITEM

Example )
The definition of Input data item in SQUARE FACE menu
O7611 ;
N9999 (SQUARE FACE) ;
N9998 (SQUARE FACE (DETAIL SET)) ;
N0001 (MACH. PROCESS) ;
N0002 (CLEARANCE) ;
N0003 (END POINT Z) ;
N0004 (REMOVAL DEPTH) ;
N0005 (REMOVAL PITCH) ;
N0006 (FINISHING ALW.) ;
N0007 (FEED RATE) ;
N0008 (CUTTING WIDTH%) ;
N0009 (CUT DIRECTION) ;
N0010 (CENTER POINT X) ;
N0011 (CENTER POINT Y) ;
N0012 (U-LENGTH) ;
N0013 (V-LENGTH) ;
N0014 (INCLINE ANGLE) ;
N0015 (START POINT SEL.) ;
N0016 (APPROACH GAP) ;
N0017 (ESCAPE GAP) ;
N0018 (U-WIDTH) ;
N0019 (V-WIDTH) ;
N0100 (15) ;
N0101 (20 01 C010 20)( ROUGH ) ;
N0102 (20 01 C018 20)( FINISH ) ;
N0151 (1) ;
N0152 (2) ;
N0900 (16) ;
N0901 (20 01 C010 20)( UNIDIR ) ;
N0902 (20 01 C018 20)( BIDIR ) ;
N0903 (20 01 C020 20)( RING ) ;
N0951 (1) ;
N0952 (2) ;
N0953 (3) ;
N1600 (18) ;
N1601 (20 01 C010 20)(
N1602 (20 01 C010 20)(
N1603 (20 01 C010 20)(
N1604 (20 01 C010 20)(
N1651 (1) ;
N1652 (2) ;
N1653 (3) ;
N1654 (4) ;
M99 ;

-55-

[1]
[2]
[3]
[4]

) ;
) ;
) ;
) ;

8. DATA STRUCTURE OF MACHINING PROGRAM

USER PROGRAM

DATA STRUCTURE OF MACHINING


PROGRAM

-56-

B-63423EN/02

USER PROGRAM

B-63423EN/02

8.1

8. DATA STRUCTURE OF MACHINING PROGRAM

DATA ATTRIBUTE
The data attribute is the one, which is defined as the address and
character of each input data in the pop-up window. And the system
controls the display of input data and the operation according to this
data.
The data attribute is specified by setting the data to the following
macro variables. The each data attribute can be modified by using the
data attribute of this user program.
The structure of data attribute is as follows.
Var.
+0
+1
+2
+3
+4
+5
+6
+7
+8
+9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62

Content
Machining kind
Reserve
Reserve
Address of Input data 1
Attribute of Input data 1
Default of Input data 1
Address of Input data 2
Attribute of Input data 2
Default of Input data 2
Address of Input data 3
Attribute of Input data 3
Default of Input data 3
Address of Input data 4
Attribute of Input data 4
Default of Input data 4
Address of Input data 5
Attribute of Input data 5
Default of Input data 5
Address of Input data 6
Attribute of Input data 6
Default t of Input data 6
Address of Input data 7
Attribute of Input data 7
Default of Input data 7
Address of Input data 16
Attribute of Input data 16
Default of Input data 16
Address of Input data 17
Attribute of Input data 17
Default of Input data 17
Address of Input data 18
Attribute of Input data 18
Default of Input data 18
Address of Input data 19
Attribute of Input data 19
Default of Input data 19
Address of Input data 20
Attribute of Input data 20
Default of Input data 20

-57-

Var.
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74

Content
Address of Input data 8
Attribute of Input data 8
Default of Input data 8
Address of Input data 9
Attribute of Input data 9
Default of Input data 9
Address of Input data 10
Attribute of Input data 10
Default of Input data 10
Address of Input data 11
Attribute of Input data 11
Default of Input data 11
Address of Input data 12
Attribute of Input data 12
Default of Input data 12
Address of Input data 13
Attribute of Input data 13
Default of Input data 13
Address of Input data 14
Attribute of Input data 14
Default of Input data 14
Address of Input data 15
Attribute of Input data 15
Default of Input data 15
Address of Input data 21
Attribute of Input data 21
Default of Input data 21
Address of Input data 22
Attribute of Input data 22
Default of Input data 22
Address of Input data 23
Attribute of Input data 23
Default of Input data 23
Address of Input data 24
Attribute of Input data 24
Default of Input data 24

8. DATA STRUCTURE OF MACHINING PROGRAM

USER PROGRAM

B-63423EN/02

NOTE
1.
The first variable number is specified by
parameter No.9102. Standard value is # 6070.
2.
The number of user program, which is specified
the attribute data, is the number of Macro program
number for defining Data Attribute in Start-up
macro program.
The program number of each menu is increased
by 1.
2-1. Macro program number for defining Data
attribute of G-code menu = 8402
(1). INITIAL SET = O8402
(2). TOOL SET = O8403
(3). MSF CODE = O8404
(4). COMP. = O8405
(5). POSITIONING = O8406
2-2. Macro program number for defining Data
attribute of Contour menu = 8411
(1). START POINT = O8411
(2). LINE = O8412
(3). CIRCLE CW = O8413
(4). CIRCLE CCW = O8414
(5). CHANFERING = O8415
(6). CORNER R = O8416
(7). END = O8417
(8). TRANS COPY = O8418
(9). ROTATE COPY = O8419
(10). MIRROR COPY = O8420
2-3. Macro program number for defining Data
attribute of Hole machining menu = 8432
(1). DORILLING = O8432
(2). BORING = O8433
(3). TAPPING = O8434
2-4. Macro program number for defining Data
attribute of Hole pattern menu = 8451
(1). POINTS = O8451
(2). LINE = O8452
(3). GRID = O8453
(4). SQUARE = O8454
(5). CIRCLE = O8455
(6). ARC = O8456
2-5. Macro program number for defining Data
attribute of Facing menu = 8461
(1). SQUARE SURFACE = O8461
(2). CIRCLE SURFACE = O8462

-58-

B-63423EN/02

USER PROGRAM

8. DATA STRUCTURE OF MACHINING PROGRAM

NOTE
2-6. Macro program number for defining Data
attribute of Side cutting menu = 8471
(1). SQUARE SIDE = O8471
(2). CIRCLE SIDE = O8472
(3). TRACK SIDE = O8473
(4). ONE SIDE = O8474
(5). CONTOUR SIDE= O8475
2-7. Macro program number for defining Data
attribute of Pocketing menu = 8481
(1). SQUARE POCKET = O8481
(2). CIRCLE POCKET = O8482
(3). TRACK POCKET = O8483
(4). GROOVE = O8484
(5). CONTOUR POCKET = O8485
(6). CONTOUR GROOVE = O8486

-59-

8. DATA STRUCTURE OF MACHINING PROGRAM

8.2

USER PROGRAM

B-63423EN/02

DETAIL OF DATA ATTRIBUTE


1). Machining Kind
The number of G code is specified. For a example, Initial Setting
menu is G300, and it is set to 300. Moreover, it is set to 1, except
for G code like the MSF code menu. In the case of Line menu, it
is set to 1, because it is not able to decide whether it is G00 or
G01.
2). Address
The address of the argument for G code is specified as follows.
Address
A
B
C
D
E
F
G
H
I
J
K
L
M

Setting
1
2
3
4
5
6
*
8
9
10
11
12
13

Address
N
P
Q
R
S
T
U
V
W
X
Y
Z
END

Setting
14
16
17
18
19
20
21
22
23
24
25
26
0

When the address is set to 0, it is recognized the end of the data


attribute.
As to the address G, in order to use the address of G code, the
following group number of G code is set the address.
Group
00
01
02
03
04
05
06
07
08

Setting
30
31
32
33
34
35
36
37
38

-60-

Group
09
10
11
12
13
14
15
16
17

Setting
39
40
41
42
43
44
45
46
47

Group
18
19
20
21
22
23
24
25

Setting
48
49
50
51
52
53
54
55

B-63423EN/02

USER PROGRAM

8. DATA STRUCTURE OF MACHINING PROGRAM

3). Attribute
The data of whether it is a numeric value type or a literal value
type is specified.
Macro Variable of each data = ABCDEFG (numeric data)
(1). ABCDEFG = 00*4050
This data item is an integer type, and is inputted by numerical
key.
(2). ABCDEFG = 00*4051
This data item is a decimal type, and is inputted by numerical
key.
(3). ABCDEFG = 12*4050
This data item is a literal type, and is inputted by soft-keys.
(4). As to C of the fifth digit
The following attributes are defined as four bit data.
#0 = 0 : Assume the data item of Input Data Window.
= 1 : Assume the data item of Detail Window.
#1 = 0 : Output into memory .
= 1 : Not output into memory.
#2 = 0 : Display it as the data item in Window.
= 1 : Not display it as the data item in Window.
(5). ABCDEFG = -1
This data item is not used and is not displayed even on the
screen.
(6). ABCDEFG = -2
Changing page of Input Data Window is done.
In this case, neither the address data nor attribute data are used.
(7). ABCDEFG = -3
Changing page of Detail Window is done.
In this case, neither the address data nor attribute data are used.
4). Default
This data is displayed in the input data as a default before the
operator inputs the data.
Moreover, when the data is input by numeric key or soft-key, the
data is set according to the data attribute. The data is stored into
this area of memory by pushing the [INSERT] key in the form of
(address + argument).

-61-

9. USER PROGRAMS FOR DISPLAYING GUIDANCE DRAWING FIGURE USER PROGRAM

B-63423EN/02

USER PROGRAMS FOR DISPLAYING


GUIDANCE DRAWING FIGURE

-62-

B-63423EN/02

9.1

USER PROGRAM 9. USER PROGRAMS FOR DISPLAYING GUIDANCE DRAWING FIGURE

G CODES FOR DRAWING


The following user program is the one, which displays the guidance
drawing figure with the input data item. This user program is called
every time the cursor of the input data item moves.
The guidance drawing figure can be modified by using this user
program. Moreover, the following display tool prepared by macro
executor is used in this user program.
1). G243 : Character string display
2). G202 : Screen hold/erase
3). G240 : Color display setting
4). G244 : Line type setting
5). G242 : Graphic start point setting
6). G01, G02, G03 : Line/Circle draw
7). G206 : Paint display
8). G249 : Graphic cursor display
9). G204 : Rectangle display

NOTE
1.
The user program number of displaying the
guidance drawing figure is the number, which is
specified to Macro program number for displaying
guidance drawing figure in Start-up macro program.
The program number of the following each menu is
increased by 1.
1-1. Macro program number for displaying guidance
drawing figure of G code menu = 8602
(1). Initial Setting = O8602
(2). Tool Definition = O8603
(3). MSF code = O8604
(4). Comp. = O8605
(5). Positioning = O8606

-63-

9. USER PROGRAMS FOR DISPLAYING GUIDANCE DRAWING FIGURE USER PROGRAM

B-63423EN/02

NOTE
1-2. Macro program number for displaying guidance
drawing figure of Contour menu = 8611
(1). Start Point = O8611
(2). Line = O8612
(3). Circle CW = O8613
(4). Circle CCW = O8614
(5). Chamfering = O8615
(6). Corner R = O8616
(7). End = O8617
(8). Trans Copy = O8618
(9). Rotate Copy = O8619
(10). Mirror Copy = O8620
1-3. Macro program number for displaying guidance
drawing figure of Hole machining menu = 8632
(1). Drilling = O8632
(2). Boring = O8633
(3). Tapping = O8634
1-4. Macro program number for displaying guidance
drawing figure of Hole pattern menu = 8651
(1). Points = O8651
(2). Line = O8652
(3). Grid = O8653
(4). Square = O8654
(5). Circle = O8655
(6). Arc = O8656
1-5. Macro program number for displaying guidance
drawing figure of Facing menu = 8661
(1). Square surface = O8661
(2). Circle surface = O8662
1-6. Macro program number for displaying guidance
drawing figure of Side cutting menu = 8671
(1). Square side = O8671
(2). Circle side = O8672
(3). Track Side = O8673
(4). One Side = O8674
(5). Contour = O8675
1-7. Macro program number for displaying guidance
drawing figure of Pocketing menu = 8681
(1). Square Pocket = O8681
(2). Circle Pocket = O8682
(3). Track Pocket = O8683
(4). Groove = O8684
(5). Contour Pocket = O8685
(6). Contour Groove = O8686

-64-

B-63423EN/02

9.2

USER PROGRAM 9. USER PROGRAMS FOR DISPLAYING GUIDANCE DRAWING FIGURE

CHARACTER COORDINATES SYSTEM AND GRAPHIC


COORDINATES SYSTEM
The character coordinates system and graphic coordinates system (dot
coordinates system) to display the guidance drawing figure are as
follows.
1). Character coordinates system
The character coordinates system assumes the horizontal direction
to X coordinates and the vertical direction to Y coordinates.
X coordinates are specified from left (34) to right (58) and Y
coordinates specify from top (2) to bottom (15).
(34,2)

Input item

(58,2)

Guidance

(58,15)

(34,15)

2). Graphic coordinates system (Dot coordinates system)


Graphic coordinates system assumes the horizontal direction to X
coordinates and the vertical direction to Y coordinates.
X coordinates are specified from left (-80) to right (151) and Y
coordinates specify from bottom (-8) to top (215).
(-80,215)

Input item

(-80,-8)

-65-

(151,215)

Guidance

(151,-8)

9. USER PROGRAMS FOR DISPLAYING GUIDANCE DRAWING FIGURE USER PROGRAM

B-63423EN/02

Especially for Guidance Cutting, in order to support an operators


handling, some guidance drawings are prepared. Basically their
standard program are prepared, but they can be modified by MTB for
their own purpose.
The number of this user program is fixed as follows.
Program NO.
O9804
O9809
O9802
O9807

-66-

Content of drawing
Data items for Line form
Data items for Circle form
Approach/Along cutting and guidance handwheel
direction for Line cutting
Approach/Along cutting and guidance handwheel
direction for Circle cutting

USER PROGRAM 9. USER PROGRAMS FOR DISPLAYING GUIDANCE DRAWING FIGURE

B-63423EN/02

9.3

NOTES ON CREATING GUIDANCE DRAWING FIGURES


1)

A macro program for guidance drawing figures is started twice


each time the cursor moves on the data input screen. Therefore,
no operation should be performed upon the first startup of the
program, and a guidance drawing figure should be created only
upon the second startup.

2)

A macro program for guidance drawing figures uses several


symbols, which are defined in SYMBOL.DEF. The following
are some common symbols:
Symbol

cursor

#6011

guide_frequency

#6013

previous_cursor

#10060

call
fig_clear

6000

Description
Current cursor position
The symbol is set by the system.
How many times the guidance drawing
figure macro is started
First time = first_time (1)
Second time = second_time (2)
The symbol is set by the system.
Previous cursor position
The symbol is set by the macro.
It is initialized in PROC*.SRC and set in
FIG*.SRC.
M98P
Number of the program for initializing the
guidance drawing figure display area

Example)
To display one guidance drawing figure at prompts 1 and 2, and
to display another at prompt 3

Prompt 1 A=
Prompt 2 B=
Prompt 3 C=

-67-

Display guidance
drawing figure 1.
Display guidance
drawing figure 3.

9. USER PROGRAMS FOR DISPLAYING GUIDANCE DRAWING FIGURE USER PROGRAM

B-63423EN/02

O****
if[guide_frequency eq second_time]then
if[cursor eq 3 ]then
call fig_clear
Clear the guidance drawing figure at prompts 1 and 2.
call ****
Create the guidance drawing figure at prompt 3.
else
if[previous_cursor eq 3 ]then
Clear guidance drawing figure 3 when the cursor was
call fig_clear
previously positioned at prompt 3.
endif
call ****
Create the guidance drawing figure at prompts 1 and 2.
endif
previous_cursor = cursor
Hold the cursor at the current position.
endif
m99

3)

Create the
figure only
upon the
second
startup of
the
program.

The blinking cursor in a guidance drawing figure is called the


second cursor. There are many different methods to control the
second cursor. With the FANUC standard macros, for example,
the ordinal number on the process data is specified for #1 in
FIG*.SRC. Then, program O6008 is called. Within program
O6008, when the current cursor position matches the ordinal
number on the process data, the address blinks. Otherwise, the
normal display is provided.

:
#1=2
call fig_cursor
G243X50Y3(I)
:

:6008 if[cursor eq #1]then


cursor_on
else
cursor_off
endif
m99

#1: Ordinal number on the


process data
cursor_on:G240P-7C14L1
(Cursor blinking)
cursor_off:G240P7C14L0

call fig_clear and call fig_cursor shown in the above examples are
contained in FIGCOM.SRC, which is the source having a set of
routines common to guidance drawing figure macros. The following
are main common routines:
Routine name
fig_clear
fig_line
fig_cw
fig_ccw
fig_mark
fig_cursor
fig_character
fig_language

4)

Description
Clears the guidance drawing figure area.
Draws a line with an arrow.
Draws a circle with an arrow (CW).
Draws a circle with an arrow (CCW).
Draws a cross.
Enables or disables the blinking of the second cursor.
Draws a box around characters.
Changes the language in a guidance drawing figure.

A macro program for guidance drawing figures is started each


time the cursor moves. To change process attributes depending
on input data, therefore, the corresponding attributes must be
changed within this macro program. For example, to display
items for rough machining, and to hide them for finish
machining, change the attributes within the program accordingly.
-68-

B-63423EN/02

10

USER PROGRAM

10. USER PROGRAMS FOR CHECKING INPUTTED DATA

USER PROGRAMS FOR CHECKING


INPUTTED DATA
The following user program is the one, which checks the input data.
When an INSERT key is pushed, this user program is called. If there
is a mistake in the input data, the cursor will move to the data item. If
there is no mistake, the input data will be stored into the memory.
The logic of data checking can be modified by using these user
program.
In this user program, the cursor and the screen are controlled by using
the following two system variables.
l #6004 := 0 Store into the memory when INSERT key is pushed.
:= 1 Not store into the memory when INSERT key is pushed.
l #6009 : The cursor moves to the data item when the item number
of wrong data is inputted.
The sequence of user program for checking input data is as follows.
1). User program set # 6004 and # 6009 to 0 at first, and checks each
input data.
2). If there is a mistake in input data, user program will set # 6004 to
1 and #6009 to the number of the data item.
3). If there is no mistake, user program will finish with nothing.

NOTE
The user program number of checking inputted data
is the number, which is specified to Macro program
number for checking inputted data in Start-up
macro program. The program number of the
following each menu is increased by 1.
1 Macro program number for checking inputted data
of G-code menu = 8802
(1). Initial Setting = O8802
(2). Tool Definition = O8803
(3). MSF code = O8804
(4). Comp. = O8805
(5). Positioning = O8806

-69-

10. USER PROGRAMS FOR CHECKING INPUTTED DATA

USER PROGRAM

B-63423EN/02

NOTE
2 Macro program number for checking inputted data
of Contour menu = 8811
(1). Start Point = O8611
(2). Line = O8612
(3). Circle CW = O8613
(4). Circle CCW = O8614
(5). Chamfering = O8615
(6). Corner R = O8616
(7). End = O8617
(8). Linear Movement = O8618
(9). Rotation = O8619
(10). Mirror Transformation = O8620
3 Macro program number for checking inputted data
of Hole machining menu = 8832
(1). Drilling = O8832
(2). Boring = O8833
(3). Tapping = O8834
(4). Rigid tapping = O8834
4 Macro program number for checking inputted data
of Hole pattern menu = 8841
(1). Points = O8841
(2). Line = O8842
(3). Grid = O8843
(4). Square = O8844
(5). Circle = O8845
(6). Arc = O8846
5 Macro program number for checking inputted data
of Facing menu = 8861
(1). Square Surface = O8861
(2). Circle Surface = O8862
6 Macro program number for checking inputted data
of Side cutting menu = 8871
(1). Square Side = O8871
(2). Circle Side = O8872
(3). Track Side = O8873
(4). One Side = O8874
(5). Contour = O8875
7 Macro program number for checking inputted data
of Pocketing menu = 8881
(1). Square Pocket = O8881
(2). Circle Pocket = O8882
(3). Track Pocket = O8883
(4). Groove = O8884
(5). Contour Pocket = O8885
(6). Contour Groove = O8886

-70-

B-63423EN/02

11

USER PROGRAM

11. USER PROGRAM FOR EXECUTING MACHINING PROGRAM

USER PROGRAMS FOR EXECUTING


MACHINING PROGRAM
The following user program is the machining program which is called
from the special G code defined as a machining cycle. This user
program is prepared as a standard specification and it is also possible
to modify it.
The number of this user program is the numbers (Special G codes
number + 9000 ) as follow.
Menu
Initial Setting
Tool Definition
Start Point(Contour)
Line(Contour)
Circle CW(Contour)
Circle CCW(Contour)
Chamfer(Contour)
Corner R(Contour)
End(Contour)
Points(Hole Pattern)
Line(Hole Pattern)
Grid(Hole Pattern)
Square(Hole Pattern)
Circle(Hole Pattern)
Arc(Hole Pattern)
Square Face(Facing)
Circle Face(Facing)
Square Side(Side Cutting)
Circle Side(Side Cutting)
Track Side(Side Cutting)
One Side(Side Cutting)
Contour Side(Side Cutting)
Square Pocket (Pocketing)
Circle Pocket(Pocketing)
Track Pocket(Pocketing)
Groove(Pocketing)
Contour Pocket (Pocketing)
Contour Groove(Pocketing)

-71-

G code
G300
G301
G100
G101
G102
G103
G104
G105
G106
G200
G201
G202
G203
G204
G205
G210
G211
G220
G221
G222
G223
G224
G230
G231
G232
G233
G234
G235

Program No.
O9300
O9301
O9100
O9101
O9102
O9103
O9104
O9105
O9106
O9200
O9201
O9202
O9203
O9204
O9205
O9210
O9211
O9220
O9221
O9222
O9223
O9224
O9230
O9231
O9232
O9233
O9234
O9235

11 USER PROGRAMS FOR EXECUTING MACHINING PROGRAM USER PROGRAM

B-63423EN/02

In order to execute a Guidance Cutting, some form data necessary for


it must be set into PMC data area. For this purpose, the following
User Programs are prepared as a standard specification.
The number of this user program are fixed as follows.
Program NO.
O9800
O9805

-72-

Content of program
Setting Line cutting data into PMC
Setting Circle cutting data into PMC

B-63423EN/02

12

USER PROGRAM

12. USER PROGRAM FOR TOOL CHANGE

USER PROGRAMS FOR TOOL CHANGE


Tool Change Sequence is different from each machine. Therefore,
MTB has to make a tool change macro program according to the
specifications of his machine.
We explain about Tool Change Sequence of FANUC standard macro
program as follows. This user macro program is prepared as a
standard specifications. So, please make Tool Change macro program
referring it.
When the operator inputs the data of G code menu [TOOL SET] and
pushes INSERT key, the following ISO code program is created.

G301 T_ D_ H_ R_ N_ ;
T : Tool number (T code)
D : Offset number for cutter compensation (D code)
H : Offset number for tool length compensation (H code)
R : Radius of used tool for animated simulation
N : Next used tool number for automatic tool changer

WARING
When MTB uses FANUAC standard macro
program of Tool Change without modification, there
is a possibility that the tool may strikes the machine
or work-piece. If the tool strikes the machine and/or
work-piece, the tool and/or machine may be
damaged, and even injuries the operator.
Therefore, please surely make Tool Change
macro program according to the specifications of the
machine.

-73-

12. USER PROGRAMS FOR TOOL CHANGE

USER PROGRAM

B-63423EN/02

l Tool Change Sequence of FANUC standard macro program (O9301)

O9301 call_cutter_compensation_cancel
Output G40 for cutter compensation.
call_canned_cycle_cancel
Output G80 for a canned cycle.
G91
G28 Z0
Return to the reference position.
G28 X0 Y0
G90
if[tool_no lt 0]goto err
if[p_cutter_offset_no ne p_cutter_offset_no_off]then
if[cutter_offset_no lt 0]goto err
if[length_offset_no lt 0]goto err
Check input data.
endif
if[p_animation_t_radius eq p_animation_t_radius_on]then
if[animate_tool_radius lt 0]goto err
endif
if[next_tool_no lt 0]goto err
if[call_tool_macro eq 0]then
if[tool_no ne #0]then
Change tools when a T code is set.
T[tool_no] M6
endif
else
if[tool_no ne #0]then
T[tool_no]
Change tools set in memory.
call_tool_change [call_tool_macro]
endif
endif
if[p_cutter_offset_no ne p_cutter_offset_no_off]then
D[cutter_offset_no]
Output D and H codes.
H[length_offset_no]
endif
Output the next tool T code.
T[next_tool_no]
if[p_cutter_offset_no eq p_cutter_offset_no_off && p_animation_t_radius
ne p_animation_t_radius_on]goto ret
if[p_animation_t_radius ne p_animation_t_radius_on]then
if[cutter_offset_no ne #0]then
Output the
call_get_tool_offset D[cutter_offset_no]
radius
of
G10 L91 R[tool_radius]
the tool for
endif
animated
else
simulation.
if[animate_tool_radius ne #0]then
G10 L91 R[animate_tool_radius]
endif
endif
goto ret
n98 error_message = input_value_is_erroneous
Display an error message.
call_error_display
n99 return

-74-

B-63423EN/02

13

USER PROGRAM

13. PMC CUSTOMIZING TOOLS

PMC CUSTOMIZING TOOLS


MTB can make their own Machine Operating Panel and Particular
Operations by themselves by using following specially prepared PMC
signals and User Programs.
User Program Calling Switches (DI : Standard 8 + Custom made
12)
Requesting Mode Changing Signals (DI : AUTO mode, JOG mode,
EDIT mode, MDI mode)
ISO / MANUAL GUIDE Screen Changing Signal (DI)
Machining Start Signal (DI)
Guidance Handwheel Control Signals (DI)
Manual Pulse Boc Control Signals (DI)

-75-

13. PMC CUSTOMIZING TOOLS

13.1

USER PROGRAM

B-63423EN/02

SIGNALS FOR USER PROGRAMS CALLING


Maximum 20 PMC DI signals are prepared for corresponding User
Program calling. By using these signals as buttons for machine
control function on an operator's panel, proper custom macro
programs, User Programs, will be called and executed.

NOTE
This function is available only at Guidance cutting
operation. If other operation such as ordinary
machining operation is selected, it cannot be used.
1)

User Program Number and Corresponding PMC DI Signals

Program No.
O9854
O9855
O9856
O9857
O9858
O9859
O9860
O9861
O9862
O9863
O9864
O9865
O9866
O9867
O9868
O9869
O9870
O9871
O9872
O9873

Calling PMC Signal


R950.4 (TOUT)
R950.5 (M03)
R950.6 (M04)
R950.7 (M05)
R951.0 (M08)
R951.1 (M09)
R951.2 (G30)
R951.3 (G28)
R951.4 (CLSP9)
R951.5 (CLSP10)
R951.6 (CLSP11)
R951.7 (CLSP12)
R960.0 (CLSP13)
R960.1 (CLSP14)
R960.2 (CLSP15)
R960.3 (CLSP16)
R960.4 (CLSP17)
R960.5 (CLSP18)
R960.6 (CLSP19)
R960.7 (CLSP20)

Function of Program
T-code (T++++, M6)
Spindle CW (M03)
Spindle CCW (M04)
Spindle Stop (M05)
Coolant On (M08)
Coolant Off (M09)
Return to Tool Change Position.
(G30)
Return to Reference Pos. (G28)
User Program SUB#9
User Program SUB#10
User Program SUB#11
User Program SUB#12
User Program SUB#13
User Program SUB#14
User Program SUB#15
User Program SUB#16
User Program SUB#17
User Program SUB#18
User Program SUB#19
User Program SUB#20

NOTE
In the above PMC signal table, as to actual function
is described signals, User Programs for FANUC
standard specification are prepared.
In these FANUC standard specifications, besides
described machine command outputting, same
command will be inputted into the actual teaching
program, if it is Guidance Machining process.

-76-

USER PROGRAM

B-63423EN/02

2)

13. PMC CUSTOMIZING TOOLS

Shaking Hands Signal for User Program Calling

At the time that one of the above signals (DI) is turned to '1' as a
result of pushing corresponding key on a machine operator's panel,
MANUAL GUIDE system software will turn the following signal
(DO) to '1' in order to inform to PMC that this signal has been
received by system software.
R959.1(RSOF) = 1 : User program calling signal was received by
MANUAL GUIDE
PMC program must keep the user program calling signal to "1"
until this signal "RSOF" becomes "1". When the user program
calling signal is turned to "0", "RSOF" will be turned to "0".
3)

Automatic Start for User Programs Calling

At the time that one of the signals for user programs calling, 7.2
R950.0 - R951.7, is turned to '1' as a result of pushing
corresponding key on a machine operator's panel, MANUAL
GUIDE system software will turn the following signal (DO) to '1'.
R955.7(GST2) = 1 : Request to change mode to MEM, and start
executing
In response to the above request, PMC program must change
mode to MEM and begin the sequence for starting machine
operation.

-77-

13. PMC CUSTOMIZING TOOLS

USER PROGRAM

<Timing Chart>
Calling PMC signal
(PMC->CNC)
RSOF
(CNC->PMC)
GST
(CNC->PMC)
ST
(PMC->CNC)
STL
(CNC->PMC)

User program execution

ERS
(PMC->CNC)

M02, M30

-78-

B-63423EN/02

B-63423EN/02

13.2

USER PROGRAM

13. PMC CUSTOMIZING TOOLS

CHANGING MODE FOR AUTOMATIC OPERATION AND


MACHINING SIMULATION
At the time that an operator push a soft-key for [MEM] or [CHECK],
in order to do a automatic operation or a machining simulation,
MANUAL GUIDE system software will turn the following signal
(DO) to '1'.
R959.0(ANMM) = 1 : Request to change mode to MEM
In response to the above request, PMC program must change mode to
MEM. If this signal turned off to 0 from 1, PMC must change mode to
the old one.

13.3

CHANGING MODE FOR MANUAL OPERATION


At the time that an operator push a soft-key for [HANDLE] or
[TEACH], in order to operate a manual operation, MANUAL GUIDE
system software will turn the following signal (DO) to '1'.
R959.7(JOG) = 1 : Request to change mode to JOG
In response to the above request, PMC program must change mode to
JOG. If this signal turned off to 0 from 1, PMC must change mode to
the old one.

-79-

13. PMC CUSTOMIZING TOOLS

13.4

USER PROGRAM

B-63423EN/02

CHANGING MODE FOR EDITING OPERATION


When the operator pushes the [EDIT] soft-key for program editing,
the MANUAL GUIDE system software sets the following signal
(DO) to 1:
R959.4(EDIT) = 1 : Request to switch to EDIT mode
In response to the above request, the PMC program must switch to
EDIT mode. When the signal is reset to 0, the PMC program returns
to the original mode.

-80-

B-63423EN/02

13.5

USER PROGRAM

13. PMC CUSTOMIZING TOOLS

CHANGING MODE FOR MDI OPERATION


When the operator pushes the [MDI] soft-key for MDI operation, the
MANUAL GUIDE system software sets the following signal (DO) to
1:
R959.6(MDI) = 1 : Request to switch to MDI mode
In response to the above request, the PMC program must switch to
MDI mode. When the signal is reset to 0, the PMC program returns
to the original mode.

NOTE
To enable automatic mode change, set 1 to bit 1
(MOD) of parameter No. 9104.

-81-

13. PMC CUSTOMIZING TOOLS

13.6

USER PROGRAM

B-63423EN/02

SIGNAL FOR ISO / GUIDE SCREEN CHANGING


ISO screen means the programming screen in which conventional
command codes such as G-code are used. On the other hand, GUIDE
screen means the operating screen in which particular functions such
as Cycle motions / Guidance machining of MANUAL GUIDE are
used.
In order to change these ISO / GUIDE screen, a switch (or signal) is
prepared.

NOTE
In order to avoid unexpected problem at changing
between ISO / GUIDANCE screen, please make
PMC program to turn on External Reset signal at
changing this switch
PMC Signal for ISO/GUIDE Changing
G62.4(PDT1) = 0 : Select ISO programming screen
= 1 : Select GUIDE screen

-82-

USER PROGRAM

B-63423EN/02

13.7

13. PMC CUSTOMIZING TOOLS

OPERATION FOR STARTING MACHINING


By pushing a soft-key [START] of machining operation,
MANUAL GUIDE system software will turn the signal to '1' to
start the machining program.
R955.7(GST2) = 1 : Request to start executing of machining
program
In response to this request, PMC program begin the sequence for
starting machine operation. By these procedure, executing of
machining program will start.

<Timing Chart>
GST2
(CNC -> PMC)

ST
(PMC -> CNC)

STL
(CNC -> PMC)

-83-

13. PMC CUSTOMIZING TOOLS

13.8

USER PROGRAM

B-63423EN/02

GUIDANCE HANDWHEEL CONTROL SIGNALS


1)

Address

Size

R961

1 byte

Custom macro program <--> CNC interface


Line

Circle

0 : Not execute line nor circle


1 : Line
2 : Circle (CW)
3 : Circle (CCW)

R962 R965

4 bytes

X-axis approaching direction

X-axis center (X0)

(vector component)

Tool

X
R966 R969

4 bytes

Y-axis approaching direction

Y-axis center (Y0)

(vector component)
R970 R973

4 bytes

Distance from origin to a line (P)

R974

1 byte

Moving direction at rotating a guidance

Radius of a circle (R)


0 : Cut inside of a circle

handwheel to normal direction

1 : Cut outside of a circle

0 : +90 degrees to approaching


Note) Moving direction at rotating a guidance

direction
1 : -90 degrees to approaching

R961

direction
R975

1 byte

handwheel to normal depends on a value of

#7

#0

Set 0 always
Setting of limit area at limit function being available
0 : Area of approaching direction is forbidden
1 : Opposite area of approaching direction is forbidden
Setting of limit available or not
0 : Not available
1 : Available
R979

1 byte

R980 R983

4 bytes

Information of setting change


Distance from actual position to a line

-84-

Distance from actual position to a circle

USER PROGRAM

B-63423EN/02

13. PMC CUSTOMIZING TOOLS

Set 0 to R961 when line/circle cutting are not necessary.


R979 (information of setting change) is a signal to inform
CNC that the data for line/circle cutting were changed.
Sequence i) Set data for R961 - R974
ii) Set "0" to R979 after setting the above data
iii) CNC begins to read data
iv) CNC set "1" to R979 after reading
If some of data were changed during executing a cutting by
guidance handwheel , all the data must be set again.

NOTE
The all procedure for the above data signals are
already prepared as the standard custom macro
program. So, MTB needs not to make them by
themselves, if they need not to modify them.
2)

Synchronous feed with a guidance handwheel

G023.4 (HDLF)
When the above signal is "1", machine motions are controlled as
follows.
During automatic operation of machining program, the feedrate of
line (G01) or circle (G02/G03) motions is not controlled by
inputted feedrate in a program, but a guidance handwheel rotation.
The tangential speed of motion is controlled by synchronizing
with a guidance handwheel rotation.

NOTE
During running in dry run mode or machining
simulation, The above synchronous feed function
cannot be used. So, when the signal "DRN" is "1",
set the above signal "HDLF" to "0" always.

-85-

13. PMC CUSTOMIZING TOOLS

USER PROGRAM

3)

B-63423EN/02

Selecting moving axis

When non-zero value is set into the R961 described in 1), by


using the following signals, moving axis by handwheel can be
selected. These signals are prepared for each handwheel, and are
code signal data made up from 4 signals, A/B/C/D.
The number in a name of each signals means the handwheel
number.
HSnA : Moving axis selecting signal for handwheel No."n"

Moving axis selecting signal of handwheel


HSnD
HSnC
HSnB
HsnA
0
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
1
1
1
0

HS1A
G018#0

HS1B
G018#1

HS1C
G018#2

HS1D
G018#3

HS2A
G018#4

HS2B
G018#5

HS2C
G018#6

HS2D
G018#7

HS3A
G019#0

HS3B
G019#1

HS3C
G019#2

HS3D
G019#3

HS4A
G020#0

HS4B
G020#1

HS4C
G020#2

HS4D
G020#3

Moving axis
No axis is selected
1st axis
2nd axis
3rd axis
i) Simultaneous 2 axes moving along the line or circle
ii) Synchronous feed at automatic operation
( Guidance Handle)
Simultaneous 2 axes moving perpendicular to the line or circle
( Approach Handle)

-86-

B-63423EN/02

13.9

USER PROGRAM

13. PMC CUSTOMIZING TOOLS

MANUAL PULSE BOX CONTROL SIGNALS


The following signals (DI) are provided so that the teaching functions
[AUX], [RAPID], and [CUT] can also be started from the manual
pulse box:
PM PMC signal
R988.0(CUTT)
R988.1(RPDT)
R988.2(AUXT)

Description
Teaching for cutting
Teaching for rapid traverse
Teaching for auxiliary functions

When one of the above DI signals is set to 1 by pushing the


corresponding button on the manual pulse box, the MANUAL
GUIDE system software sets the following signal (DO) to 1, to notify
the PMC that it received the DI signal:
R959.1(RSOF) = 1 : Reception of the user program calling signal by
the MANUAL GUIDE
The PMC program must hold the user program calling signal to 1
until the RSOF signal is set to 1. When the use program calling signal
is reset to 0, the RSOF signal is also reset to 0.

-87-

14. USER WINDOW PROGRAMS

14

USER PROGRAM

B-63423EN/02

USER WINDOW PROGRAMS


On the editing and operation screens, MTB-customized screens can
be displayed. In addition, a user window on the editing screen can be
changed for use as a menu that works in the same way as that for
cycle machining.

-88-

14.1

14. USER WINDOW PROGRAMS

USER PROGRAM

B-63423EN/02

USER WINDOWS ON THE EDITING SCREEN


By setting the following parameters, user windows are enabled on the
editing screen:
No.
No. 9110

UWN =1
=0

:
:

#7

#6

#5

#4

#3

#2

#1

#0

UWN

Enables user window display on the editing screen.


Disables user window display on the editing screen.

No.
No. 9111
No. 9112

Description
Main program number of the user window custom macro
Three-digit G code used in the user window custom macro

By pushing [USER] in the editing menu, the user window menu


below is displayed. The MTB can customize a screen.
SOFTKEY
1

SOFTKEY
2

SOFTKEY
3

SOFTKEY
4

SOFTKEY
5

SOFTKEY
6

SOFTKEY
7

SOFTKEY
8

SOFTKEY
9

RETURN

The MTB should prepare all items for display on the screen except
the [RETURN] soft-key.

-89-

14. USER WINDOW PROGRAMS

14.2

USER PROGRAM

B-63423EN/02

MACRO PROGRAMS AND VARIABLES


1) O****+5: Initialization of the window
(Program number set for parameter No. 9111 + 5)
This program is used to determine the size and position of the
window. The program is called only once as the window opens.
Once the necessary data is input to the following custom macro
variables below, the window can open.
#9111 : X position at the upper-left corner of the window
(character coordinate)
#9112 : Y position at the upper-left corner of the window
(character coordinate)
#9113 : Window width (number of characters in the X
direction)
#9114 : Window height (number of characters in the Y
direction)
2) O****+0: Initialization of the display items in the window
(Program number set for parameter No. 9111 + 0)
This program is used for the purposes below. The program is
called only once after the window opens.
a)
b)

Initializing the custom macro variables used in the window


Displaying the static messages in the window

3) O****+1: Main processing in the window


(Program number set for parameter No. 9111 + 1)
This program is used for the purposes below. The program is
called periodically while the window is being displayed.
a) Monitoring pushed soft-keys and input data
b) Inputting data to custom macro variables based on
keystrokes
c) Displaying changed data, such as the machine position,
based on keystrokes
4) O****+2: Post-processing as the window closes
(Program number set for parameter No. 9111 + 2)
This program is used for post-processing for the internal status
as the window closes, including saving the custom macro
variables. The window closes, for example, when [RETURN] or
<INSERT> is pushed or another CNC screen appears. The
program is called only once.
5) O****+3: Display of the static soft-keys (only once)
(Program number set for parameter No. 9111 + 3)
This program is used to display the static soft-keys that remain
on the screen. The program is called only once after the window
opens.

-90-

B-63423EN/02

USER PROGRAM

14. USER WINDOW PROGRAMS

6) O****+4: Repetitive display of the dynamic soft-keys


(Program number set for parameter No. 9111 + 4)
This program is used to display the dynamic soft-keys that are
changed depending on the cursor position or other conditions.
The program is called periodically while the window is being
displayed.

-91-

14. USER WINDOW PROGRAMS

14.3

USER PROGRAM

B-63423EN/02

MONITORING KEYSTROKES
1) Custom macro variables for monitoring keystrokes
The following custom macro variables can be used to monitor
keystrokes:
#8501 : Identification of keys other than numeric keys
#8502 : Numeric data input before the <INPUT> key is pushed
2) Identification codes for pushed keys
The following codes are set to #8501 to identify pushed keys:
Key
Page key
Page key
Cursor
Cursor
Cursor
Cursor
ALTER
INSERT
DELETE
INPUT
RESET

Code
1
2
3
4
18
19
5
6
7
8
10

Key
Leftmost soft-key
Rightmost soft-key
Soft-key 1
Soft-key 2
Soft-key 3
Soft-key 4
Soft-key 5
Soft-key 6
Soft-key 7
Soft-key 8
Soft-key 9

Code
20
31
21
22
23
24
25
26
27
28
29

NOTE
Soft-key 10 is always used for [RETURN] (to close
the user window), and cannot be used for any other
purposes.

-92-

B-63423EN/02

14.4

USER PROGRAM

14. USER WINDOW PROGRAMS

MEMORY STORAGE AND CHANGING TOOLS


1) Memory storage tool
The G code (G235) is provided to store input data on the NC
tape memory. When the MDI [INSERT] key is pushed, the
custom macro creates process data and stores it on the NC tape
memory. When the following input data is set and G235 is
specified, the data can be stored on the NC tape memory:
Variable
Item name
+0
Machining type
+1
Reserved
+2
Reserved
+3
Address of input data 1
+4
Attribute of input data 1
+5
Argument of input data 1
+6
Address of input data 2
+7
Attribute of input data 2
+8
Argument of input data 2
...
...

Variable
...
+66
+67
+68
+69
+70
+71
+72
+73
+74

Item name
...
Address of input data 22
Attribute of input data 22
Argument of input data 22
Address of input data 23
Attribute of input data 23
Argument of input data 23
Address of input data 24
Attribute of input data 24
Attribute of input data 24

NOTE
1 For more information about input data, see Section
8.1, "Data Attribute."
2 The starting variable number is specified with
parameter No. 9102. The standard value is #6070.
3 The value set for the machining type (+0) should be
the same as that for parameter No. 9112. If the
value is different from the parameter value, the user
window does not open for changing data.
4 When G325 is specified, process data is stored on
the NC tape memory and the user window closes.
Example in which 400 is set for parameter No. 9112 and X123.456 is
output
:
#6070=400; .............G400
#6073=24; ...............Address X
Input data
#6074=4051; ...........Decimal fraction data
setting
#6075=123.456; ......Data to be stored
G235;.......................NC memory storage specification
:
<INSERT
INSERT>
INSERT (Memory storage)
G400X123.456;

-93-

14. USER WINDOW PROGRAMS

USER PROGRAM

B-63423EN/02

2) Changing tool
To change the data last input, it must be redisplayed. For this
purpose, the system variables (#10500 to #10574) are provided
to obtain such data.
When the cursor is moved to the desired block and the MDI
<ALTER> key is pushed, the argument addresses and data are
set to the system variables (#10500 to #10574). The data last
input can be displayed by reading these variables with the
custom macro.
Variable
Item name
#10500
Reserved
#10501
Reserved
#10502
Reserved
#10503 Address of input data 1
#10504
Reserved
#10505 Argument of input data 1
#10506 Address of input data 2
#10507
Reserved
#10508 Argument of input data 2
...
...

Variable
...
#10566
#10567
#10568
#10569
#10570
#10571
#10572
#10573
#10574

Item name
...
Address of input data 22
Reserved
Argument of input data 22
Address of input data 23
Reserved
Argument of input data 23
Address of input data 24
Reserved
Argument of input data 24

Example in which the cursor is positioned at the block with


G400X123.456 and <ALTER> is pushed
:
G243X10.Y10.(X=);
G243X12.Y10.D#10505;
:
User window

X=123.456

-94-

B-63423EN/02

14.5

USER PROGRAM

14. USER WINDOW PROGRAMS

CHARACTER COORDINATE SYSTEM AND GRAPHIC


COORDINATE SYSTEM
The character coordinate system and graphic coordinate system (dot
coordinate system) in user windows are as follows.
1) Character coordinate system
The character coordinate system assumes that X coordinates are
in the horizontal direction and Y coordinates are in the vertical
direction. The X coordinates specify 0 to 79, from left to right.
The Y coordinates specify 0 to 29, from top to bottom.
(0,0)

(79,29)

2) Graphic coordinate system


The graphic coordinate system assumes that X coordinates are in
the horizontal direction and Y coordinates are in the vertical
direction. The X coordinates specify -320 to 319, from left to
right. The Y coordinates specify -232 to 247, from bottom to top.
247

(0,0)
0,0)
319

-320

-232

-95-

14. USER WINDOW PROGRAMS

USER PROGRAM

B-63423EN/02

The coordinates of the closed window are used as the reference


coordinates. Therefore, specify coordinates with reference to the user
window that is shifted to the upper left.

User window

The following is an example of how to draw a line within a user


window as shown above:
:
G242X-280Y30;
G01X-100Y150;
:

-96-

14.6

14. USER WINDOW PROGRAMS

USER PROGRAM

B-63423EN/02

USER WINDOWS ON THE OPERATION SCREEN


By setting the following parameters, user windows are enabled on the
operation screen:
No.
No. 9110

MWN

=1 :
=0 :
No.
No. 9113

#7

#6

#5

#4

#3

#2

#1

#0

MUW

Enables user window display on the operation screen.


Disables user window display on the operation screen.
Description
Main program number of the user window custom macro

The specifications are basically the same as those for the editing
screen. However, program editing is not allowed; data cannot be
stored on NC memory (with <INSERT>) nor changed (with
<ALTER>).

-97-

14. USER WINDOW PROGRAMS

14.7

USER PROGRAM

B-63423EN/02

CHANIGING USER WINDOWS TO SUPPORT CYCLES


By setting the following parameters, a user window can be changed to
support cycles in the same way as for normal cycle machining (such
cycles are hereinafter referred to as "user cycles"). This eliminates
the need for modifying the macro programs to reflect new editions,
because the user cycles are unaffected by additional FANUC standard
cycles.
No.
No. 9163

#7

#6

#5

#4

#3

#2

#1

SM2

#0

K19

SM2

=1 :
=0 :

Uses the second startup macro program.


Does not use the second startup macro program.

K19

=1 :

Displays cycle machining defined in the second startup


macro program when the ninth editing menu soft-key is
pushed.
Does not display cycle machining defined in the second
startup macro program when the ninth editing menu soft-key
is pushed.

=0 :

No.
No. 9164
No. 9165

Description
Program number of the second startup macro
Starting variable number for definition of the editing macro

By pushing the [USER] editing soft-key, the machining cycle menu


below is displayed.
USER MAC USER MAC USER MAC USER MAC USER MAC
HINING1
HINING2
HINING3
HINING4
HINING5

RETURN

By pushing the [USER MACHINING*] soft-key , the detailed


machining menu below is displayed.
USER
DETAIL1

USER
DETAIL2

USER
DETAIL3

USER
DETAIL4

USER
DETAIL5

USER
DETAIL6

USER
DETAIL7

USER
DETAIL8

RETURN

By pushing the [USER DETAIL*] soft-key , the data input screen is


displayed.
1) Second startup macro program
To enable screen switching in the same way as for cycle
machining, the second startup macro program must be defined
for user cycles, aside from the normal startup macro program.
Use the above parameters to set the number of the second startup
macro program and the starting variable number used in the
program.
Define screen layout data, starting with the variable number set
with parameter No. 9165. The required variables are as follows.
-98-

B-63423EN/02

USER PROGRAM

Variable
+0
+1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
...

14. USER WINDOW PROGRAMS

Description
Number of submenus of the user cycle machining menu
Number of the string definition macro for the user cycle
machining menu
Number of submenus of user cycle machining menu 1
Number of the string definition macro for user cycle
machining menu 1
Number of the attribute data macro for user cycle machining
menu 1
Number of the guidance drawing figure macro for user cycle
machining menu 1
Number of the input data check macro for user cycle
machining menu 1
Number of submenus of user cycle machining menu 2
Number of the string definition macro for user cycle
machining menu 2
Number of the attribute data macro for user cycle machining
menu 2
Number of the guidance drawing figure macro for user cycle
machining menu 2
Number of the input data check macro for user cycle
machining menu 2
Number of submenus of user cycle machining menu 3
Number of the string definition macro for user cycle
machining menu 3
Number of the attribute data macro for user cycle machining
menu 3
Number of the guidance drawing figure macro for user cycle
machining menu 3
Number of the input data check macro for user cycle
machining menu 3
Number of submenus of user cycle machining menu 4
...

NOTE
Define the string definition macros, attribute data
macros, guidance drawing figure macros, and
input data check macros in the same way as those
for cycle machining.
2) Starting the data input screen using a soft-key in the machining
menu
Normally, when a soft-key is pushed in the machining menu, the
corresponding soft-keys are displayed in the detail menu. Then,
the data input screen appears when one of the soft-keys is pushed.
However, when the number of submenus of the machining menu
is defined as -1, as shown below, pushing a soft-key in the
machining menu can display the corresponding data input
window.
Number of submenus of user cycle machining menu m = -1
Number of the string definition macro for the user-defined
machining menu = Any
-99-

14. USER WINDOW PROGRAMS

USER PROGRAM

B-63423EN/02

Number of the attribute data macro for the user-defined


machining menu = Any
Number of the guidance drawing figure macro for the userdefined machining menu = Any
3) Precedence over user window display
When bit 0 (UWN) of parameter No. 9110 is 1, user window
display is enabled. When bit 7 (SM2) and bit 0 (K19) of
parameter No. 9163 are 1, however, user cycles are enabled and
no user window is displayed.

-100-

USER PROGRAM

B-63423EN/02

14.8

14. USER WINDOW PROGRAMS

RESTRICTIONS
In the user window display, unlike cycle machining, moving the
cursor over a data item displays no soft-keys nor guidance messages
during editing when the data input window closes ([WINDOW] is
turned off). In the user cycles, soft-keys or guidance messages appear
in the same way as for normal cycle machining.

-101-

15. DISPLAYING USER-SPECIFIED STRINGS

15

USER PROGRAM

B-63423EN/02

DISPLAYING USER-SPECIFIED STRINGS


The strings that should not be affected by new editions of the FANUC
standard macros can be defined as separate programs. Examples of
these strings are those used for the MANUAL GUIDE title and user
window soft-keys.
This eliminates the need for string modifications, which would be
made to reflect each of new editions of the FANUC standard macros.

-102-

USER PROGRAM

B-63423EN/02

15.1

15. DISPLAYING USER-SPECIFIED STRINGS

EXAMPLE OF DEFINING THE TITLE AS A SEPARATE


PROGRAM
1)

For parameter No. 9170, specify the program number of the


FANUC standard macro that has the title string definition. The
lowest digit of a program number is 1 to 6, depending on the
language. In this example, the typical number is specified as the
program number.
In Japanese, program O7002 of the FANUC standard macros has
the string definition. Set 7000 to parameter No. 9170.
O7002
N9999(MANUAL GUIDE)
:
M99

2) For parameter No. 9171, specify the program number of the userspecified macro that has the title string definition. Again, the
typical number is specified as the program number. Suppose that
program O5702 of the user-specified macros has the string
definition. Set 5700 to parameter No. 9171
O5702
N9999(Title)
M99
The MANUAL GUIDE system software checks parameters No.
9170 and No. 9171. When the program number of the new userspecified macro exists, the software checks whether N9999
exists in program O5702. If it exists, "Title" is displayed.
Otherwise, "MANUAL GUIDE" is displayed in the title display
area.

-103-

15. DISPLAYING USER-SPECIFIED STRINGS

15.2

USER PROGRAM

B-63423EN/02

PARAMETERS
The following parameters are provided to display user-specified
strings:
No.
No. 9170
No. 9171
No. 9172
No. 9173
No. 9174
No. 9175
No. 9176
No. 9177
No. 9178
No. 9179

Description
Program number 1 of the original FANUC standard macro
Program number 1 of the new user-specified macro
Program number 2 of the original FANUC standard macro
Program number 2 of the new user-specified macro
Program number 3 of the original FANUC standard macro
Program number 3 of the new user-specified macro
Program number 4 of the original FANUC standard macro
Program number 4 of the new user-specified macro
Program number 5 of the original FANUC standard macro
Program number 5 of the new user-specified macro

-104-

B-63423EN/02

16

USER PROGRAM

16. MEASUREMENT CYCLE

MEASUREMENT CYCLE
The measurement cycle program is optionally available. The program
can be used to perform touch probe calibration and workpiece
measurement.

-105-

16. MEASUREMENT CYCLE

16.1

USER PROGRAM

B-63423EN/02

STARTUP MACRO PROGRAM


Change the contents of the normal startup macro program, based on
the following structure:
Variable

Description

+0

Number of the string definition macro displayed in


the system
Number of submenus of the editing menu
Number of the string definition macro for the editing
menu
Number of the attribute data macro for the editing
menu
Number of the guidance drawing figure macro for
the editing menu
Number of the input data check macro for the
editing menu
...
Number of submenus of the cycle machining menu
Number of the string definition macro for the cycle
machining menu
...
Number of submenus of the pocketing menu
Number of the string definition macro for the
pocketing menu
Number of the attribute data macro for the
pocketing menu
Number of the guidance drawing figure macro for
the pocketing menu
Number of the input data check macro for the
pocketing menu
Number of submenus of the calibration cycle menu
Number of the string definition macro for the
calibration menu
Number of the attribute data macro for the
calibration menu
Number of the guidance drawing figure macro for
the calibration menu
Number of the input data check macro for the
calibration menu
Number of submenus of the measurement cycle
menu
Number of the string definition macro for the
measurement cycle menu
Number of the attribute data macro for the
measurement cycle menu
Number of the guidance drawing figure macro for
the measurement cycle menu
Number of the input data check macro for the
measurement cycle menu

+1
+2
+3
+4
+5
...
+ 11
+ 12
...
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47

-106-

Standard
value
7000
7
7010
8402
8602
8802
...
7
7300
...
5
7800
8481
8681
8881
4
6200
6511
6551
6611
13
6300
6521
6561
6621

USER PROGRAM

B-63423EN/02

16.2

16. MEASUREMENT CYCLE

CALIBRATION AND MEASUREMENT CYCLES


By pushing the [CYCLE] in the editing menu, the cycle menu below
is displayed.
HOLE

PATTER FACING SIDE CU POCKET


TTING
ING

CALIBR
ATION

MEASU
R

RETURN

CALIBRATION : Define calibration cycles for the touch probe.


MEASUR
: Define measurement cycles.

NOTE
The number (O730n) of this user program is set for
the number of the string definition macro for the
cycle machining menu, in the startup macro
program.
O730n ;
N0001 (20 01 C010 20) (Alphanumeric letters for HOLE) ;
Maximum 6ch
N0002 (20 01 C018 20) (Alphanumeric letters for PATTER) ;
Maximum 6ch
N0003 (20 01 C020 20) (Alphanumeric letters for FACING) ;
Maximum 6ch
N0004 (20 01 C028 20) (Alphanumeric letters for SIDE CUTTING) ;
Maximum 6ch
N0005 (20 01 C030 20) (Alphanumeric letters for POCKETING) ;
Maximum 6ch
N0006 (20 01 C038 20) (Alphanumeric letters for CALIBRATION) ;
Maximum 6ch
N0006 (20 01 C040 20) (Alphanumeric letters for MEASUR) ;
Maximum 6ch

By pushing the [CALIB] in the editing menu, the calibration menu


below is displayed.
PROBE

DIA.

OFFSET OFFSET
A
B

Pushing a soft-key displays the corresponding menu in a pop-up


window. This section assumes that [PROBE] is pushed. The
following uses an example of the probe menu for explanation.

-107-

16. MEASUREMENT CYCLE

USER PROGRAM

B-63423EN/02

When [PROBE] is pushed, the input data window below appears.

Title (1)

The first to mth items

PROBE LENGTH

1/1

DISTANCE FOR MOV


DIST. GAUGE-TABLE
RING GAUGE HEIGHT
FEEDRATE FOR MOV

Z=
D=
H=
F=

The macros below can be used to define data items in the window.

NOTE
1 The user program number (O761n) of this menu is
obtained by adding 10 to the number of the string
definition macro for the calibration menu, in the
startup macro program. The numbers of the
subsequent menus are incremented by 10.
(1) Probe menu = O621n
(2) Diameter menu = O622n
(3) Offset A menu = O623n
(4) Offset B menu = O624n
2 Define the measurement cycle menu using the
same method.
(1) X/Y/Z Single Surface menu = O631n
(2) Web Width menu = O632n
(3) Groove Width menu = O633n
(4) Outside Circle menu = O634n
(5) Inside Circle menu = O635n
(6) Outside Rectangular menu = O636n
(7) Inside Rectangular menu = O637n
(8) Outside Corner menu = O638n
(9) Inside Corner menu = O639n
(10) Bolt-Hole-Circle menu = O640n
(11) 4 Holes Center menu = O641n
(12) Workpiece Angle menu = O642n
(13) 2 Holes Angle menu = O643n
O621n ;
N9999 (Alphanumeric letters for Title(1)) ;
Maximum 40ch
N0001 (Alphanumeric letters for 1st item) ;
Maximum 18ch
N0002 (Alphanumeric letters for 2nd item) ;
Maximum 18ch
N000m (Alphanumeric letters for mth item) ;
Maximum 18ch

-108-

USER PROGRAM

B-63423EN/02

16. MEASUREMENT CYCLE

NOTE
3 Input items are given serial numbers, counting from
1 for the first item in the input data window or detail
window. Which window displays items is specified in
process data, as shown in Part II.
It is possible to change the comments on soft-keys displayed for each
data item in a menu.
NOTE

NOTE
4 The soft-key for each input item corresponds to the
second digit of a sequence number. The ordinal
number of the soft-key corresponds to the fourth
digit of a sequence number.
N0101 (20 01 C010 20) (The 1st soft-key letters of 1st item) ;
Maximum 6ch
N010n (20 01 C010 20) (The nth soft-key letters of 1st item) ;
Maximum 6ch
N0m01 (20 01 C010 20) (The 1st soft-key letters of mth item) ;
Maximum 6ch
N0m0n (20 01 C010 20) (The nth soft-key letters of mth item) ;
Maximum 6ch

It is also possible to change data output with a selected soft-key.

NOTE
5 Data output with each soft-key corresponds to the
value of a sequence number whose third digit is 5.
N0151 (Numeric data of the 1st soft-key to 1st item) ;
N015n (Numeric data of the nth soft-key to 1st item) ;
N0m51 (Numeric data of the 1st soft-key to mth item) ;
N0m5n (Numeric data of the nth soft-key to mth item) ;

Example of definition of input data items in the probe menu


O6212 ;
N9999(' PROBE LENGTH ');
N0001(' DISTANCE FOR MOV ');
N0002(' DIST. GAUGE-TABLE ');
N0003(' TRING GAUGE HEIGH ');
N0004(' FEEDRATE FOR MOV);
M99

-109-

16. MEASUREMENT CYCLE

16.3

USER PROGRAM

B-63423EN/02

ATTRIBUTE DATA
The attribute data is the same as that for normal cycle machining.

NOTE
1 The starting variable number is specified with
parameter No. 9102. The standard value is #6070.
2 The number of the user program for setting attribute
data is set for the attribute macro number, in the
startup macro program. The numbers of the
subsequent menus are incremented by 1.
2-1Number of the attribute data macro for the
calibration menu = 6511
(1) Probe = O6511
(2) Diameter = O6512
(3) Offset A = O6513
(4) Offset B = O6514
2-2Number of the attribute data macro for the
measurement cycle menu = 6521
(1) X/Y/Z Single Surface menu = O6521
(2) Web Width menu = O6522
(3) Groove Width menu = O6523
(4) Outside Circle menu = O6524
(5) Inside Circle menu = O6525
(6) Outside Rectangular menu = O6526
(7) Inside Rectangular menu = O6527
(8) Outside Corner menu = O6528
(9) Inside Corner menu = O6529
(10) Bolt-Hole-Circle menu = O6530
(11) 4 Holes Center menu = O6531
(12) Workpiece Angle menu = O6532
(13) 2 Holes Angle menu = O6533

-110-

B-63423EN/02

16.4

USER PROGRAM

16. MEASUREMENT CYCLE

MACRO PROGRAMS FOR DISPLAYING GUIDANCE


DRAWING FIGURES
The macro programs for displaying guidance drawing figures are the
same as those for normal cycle machining.

NOTE
1 The number of the user program for displaying
guidance drawing figures suitable for data items is
set for the guidance drawing figure macro number,
in the startup macro program. The numbers of the
subsequent menus are incremented by 1.
1-1Number of the guidance drawing figure macro for
the calibration menu = 6551
(1) Probe = O6551
(2) Diameter = O6552
(3) Offset A = O6553
(4) Offset B = O6554
1-2Number of the guidance drawing figure macro for
the measurement cycle menu = 6561
(1) X/Y/Z Single Surface menu = O6561
(2) Web Width menu = O6562
(3) Groove Width menu = O6563
(4) Outside Circle menu = O6564
(5) Inside Circle menu = O6565
(6) Outside Rectangular menu = O6566
(7) Inside Rectangular menu = O6567
(8) Outside Corner menu = O6568
(9) Inside Corner menu = O6569
(10) Bolt-Hole-Circle menu = O6570
(11) 4 Holes Center menu = O6571
(12) Workpiece Angle menu = O6572
(13) 2 Holes Angle menu = O6573

-111-

16. MEASUREMENT CYCLE

16.5

USER PROGRAM

B-63423EN/02

MACRO PROGRAMS FOR CHECKING INPUT DATA


The macro programs for checking input data are the same as those for
normal cycle machining.

NOTE
1 The number of the user program for checking input
data is set for the input data check macro number,
in the startup macro program. The numbers of the
subsequent menus are incremented by 1.
1-1Number of the check macro for the calibration menu
= 6611
(1) Probe = O6611
(2) Diameter = O6612
(3) Offset A = O6613
(4) Offset B = O6614
1-2Number of the check macro for the measurement
cycle menu = 6621
(1) X/Y/Z Single Surface menu = O6621
(2) Web Width menu = O6622
(3) Groove Width menu = O6623
(4) Outside Circle menu = O6624
(5) Inside Circle menu = O6625
(6) Outside Rectangular menu = O6626
(7) Inside Rectangular menu = O6627
(8) Outside Corner menu = O6628
(9) Inside Corner menu = O6629
(10) Bolt-Hole-Circle menu = O6630
(11) 4 Holes Center menu = O6631
(12) Workpiece Angle menu = O6632
(13) 2 Holes Angle menu = O6633

-112-

B-63423EN/02

16.6

USER PROGRAM

16. MEASUREMENT CYCLE

MACRO PROGRAMS FOR EXECUTING CALIBRATION


AND MEASUREMENT CYCLES
The numbers of those programs are obtained by adding 9000 to
special G codes, as shown below.
Menu
Measurement of Probe Length
Measurement of Diameter
Measurement (A) of Offset
Measurement (B) of Offset
Measurement of X/Y/Z Single Surface
Measurement of Web Width
Measurement of Groove Width
Measurement of Outside Circle
Measurement of Inside Circle
Measurement of Outside Rectangular
Measurement of Inside Rectangular
Outside Corner
Inside Corner
Bolt-Hole-Circle
4 Holes Center
Workpiece Angle
2 Holes Angle

-113-

G code
G170
G171
G172
G173
G180
G181
G182
G183
G184
G185
G186
G187
G188
G189
G190
G191
G191

Program number
O9170
O9171
O9172
O9173
O9180
O9181
O9182
O9183
O9184
O9185
O9186
O9187
O9188
O9189
O9190
O9191
O9192

II. SAMPL E PROGRAM

NOTE
In this chapter, sample programs for various user programs
described in the former chapter are described.
As to the sample programs described in this chapter, they are
subject to change without prior notice for improvement.

1. LIST OF USER PROGRAMS

SAMPLE PROGRAM

B-63423EN/02

LIST OF USER PROGRAMS

l Program Number List of User Programs


Large
Classification
System

Small
Classification

G-code Menu

Contour Profile
Menu

Hole
Machining
Cycle Motion
Hole pattern

Menu
System Comment
Menu Soft-keys
Initial Setting
Tool Setting
MSB code
Compensation
Line
CW Circle
CCW Circle
Menu Soft-keys
Start point
Line
CW Arc
CCW Arc
Chamfer
Round
End
Translate Copy
Rotation Copy
Mirror Copy
Cycle Motion Menu
Menu Soft-keys
Drilling
Boring
Tapping
Menu Soft-keys
Points
Line
Grid
Square
Circle
Arc

-117-

Comment

Attribute

Figure

Checking

O700n
O701n
O702n
O703n
O704n
O705n
O706n
O707n
O708n
O710n
O711n
O712n
O713n
O714n
O715n
O716n
O717n
O718n
O719n
O720n
O730n
O731n
O732n
O733n
O734n
O740n
O741n
O742n
O743n
O744n
O745n
O746n

------O8402
O8403
O8404
O8405
O8406
O8407
O8408
---O8411
O8412
O8413
O8414
O8415
O8416
O8417
O8418
O8419
O8420
------O8432
O8433
O8434
---O8441
O8442
O8443
O8444
O8445
O8446

------O8602
O8603
O8604
O8605
O8606
O8607
O8608
---O8611
O8612
O8613
O8614
O8615
O8616
O8617
O8618
O8619
O8620
------O8632
O8633
O8634
---O8641
O8642
O8643
O8644
O8645
O8646

------O8802
O8803
O8804
O8805
O8806
O8807
O8808
---O8811
O8812
O8813
O8814
O8815
O8816
O8817
O8818
O8819
O8820
------O8832
O8833
O8834
---O8841
O8842
O8843
O8844
O8845
O8846

1. LIST OF USER PROGRAMS


Large
Classification

Small
Classification
Facing

Side Cutting
Cycle Motion

Pocketing

SAMPLE PROGRAM

Menu

B-63423EN/02

Comment

Attribute

Figure

Checking

O760n
O761n
O762n
O770n
O771n
O772n
O773n
O774n
O775n
O780n
O781n
O782n
O783n
O784n
O785n
O786n

---O8461
O8462
---O8471
O8472
O8473
O8474
O8475
---O8481
O8482
O8483
O8484
O8485
O8486

---O8661
O8662
---O8671
O8672
O8673
O8674
O8675
---O8681
O8682
O8683
O8684
O8685
O8686

---O8861
O8862
---O8871
O8872
O8873
O8874
O8875
---O8881
O8882
O8883
O8884
O8885
O8886

Menu Soft-keys
Square Surface
Circle Surface
Menu Soft-keys
Square Side
Circle Side
Track Side
One Side
Contour Side
Menu Soft-keys
Square Pocket
Circle Pocket
Track Pocket
Grooving
Contour Pocket
Contour Grooving

l When the measurement cycle option is provided, the following programs


are added:
Large
Classification

Small
Classification

Calibration
Cycles

Cycle Motion
Measuring
Cycles

Menu

Comment

Attribute

Figure

Checking

Menu Soft-keys
Measurement of Probe Length
Measurement of Diameter
Measurement (A) of Offset
Measurement (B) of Offset
Menu Soft-keys
Measurement of X/Y/Z Single
Surface
Measurement of Web Width
Measurement of Groove Width
Measurement of Outside Circle
Measurement of Inside Circle
Measurement of Outside
Rectangular
Measurement of Inside
Rectangular
Measurement of Outside Corner
Measurement of Inside Corner
Measurement of Bolt-Hole Circle
Measurement of 4 Holes Center
Measurement of Workpiece
Angle
Measurement of 2 Holes Angle

O620n
O621n
O622n
O623n
O624n
O630n

---O6511
O6512
O6513
O6514
----

---O6551
O6552
O6553
O6554
----

---O6611
O6612
O6613
O6614
----

O631n

O6521

O6561

O6621

O632n
O633n
O634n
O635n

O6522
O6523
O6524
O6525

O6562
O6563
O6564
O6565

O6622
O6623
O6624
O6625

O636n

O6526

O6566

O6626

O637n

O6527

O6567

O6627

O638n
O639n
O640n
O641n

O6528
O6529
O6530
O6531

O6568
O6569
O6570
O6571

O6628
O6629
O6630
O6631

O642n

O6532

O6572

O6632

O643n

O6533

O6573

O6633

-118-

B-63423EN/02

SAMPLE PROGRAM

1. LIST OF USER PROGRAMS

l Start-up Macro Program (without Measurement Cycle)


;START UP MACRO
O8000
#6020=7000;
#6021=7;
#6022=7010;
#6023=8402;
#6024=8602;
#6025=8802;
#6026=10;
#6027=7100;
#6028=8411;
#6029=8611;
#6030=8811;
#6031=5;
#6032=7300;
#6033=3;
#6034=7310;
#6035=8432;
#6036=8632;
#6037=8832;
#6038=6;
#6039=7400;
#6040=8441;
#6041=8641;
#6042=8841;
#6043=2;
#6044=7600;
#6045=8461;
#6046=8661;
#6047=8861;
#6048=5;
#6049=7700;
#6050=8471;
#6051=8671;
#6052=8871;
#6053=6;
#6054=7800;
#6055=8481;
#6056=8681;
#6057=8881;
M99;

-119-

1. LIST OF USER PROGRAMS

SAMPLE PROGRAM

l Start-up Macro Program (with Measurement Cycle)


;START UP MACRO
O8000
#6020=7000;
#6021=5;
#6022=7010;
#6023=8402;
#6024=8602;
#6025=8802;
#6026=10;
#6027=7100;
#6028=8411;
#6029=8611;
#6030=8811;
#6031=7;
#6032=7300;
#6033=4;
#6034=7310;
#6035=8432;
#6036=8632;
#6037=8832;
#6038=6;
#6039=7400;
#6040=8441;
#6041=8641;
#6042=8841;
#6043=2;
#6044=7600;
#6045=8461;
#6046=8661;
#6047=8861;
#6048=5;
#6049=7700;
#6050=8471;
#6051=8671;
#6052=8871;
#6053=6;
#6054=7800;
#6055=8481;
#6056=8681;
#6057=8881;
#6058=4;
#6059=6200;
#6060=6511;
#6061=6551;
#6062=6611;
#6063=13;
#6064=6300;
#6065=6521;
#6066=6561;
#6067=6621;
M99;

-120-

B-63423EN/02

SAMPLE PROGRAM

B-63423EN/02

USER PROGRAMS FOR SYSTEM


COMMENT

l Definition of Symbol
/*** Attribution definition
@att_not_use
-1
@att_new_page
-2
@att_new_page_datail
-3

/* Not Use
/* New Page for Normal Window
/* New Page for Detail Window

@att_integer
4050
/* Integer Data
@att_decimal
4051
/* Decimal Data
@att_character
1204050 /* Character Data
@att_detail
10000
/* Detail
@att_not_output
20000
/* Not Output
@att_not_display
40000
/* Not Display
@att_not_display_decimal 40001
/* Not Display Decimal Data
/*** Usable definition
@address
P9102+3* /* Address Variable
@attribute
P9102+1+3* /* Attribute Variable
@value
P9102+2+3* /* Value Variable
@input_error_flag
@error_non
@error_on
@error_item
@cursor
@guide_frequency
@first_time
@secont_tine
@previous_cursor
@call
/*** Parameter
@inch_mm
@inch_mm_on
/*** Sub Program
@fig_clear
@fig_line
@fig_cw
@fig_ccw
@fig_mark
@fig_shift
@fig_ellipse
@fig_cursor
@fig_character
@fig_language
@solid_line
@dot_line
@cursor_on
@cursor_off

2. USER PROGRAMS FOR SYSTEM COMMENT

#6004
/* Input Check Error Flag
0
1
#6009
/* Error Item Cursor Position
#6011
/* Cursor Position
#6013
/* Guidance Macro Call Frequency
1
2
#10060
/* Previous Cursor Position
M98P

/* Macro Call

P9920AND32
32

6000
6001
6002
6003
6005
6006
6007
6008
6009
6010
G244P0
G244P1
G240P-7C14L1
G240P7C14L0

-121-

2. USER PROGRAMS FOR SYSTEM COMMENT

@string_o_number
@shift_grap_Y
@shift_char_Y
@shift_grap_X
@shift_char_X

6900

SAMPLE PROGRAM

/* String O number

32
2
8
1

/*** Address definition


@add_A
1
@add_B
2
@add_C
3
@add_D
4
@add_E
5
@add_F
6
@add_G
7
@add_H
8
@add_I
9
@add_J
10
@add_K
11
@add_L
12
@add_M
13
@add_N
14
@add_O
15
@add_P
16
@add_Q
17
@add_R
18
@add_S
19
@add_T
20
@add_U
21
@add_V
22
@add_W
23
@add_X
24
@add_Y
25
@add_Z
26
@add_G00G
30
@add_G01G
31
@add_G02G
32
@add_G03G
33
@add_G04G
34
@add_G05G
35
@add_G06G
36
@add_G07G
37
@add_G08G
38
@add_G09G
39
@add_G10G
40
@add_G11G
41
@add_G12G
42
@add_G13G
43
@add_G14G
44
@add_G15G
45
@add_G16G
46
@add_G17G
47
@add_G18G
48
@add_G19G
49
@add_G20G
50
@add_G21G
51
@add_G22G
52
@add_G23G
53
@add_G24G
54
@add_G25G
55
@eob
59
@add_end
0

/* 00 group
/* 01 group
/* 02 group
/* 03 group
/* 04 group
/* 05 group
/* 06 group
/* 07 group
/* 08 group
/* 09 group
/* 10 group
/* 11 group
/* 12 group
/* 13 group
/* 14 group
/* 15 group
/* 16 group
/* 17 group
/* 18 group
/* 19 group
/* 20 group
/* 21 group
/* 22 group
/* 23 group
/* 24 group
/* 25 group

/*** Color definition


@color
G240P
@red
1

-122-

B-63423EN/02

SAMPLE PROGRAM

B-63423EN/02

@green
@yellow
@blue
@purple
@sky_blue
@white
@l_black

2
3
4
5
6
7
8

l Definition of System Comment


;SYSTEM SCREEN STRING(ENGLISH)
o7001
;BASE SCREEN
N9999(' MANUAL GUIDE')
N1001(' ACTUAL POSITION')
N1002(' DIST TO GO')
N1003(' NEXT BLOCK')
N1004(' SPINDLE')
N1005(' FEEDRATE')
N1006('MM/MIN')
N1007('INCH/MIN')
N1010('PROGRAM DIR. ')
N1011('PROGRAM NO. ')
N1012('MEMORY AREA ')
N1013(' USED/FREE ')
N1014('NO.')
N1015('NAME')
N1016('CREATE DATE')
N1017('SIZE(CHAR.)')
N1018('SELECT PROGRAM NO.
'); MAX 27 CHARA
N1019('CHECK/EXEC PROG. NO.
'); MAX 27 CHARA
N1020('THIS PROGRAM USED AT F.G.
')
N1021('[OFFSET]')
N1022('LENGTH')
N1023('RADIUS')
N1024('NO.')
N1025('GEOMETRY')
N1026('WEAR')
N1027('WORK CO.')
N1028('DATA')
N1029('NO.')
;
N1030(' PROGRAMING FIGURE SETTING ') ; MAX 30 CHARA
N1031('WORK FIGURE
='); MAX 20 CHARA
N1032('COORDINATE
='); MAX 20 CHARA
N1033('SCALE MAX X AXIS ='); MAX 20 CHARA
N1034('
Y AXIS ='); MAX 20 CHARA
N1035('
Z AXIS ='); MAX 20 CHARA
N1036('SCALE MIN X AXIS ='); MAX 20 CHARA
N1037('
Y AXIS ='); MAX 20 CHARA
N1038('
Z AXIS ='); MAX 20 CHARA
N1039('COLOR PATH ='); MAX 20 CHARA
N1040('
WORK ='); MAX 20 CHARA
N1041('
SELECT ='); MAX 20 CHARA
;
;GUIDANCE HANDLE
N1050(' COMMON DATA INPUT WINDOW '); MAX 30 CHARA
N1051('TOOL NO.
T='); MAX 16 CHARA
N1052('TL OFFSET NO. D='); MAX 16 CHARA
N1053('FEEDRATE
F='); MAX 16 CHARA
N1054('SPINDLE SPEED S='); MAX 16 CHARA
N1060(' FIGURE DATA INPUT WINDOW [LINE]
'); MAX 40 CHARA
N1061('X1 POS ='); MAX 10 CHARA
N1062('Y1 POS ='); MAX 10 CHARA

-123-

2. USER PROGRAMS FOR SYSTEM COMMENT

2. USER PROGRAMS FOR SYSTEM COMMENT

SAMPLE PROGRAM

N1063('X2 POS ='); MAX 10 CHARA


N1064('Y2 POS ='); MAX 10 CHARA
N1065('ANGLE A ='); MAX 10 CHARA
N1070(' FIGURE DATA INPUT WINDOW [CIRCLE]
'); MAX 40 CHARA
N1071('CENTER X ='); MAX 10 CHARA
N1072('CENTER Y ='); MAX 10 CHARA
N1073('RADIUS R ='); MAX 10 CHARA
;
;PROGRAM DIRECTRY
N1080('DELETE OK ?
'); MAX 38 CHARA
N1081('INPUT NEW PROGRAM NUMBER. '); MAX 27 CHARA
N1082('SAME PROGRAM NUMBER EXISTS.OVER WRITE?'); MAX 38 CHARA
N1083('CHANGE TO EDIT MODE
'); MAX 38 CHARA
;
;PROFRAM EDIT
N1100('SELECTION AREA IS WRONG.
'); MAX 38 CHARA
N1101('NOT CONTOUR PROGRAMMING MODE
'); MAX 38 CHARA
N1102('CANNOT SELECT START POINT
'); MAX 38 CHARA
N1103('END OR BEFORE IS PENDING.
'); MAX 38 CHARA
N1104('TOP OR END IS CORNER-R,CHAMFER.
'); MAX 38 CHARA
N1105('BEFORE OR AFTER IS CORNER-R,CHAMFER. '); MAX 38 CHARA
N1106('NUMBER OF BLOCKS EXCEEDED 200.
'); MAX 38 CHARA
N1107('INPUT DATA ERROR.
'); MAX 38 CHARA
;
;GRAPHIC SCREEN
N3001('DRAWING'); MAX 7CHARA
N3002('SCALING'); MAX 7CHARA
N3003(' STOP '); MAX 7CHARA
N3004('SCALE='); MAX 6CHARA
N3005('CALCULATE TOOL PATH ');MAX 20 CHARA
N3010('PATH GRAPHIC PARAMETER
'); MAX 30 CHARA
N3011('AXES
='); MAX 20 CHARA
N3012('ROTATION ANGLE ='); MAX 20 CHARA
N3013('TILTING ANGLE
='); MAX 20 CHARA
N3014('SCALE
='); MAX 20 CHARA
N3015('MAX. (CENTER) X='); MAX 20 CHARA
N3016('
Y='); MAX 20 CHARA
N3017('
Z='); MAX 20 CHARA
N3018('MIN.
I='); MAX 20 CHARA
N3019('
J='); MAX 20 CHARA
N3020('
K='); MAX 20 CHARA
N3021('START SEQ. NO. ='); MAX 20 CHARA
N3022('END SEQ. NO.
='); MAX 20 CHARA
N3023('TOOL RADIUS COMP. ='); MAX 20 CHARA
N3024('COLOR PATH
='); MAX 20 CHARA
N3025('
AUTO CHANGE ='); MAX 20 CHARA
N3026('
TOOL POS. ='); MAX 20 CHARA
N3030('ANIME GRAPHIC PARAMETER
'); MAX 30 CHARA
N3031('BLANK FORM
='); MAX 20 CHARA
N3032('BLANK POSITION X='); MAX 20 CHARA
N3033('
Y='); MAX 20 CHARA
N3034('
Z='); MAX 20 CHARA
N3035('BLANK DIMENSION I='); MAX 20 CHARA
N3036('
J='); MAX 20 CHARA
N3037('
K='); MAX 20 CHARA
N3038('TOOL RADIUS
='); MAX 20 CHARA
N3039('TOOL LENGTH
='); MAX 20 CHARA
N3040('ANIME SPEED
='); MAX 20 CHARA
N3041('PLANE/3-PLANE COLOR='); MAX 20 CHARA
N3050('
XY'); MAX 10 CHARA
N3051('
YZ'); MAX 10 CHARA
N3052('
ZY'); MAX 10 CHARA
N3053('
XZ'); MAX 10 CHARA
N3054('
XYZ'); MAX 10 CHARA
N3055('
ZXY'); MAX 10 CHARA
N3056(' XY,XZ'); MAX 10 CHARA
N3057('
ON'); MAX 10 CHARA

-124-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

N3058('
OFF'); MAX 10 CHARA
N3060(' WHITE'); MAX 10 CHARA
N3061('
RED'); MAX 10 CHARA
N3062(' GREEN'); MAX 10 CHARA
N3063(' YELLOW'); MAX 10 CHARA
N3064('
BLUE'); MAX 10 CHARA
N3065(' PURPLE'); MAX 10 CHARA
N3066(' SKY BLUE'); MAX 10 CHARA
N3070('
CUBE'); MAX 10 CHARA
N3071('
TUBE'); MAX 10 CHARA
N3101('CHANGE TO MEM MODE.
'); MAX 38 CHARA
N3102('EXECUTING AUTO OPERATION. CANNOT START'); MAX 38 CHARA
N3103('SINGLE BLOCK MODE. CANNOT START
'); MAX 38 CHARA
N3104('ALARM EXISTS. CANNOT START
'); MAX 38 CHARA
N3105('FEED HOLD MODE. CANNOT START
'); MAX 38 CHARA
N3106('OPERATION STOP. CANNOT START
'); MAX 38 CHARA
N3107('UNJUST PROGRAM NO.
'); MAX 38 CHARA
;N3001-3199 RESERVE FOR GRAPHIC
;SOFTKEY
N0001("20 01 C010 20")(' PROG');
N0002("20 01 C038 20")(' CHECK');
N0003("20 01 C040 20")(' EXEC');
N0004(' ')
N0005("20 01 C040 20")('WRK CO')
N0006("20 01 C048 20")('OFFSET')
N0007("20 01 C010 20")('SELECT')
N0008("20 01 C018 20")(' COPY')
N0009("20 01 C020 20")('DELETE')
N0010("20 01 C058 20")(' LIST')
N0011("20 01 C018 20")('COPY')
N0012("20 01 C020 20")('DELETE')
N0013("20 01 C010 20")('MOVE')
N0014("20 01 C010 20")(' EXEC ') ; COPY EXEC
N0015("20 01 C018 20")('CANCEL') ; COPY CANCEL
N0016("20 01 C048 20")('ON/OFF')
N0017("20 01 C050 20")('DETAIL')
N0018("20 01 C048 20")('CALC.')
N0019("20 01 C018 20")(' EXEC ') ; DELETE EXEC
N0020("20 01 C020 20")('CANCEL') ; DELETE CANCEL
N0021("20 01 C050 20")('RECALC')
N0022("20 01 C010 20")('TRANSL')
N0023("20 01 C018 20")('ROTAT ')
N0024("20 01 C020 20")('SYMMET')
N0025("20 01 C010 20")(' ANIME');
N0026("20 01 C020 20")('SBK ON');
N0027("20 01 C020 20")('SBKOFF');
N0028("20 01 C028 20")('SCL ON');
N0029("20 01 C028 20")('SCLOFF');
N0030("20 01 C030 20")(' EXEC ');
N0031("20 01 C038 20")(' ERASE');
N0032("20 01 C040 20")(' SCALE');
N0033("20 01 C048 20")('TL POS');
N0034("20 01 C050 20")(' PARAM');
;N0035("20 01 C010 20")(' LEFT ');
;N0036("20 01 C018 20")(' RIGHT');
;N0037("20 01 C020 20")(' UP ');
;N0038("20 01 C028 20")(' DOWN ');
N0039("20 01 C028 20")(' UP ');
N0040("20 01 C030 20")(' DOWN ');
N0041("20 01 C058 20")(' END ');
N0042("20 01 C058 20")(' END ');
N0043("20 01 C010 20")(' PATH ');
N0044("20 01 C030 20")(' EXEC ');
N0045("20 01 C038 20")('ROTATE');
N0046("20 01 C028 20")(' PLANE');
N0047("20 01 C040 20")('SECT.P');
N0048("20 01 C048 20")(' 3-PLN');

-125-

2. USER PROGRAMS FOR SYSTEM COMMENT

2. USER PROGRAMS FOR SYSTEM COMMENT

SAMPLE PROGRAM

N0049("20 01 C050 20")(' PARAM');


N0050("20 01 C028 20")(' SOLID');
N0051("20 01 C028 20")(' CCW');
N0052("20 01 C030 20")(' CW');
N0053("20 01 C058 20")(' END ');
N0054("20 01 C010 20")(' ++ ');
N0055("20 01 C018 20")(' +- ');
N0056("20 01 C020 20")(' -+ ');
N0057("20 01 C028 20")(' -- ');
N0058("20 01 C030 20")('SECT X');
N0059("20 01 C010 20")(' ++ ');
N0060("20 01 C018 20")(' +- ');
N0061("20 01 C020 20")(' -+ ');
N0062("20 01 C028 20")(' -- ');
N0063("20 01 C030 20")('SECT Y');
N0064("20 01 C010 20")(' ++ ');
N0065("20 01 C018 20")(' +- ');
N0066("20 01 C020 20")(' -+ ');
N0067("20 01 C028 20")(' -- ');
N0068("20 01 C030 20")('SECT Z');
N0069("20 01 C058 20")(' END ');
;N0070("20 01 C010 20")(' LEFT ');
;N0071("20 01 C018 20")(' RIGHT');
;N0072("20 01 C020 20")(' UP ');
;N0073("20 01 C028 20")(' DOWN ');
N0074("20 01 C030 20")('ROTATE');
N0075("20 01 C058 20")(' END ');
N0076("20 01 C028 20")(' STOP ');
N0077("20 01 C030 20")('1BLOCK');
N0078("20 01 C028 20")(' STOP ');
N0079("20 01 C058 20")('RETURN');
N0080('REWIND')
N0081('CYCLE START')
N0082("20 01 C010 20")('DECIDE')
N0083("20 01 C020 20")('CANCEL')
N0084("20 01 C018 20")('EXEC')
;
N0085("20 01 C050 20")('SETTNG');
N0086("20 01 C038 20")('PRGFIG');
N0087('')
N0088('')
N0089('')
N0090("20 01 C058 20")('RETURN');
N0091("20 01 C058 20")('RETURN');
;
N0101("20 01 C010 20")(' XY');
N0102("20 01 C018 20")(' YZ');
N0103("20 01 C020 20")(' ZY');
N0104("20 01 C028 20")(' XZ');
N0105("20 01 C030 20")(' XYZ');
N0106("20 01 C038 20")(' ZXY');
N0107("20 01 C040 20")(' XY,XZ');
N0108("20 01 C010 20")(' ON ');
N0109("20 01 C018 20")(' OFF ');
N0110("20 01 C010 20")(' ON ');
N0111("20 01 C018 20")(' OFF ');
N0112("20 01 C010 20")(' WHITE');
N0113("20 01 C018 20")(' RED');
N0114("20 01 C020 20")(' GREEN');
N0115("20 01 C028 20")('YELLOW');
N0116("20 01 C030 20")(' BLUE');
N0117("20 01 C038 20")('PURPLE');
N0118("20 01 C040 20")('SKYBLU');
N0119("20 01 C010 20")(' CUBE');
N0120("20 01 C018 20")(' TUBE');
N0121("20 01 C058 20")(' END');
N0122("20 01 C058 20")(' END');

-126-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

;N0123("20 01 C050 20")(' DEMO ')


N0123('')
N0124("20 01 C038 20")('REWIND');
N0125("20 01 C050 20")(' EXEC');
N0126("20 01 C058 20")('RETURN');
N0127("20 01 C010 20")(' ON ');
N0128("20 01 C018 20")(' OFF ');
;
N0129("20 01 C028 20")('REDRAW');
N0130("20 01 C010 20")(' LINE ');
N0131("20 01 C018 20")('CIRCLE');
N0132("20 01 C010 20")('RD POS');
N0133("20 01 C018 20")('LMT ON');
N0134("20 01 C020 20")('LMTOFF');
N0135("20 01 C058 20")('INPEND');
N0136("20 01 C058 20")('GD END');
N0137("20 01 C058 20")('RETURN');
N0138("20 01 C030 20")(' SAVE ');
N0139("20 01 C040 20")(' AUX ');
N0140("20 01 C048 20")(' RAPID');
N0141("20 01 C050 20")(' CUT ');
;
N0142("20 01 C010 20")('POINT1');
N0143("20 01 C018 20")('POINT2');
N0144("20 01 C038 20")('ALTER ');
N0145("20 01 C040 20")('INSERT');
;
/* N0146('MDI');
N0147('MOVE');
N0148('COPY');
N0149('DELETE');
N0150('ALTER');
N0151('INSERT');
N0152("20 01 C050 20")('REDRAW');
N0153("20 01 C010 20")('START');
N0154("20 01 C018 20")('END');
N0155("20 01 C048 20")('TANGNT');
N0156("20 01 C048 20")('RECALC')
N0157("20 01 C020 20")('EXEC ')
N0158("20 01 C038 20")('TANGNT');
;
N0160("20 01 C010 20")('HANDLE');
;
M99

-127-

2. USER PROGRAMS FOR SYSTEM COMMENT

3. USER PROGRAMS FOR G-CODE MENU

SAMPLE PROGRAM

B-63423EN/02

USER PROGRAMS FOR G-CODE MENU

-128-

SAMPLE PROGRAM

B-63423EN/02

3.1

COMMENTS DEFINITION

/****************************************************************************
/*
/* STRING1.SRC :: System Menue
(ENGLISH)
/*
/***** 7011: Softkey
/***** 7021: Initial Set
/***** 7031: Tool Def
/***** 7041: MSB Codes
/***** 7051: Compensation
/***** 7061: Line
/***** 7071: CW Circle
/***** 7081: CCW Circle
/****************************************************************************

O7011 ;############################################### Softkye


N0001("20 01 C010 20")(' INIT ');
N0002("20 01 C018 20")(' TOOL ');
N0003("20 01 C020 20")(' MSB ');
N0004("20 01 C028 20")(' COMP ');
N0005("20 01 C030 20")(' LINE ');
N0006("20 01 C038 20")(' ARC ');
N0007("20 01 C040 20")(' ARC ');
N0008("20 01 C048 20")('CONTR ');
N0009("20 01 C050 20")('CYCLE ');
N0010("20 01 C058 20")('RETURN');
/*N0011("20 01 C010 20")('HANDLE');
M99

O7021 ;############################################### Initial Set


N9999('INITIAL SET');
N9998('INITIAL SET(DETAIL SET)');
N0001('WORK CO-ORD.');
N0002('WORK SHAPE');
N0003('WORK X CO-ORD.');
N0004('WORK Y CO-ORD.');
N0005('WORK Z CO-ORD.');
N0006('WORK X WIDTH');
N0007('WORK Y WIDTH');
N0008('WORK THICKNESS');
N0009('ABS / INC');
N0010('PLANE SELECTION');
N0011('ORIGIN POINT');
N0012('INPUT UNIT');
N0100('1');
N0101("20 01 C010 20")(' G54 ');
N0102("20 01 C010 20")(' G55 ');
N0103("20 01 C010 20")(' G56 ');
N0104("20 01 C010 20")(' G57 ');
N0105("20 01 C010 20")(' G58 ');
N0106("20 01 C010 20")(' G59 ');
N0107("20 01 C018 20")('NO OUT');
N0151('1');
N0152('2');
N0153('3');
N0154('4');
N0155('5');
N0156('6');
N0157('7');

-129-

3. USER PROGRAMS FOR G-CODE MENU

3. USER PROGRAMS FOR G-CODE MENU

SAMPLE PROGRAM

N0200('2');
N0201("20 01 C010 20")(' RECT ');
N0202("20 01 C018 20")('CYLIN ');
N0203("20 01 C020 20")('NO OUT');
N0251('1');
N0252('2');
N0253('3');
N0900('3');
N0901("20 01 C010 20")('G90ABS');
N0902("20 01 C018 20")('G91INC');
N0903("20 01 C020 20")('NO OUT');
N0951('1');
N0952('2');
N0953('3');
N1000('4');
N1001("20 01 C010 20")('XY PLN');
N1002("20 01 C018 20")('ZX PLN');
N1003("20 01 C020 20")('YZ PLN');
N1004("20 01 C028 20")('NO OUT');
N1051('1');
N1052('2');
N1053('3');
N1054('4');
N1100('2');
N1101("20 01 C028 20")(' LEFT ');
N1102("20 01 C030 20")('CENTER');
N1151('1');
N1152('2');
N1200('1');
N1201('
')(' INCH ')(' G20 ');
N1202('
')(' MM ')(' G21 ');
N1203("20 01 C018 20")('NO OUT');
N1251('1');
N1252('2');
N1253('3');
M99

O7031 ;############################################### Tool Def


N9999('TOOL SET');
N9998('TOOL SET(DETAIL SET)');
N0001('TOOL NO.');
N0002('CUTTER OFFSET NO.');
N0003('LENGTH OFFSET NO.');
N0004('ANIMA TOOL RADIUS');
N0005('NEXT TOOL NO.');
M99

O7041 ;############################################### MSB Codes


N9999('MSB CODE');
N9998('MSB CODE(DETAIL SET)');
N0001('M CODE');
N0002('SUBPROGRAM');
N0003('SPINDLE SPEED');
N0004('B CODE');
N0005('FEED RATE');
M99

-130-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

O7051 ;############################################### Compensation


N9999('COMPENSATION');
N9998('COMPENSATION(DETAIL SET)');
N0001('CUTTER COMP.');
N0002('LENGTH COMP.');
N0003('RAPID / CUT');
N0004('D CODE');
N0005('H CODE');
N0006('END POINT X');
N0007('END POINT Y');
N0008('END POINT Z');
N0009('FEED RATE');
N0100('5');
N0101("20 01 C028 20")(' G41 ');
N0102("20 01 C030 20")(' G42 ');
N0103("20 01 C038 20")(' G40 ');
N0104("20 01 C040 20")('NO OUT');
N0151('41');
N0152('42');
N0153('40');
N0154('4');
N0200('5');
N0201("20 01 C010 20")(' G43 ');
N0202("20 01 C018 20")(' G44 ');
N0203("20 01 C020 20")(' G49 ');
N0204("20 01 C040 20")('NO OUT');
N0251('43');
N0252('44');
N0253('49');
N0254('4');
N0300('6');
N0301("20 01 C010 20")('RAPID ');
N0302("20 01 C018 20")(' CUT ');
N0351('0');
N0352('1');
M99

O7061 ;############################################### Line


N9999('LINE');
N0001('RAPID / CUT');
N0002('END POINT X');
N0003('END POINT Y');
N0004('END POINT Z');
N0005('FEED RATE');

N0100('6');
N0101("20 01 C010 20")('RAPID ');
N0102("20 01 C018 20")('CUT ');
N0151('0');
N0152('1');
M99

O7071 ;############################################### CW Circle


N9999('CW CIRCLE');
N9998('CW CIRCLE(DETAIL SET)');
N0001('OUTPUT PLANE');
N0002('PLANE SELECTION');
N0003('END POINT X');

-131-

3. USER PROGRAMS FOR G-CODE MENU

3. USER PROGRAMS FOR G-CODE MENU

SAMPLE PROGRAM

N0004('END POINT Y');


N0005('END POINT Z');
N0006('RADIUS');
N0007('CENT. DISTANCE.-I');
N0008('CENT. DISTANCE.-J');
N0009('CENT. DISTANCE.-K');
N0010('FEED RATE');
N0100('30');
N0101("20 01 C018 20")('NO OUT');
N0102("20 01 C010 20")('OUTPUT');
N0151('0');
N0152('1');
N0200('4');
N0201("20 01 C010 20")('XY PLN');
N0202("20 01 C018 20")('ZX PLN');
N0203("20 01 C020 20")('YZ PLN');
N0251('17');
N0252('18');
N0253('19');
M99

O7081 ;############################################### CCW Circle


N9999('CCW CIRCLE');
N9998('CCW CIRCLE(DETAIL SET)');
N0001('OUTPUT PLANE');
N0002('PLANE SELECTION');
N0003('END POINT X');
N0004('END POINT Y');
N0005('END POINT Z');
N0006('RADIUS');
N0007('CENT. DISTANCE.-I');
N0008('CENT. DISTANCE.-J');
N0009('CENT. DISTANCE.-K');
N0010('FEED RATE');
N0100('30');
N0101("20 01 C018 20")('NO OUT');
N0102("20 01 C010 20")('OUTPUT');
N0151('0');
N0152('1');
N0200('4');
N0201("20 01 C010 20")('XY PLN');
N0202("20 01 C018 20")('ZX PLN');
N0203("20 01 C020 20")('YZ PLN');
N0251('17');
N0252('18');
N0253('19');
M99

-132-

B-63423EN/02

B-63423EN/02

3.2

SAMPLE PROGRAM

DATA ATTRIBUTE

/****************************************************************************
/*
/* PROC1.SRC :: System Menue
/*
/***** 8402: Initial Set
/***** 8403: Tool Def
/***** 8404: MSB Codes
/***** 8405: Compensation
/***** 8406: Line
/***** 8407: CW Circle
/***** 8408: CCW Circle
/****************************************************************************
$INCLUDE SYMBOL.DEF

O8402 ;############################################### Initial Set


/* Cycle G Code */
#[address 0] = 300
/* Work Coordinate */
#[address 1] = add_W
#[attribute 1] = att_character
#[value 1] = 7
/* Work Shape */
#[address 2] = add_P
#[attribute 2] = att_character
#[value 2] = 1
/* 1:rectangular,2:cylinder,3:no putput */
/* Work X Co-ord. */
#[address 3] = add_X
#[attribute 3] = att_decimal
#[value 3] = #0
/* Work Y Co-ord. */
#[address 4] = add_Y
#[attribute 4] = att_decimal
#[value 4] = #0
/* Work Z Co-ord. */
#[address 5] = add_Z
#[attribute 5] = att_decimal
#[value 5] = #0
/* Work X Width */
#[address 6] = add_I
#[attribute 6] = att_decimal
#[value 6] = #0
/* Work Y Width */
#[address 7] = add_J
#[attribute 7] = att_decimal
#[value 7] = #0
/* Work Thickness */
#[address 8] = add_K
#[attribute 8] = att_decimal
#[value 8] = #0
/* Abs/Inc
#[address 9] = add_A
#[attribute 9] = att_character + att_detail
#[value 9] = 3
/* 1:G90,2:G91,3:no putput */
/* Plane Selection */
#[address 10] = add_S
#[attribute 10] = att_character + att_detail
#[value 10] = 4
/* 1:G17,2:G18,3:G19,4:no putput */
/* Base Point */
#[address 11] = add_B
#[attribute 11] = att_character + att_detail

-133-

3. USER PROGRAMS FOR G-CODE MENU

3. USER PROGRAMS FOR G-CODE MENU

SAMPLE PROGRAM

#[value 11] = 2
/* 1:corner,2:center */
/* Input Unit */
#[address 12] = add_M
#[attribute 12] = att_character + att_detail
#[value 12] = 3
/* 1:G20,2:G21,3:no putput */
#[address 13] = add_end
previous_cursor = 1
/* Previous cursor position clear
m99

O8403 ;############################################### Tool Def


/* Cycle G Code */
#[address 0] = 301
/* T Code */
#[address 1] = add_T
#[attribute 1] = att_integer
#[value 1] = #0
/* D Code */
#[address 2] = add_D
#[attribute 2] = att_integer
#[value 2] = #0
/* H Code */
#[address 3] = add_H
#[attribute 3] = att_integer
#[value 3] = #0
/* Tool R */
#[address 4] = add_R
#[attribute 4] = att_decimal
#[value 4] = #0
/* Next Tool No. */
#[address 5] = add_N
#[attribute 5] = att_integer + att_detail
#[value 5] = #0
#[address 6] = add_end
previous_cursor = 1
/* Previous cursor position clear
m99

O8404 ;############################################### MSB Code


#[address 0] = -1
#[address 1] = add_M
; M code
#[attribute 1] = att_integer
#[value 1] = #0
#[address 2] = add_P
; Sub Program No.
#[attribute 2] = att_not_use
#[value 2] = #0
#[address 3] = add_S
; Spindle Speed
#[attribute 3] = att_integer
#[value 3] = #0
#[address 4] = add_B
; B code
#[attribute 4] = att_integer
#[value 4] = #0
#[address 5] = add_F
; Feedrate
#[attribute 5] = att_not_use
#[value 5] = #0
#[address 6] = add_end
previous_cursor = 1
/* Previous cursor position clear
m99

O8405 ;############################################### Compensation


#[address 0] = -1
#[address 1] = add_G07G
; Cutter Comp.
#[attribute 1] = att_character

-134-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

#[value 1] = #0
#[address 2] = add_G08G
; Length Comp.
#[attribute 2] = att_character
#[value 2] = #0
#[address 3] = add_G01G
; G00/01
#[attribute 3] = att_character
#[value 3] = #0
#[address 4] = add_D
#[attribute 4] = att_not_use
#[value 4] = #0
#[address 5] = add_H
#[attribute 5] = att_not_use
#[value 5] = #0
#[address 6] = add_X
#[attribute 6] = att_decimal
#[value 6] = #0
#[address 7] = add_Y
#[attribute 7] = att_decimal
#[value 7] = #0
#[address 8] = add_Z
#[attribute 8] = att_decimal
#[value 8] = #0
#[address 9] = add_F
#[attribute 9] = att_not_use
#[value 9] = #0
#[address 10] = add_end
previous_cursor = 1
/* Previous cursor position clear
m99

O8406 ;############################################### Line


#[address 0] = -1
#[address 1] = add_G01G
; G00/01
#[attribute 1] = att_character
#[value 1] = #0
#[address 2] = add_X
#[attribute 2] = att_decimal
#[value 2] = #0
#[address 3] = add_Y
#[attribute 3] = att_decimal
#[value 3] = #0
#[address 4] = add_Z
#[attribute 4] = att_decimal
#[value 4] = #0
#[address 5] = add_F
#[attribute 5] = att_decimal
#[value 5] = #0
#[address 6] = add_end
previous_cursor = 1
/* Previous cursor position clear
m99

O8407 ;############################################### CW Circle


#20 = P3402 AND 2
#21 = P3402 AND 4
if[#20 eq 0 && #21 eq 0]then #22 = 17
if[#20 eq 0 && #21 eq 1]then #22 = 18
if[#20 eq 1 && #21 eq 0]then #22 = 19
#[address 0] = 2
#[address 1] = add_A
; Plane Selection Output
#[attribute 1] = att_character + att_detail + att_not_output
#[value 1] = 0
#[address 2] = add_G02G
; Plane Selection
#[attribute 2] = att_character + att_not_output

-135-

3. USER PROGRAMS FOR G-CODE MENU

3. USER PROGRAMS FOR G-CODE MENU

SAMPLE PROGRAM

#[value 2] = #22
#[address 3] = add_X
#[attribute 3] = att_decimal
#[value 3] = #0
#[address 4] = add_Y
#[attribute 4] = att_decimal
#[value 4] = #0
#[address 5] = add_Z
#[attribute 5] = att_decimal
#[value 5] = #0
#[address 6] = add_R
; Radius
#[attribute 6] = att_decimal
#[value 6] = #0
#[address 7] = add_I
#[attribute 7] = att_decimal
#[value 7] = #0
#[address 8] = add_J
#[attribute 8] = att_decimal
#[value 8] = #0
#[address 9] = add_K
#[attribute 9] = att_decimal
#[value 9] = #0
#[address 10] = add_F
; Feedrate
#[attribute 10] = att_decimal
#[value 10] = #0
if[#22 eq 17]then
#[attribute 7] = att_not_use
#[attribute 9] = att_not_use
endif
if[#22 eq 18]then
#[attribute 4] = att_not_use
#[attribute 8] = att_not_use
endif
if[#22 eq 19]then
#[attribute 3] = att_not_use
#[attribute 7] = att_not_use
endif
#[address 11] = add_end
previous_cursor = 1
/* Previous cursor position clear
m99

O8408 ;############################################### CCW Circle


#20 = P3402 AND 2
#21 = P3402 AND 4
if[#20 eq 0 && #21 eq 0]then #22 = 17
if[#20 eq 0 && #21 eq 1]then #22 = 18
if[#20 eq 1 && #21 eq 0]then #22 = 19
#[address 0] = 3
#[address 1] = add_A
; Plane Selection Output
#[attribute 1] = att_character + att_detail + att_not_output
#[value 1] = 0
#[address 2] = add_G02G
; Plane Selection
#[attribute 2] = att_character + att_not_output
#[value 2] = #22
#[address 3] = add_X
#[attribute 3] = att_decimal
#[value 3] = #0
#[address 4] = add_Y
#[attribute 4] = att_decimal
#[value 4] = #0
#[address 5] = add_Z
#[attribute 5] = att_decimal
#[value 5] = #0
#[address 6] = add_R
; Radius

-136-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

#[attribute 6] = att_decimal
#[value 6] = #0
#[address 7] = add_I
#[attribute 7] = att_decimal
#[value 7] = #0
#[address 8] = add_J
#[attribute 8] = att_decimal
#[value 8] = #0
#[address 9] = add_K
#[attribute 9] = att_decimal
#[value 9] = #0
#[address 10] = add_F
; Feedrate
#[attribute 10] = att_decimal
#[value 10] = #0
if[#22 eq 17]then
#[attribute 7] = att_not_use
#[attribute 9] = att_not_use
endif
if[#22 eq 18]then
#[attribute 4] = att_not_use
#[attribute 8] = att_not_use
endif
if[#22 eq 19]then
#[attribute 3] = att_not_use
#[attribute 7] = att_not_use
endif
#[address 11] = add_end
previous_cursor = 1
/* Previous cursor position clear
m99

-137-

3. USER PROGRAMS FOR G-CODE MENU

3. USER PROGRAMS FOR G-CODE MENU

3.3

SAMPLE PROGRAM

GUIDANCE DRAWING FIGURE

/****************************************************************************
/*
/* FIG1.SRC :: System Menue
/*
/***** 8602: Initial Set
/***** 8603: Tool Def
/***** 8604: MSB Code
/***** 8605: Compensation
/***** 8606: Line
/***** 8607: CW Circle
/***** 8608: CCW Circle
/****************************************************************************
$INCLUDE SYMBOL.DEF
O8602 ;############################################### Initial Set
/*** Guide Picture Setting ***/
if[guide_frequency eq secont_tine]then
if[cursor eq 1]then
; Work Coorinate
call fig_clear
call 6051
endif
if[cursor eq 2]then
; Work Size P
call fig_clear
call 6052
endif
if[cursor GE 3 && cursor le 8]then ; Work Size
if[previous_cursor lt 3 || previous_cursor gt 8]then
call fig_clear
endif
if[#[value 2] eq 1]then ;Rectangular
call 6053
else
; Cylinder
call 6054
endif
endif
if[cursor eq 9]then
; ABS/INC
call fig_clear
call 6055
endif
if[cursor eq 10]then
; Plane Selection
call fig_clear
call 6056
endif
if[cursor eq 11]then
; Origin Point
call fig_clear
call 6057
endif
previous_cursor = cursor
endif
/*** Attribution Setting ***/
if[#[value 2] eq 3 ]then
#[attribute 3] = att_not_use
#[attribute 4] = att_not_use
#[attribute 5] = att_not_use
#[attribute 6] = att_not_use
#[attribute 7] = att_not_use
#[attribute 8] = att_not_use
else
#[attribute 3] = att_decimal
#[attribute 4] = att_decimal
#[attribute 5] = att_decimal

-138-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

#[attribute 6] = att_decimal
#[attribute 7] = att_decimal
#[attribute 8] = att_decimal
endif
if[#[value 2] eq 1 ]then #[attribute 11] = att_character + att_detail
else #[attribute 11] = att_not_use
if[inch_mm eq inch_mm_on]then #[attribute 12] = att_character + att_detail
else #[attribute 12] = att_not_use
m99

O8603 ;############################################### Tool Def


/*** Guide Picture Setting ***/
if[guide_frequency eq secont_tine]then
call 6058
endif
m99

O8604 ;############################################### MSB Code


/*** Guide Picture Setting ***/
if[guide_frequency eq secont_tine]then
call 6059
endif
/*** Attribution Setting ***/
if[#[value 1] eq 98]then #[attribute 2] = att_integer
else #[attribute 2] = att_not_use
m99

O8605 ;############################################### Compensation


/*** Guide Picture Setting ***/
if[guide_frequency eq secont_tine]then
if[cursor le 2]then
if[previous_cursor ge 3]then
call fig_clear
endif
call 6060
endif
if[cursor eq 4 || cursor eq 5]then
call 6060
endif
if[cursor eq 3 || cursor gt 5]then
if[previous_cursor eq 1 || previous_cursor eq 2]then
call fig_clear
endif
#32=40
call 6061
endif
previous_cursor = cursor
endif
/*** Attribution Setting ***/
if[#[value 1] eq 4]then #[attribute 1] = att_character + att_not_output
else #[attribute 1] = att_character
if[#[value 2] eq 4]then #[attribute 2] = att_character + att_not_output
else #[attribute 2] = att_character
if[#[value 1] eq 40 || #[value 1] eq 41 || #[value 1] eq 42]then ; Cutter Comp.
#[attribute 4] = att_integer + att_detail
else
#[attribute 4] = att_not_use
endif
if[#[value 2] eq 43 || #[value 2] eq 44 || #[value 2] eq 49]then ; Length Comp.

-139-

3. USER PROGRAMS FOR G-CODE MENU

3. USER PROGRAMS FOR G-CODE MENU

SAMPLE PROGRAM

#[attribute 5] = att_integer + att_detail


else
#[attribute 5] = att_not_use
endif
if[#[value 3] ne 0]then #[attribute 9] = att_decimal
else #[attribute 9] = att_not_use
m99

O8606 ;############################################### Line


/*** Guide Picture Setting ***/
if[guide_frequency eq secont_tine]then
#32=1
call 6061
endif
/*** Attribution Setting ***/
if[#[value 1] ne 0]then #[attribute 5] = att_decimal
else #[attribute 5] = att_not_use
m99

O8607 ;############################################### CW Circle


/*** Guide Picture Setting ***/
if[guide_frequency eq secont_tine]then
if[cursor eq 2]then
call fig_clear
call 6056
endif
if[cursor GE 3]then
if[previous_cursor lt 3]then
call fig_clear
endif
call 6062
endif
previous_cursor = cursor
endif
/*** Attribution Setting ***/
if[#[value 1] eq 0]then #[attribute 2] = att_character + att_not_output
else #[attribute 2] = att_character
if[#[value 2] eq 17]then
#[attribute 3] = att_decimal
#[attribute 4] = att_decimal
#[attribute 5] = att_not_use
#[attribute 7] = att_decimal
#[attribute 8] = att_decimal
#[attribute 9] = att_not_use
endif
if[#[value 2] eq 18]then
#[attribute 3] = att_decimal
#[attribute 4] = att_not_use
#[attribute 5] = att_decimal
#[attribute 7] = att_decimal
#[attribute 8] = att_not_use
#[attribute 9] = att_decimal
endif
if[#[value 2] eq 19]then
#[attribute 3] = att_not_use
#[attribute 4] = att_decimal
#[attribute 5] = att_decimal
#[attribute 7] = att_not_use
#[attribute 8] = att_decimal
#[attribute 9] = att_decimal
endif

-140-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

m99

O8608 ;############################################### CCW Circle


/*** Guide Picture Setting ***/
if[guide_frequency eq secont_tine]then
if[cursor eq 2]then
call fig_clear
call 6056
endif
if[cursor GE 3]then
if[previous_cursor lt 3]then
call fig_clear
endif
call 6062
endif
previous_cursor = cursor
endif
/*** Attribution Setting ***/
if[#[value 1] eq 0]then #[attribute 2] = att_character + att_not_output
else #[attribute 2] = att_character
if[#[value 2] eq 17]then
#[attribute 3] = att_decimal
#[attribute 4] = att_decimal
#[attribute 5] = att_not_use
#[attribute 7] = att_decimal
#[attribute 8] = att_decimal
#[attribute 9] = att_not_use
endif
if[#[value 2] eq 18]then
#[attribute 3] = att_decimal
#[attribute 4] = att_not_use
#[attribute 5] = att_decimal
#[attribute 7] = att_decimal
#[attribute 8] = att_not_use
#[attribute 9] = att_decimal
endif
if[#[value 2] eq 19]then
#[attribute 3] = att_not_use
#[attribute 4] = att_decimal
#[attribute 5] = att_decimal
#[attribute 7] = att_not_use
#[attribute 8] = att_decimal
#[attribute 9] = att_decimal
endif
m99

/****************************************************************************
/*
/* FIGSUB1.SRC :: shift_grap_Ystem Menue
/*
/***** 6051: Work Coordinate
/***** 6052: Work Size P
/***** 6053: Work Size Rectangular
/***** 6054: Work Size Cylinder
/***** 6055: ABS/INC
/***** 6056: Plane Selection
/***** 6057: Origin Point
/***** 6058: Tool Def
/***** 6059: M code
/***** 6060: Tool Offset
/***** 6061: Line
/***** 6062: Circle

-141-

3. USER PROGRAMS FOR G-CODE MENU

3. USER PROGRAMS FOR G-CODE MENU

SAMPLE PROGRAM

/****************************************************************************
$INCLUDE SYMBOL.DEF

O6051 ;############################################### Work Coordinate


/* Work Coordinate
color red
#20 = -32-shift_grap_X
#1=#20
#2=88+shift_grap_Y
#3=#20 + 40
#4=88+shift_grap_Y
#5=0
call fig_line
#20 = -32-shift_grap_X
#1=#20
#2=89+shift_grap_Y
#3=#20
#4=128+shift_grap_Y
#5=0
call fig_line
#20 = 24-shift_grap_X
#1=#20
#2=88+shift_grap_Y
#3=#20 + 40
#4=88+shift_grap_Y
#5=0
call fig_line
#20 = 24-shift_grap_X
#1=#20
#2=89+shift_grap_Y
#3=#20
#4=128+shift_grap_Y
#5=0
call fig_line
#20 = 80-shift_grap_X
#1=#20
#2=88+shift_grap_Y
#3=#20 + 40
#4=88+shift_grap_Y
#5=0
call fig_line
#20 = 80-shift_grap_X
#1=#20
#2=89+shift_grap_Y
#3=#20
#4=128+shift_grap_Y
#5=0
call fig_line
/* Origin
color sky_blue
G242X[40-shift_grap_X]Y[16+shift_grap_Y]
G01X[40-shift_grap_X]Y[32+shift_grap_Y]
G242X[32-shift_grap_X]Y[24+shift_grap_Y]
G01X[48-shift_grap_X]Y[24+shift_grap_Y]
G242X[46-shift_grap_X]Y[24+shift_grap_Y]
G02X[46-shift_grap_X]Y[24+shift_grap_Y]I[40-shift_grap_X]J[24+shift_grap_Y]Q4
/* Line for Eeach Coordinates
#1=40-shift_grap_X
#2=24+shift_grap_Y
#3=-32-shift_grap_X
#4=88+shift_grap_Y
#5=0
call fig_line
#3=24-shift_grap_X

-142-

B-63423EN/02

SAMPLE PROGRAM

B-63423EN/02

call fig_line
#3=80-shift_grap_X
call fig_line
/* Characters
cursor_off
G243X[37-shift_char_X]Y[8-shift_char_Y](G54)
G243X[44-shift_char_X]Y[8-shift_char_Y](G55)
G243X[51-shift_char_X]Y[8-shift_char_Y](G56 ...)
G243X[41-shift_char_X]Y[10-shift_char_Y](X)
G243X[48-shift_char_X]Y[10-shift_char_Y](X)
G243X[55-shift_char_X]Y[10-shift_char_Y](X)
G243X[36-shift_char_X]Y[6-shift_char_Y](Y)
G243X[43-shift_char_X]Y[6-shift_char_Y](Y)
G243X[50-shift_char_X]Y[6-shift_char_Y](Y)
m99

O6052 ;############################################### Work Size P


color red
G242X[-32-shift_grap_X]Y[24+shift_grap_Y]
/* Rectangular
G01X[40-shift_grap_X]Y[24+shift_grap_Y]
G01X[56-shift_grap_X]Y[40+shift_grap_Y]
G01X[-16-shift_grap_X]Y[40+shift_grap_Y]
G01X[-32-shift_grap_X]Y[24+shift_grap_Y]
G242X[-32-shift_grap_X]Y[104+shift_grap_Y]
G01X[40-shift_grap_X]Y[104+shift_grap_Y]
G01X[56-shift_grap_X]Y[120+shift_grap_Y]
G01X[-16-shift_grap_X]Y[120+shift_grap_Y]
G01X[-32-shift_grap_X]Y[104+shift_grap_Y]
G242X[-32-shift_grap_X]Y[24+shift_grap_Y]
G01X[-32-shift_grap_X]Y[104+shift_grap_Y]
G242X[40-shift_grap_X]Y[24+shift_grap_Y]
G01X[40-shift_grap_X]Y[104+shift_grap_Y]
G242X[-16-shift_grap_X]Y[40+shift_grap_Y]
G01X[-16-shift_grap_X]Y[120+shift_grap_Y]
G242X[56-shift_grap_X]Y[40+shift_grap_Y]
G01X[56-shift_grap_X]Y[120+shift_grap_Y]
G242X[80-shift_grap_X]Y[32+shift_grap_Y]
G01X[80-shift_grap_X]Y[112+shift_grap_Y]
G242X[144-shift_grap_X]Y[32+shift_grap_Y]
G01X[144-shift_grap_X]Y[112+shift_grap_Y]
#1=80-shift_grap_X
#2=144-shift_grap_X
#3=112+shift_grap_Y
call fig_ellipse
#1=80-shift_grap_X
#2=144-shift_grap_X
#3=32+shift_grap_Y
call fig_ellipse
G242X[100-shift_grap_X]Y[32+shift_grap_Y]
G01X[100-shift_grap_X]Y[112+shift_grap_Y]
G242X[124-shift_grap_X]Y[32+shift_grap_Y]
G01X[124-shift_grap_X]Y[112+shift_grap_Y]
#1=100-shift_grap_X
#2=124-shift_grap_X
#3=112+shift_grap_Y
call fig_ellipse
#1=100-shift_grap_X
#2=124-shift_grap_X
#3=32+shift_grap_Y
call fig_ellipse
m99

/* Cylinder

-143-

3. USER PROGRAMS FOR G-CODE MENU

3. USER PROGRAMS FOR G-CODE MENU

SAMPLE PROGRAM

O6053 ;############################################### Work Size Rectangular


color red
G242X[0-shift_grap_X]Y[40+shift_grap_Y]
G01X[96-shift_grap_X]Y[40+shift_grap_Y]
G01X[144-shift_grap_X]Y[72+shift_grap_Y]
G01X[48-shift_grap_X]Y[72+shift_grap_Y]
G01X[0-shift_grap_X]Y[40+shift_grap_Y]
G242X[0-shift_grap_X]Y[88+shift_grap_Y]
G01X[96-shift_grap_X]Y[88+shift_grap_Y]
G01X[144-shift_grap_X]Y[120+shift_grap_Y]
G01X[48-shift_grap_X]Y[120+shift_grap_Y]
G01X[0-shift_grap_X]Y[88+shift_grap_Y]
G242X[0-shift_grap_X]Y[40+shift_grap_Y]
G01X[0-shift_grap_X]Y[88+shift_grap_Y]
G242X[96-shift_grap_X]Y[40+shift_grap_Y]
G01X[96-shift_grap_X]Y[88+shift_grap_Y]
G242X[48-shift_grap_X]Y[72+shift_grap_Y]
G01X[48-shift_grap_X]Y[120+shift_grap_Y]
G242X[144-shift_grap_X]Y[72+shift_grap_Y]
G01X[144-shift_grap_X]Y[120+shift_grap_Y]
color sky_blue
if[#[value 11] eq 1 ]then
#1=0-shift_grap_X
#2=89+shift_grap_Y
#3=120-shift_grap_X
#4=89+shift_grap_Y
#5=0
call fig_line
#1=0-shift_grap_X
#2=89+shift_grap_Y
#3=60-shift_grap_X
#4=128+shift_grap_Y
#5=0
call fig_line
#1=0-shift_grap_X
#2=89+shift_grap_Y
#3=0-shift_grap_X
#4=120+shift_grap_Y
#5=0
call fig_line
else
#1=72-shift_grap_X
#2=104+shift_grap_Y
#3=136-shift_grap_X
#4=104+shift_grap_Y
#5=0
call fig_line
#1=72-shift_grap_X
#2=104+shift_grap_Y
#3=112-shift_grap_X
#4=136+shift_grap_Y
#5=0
call fig_line
#1=72-shift_grap_X
#2=104+shift_grap_Y
#3=72-shift_grap_X
#4=136+shift_grap_Y
#5=0
call fig_line
endif
G242X[0-shift_grap_X]Y[39+shift_grap_Y]
G01X[0-shift_grap_X]Y[24+shift_grap_Y]
G242X[96-shift_grap_X]Y[39+shift_grap_Y]
G01X[96-shift_grap_X]Y[24+shift_grap_Y]
#1=1-shift_grap_X

/* for I

-144-

B-63423EN/02

SAMPLE PROGRAM

B-63423EN/02

#2=32+shift_grap_Y
#3=95-shift_grap_X
#4=#2
#5=2
call fig_line
G242X[-1-shift_grap_X]Y[40+shift_grap_Y]
G01X[-16-shift_grap_X]Y[40+shift_grap_Y]
G242X[-1-shift_grap_X]Y[88+shift_grap_Y]
G01X[-16-shift_grap_X]Y[88+shift_grap_Y]
#1=-12-shift_grap_X
#2=41+shift_grap_Y
#3=#1
#4=87+shift_grap_Y
#5=2
call fig_line
G242X[47-shift_grap_X]Y[72+shift_grap_Y]
G01X[32-shift_grap_X]Y[72+shift_grap_Y]
#1=40-shift_grap_X
#2=72+shift_grap_Y
#3=-8-shift_grap_X
#4=40+shift_grap_Y
#5=2
call fig_line

/* for K

/* for J

/* Characters
if[#[value 11] eq 1 ]then
#1=3
call fig_cursor
G243X[42-shift_char_X]Y[9-shift_char_Y](X)
#1=4
call fig_cursor
G243X[44-shift_char_X]Y[9-shift_char_Y](Y)
#1=5
call fig_cursor
G243X[46-shift_char_X]Y[9-shift_char_Y](Z)
#1=6
call fig_cursor
G243X[45-shift_char_X]Y[14-shift_char_Y](I)
#1=7
call fig_cursor
G243X[41-shift_char_X]Y[11-shift_char_Y](J)
#1=8
call fig_cursor
G243X[37-shift_char_X]Y[11-shift_char_Y](K)
cursor_off
G243X[41-shift_char_X]Y[9-shift_char_Y]('(')
G243X[43-shift_char_X]Y[9-shift_char_Y](',')
G243X[45-shift_char_X]Y[9-shift_char_Y](',')
G243X[47-shift_char_X]Y[9-shift_char_Y](')')
G243X[55-shift_char_X]Y[10-shift_char_Y](X)
G243X[48-shift_char_X]Y[ 7-shift_char_Y](Y)
G243X[39-shift_char_X]Y[ 7-shift_char_Y](Z)
else
#1=3
call fig_cursor
G243X[46-shift_char_X]Y[9-shift_char_Y](X)
#1=4
call fig_cursor
G243X[48-shift_char_X]Y[9-shift_char_Y](Y)
#1=5
call fig_cursor
G243X[50-shift_char_X]Y[9-shift_char_Y](Z)
#1=6
call fig_cursor
G243X[45-shift_char_X]Y[14-shift_char_Y](I)
#1=7
call fig_cursor

-145-

3. USER PROGRAMS FOR G-CODE MENU

3. USER PROGRAMS FOR G-CODE MENU

SAMPLE PROGRAM

G243X[41-shift_char_X]Y[11-shift_char_Y](J)
#1=8
call fig_cursor
G243X[37-shift_char_X]Y[11-shift_char_Y](K)
cursor_off
G243X[45-shift_char_X]Y[9-shift_char_Y]('(')
G243X[47-shift_char_X]Y[9-shift_char_Y](',')
G243X[49-shift_char_X]Y[9-shift_char_Y](',')
G243X[51-shift_char_X]Y[9-shift_char_Y](')')
G243X[56-shift_char_X]Y[9-shift_char_Y](X)
G243X[54-shift_char_X]Y[6-shift_char_Y](Y)
G243X[50-shift_char_X]Y[6-shift_char_Y](Z)
endif
m99

O6054 ;############################################### Work Size Cylinder


color red
G242X[0-shift_grap_X]Y[0+shift_grap_Y]
G01X[0-shift_grap_X]Y[136+shift_grap_Y]
G242X[120-shift_grap_X]Y[0+shift_grap_Y]
G01X[120-shift_grap_X]Y[136+shift_grap_Y]
#1=0-shift_grap_X
#2=120-shift_grap_X
#3=136+shift_grap_Y
call fig_ellipse
#1=0-shift_grap_X
#2=120-shift_grap_X
#3=0+shift_grap_Y
call fig_ellipse
G242X[32-shift_grap_X]Y[0+shift_grap_Y]
G01X[32-shift_grap_X]Y[136+shift_grap_Y]
G242X[88-shift_grap_X]Y[0+shift_grap_Y]
G01X[88-shift_grap_X]Y[136+shift_grap_Y]
#1=32-shift_grap_X
#2=88-shift_grap_X
#3=136+shift_grap_Y
call fig_ellipse
#1=32-shift_grap_X
#2=88-shift_grap_X
#3=0+shift_grap_Y
call fig_ellipse
G242X[60-shift_grap_X]Y[136+shift_grap_Y]
G01X[60-shift_grap_X]Y[0+shift_grap_Y]
G01X[120-shift_grap_X]Y[0+shift_grap_Y]
color sky_blue
G242X[59-shift_grap_X]Y[136+shift_grap_Y]
G01X[48-shift_grap_X]Y[136+shift_grap_Y]
G242X[59-shift_grap_X]Y[0+shift_grap_Y]
G01X[48-shift_grap_X]Y[0+shift_grap_Y]
#1=54-shift_grap_X
#2=1+shift_grap_Y
#3=#1
#4=135+shift_grap_Y
#5=2
call fig_line
G242X[60-shift_grap_X]Y[-1+shift_grap_Y]
G01X[60-shift_grap_X]Y[-16+shift_grap_Y]
G242X[120-shift_grap_X]Y[-1+shift_grap_Y]
G01X[120-shift_grap_X]Y[-16+shift_grap_Y]
#1=61-shift_grap_X
#2=-8+shift_grap_Y
#3=119-shift_grap_X
#4=#2
#5=2

/* for K

/* for I

-146-

B-63423EN/02

SAMPLE PROGRAM

B-63423EN/02

call fig_line
#1=61-shift_grap_X
#2=8+shift_grap_Y
#3=87-shift_grap_X
#4=#2
#5=2
call fig_line

/* for J

/* Characters
#1=3
call fig_cursor
G243X[44-shift_char_X]Y[6-shift_char_Y](X)
#1=4
call fig_cursor
G243X[46-shift_char_X]Y[6-shift_char_Y](Y)
#1=5
call fig_cursor
G243X[48-shift_char_X]Y[6-shift_char_Y](Z)
#1=6
call fig_cursor
G243X[51-shift_char_X]Y[16-shift_char_Y](I)
#1=7
call fig_cursor
G243X[49-shift_char_X]Y[14-shift_char_Y](J)
#1=8
call fig_cursor
G243X[45-shift_char_X]Y[10-shift_char_Y](K)
cursor_off
G243X[43-shift_char_X]Y[6-shift_char_Y]('(')
G243X[45-shift_char_X]Y[6-shift_char_Y](',')
G243X[47-shift_char_X]Y[6-shift_char_Y](',')
G243X[49-shift_char_X]Y[6-shift_char_Y](')')
m99

O6055 ;############################################### ABS/INC


color red
#1=-8-shift_grap_X
#2=56+shift_grap_Y
#3=36-shift_grap_X
#4=96+shift_grap_Y
#5=0
call fig_line
#1=80-shift_grap_X
#2=56+shift_grap_Y
#3=124-shift_grap_X
#4=96+shift_grap_Y
#5=0
call fig_line
color sky_blue
#1=-16-shift_grap_X
#2=40+shift_grap_Y
#3=56-shift_grap_X
#4=#2
#5=0
call fig_line
#1=-16-shift_grap_X
#2=40+shift_grap_Y
#3=#1
#4=120+shift_grap_Y
#5=0
call fig_line
#1=72-shift_grap_X
#2=40+shift_grap_Y
#3=144-shift_grap_X

-147-

3. USER PROGRAMS FOR G-CODE MENU

3. USER PROGRAMS FOR G-CODE MENU


#4=#2
#5=0
call fig_line
#1=72-shift_grap_X
#2=40+shift_grap_Y
#3=#1
#4=120+shift_grap_Y
#5=0
call fig_line
G242X[36-shift_grap_X]Y[95+shift_grap_Y]
G01X[36-shift_grap_X]Y[41+shift_grap_Y]
G242X[35-shift_grap_X]Y[96+shift_grap_Y]
G01X[-15-shift_grap_X]Y[96+shift_grap_Y]
G242X[81-shift_grap_X]Y[56+shift_grap_Y]
G01X[124-shift_grap_X]Y[56+shift_grap_Y]
G01X[124-shift_grap_X]Y[95+shift_grap_Y]

SAMPLE PROGRAM

/* for ABS

/* for INC

/* Characters
cursor_off
G243X[44-shift_char_X]Y[13-shift_char_Y](X)
G243X[37-shift_char_X]Y[9 -shift_char_Y](Y)
G243X[52-shift_char_X]Y[12-shift_char_Y](X)
G243X[56-shift_char_X]Y[10-shift_char_Y](Y)
G243X[40-shift_char_X]Y[14-shift_char_Y](G90)
G243X[51-shift_char_X]Y[14-shift_char_Y](G91)
m99

O6056 ;############################################### Plane Selection


color sky_blue
#20 = -32-shift_grap_X
#1=#20
#2=56+shift_grap_Y
#3=#20+48
#4=56+shift_grap_Y
#5=0
call fig_line
#20 = -32-shift_grap_X
#1=#20
#2=56+shift_grap_Y
#3=#20
#4=104+shift_grap_Y
#5=0
call fig_line
#20 = 32-shift_grap_X
#1=#20
#2=56+shift_grap_Y
#3=#20+48
#4=56+shift_grap_Y
#5=0
call fig_line
#20 = 32-shift_grap_X
#1=#20
#2=56+shift_grap_Y
#3=#20
#4=104+shift_grap_Y
#5=0
call fig_line
#20 = 96-shift_grap_X
#1=#20
#2=56+shift_grap_Y
#3=#20+48
#4=56+shift_grap_Y
#5=0
call fig_line
#20 = 96-shift_grap_X

-148-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

#1=#20
#2=56+shift_grap_Y
#3=#20
#4=104+shift_grap_Y
#5=0
call fig_line
cursor_off
G243X[42-shift_char_X]Y[12-shift_char_Y](X)
G243X[36-shift_char_X]Y[8 -shift_char_Y](Y)
G243X[50-shift_char_X]Y[12-shift_char_Y](Z)
G243X[44-shift_char_X]Y[8 -shift_char_Y](X)
G243X[58-shift_char_X]Y[12-shift_char_Y](Y)
G243X[52-shift_char_X]Y[8 -shift_char_Y](Z)
G243X[37-shift_char_X]Y[13-shift_char_Y](G17)
G243X[45-shift_char_X]Y[13-shift_char_Y](G18)
G243X[53-shift_char_X]Y[13-shift_char_Y](G19)
m99

O6057 ;############################################### Origin Point


color red
G242X[-32-shift_grap_X]Y[24+shift_grap_Y]
G01X[40-shift_grap_X]Y[24+shift_grap_Y]
G01X[56-shift_grap_X]Y[40+shift_grap_Y]
G01X[-16-shift_grap_X]Y[40+shift_grap_Y]
G01X[-32-shift_grap_X]Y[24+shift_grap_Y]
G242X[-32-shift_grap_X]Y[104+shift_grap_Y]
G01X[40-shift_grap_X]Y[104+shift_grap_Y]
G01X[56-shift_grap_X]Y[120+shift_grap_Y]
G01X[-16-shift_grap_X]Y[120+shift_grap_Y]
G01X[-32-shift_grap_X]Y[104+shift_grap_Y]
G242X[-32-shift_grap_X]Y[24+shift_grap_Y]
G01X[-32-shift_grap_X]Y[104+shift_grap_Y]
G242X[40-shift_grap_X]Y[24+shift_grap_Y]
G01X[40-shift_grap_X]Y[104+shift_grap_Y]
G242X[-16-shift_grap_X]Y[40+shift_grap_Y]
G01X[-16-shift_grap_X]Y[120+shift_grap_Y]
G242X[56-shift_grap_X]Y[40+shift_grap_Y]
G01X[56-shift_grap_X]Y[120+shift_grap_Y]
color sky_blue
#1=-32-shift_grap_X
#2=104+shift_grap_Y
#3=52-shift_grap_X
#4=104+shift_grap_Y
#5=0
call fig_line
#1=-32-shift_grap_X
#2=104+shift_grap_Y
#3=0-shift_grap_X
#4=136+shift_grap_Y
#5=0
call fig_line
#1=-32-shift_grap_X
#2=104+shift_grap_Y
#3=-32-shift_grap_X
#4=120+shift_grap_Y
#5=0
call fig_line
/* Characters
cursor_off
color white
G243X[46-shift_char_X]Y[9-shift_char_Y](X)
G243X[41-shift_char_X]Y[7-shift_char_Y](Y)
G243X[37-shift_char_X]Y[7-shift_char_Y](Z)

-149-

3. USER PROGRAMS FOR G-CODE MENU

3. USER PROGRAMS FOR G-CODE MENU

SAMPLE PROGRAM

color red
G242X[64-shift_grap_X]Y[24+shift_grap_Y]
G01X[136-shift_grap_X]Y[24+shift_grap_Y]
G01X[152-shift_grap_X]Y[40+shift_grap_Y]
G01X[80-shift_grap_X]Y[40+shift_grap_Y]
G01X[64-shift_grap_X]Y[24+shift_grap_Y]
G242X[64-shift_grap_X]Y[104+shift_grap_Y]
G01X[136-shift_grap_X]Y[104+shift_grap_Y]
G01X[152-shift_grap_X]Y[120+shift_grap_Y]
G01X[80-shift_grap_X]Y[120+shift_grap_Y]
G01X[64-shift_grap_X]Y[104+shift_grap_Y]
G242X[64-shift_grap_X]Y[24+shift_grap_Y]
G01X[64-shift_grap_X]Y[104+shift_grap_Y]
G242X[136-shift_grap_X]Y[24+shift_grap_Y]
G01X[136-shift_grap_X]Y[104+shift_grap_Y]
G242X[80-shift_grap_X]Y[40+shift_grap_Y]
G01X[80-shift_grap_X]Y[120+shift_grap_Y]
G242X[152-shift_grap_X]Y[40+shift_grap_Y]
G01X[152-shift_grap_X]Y[120+shift_grap_Y]
color sky_blue
#1=100-shift_grap_X
#2=112+shift_grap_Y
#3=124-shift_grap_X
#4=112+shift_grap_Y
#5=0
call fig_line
#1=100-shift_grap_X
#2=112+shift_grap_Y
#3=116-shift_grap_X
#4=128+shift_grap_Y
#5=0
call fig_line
#1=100-shift_grap_X
#2=112+shift_grap_Y
#3=100-shift_grap_X
#4=128+shift_grap_Y
#5=0
call fig_line
/* Characters
cursor_off
color white
G243X[56-shift_char_X]Y[8-shift_char_Y](X)
G243X[55-shift_char_X]Y[7-shift_char_Y](Y)
G243X[51-shift_char_X]Y[7-shift_char_Y](Z)
m99
O6058 ;############################################### Tool Def
color blue
/* Work
G242X[-7-shift_grap_X]Y[-23+32+shift_grap_Y]
G01X[127-shift_grap_X]Y[-23+32+shift_grap_Y]
G01X[127-shift_grap_X]Y[7+32+shift_grap_Y]
G01X[-7-shift_grap_X]Y[7+32+shift_grap_Y]
G01X[-7-shift_grap_X]Y[-23+32+shift_grap_Y]
G206P0X[0-shift_grap_X]Y[0+32+shift_grap_Y]
color sky_blue
/* Work Edge
G242X[-8-shift_grap_X]Y[-24+32+shift_grap_Y]
G01X[128-shift_grap_X]Y[-24+32+shift_grap_Y]
G01X[128-shift_grap_X]Y[8+32+shift_grap_Y]
G01X[-8-shift_grap_X]Y[8+32+shift_grap_Y]
G01X[-8-shift_grap_X]Y[-24+32+shift_grap_Y]
color green
#20=36-shift_grap_X
#21=96+shift_grap_Y
G242X[#20]Y[#21+1]
G01X[#20-3]Y[#21+8]

/* Tool
/* Current Tool

-150-

B-63423EN/02

SAMPLE PROGRAM

B-63423EN/02

G01X[#20-3]Y[#21+25]
G01X[#20-11]Y[#21+25]
G01X[#20-11]Y[#21+55]
G01X[#20+11]Y[#21+55]
G01X[#20+11]Y[#21+25]
G01X[#20+3]Y[#21+25]
G01X[#20+3]Y[#21+8]
G01X[#20]Y[#21+1]
G206P0X[#20]Y[#21+40]
if[cursor eq 5]then
#20=100-shift_grap_X
#21=112+shift_grap_Y
G242X[#20]Y[#21+1]
G01X[#20-3]Y[#21+8]
G01X[#20-3]Y[#21+25]
G01X[#20-11]Y[#21+25]
G01X[#20-11]Y[#21+55]
G01X[#20+11]Y[#21+55]
G01X[#20+11]Y[#21+25]
G01X[#20+3]Y[#21+25]
G01X[#20+3]Y[#21+8]
G01X[#20]Y[#21+1]
G206P0X[#20]Y[#21+40]
endif
color purple
#20=36-shift_grap_X
#21=96+shift_grap_Y
G242X[#20]Y[#21]
G01X[#20-4]Y[#21+8]
G01X[#20-4]Y[#21+24]
G01X[#20-12]Y[#21+24]
G01X[#20-12]Y[#21+56]
G01X[#20+12]Y[#21+56]
G01X[#20+12]Y[#21+24]
G01X[#20+4]Y[#21+24]
G01X[#20+4]Y[#21+8]
G01X[#20]Y[#21]
if[cursor eq 5]then
#20=100-shift_grap_X
#21=112+shift_grap_Y
G242X[#20]Y[#21]
G01X[#20-4]Y[#21+8]
G01X[#20-4]Y[#21+24]
G01X[#20-12]Y[#21+24]
G01X[#20-12]Y[#21+56]
G01X[#20+12]Y[#21+56]
G01X[#20+12]Y[#21+24]
G01X[#20+4]Y[#21+24]
G01X[#20+4]Y[#21+8]
G01X[#20]Y[#21]
endif

/* Next Tool

/* Tool Edge
/* Current Tool

/* Next Tool

/* Line
color green
if[ cursor eq 6]then
/* Tool Change Arrow
#1=56-shift_grap_X
#2=144+shift_grap_Y
#3=80-shift_grap_X
#4=#2
#5=2
call fig_line
endif
G242X[32-shift_grap_X]Y[103+shift_grap_Y]
/* for R
G01X[32-shift_grap_X]Y[74+shift_grap_Y]
G242X[36-shift_grap_X]Y[95+shift_grap_Y]
G01X[36-shift_grap_X]Y[74+shift_grap_Y]

-151-

3. USER PROGRAMS FOR G-CODE MENU

3. USER PROGRAMS FOR G-CODE MENU

SAMPLE PROGRAM

#1=31-shift_grap_X
#2=80+shift_grap_Y
#3=21-shift_grap_X
#4=#2
#5=1
call fig_line
#1=37-shift_grap_X
#2=80+shift_grap_Y
#3=47-shift_grap_X
#4=#2
#5=1
call fig_line
/* Characters
#1=1
call fig_cursor
G243X[44-shift_char_X]Y[5-shift_char_Y](T)
#1=4
call fig_cursor
G243X[44-shift_char_X]Y[11-shift_char_Y](R)
#1=5
call fig_cursor
if[cursor eq 5]then
G243X[55-shift_char_X]Y[5-shift_char_Y](N)
endif
cursor_off
m99

O6059 ;############################################### M code


call fig_language
cursor_off
G243X[36-shift_char_X]Y[5-shift_char_Y] P[#1+1]
G243X[36-shift_char_X]Y[6-shift_char_Y] P[#1+2]
G243X[36-shift_char_X]Y[7-shift_char_Y] P[#1+3]
G243X[36-shift_char_X]Y[8-shift_char_Y] P[#1+4]
G243X[36-shift_char_X]Y[9-shift_char_Y] P[#1+5]
G243X[36-shift_char_X]Y[10-shift_char_Y] P[#1+6]
G243X[36-shift_char_X]Y[11-shift_char_Y] P[#1+7]
G243X[36-shift_char_X]Y[12-shift_char_Y] P[#1+8]
G243X[36-shift_char_X]Y[13-shift_char_Y] P[#1+9]
G243X[36-shift_char_X]Y[14-shift_char_Y] P[#1+10]
G243X[36-shift_char_X]Y[15-shift_char_Y] P[#1+11]
m99

O6060 ;############################################### Tool Offset


/*** Cutter Compensation
; Tools
color blue
G242X[16-shift_grap_X]Y[150+shift_grap_Y]
/* G40
G02X[16-shift_grap_X]Y[150+shift_grap_Y]I[16-shift_grap_X]J[136+shift_grap_Y]Q4
G206P0X[16-shift_grap_X]Y[136+shift_grap_Y]
G242X[80-shift_grap_X]Y[138+shift_grap_Y]
/* G41
G02X[80-shift_grap_X]Y[138+shift_grap_Y]I[80-shift_grap_X]J[152+shift_grap_Y]Q4
G206P0X[80-shift_grap_X]Y[152+shift_grap_Y]
G242X[80-shift_grap_X]Y[134+shift_grap_Y]
/* G42
G02X[80-shift_grap_X]Y[134+shift_grap_Y]I[80-shift_grap_X]J[120+shift_grap_Y]Q4
G206P0X[80-shift_grap_X]Y[120+shift_grap_Y]
color purple
G242X[16-shift_grap_X]Y[151+shift_grap_Y]
/* G40
G02X[16-shift_grap_X]Y[151+shift_grap_Y]I[16-shift_grap_X]J[136+shift_grap_Y]Q4
G242X[80-shift_grap_X]Y[137+shift_grap_Y]
/* G41
G02X[80-shift_grap_X]Y[137+shift_grap_Y]I[80-shift_grap_X]J[152+shift_grap_Y]Q4

-152-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

G242X[80-shift_grap_X]Y[135+shift_grap_Y]
/* G42
G02X[80-shift_grap_X]Y[135+shift_grap_Y]I[80-shift_grap_X]J[120+shift_grap_Y]Q4
/* Line
color red
#1=-16-shift_grap_X
#2=136+shift_grap_Y
#3=128-shift_grap_X
#4=#2
#5=0
call fig_line
/* Characters
cursor_off
G243X[40-shift_char_X]Y[5-shift_char_Y](G40)
G243X[53-shift_char_X]Y[5-shift_char_Y](G41)
G243X[53-shift_char_X]Y[8-shift_char_Y](G42)
/*** Length Offset
/* Tool
color green
G242X[25-shift_grap_X]Y[57+shift_grap_Y]
G01X[87-shift_grap_X]Y[57+shift_grap_Y]
G01X[87-shift_grap_X]Y[87+shift_grap_Y]
G01X[25-shift_grap_X]Y[87+shift_grap_Y]
G01X[25-shift_grap_X]Y[57+shift_grap_Y]
#1=45-shift_char_X
#2=11-shift_char_Y
#3=3
call fig_character
G206P0X[80-shift_grap_X]Y[75+shift_grap_Y]
color blue
G242X[41-shift_grap_X]Y[1+shift_grap_Y]
G01X[71-shift_grap_X]Y[1+shift_grap_Y]
G01X[71-shift_grap_X]Y[55+shift_grap_Y]
G01X[41-shift_grap_X]Y[55+shift_grap_Y]
G01X[41-shift_grap_X]Y[1+shift_grap_Y]
G206P0X[50-shift_grap_X]Y[30+shift_grap_Y]
color purple
G242X[24-shift_grap_X]Y[56+shift_grap_Y]
G01X[88-shift_grap_X]Y[56+shift_grap_Y]
G01X[88-shift_grap_X]Y[88+shift_grap_Y]
G01X[24-shift_grap_X]Y[88+shift_grap_Y]
G01X[24-shift_grap_X]Y[56+shift_grap_Y]
G242X[40-shift_grap_X]Y[55+shift_grap_Y]
G01X[40-shift_grap_X]Y[0+shift_grap_Y]
G01X[72-shift_grap_X]Y[0+shift_grap_Y]
G01X[72-shift_grap_X]Y[55+shift_grap_Y]
/* Line
color green
G242X[73-shift_grap_X]Y[0+shift_grap_Y]
G01X[104-shift_grap_X]Y[0+shift_grap_Y]
color red
#1=88-shift_grap_X
/* for G43
#2=1+shift_grap_Y
#3=#1
#4=32+shift_grap_Y
#5=0
call fig_line
#1=88-shift_grap_X
/* for G44
#2=-1+shift_grap_Y
#3=#1
#4=-32+shift_grap_Y
#5=0
call fig_line
color yellow
/* for G49

-153-

3. USER PROGRAMS FOR G-CODE MENU

3. USER PROGRAMS FOR G-CODE MENU

SAMPLE PROGRAM

#1=56-shift_grap_X
#2=56+shift_grap_Y
call fig_mark
/* Characters
cursor_off
G243X[52-shift_char_X]Y[14-shift_char_Y](G43)
G243X[52-shift_char_X]Y[16-shift_char_Y](G44)
color white C green L0
G243X[45-shift_char_X]Y[11-shift_char_Y](G49)
m99

O6061 ;############################################### Line


/* Input
/** #32 1:called from Line 40:called from Compensation
/* Output
/** non
/*********************************/
color red
dot_line
#1=0-shift_grap_X
#2=88+shift_grap_Y
#3=104-shift_grap_X
#4=120+shift_grap_Y
#5=0
call fig_line
solid_line
#1=0-shift_grap_X
#2=8+shift_grap_Y
#3=104-shift_grap_X
#4=40+shift_grap_Y
#5=0
call fig_line
/* Characters
if[#32 eq 1]then #1=1
else #1=3
call fig_cursor
G243X[45-shift_char_X]Y[7 -shift_char_Y](G00)
G243X[45-shift_char_X]Y[12-shift_char_Y](G01)
if[#32 eq 1]then #1=2
else #1=6
if[#32 eq 1]then
if[#[value 1] eq 0 || #[value 1] eq 1]then
if[#[value 1] ne 0]then
cursor_off
G243X[51-shift_char_X]Y[7 -shift_char_Y](X)
call fig_cursor
G243X[51-shift_char_X]Y[12-shift_char_Y](X)
else
call fig_cursor
G243X[51-shift_char_X]Y[7 -shift_char_Y](X)
cursor_off
G243X[51-shift_char_X]Y[12-shift_char_Y](X)
endif
else
call fig_cursor
G243X[51-shift_char_X]Y[7 -shift_char_Y](X)
G243X[51-shift_char_X]Y[12-shift_char_Y](X)
endif
else
if[#[value 3] eq 0 || #[value 3] eq 1]then
if[#[value 3] ne 0]then
cursor_off
G243X[51-shift_char_X]Y[7 -shift_char_Y](X)

-154-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

call fig_cursor
G243X[51-shift_char_X]Y[12-shift_char_Y](X)
else
call fig_cursor
G243X[51-shift_char_X]Y[7 -shift_char_Y](X)
cursor_off
G243X[51-shift_char_X]Y[12-shift_char_Y](X)
endif
else
call fig_cursor
G243X[51-shift_char_X]Y[7 -shift_char_Y](X)
G243X[51-shift_char_X]Y[12-shift_char_Y](X)
endif
endif
if[#32 eq 1]then #1=3
else #1=7
if[#32 eq 1]then
if[#[value 1] eq 0 || #[value 1] eq 1]then
if[#[value 1] ne 0]then
cursor_off
G243X[53-shift_char_X]Y[7 -shift_char_Y](Y)
call fig_cursor
G243X[53-shift_char_X]Y[12-shift_char_Y](Y)
else
call fig_cursor
G243X[53-shift_char_X]Y[7 -shift_char_Y](Y)
cursor_off
G243X[53-shift_char_X]Y[12-shift_char_Y](Y)
endif
else
call fig_cursor
G243X[53-shift_char_X]Y[7 -shift_char_Y](Y)
G243X[53-shift_char_X]Y[12-shift_char_Y](Y)
endif
else
if[#[value 3] eq 0 || #[value 3] eq 1]then
if[#[value 3] ne 0]then
cursor_off
G243X[53-shift_char_X]Y[7 -shift_char_Y](Y)
call fig_cursor
G243X[53-shift_char_X]Y[12-shift_char_Y](Y)
else
call fig_cursor
G243X[53-shift_char_X]Y[7 -shift_char_Y](Y)
cursor_off
G243X[53-shift_char_X]Y[12-shift_char_Y](Y)
endif
else
call fig_cursor
G243X[53-shift_char_X]Y[7 -shift_char_Y](Y)
G243X[53-shift_char_X]Y[12-shift_char_Y](Y)
endif
endif
if[#32 eq 1]then #1=4
else #1=8
if[#32 eq 1]then
if[#[value 1] eq 0 || #[value 1] eq 1]then
if[#[value 1] ne 0]then
cursor_off
G243X[55-shift_char_X]Y[7 -shift_char_Y](Z)
call fig_cursor
G243X[55-shift_char_X]Y[12-shift_char_Y](Z)
else
call fig_cursor
G243X[55-shift_char_X]Y[7 -shift_char_Y](Z)
cursor_off
G243X[55-shift_char_X]Y[12-shift_char_Y](Z)

-155-

3. USER PROGRAMS FOR G-CODE MENU

3. USER PROGRAMS FOR G-CODE MENU

SAMPLE PROGRAM

endif
else
call fig_cursor
G243X[55-shift_char_X]Y[7 -shift_char_Y](Z)
G243X[55-shift_char_X]Y[12-shift_char_Y](Z)
endif
else
if[#[value 3] eq 0 || #[value 3] eq 1]then
if[#[value 3] ne 0]then
cursor_off
G243X[55-shift_char_X]Y[7 -shift_char_Y](Z)
call fig_cursor
G243X[55-shift_char_X]Y[12-shift_char_Y](Z)
else
call fig_cursor
G243X[55-shift_char_X]Y[7 -shift_char_Y](Z)
cursor_off
G243X[55-shift_char_X]Y[12-shift_char_Y](Z)
endif
else
call fig_cursor
G243X[55-shift_char_X]Y[7 -shift_char_Y](Z)
G243X[55-shift_char_X]Y[12-shift_char_Y](Z)
endif
endif
cursor_off
G243X[50-shift_char_X]Y[7 -shift_char_Y]('(')
G243X[52-shift_char_X]Y[7 -shift_char_Y](',')
G243X[54-shift_char_X]Y[7 -shift_char_Y](',')
G243X[56-shift_char_X]Y[7 -shift_char_Y](')')
G243X[50-shift_char_X]Y[12-shift_char_Y]('(')
G243X[52-shift_char_X]Y[12-shift_char_Y](',')
G243X[54-shift_char_X]Y[12-shift_char_Y](',')
G243X[56-shift_char_X]Y[12-shift_char_Y](')')
if[#32 eq 1]then
if[#[attribute 5] ne att_not_use]then
#1=5
call fig_cursor
G243X[46-shift_char_X]Y[14-shift_char_Y](F)
else
cursor_off
G243X[46-shift_char_X]Y[14-shift_char_Y](F)
endif
else
if[#[attribute 9] ne att_not_use]then
#1=9
call fig_cursor
G243X[46-shift_char_X]Y[14-shift_char_Y](F)
else
cursor_off
G243X[46-shift_char_X]Y[14-shift_char_Y](F)
endif
endif
m99

O6062 ;############################################### Circle


if[#[address 0] eq 2]then
/* Circle Direction(CW)
color yellow
#1=86.5332-shift_grap_X
#2=56+shift_grap_Y
call fig_mark
color green
#1=0-shift_grap_X
/* R
#2=56+shift_grap_Y
#3=72-shift_grap_X

-156-

B-63423EN/02

SAMPLE PROGRAM

B-63423EN/02

#4=104+shift_grap_Y
#5=0
call fig_line
#1=72-shift_grap_X
#2=104+shift_grap_Y
#3=72-shift_grap_X
#4=56+shift_grap_Y
#5=0
call fig_line
#1=72-shift_grap_X
#2=56+shift_grap_Y
#3=0-shift_grap_X
#4=56+shift_grap_Y
#5=0
call fig_line
color red
#1=72-shift_grap_X
#2=104+shift_grap_Y
#3=86.5332-shift_grap_X
#4=56+shift_grap_Y
#5=0-shift_grap_X
#6=56+shift_grap_Y
#7=0
call fig_cw
else
color yellow
#1=32-shift_grap_X
#2=120.399+shift_grap_Y
call fig_mark
color green
#1=0-shift_grap_X
#2=40+shift_grap_Y
#3=72-shift_grap_X
#4=88+shift_grap_Y
#5=0
call fig_line
#1=72-shift_grap_X
#2=88+shift_grap_Y
#3=72-shift_grap_X
#4=40+shift_grap_Y
#5=0
call fig_line
#1=72-shift_grap_X
#2=40+shift_grap_Y
#3=0-shift_grap_X
#4=40+shift_grap_Y
#5=0
call fig_line
color red
#1=72-shift_grap_X
#2=88+shift_grap_Y
#3=32-shift_grap_X
#4=120.399+shift_grap_Y
#5=0-shift_grap_X
#6=40+shift_grap_Y
#7=0
call fig_ccw
endif

/* J

/* I

/* circle

/* Circle Direction(CCW)

/* R

/* J

/* I

/* circle

/* Characters
cursor_off
if[#[address 0] eq 2]then
G243X[53-shift_char_X]Y[10-shift_char_Y](G02)
else
G243X[53-shift_char_X]Y[10-shift_char_Y](G03)
endif
if[#[value 2] eq 17]then

-157-

3. USER PROGRAMS FOR G-CODE MENU

3. USER PROGRAMS FOR G-CODE MENU

SAMPLE PROGRAM

#1=3
call fig_cursor
if[#[address 0] eq 2]then
G243X[52-shift_char_X]Y[12-shift_char_Y](X)
else
G243X[40-shift_char_X]Y[ 7-shift_char_Y](X)
endif
#1=4
call fig_cursor
if[#[address 0] eq 2]then
G243X[54-shift_char_X]Y[12-shift_char_Y](Y)
else
G243X[42-shift_char_X]Y[ 7-shift_char_Y](Y)
endif
#1=7
call fig_cursor
if[#[address 0] eq 2]then
G243X[45-shift_char_X]Y[11-shift_char_Y](I)
else
G243X[45-shift_char_X]Y[12-shift_char_Y](I)
endif
#1=8
call fig_cursor
if[#[address 0] eq 2]then
G243X[48-shift_char_X]Y[10-shift_char_Y](J)
else
G243X[48-shift_char_X]Y[11-shift_char_Y](J)
endif
endif
if[#[value 2] eq 18]then
#1=3
call fig_cursor
if[#[address 0] eq 2]then
G243X[52-shift_char_X]Y[12-shift_char_Y](X)
else
G243X[40-shift_char_X]Y[ 7-shift_char_Y](X)
endif
#1=5
call fig_cursor
if[#[address 0] eq 2]then
G243X[54-shift_char_X]Y[12-shift_char_Y](Z)
else
G243X[42-shift_char_X]Y[ 7-shift_char_Y](Z)
endif
#1=7
call fig_cursor
if[#[address 0] eq 2]then
G243X[45-shift_char_X]Y[11-shift_char_Y](I)
else
G243X[45-shift_char_X]Y[12-shift_char_Y](I)
endif
#1=9
call fig_cursor
if[#[address 0] eq 2]then
G243X[48-shift_char_X]Y[10-shift_char_Y](K)
else
G243X[48-shift_char_X]Y[11-shift_char_Y](K)
endif
endif
if[#[value 2] eq 19]then
#1=4
call fig_cursor
if[#[address 0] eq 2]then
G243X[52-shift_char_X]Y[12-shift_char_Y](Y)
else
G243X[40-shift_char_X]Y[ 7-shift_char_Y](Y)
endif

-158-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

#1=5
call fig_cursor
if[#[address 0] eq 2]then
G243X[54-shift_char_X]Y[12-shift_char_Y](Z)
else
G243X[42-shift_char_X]Y[ 7-shift_char_Y](Z)
endif
#1=8
call fig_cursor
if[#[address 0] eq 2]then
G243X[45-shift_char_X]Y[11-shift_char_Y](J)
else
G243X[45-shift_char_X]Y[12-shift_char_Y](J)
endif
#1=9
call fig_cursor
if[#[address 0] eq 2]then
G243X[48-shift_char_X]Y[10-shift_char_Y](K)
else
G243X[48-shift_char_X]Y[11-shift_char_Y](K)
endif
endif
#1=6
call fig_cursor
if[#[address 0] eq 2]then
G243X[44-shift_char_X]Y[9-shift_char_Y](R)
else
G243X[46-shift_char_X]Y[9-shift_char_Y](R)
endif
#1=10
call fig_cursor
if[#[address 0] eq 2]then
G243X[51-shift_char_X]Y[9-shift_char_Y](F)
else
G243X[48-shift_char_X]Y[8-shift_char_Y](F)
endif
cursor_off
if[#[address 0] eq 2]then
G243X[51-shift_char_X]Y[12 -shift_char_Y]('(')
G243X[53-shift_char_X]Y[12 -shift_char_Y](',')
G243X[55-shift_char_X]Y[12 -shift_char_Y](')')
else
G243X[39-shift_char_X]Y[7-shift_char_Y]('(')
G243X[41-shift_char_X]Y[7-shift_char_Y](',')
G243X[43-shift_char_X]Y[7-shift_char_Y](')')
endif
m99

/****************************************************************************
/*
/* MACROSTR.SRC :: Strings for FIGSUB*.SRC
/*
/****************************************************************************
O6901 ;############################################### English
; M code
N0001('M00:Program stop');
N0002('M01:Optional stop');
N0003('M02:End of program');
N0004('M03:Spindle cw');
N0005('M04:Spindle ccw');
N0006('M05:Spindle stop');
N0007('M06:Tool change');
N0008('M30:end of program');
N0009('M98:Calling of');

-159-

3. USER PROGRAMS FOR G-CODE MENU

3. USER PROGRAMS FOR G-CODE MENU

SAMPLE PROGRAM

N0010(' subrogram');
N0011('M99:End of subrogram');
; Contour/Line : Start Point Type
N0020('When you make the');
N0021('island figure after the');
N0022('pocket wall figure,');
N0023('select "ISLAND". ');
N0024('');
N0025('When you continue');
N0026('making the next groove');
N0027('figure,');
N0028('select "NXT MV".');
N0029('');
N0030('Another case,');
N0031('select "START".');
; Contour/End
N0040('When you continue');
N0041('making the contour');
N0042('figure, select "CONT".');
N0043('(Example)');
N0044('The case of making the');
N0045('island figure after the');
N0046('pocket wall figure.');
N0047('The case of making some');
N0048('groove figures.');
; Contour/Linear,Rotation,Mirror Copy
N0060('START'); ; Linear
N0061('POINT');
N0062('END');
N0063('POINT');
N0064('START');
N0065('POINT');
N0066('END');
N0067('POINT');
N0068('BASE');
N0069('AXIS');
; Canned Cycle
N0080('Initial');
N0081('level');
N0082('Point R');
N0083('level');
; Contour : Approach/Escape Type
N0090('Circle');
N0091('Tangent');
N0092('Vertical');
; Canned Cycle
N0101('G81:No dwell');
N0102('G82:With dwell');
N0103('G83:Normal peck');
N0104('G73:High-speed peck');
N0105('G85:Feed retraction');
N0106('G86:Rapid retraction');
N0107('G88:Manual retraction');
N0108('G89:With dwell');
N0109('G76:Fine boring');
N0110('G87:Back boring');
N0111('G84:Tapping');
N0112('G74:Left-hand tapping');
; Contour : Compensation Direction
N0121('Left');

-160-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

N0122('Right');
; CHECK*.SRC message
N0900('Data is lacking.');
N0901('Input error in menu param.');
M99
O6903 ;############################################### German
; M code
N0001('M00:Program stop');
N0002('M01:Optional stop');
N0003('M02:End of program');
N0004('M03:Spindle cw');
N0005('M04:Spindle ccw');
N0006('M05:Spindle stop');
N0007('M06:Tool change');
N0008('M30:end of program');
N0009('M98:Calling of');
N0010(' subrogram');
N0011('M99:End of subrogram');
; Contour/Line : Start Point Type
N0020('When you make the');
N0021('island figure after the');
N0022('pocket wall figure,');
N0023('select "ISLAND". ');
N0024('');
N0025('When you continue');
N0026('making the next groove');
N0027('figure,');
N0028('select "NXT MV".');
N0029('');
N0030('Another case,');
N0031('select "START".');
; Contour/End
N0040('When you continue');
N0041('making the contour');
N0042('figure, select "CONT".');
N0043('(Example)');
N0044('The case of making the');
N0045('island figure after the');
N0046('pocket wall figure.');
N0047('The case of making some');
N0048('groove figures.');
; Contour/Linear,Rotation,Mirror Copy
N0060('START'); ; Linear
N0061('POINT');
N0062('END');
N0063('POINT');
N0064('START');
N0065('POINT');
N0066('END');
N0067('POINT');
N0068('BASE');
N0069('AXIS');
; Canned Cycle
N0080('Initial');
N0081('level');
N0082('Point R');
N0083('level');
; Contour : Approach/Escape Type
N0090('Circle');

-161-

3. USER PROGRAMS FOR G-CODE MENU

3. USER PROGRAMS FOR G-CODE MENU

SAMPLE PROGRAM

N0091('Tangent');
N0092('Vertical');
; Canned Cycle
N0101('G81:No dwell');
N0102('G82:With dwell');
N0103('G83:Normal peck');
N0104('G73:High-speed peck');
N0105('G85:Feed retraction');
N0106('G86:Rapid retraction');
N0107('G88:Manual retraction');
N0108('G89:With dwell');
N0109('G76:Fine boring');
N0110('G87:Back boring');
N0111('G84:Tapping');
N0112('G74:Left-hand tapping');
; Contour : Compensation Direction
N0121('Left');
N0122('Right');
; CHECK*.SRC message
N0900('Data is lacking.');
N0901('Input error in menu param.');
M99
O6904 ;############################################### french
; M code
N0001('M00:Program stop');
N0002('M01:Optional stop');
N0003('M02:End of program');
N0004('M03:Spindle cw');
N0005('M04:Spindle ccw');
N0006('M05:Spindle stop');
N0007('M06:Tool change');
N0008('M30:end of program');
N0009('M98:Calling of');
N0010(' subrogram');
N0011('M99:End of subrogram');
; Contour/Line : Start Point Type
N0020('When you make the');
N0021('island figure after the');
N0022('pocket wall figure,');
N0023('select "ISLAND". ');
N0024('');
N0025('When you continue');
N0026('making the next groove');
N0027('figure,');
N0028('select "NXT MV".');
N0029('');
N0030('Another case,');
N0031('select "START".');
; Contour/End
N0040('When you continue');
N0041('making the contour');
N0042('figure, select "CONT".');
N0043('(Example)');
N0044('The case of making the');
N0045('island figure after the');
N0046('pocket wall figure.');
N0047('The case of making some');
N0048('groove figures.');
; Contour/Linear,Rotation,Mirror Copy

-162-

B-63423EN/02

SAMPLE PROGRAM

B-63423EN/02

N0060('START');
N0061('POINT');
N0062('END');
N0063('POINT');
N0064('START');
N0065('POINT');
N0066('END');
N0067('POINT');
N0068('BASE');
N0069('AXIS');

; Linear

; Canned Cycle
N0080('Initial');
N0081('level');
N0082('Point R');
N0083('level');
; Contour : Approach/Escape Type
N0090('Circle');
N0091('Tangent');
N0092('Vertical');
; Canned Cycle
N0101('G81:No dwell');
N0102('G82:With dwell');
N0103('G83:Normal peck');
N0104('G73:High-speed peck');
N0105('G85:Feed retraction');
N0106('G86:Rapid retraction');
N0107('G88:Manual retraction');
N0108('G89:With dwell');
N0109('G76:Fine boring');
N0110('G87:Back boring');
N0111('G84:Tapping');
N0112('G74:Left-hand tapping');
; Contour : Compensation Direction
N0121('Left');
N0122('Right');
; CHECK*.SRC message
N0900('Data is lacking.');
N0901('Input error in menu param.');
M99
O6905 ;############################################### Italian
; M code
N0001('M00:Program stop');
N0002('M01:Optional stop');
N0003('M02:End of program');
N0004('M03:Spindle cw');
N0005('M04:Spindle ccw');
N0006('M05:Spindle stop');
N0007('M06:Tool change');
N0008('M30:end of program');
N0009('M98:Calling of');
N0010(' subrogram');
N0011('M99:End of subrogram');
; Contour/Line : Start Point Type
N0020('When you make the');
N0021('island figure after the');
N0022('pocket wall figure,');
N0023('select "ISLAND". ');
N0024('');
N0025('When you continue');

-163-

3. USER PROGRAMS FOR G-CODE MENU

3. USER PROGRAMS FOR G-CODE MENU

SAMPLE PROGRAM

N0026('making the next groove');


N0027('figure,');
N0028('select "NXT MV".');
N0029('');
N0030('Another case,');
N0031('select "START".');
; Contour/End
N0040('When you continue');
N0041('making the contour');
N0042('figure, select "CONT".');
N0043('(Example)');
N0044('The case of making the');
N0045('island figure after the');
N0046('pocket wall figure.');
N0047('The case of making some');
N0048('groove figures.');
; Contour/Linear,Rotation,Mirror Copy
N0060('START'); ; Linear
N0061('POINT');
N0062('END');
N0063('POINT');
N0064('START');
N0065('POINT');
N0066('END');
N0067('POINT');
N0068('BASE');
N0069('AXIS');
; Canned Cycle
N0080('Initial');
N0081('level');
N0082('Point R');
N0083('level');
; Contour : Approach/Escape Type
N0090('Circle');
N0091('Tangent');
N0092('Vertical');
; Canned Cycle
N0101('G81:No dwell');
N0102('G82:With dwell');
N0103('G83:Normal peck');
N0104('G73:High-speed peck');
N0105('G85:Feed retraction');
N0106('G86:Rapid retraction');
N0107('G88:Manual retraction');
N0108('G89:With dwell');
N0109('G76:Fine boring');
N0110('G87:Back boring');
N0111('G84:Tapping');
N0112('G74:Left-hand tapping');
; Contour : Compensation Direction
N0121('Left');
N0122('Right');
; CHECK*.SRC message
N0900('Data is lacking.');
N0901('Input error in menu param.');
M99
O6906 ;############################################### Spanish
; M code

-164-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

N0001('M00:Program stop');
N0002('M01:Optional stop');
N0003('M02:End of program');
N0004('M03:Spindle cw');
N0005('M04:Spindle ccw');
N0006('M05:Spindle stop');
N0007('M06:Tool change');
N0008('M30:end of program');
N0009('M98:Calling of');
N0010(' subrogram');
N0011('M99:End of subrogram');
; Contour/Line : Start Point Type
N0020('When you make the');
N0021('island figure after the');
N0022('pocket wall figure,');
N0023('select "ISLAND". ');
N0024('');
N0025('When you continue');
N0026('making the next groove');
N0027('figure,');
N0028('select "NXT MV".');
N0029('');
N0030('Another case,');
N0031('select "START".');
; Contour/End
N0040('When you continue');
N0041('making the contour');
N0042('figure, select "CONT".');
N0043('(Example)');
N0044('The case of making the');
N0045('island figure after the');
N0046('pocket wall figure.');
N0047('The case of making some');
N0048('groove figures.');
; Contour/Linear,Rotation,Mirror Copy
N0060('START'); ; Linear
N0061('POINT');
N0062('END');
N0063('POINT');
N0064('START');
N0065('POINT');
N0066('END');
N0067('POINT');
N0068('BASE');
N0069('AXIS');
; Canned Cycle
N0080('Initial');
N0081('level');
N0082('Point R');
N0083('level');
; Contour : Approach/Escape Type
N0090('Circle');
N0091('Tangent');
N0092('Vertical');
; Canned Cycle
N0101('G81:No dwell');
N0102('G82:With dwell');
N0103('G83:Normal peck');
N0104('G73:High-speed peck');
N0105('G85:Feed retraction');
N0106('G86:Rapid retraction');

-165-

3. USER PROGRAMS FOR G-CODE MENU

3. USER PROGRAMS FOR G-CODE MENU

SAMPLE PROGRAM

N0107('G88:Manual retraction');
N0108('G89:With dwell');
N0109('G76:Fine boring');
N0110('G87:Back boring');
N0111('G84:Tapping');
N0112('G74:Left-hand tapping');
; Contour : Compensation Direction
N0121('Left');
N0122('Right');
; CHECK*.SRC message
N0900('Data is lacking.');
N0901('Input error in menu param.');
M99

-166-

B-63423EN/02

B-63423EN/02

3.4

SAMPLE PROGRAM

INPUTTED DATA CHECKING

/****************************************************************************
/*
/* CHECK1.SRC :: System Menue
/*
/***** 8802: Initial Set
/***** 8803: Tool Def
/***** 8804: MSB Codes
/***** 8805: Compensation
/***** 8806: Line
/***** 8807: CW Circle
/***** 8808: CCW Circle
/****************************************************************************
$INCLUDE SYMBOL.DEF

/* ############################################### Initial Set


O8802 input_error_flag = error_non
/* Work Coordinate */
error_item = 1
if[#[value 1] eq #0]goto 97
if[#[value 1] lt 1 || #[value 1] gt 7]goto 98
/* Work Shape */
error_item = 2
if[#[value 2] eq #0]goto 97
if[#[value 2] lt 1 || #[value 2] gt 3]goto 98
/* Work X Co-ord. */
if[#[attribute 3] ne att_not_use]then
error_item = 3
if[#[value 3] eq #0]goto 97
endif
/* Work Y Co-ord. */
if[#[attribute 4] ne att_not_use]then
error_item = 4
if[#[value 4] eq #0]goto 97
endif
/* Work Z Co-ord. */
if[#[attribute 5] ne att_not_use]then
error_item = 5
if[#[value 5] eq #0]goto 97
endif
/* Work X Width */
if[#[attribute 6] ne att_not_use]then
error_item = 6
if[#[value 6] eq #0]goto 97
if[#[value 6] le 0]goto 98
endif
/* Work Y Width */
if[#[attribute 7] ne att_not_use]then
error_item = 7
if[#[value 7] eq #0]goto 97
if[#[value 2] eq 2]then
if[#[value 7] lt 0]goto 98
if[#[value 6] le #[value 7]]goto 98
else
if[#[value 7] le 0]goto 98
endif
endif
/* Work Z Thickness */
if[#[attribute 8] ne att_not_use]then
error_item = 8
if[#[value 8] eq #0]goto 97
if[#[value 8] le 0]goto 98

-167-

3. USER PROGRAMS FOR G-CODE MENU

3. USER PROGRAMS FOR G-CODE MENU

SAMPLE PROGRAM

endif
/* Abs/Inc */
error_item = 9
if[#[value 9] eq #0]goto 97
if[#[value 9] lt 1 || #[value 9] gt 3]goto 98
/* Plane Selection */
error_item = 10
if[#[value 10] eq #0]goto 97
if[#[value 10] lt 1 || #[value 10] gt 4]goto 98
/* Base Point */
if[#[attribute 11] ne att_not_use]then
error_item = 11
if[#[value 11] eq #0]goto 97
if[#[value 11] lt 1 || #[value 11] gt 2]goto 98
endif
/* Input Unit */
if[#[attribute 12] ne att_not_use]then
error_item = 12
if[#[value 12] eq #0]goto 97
if[#[value 12] lt 1 || #[value 12] gt 3]goto 98
endif
goto 99
/* Data is lacking. */
n97 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+900]
goto 99
/* Input error in menu param. */
n98 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+901]
n99 m99

/* ############################################### Tool Def


O8803 input_error_flag = error_non
/* Tool No. */
error_item = 1
if[#[value 1] lt 0]goto 98
/* Cutter Offset No. */
error_item = 2
if[#[value 2] lt 0]goto 98
/* Length Offset No. */
error_item = 3
if[#[value 3] lt 0]goto 98
/* Anime Tool Radius */
error_item = 4
if[#[value 4] lt 0]goto 98
/* Next Tool No. */
error_item = 5
if[#[value 5] lt 0]goto 98
goto 99
/* Input error in menu param. */
n98 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+901]
n99 m99

-168-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

/* ############################################### MSB Code


O8804 input_error_flag = error_non
/* M Code */
error_item = 1
if[#[value 1] lt 0]goto 98
/* Subprogram */
if[#[attribute 2] ne att_not_use]then
error_item = 2
if[#[value 2] eq #0]goto 97
if[#[value 2] le 0]goto 98
endif
/* Spindle speed */
error_item = 3
if[#[value 3] lt 0]goto 98
/* B Code */
error_item = 4
if[#[value 4] lt 0]goto 98
/* Feed Rate */
error_item = 5
if[#[value 5] lt 0 || #[value 5] eq 0]goto 98
goto 99
/* Data is lacking. */
n97 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+900]
goto 99
/* Input error in menu param. */
n98 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+901]
n99 m99

/* ############################################### Compensation
O8805 input_error_flag = error_non
/* Cutter Comp. / length Comp. */
error_item = 1
if[#[value 1] eq #0 && #[value 2] eq #0]goto 97
if[#[value 1] eq 4 && #[value 2] eq 4]goto 97
if[#[value 1] eq #0 && #[value 2] eq 4]goto 97
if[#[value 1] eq 4 && #[value 2] eq #0]goto 97
if[#[value 1] ne #0 && #[value 1] ne 4]then
if[#[value 1] lt 40 || #[value 1] gt 42]goto 98
endif
/* Length Comp. */
error_item = 2
if[#[value 2] ne #0 && #[value 2] ne 4]then
if[#[value 2] ne 43 && #[value 2] ne 44 && #[value 2] ne 49]goto 98
endif
/* Rapid / Cut */
error_item = 3
if[#[value 3] lt 0 || #[value 3] gt 1]goto 98
/* D Code */
if[#[attribute 4] ne att_not_use]then
error_item = 4
if[#[value 4] lt 0]goto 98
endif
/* H Code */
if[#[attribute 5] ne att_not_use]then
error_item = 5
if[#[value 5] lt 0]goto 98
endif
/* Feed Rate */
if[#[attribute 9] ne att_not_use]then

-169-

3. USER PROGRAMS FOR G-CODE MENU

3. USER PROGRAMS FOR G-CODE MENU

SAMPLE PROGRAM

error_item = 9
if[#[value 9] eq 0 || #[value 9] lt 0]goto 98
endif
goto 99
/* Data is lacking. */
n97 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+900]
goto 99
/* Input error in menu param. */
n98 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+901]
n99 m99

/* ############################################### Line
O8806 input_error_flag = error_non
/* Rapid / Cut */
error_item = 1
if[#[value 1] lt 0 || #[value 1] gt 1]goto 98
/* Feed Rate */
if[#[attribute 5] ne att_not_use]then
error_item = 5
if[#[value 5] eq 0 || #[value 5] lt 0]goto 98
endif
goto 99
/* Data is lacking. */
n97 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+900]
goto 99
/* Input error in menu param. */
n98 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+901]
n99 m99

/* ############################################### CW Circle
O8807 input_error_flag = error_non
/* Output Plane */
error_item = 1
if[#[value 1] eq #0]goto 97
if[#[value 1] lt 0 || #[value 1] gt 1]goto 98
/* Plane Selection */
error_item = 2
if[#[value 2] eq #0]goto 97
if[#[value 2] lt 17 || #[value 2] gt 19]goto 98
/* Feed Rate */
error_item = 10
if[#[value 10] eq 0 || #[value 10] lt 0]goto 98
goto 99
/* Data is lacking. */
n97 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+900]
goto 99
/* Input error in menu param. */
n98 input_error_flag = error_on

-170-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

call fig_language
color red C white L0
G243X1Y24 P[#1+901]
n99 m99

/* ############################################### CCW Circle


O8808 input_error_flag = error_non
/* Output Plane */
error_item = 1
if[#[value 1] eq #0]goto 97
if[#[value 1] lt 0 || #[value 1] gt 1]goto 98
/* Plane Selection */
error_item = 2
if[#[value 2] eq #0]goto 97
if[#[value 2] lt 17 || #[value 2] gt 19]goto 98
/* Feed Rate */
error_item = 10
if[#[value 10] eq 0 || #[value 10] lt 0]goto 98
goto 99
/* Data is lacking. */
n97 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+900]
goto 99
/* Input error in menu param. */
n98 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+901]
n99 m99

-171-

3. USER PROGRAMS FOR G-CODE MENU

4. USER PROGRAMS FOR CONTOUR PROFILE MENU

SAMPLE PROGRAM

USER PROGRAMS
PROFILE MENU

-172-

B-63423EN/02

FOR

CONTOUR

SAMPLE PROGRAM

B-63423EN/02

4.1

COMMENTS DEFINITION

/****************************************************************************
/*
/* STRING2.SRC :: Contour
(ENGLISH)
/*
/***** 7101: Softkey
/***** 7111: Start Point
/***** 7121: Line
/***** 7131: Circle CW
/***** 7141: Circle CCW
/***** 7151: Chamfering
/***** 7161: Corner R
/***** 7171: End
/***** 7181: Linear Movement
/***** 7191: Rotation
/***** 7201: Mirror Transformation
/****************************************************************************

O7101 ;############################################### Softkye


N0001("20 01 C010 20")('START ');
N0002("20 01 C018 20")('LINE ');
N0003("20 01 C020 20")('CW ');
N0004("20 01 C028 20")('CCW ');
N0005("20 01 C030 20")('CHAMF ');
N0006("20 01 C038 20")('ROUND ');
N0007("20 01 C040 20")('END ');
N0008("20 01 C010 20")('SHIFT ');
N0009("20 01 C018 20")('ROTATE');
N0010("20 01 C020 20")('MIRROR');
M99

O7111 ;############################################### Start Point


N9999('START POINT');
N9998('STRAT POINT(DETAIL SET)');
N0001('START POINT X');
N0002('START POINT Y');
N0003('START POINT TYPE');
N0004('ISLAND Z CO-ORD.');
N0005('GROOVE Z CO-ORD.');
N0300('8');
N0301("20 01 C010 20")('START ');
N0302("20 01 C018 20")('ISLAND');
N0303("20 01 C020 20")('NXT MV');
N0351('1');
N0352('2');
N0353('3');
M99

O7121 ;############################################### Line


N9999('LINE');
N9998('LINE(DETAIL SET)');
N0004('DIRECTION');
N0005('END POINT X');
N0006('END POINT Y');
N0007('LENGTH');
N0008('ANGLE');
N0009('COMPONENT ANG-X');
N0010('COMPONENT ANG-Y');

-173-

4. USER PROGRAMS FOR CONTOUR PROFILE MENU

4. USER PROGRAMS FOR CONTOUR PROFILE MENU

SAMPLE PROGRAM

N0011('AUX. POINT X');


N0012('AUX. POINT Y');
N0013('AUX. DISTANCE');
N0014('PAR. / VERT.');
N0015('REF. BLOCK NO.');
N0400('29');
N0401("20 01 C010 20")('RIGHT ');
N0402("20 01 C018 20")(' R-UP ');
N0403("20 01 C020 20")(' UP ');
N0404("20 01 C028 20")(' L-UP ');
N0405("20 01 C030 20")(' LEFT ');
N0406("20 01 C038 20")('L-DOWN');
N0407("20 01 C040 20")(' DOWN ');
N0408("20 01 C048 20")('R-DOWN');
N0451('1');
N0452('2');
N0453('3');
N0454('4');
N0455('5');
N0456('6');
N0457('7');
N0458('8');
N1400('10');
N1401("20 01 C010 20")(' PAR. ');
N1402("20 01 C018 20")(' VERT.');
N1451('1');
N1452('2');
M99

O7131 ;############################################### Circle CW


N9999('ARC CW');
N9998('ARC CW(DETAIL SET)');
N0007('RADIUS');
N0008('CENTER POINT X');
N0009('CENTER POINT Y');
N0010('END POINT X');
N0011('END POINT Y');
N0012('ANGLE');
N0013('CHORD LENGTH');
N0014('TANGENT ANGLE');
M99

O7141 ;############################################### Circle CCW


N9999('ARC CCW');
N9998('ARC CCW(DETAIL SET)');
N0007('RADIUS');
N0008('CENTER POINT X');
N0009('CENTER POINT Y');
N0010('END POINT X');
N0011('END POINT Y');
N0012('ANGLE');
N0013('CHORD LENGTH');
N0014('TANGENT ANGLE');
M99

O7151 ;############################################### Chamfering


N9999('CHAMFER');

-174-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

4. USER PROGRAMS FOR CONTOUR PROFILE MENU

N9998('CHAMFER(DETAIL SET)');
N0003('CHAMFER');
M99

O7161 ;############################################### Corner R


N9999('ROUND');
N9998('ROUND(DETAIL SET)');
N0003('RADIUS');
M99

O7171 ;############################################### End


N9999('END');
N9998('END(DETAIL SET)');
N0003('CONTINUE');
N0300('12');
N0301("20 01 C010 20")(' END ');
N0302("20 01 C018 20")(' CONT ');
N0351('1');
N0352('2');
M99

O7181 ;############################################### Linear Movement


N9999('SHIFT COPY');
N9998('SHIFT COPY(DETAIL SET)');
N0001('REPEAT NUMBER');
M99

O7191 ;############################################### Rotation


N9999('ROTATION COPY');
N9998('ROTATION COPY(DETAIL SET)');
N0001('REPEAT NUMBER');
N0002('CENTER POINT X');
N0003('CENTER POINT Y');
N0004('ROTATION ANGLE');
M99

O7201 ;############################################### Mirror Transformation


N9999('MIRROR COPY');
N9998('MIRROR COPY(DETAIL SET)');
N0001('BASE POINT X');
N0002('BASE POINT Y');
N0003('MIRROR AXIS ANGLE');
M99

-175-

4. USER PROGRAMS FOR CONTOUR PROFILE MENU

4.2

SAMPLE PROGRAM

DATA ATTRIBUTE

/****************************************************************************
/*
/* PROC2.SRC :: Contour
/*
/***** 8411: Start Point
/***** 8412: Line
/***** 8413: Circle CW
/***** 8414: Circle CCW
/***** 8415: Chamfering
/***** 8416: Corner R
/***** 8417: End
/***** 8418: Linear Movement
/***** 8419: Rotation
/***** 8420: Mirror Transformation
/****************************************************************************
$INCLUDE SYMBOL.DEF

O8411 ;############################################### Start Point


#[address 0] = 100
#[address 1] = add_X
; Start X
#[attribute 1] = att_decimal
#[value 1] = #0
#[address 2] = add_Y
; Start Y
#[attribute 2] = att_decimal
#[value 2] = #0
#[address 3] = add_E
; Start Point Type
#[attribute 3] = att_character + att_detail
#[value 3] = 1
#[address 4] = add_Z
; Top of Island
#[attribute 4] = att_not_use
#[value 4] = #0
#[address 5] = add_R
; Escape Z
#[attribute 5] = att_not_use
#[value 5] = #0
#[address 6] = add_end
previous_cursor = 1
/* Previous cursor position clear
m99

O8412 ;############################################### Line


#[address 0] = 101
#[address 1] = add_X
; End Point X
#[attribute 1] = att_not_display + att_decimal
#[address 2] = add_Y
; End Point Y
#[attribute 2] = att_not_display + att_decimal
#[address 3] = add_Q
; Tangent to Pre-Block
#[attribute 3] = att_not_display + att_decimal
#[value 3] = 1
#[address 4] = add_B
; Direction
#[attribute 4] = att_character
#[value 4] = #0
#[address 5] = add_M
; End Point X
#[attribute 5] = att_decimal
#[value 5] = #0
#[address 6] = add_N
; End Point Y
#[attribute 6] = att_decimal
#[value 6] = #0
#[address 7] = add_L
; Length
#[attribute 7] = att_decimal
#[value 7] = #0
#[address 8] = add_K
; Angle

-176-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

#[attribute 8] = att_decimal
#[value 8] = #0
#[address 9] = add_I
; Angle X
#[attribute 9] = att_decimal + att_detail
#[value 9] = #0
#[address 10] = add_J
; Angle Y
#[attribute 10] = att_decimal + att_detail
#[value 10] = #0
#[address 11] = add_U
; Auxiliary Point X
#[attribute 11] = att_decimal + att_detail
#[value 11] = #0
#[address 12] = add_V
; Auxiliary Point Y
#[attribute 12] = att_decimal + att_detail
#[value 12] = #0
#[address 13] = add_D
; Distance
#[attribute 13] = att_decimal + att_detail
#[value 13] = #0
#[address 14] = add_E
; Parallel / Perpendicular
#[attribute 14] = att_character + att_detail
#[value 14] = #0
#[address 15] = add_A
; Reference Block Number
#[attribute 15] = att_integer + att_detail
#[value 15] = #0
#[address 16] = add_P
; Select Point
#[attribute 16] = att_not_display_decimal ;
#[value 16] = #0
;
#[address 17] = add_end
;
previous_cursor = 1
/* Previous cursor position clear
m99

O8413 ;############################################### Circle CW


#[address 0] = 102
#[address 1] = add_X
#[attribute 1] = att_not_display + att_decimal
#[address 2] = add_Y
#[attribute 2] = att_not_display + att_decimal
#[address 3] = add_R
#[attribute 3] = att_not_display + att_decimal
#[address 4] = add_I
#[attribute 4] = att_not_display + att_decimal
#[address 5] = add_J
#[attribute 5] = att_not_display + att_decimal
#[address 6] = add_Q
; Tangent to Pre-Block
#[attribute 6] = att_not_display + att_decimal
#[value 6] = 1
#[address 7] = add_E
#[attribute 7] = att_decimal
#[value 7] = #0
#[address 8] = add_V
#[attribute 8] = att_decimal
#[value 8] = #0
#[address 9] = add_W
#[attribute 9] = att_decimal
#[value 9] = #0
#[address 10] = add_M
#[attribute 10] = att_decimal
#[value 10] = #0
#[address 11] = add_N
#[attribute 11] = att_decimal
#[value 11] = #0
#[address 12] = add_K
#[attribute 12] = att_decimal
#[value 12] = #0
#[address 13] = add_L
#[attribute 13] = att_decimal + att_detail

-177-

4. USER PROGRAMS FOR CONTOUR PROFILE MENU

4. USER PROGRAMS FOR CONTOUR PROFILE MENU

SAMPLE PROGRAM

#[value 13] = #0
#[address 14] = add_A
#[attribute 14] = att_decimal + att_detail
#[value 14] = #0
#[address 15] = add_P
#[attribute 15] = att_not_display_decimal
#[value 15] = #0
#[address 16] = add_end
previous_cursor = 1
/* Previous cursor position clear
m99

O8414 ;############################################### Circle CCW


#[address 0] = 103
#[address 1] = add_X
#[attribute 1] = att_not_display + att_decimal
#[address 2] = add_Y
#[attribute 2] = att_not_display + att_decimal
#[address 3] = add_R
#[attribute 3] = att_not_display + att_decimal
#[address 4] = add_I
#[attribute 4] = att_not_display + att_decimal
#[address 5] = add_J
#[attribute 5] = att_not_display + att_decimal
#[address 6] = add_Q
; Tangent to Pre-Block
#[attribute 6] = att_not_display + att_decimal
#[value 6] = 1
#[address 7] = add_E
#[attribute 7] = att_decimal
#[value 7] = #0
#[address 8] = add_V
#[attribute 8] = att_decimal
#[value 8] = #0
#[address 9] = add_W
#[attribute 9] = att_decimal
#[value 9] = #0
#[address 10] = add_M
#[attribute 10] = att_decimal
#[value 10] = #0
#[address 11] = add_N
#[attribute 11] = att_decimal
#[value 11] = #0
#[address 12] = add_K
#[attribute 12] = att_decimal
#[value 12] = #0
#[address 13] = add_L
#[attribute 13] = att_decimal + att_detail
#[value 13] = #0
#[address 14] = add_A
#[attribute 14] = att_decimal + att_detail
#[value 14] = #0
#[address 15] = add_P
#[attribute 15] = att_not_display_decimal
#[value 15] = #0
#[address 16] = add_end
previous_cursor = 1
/* Previous cursor position clear
m99

O8415 ;############################################### Chamfering


#[address 0] = 104
#[address 1] = add_X
#[attribute 1] = att_not_display + att_decimal
#[address 2] = add_Y
#[attribute 2] = att_not_display + att_decimal

-178-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

4. USER PROGRAMS FOR CONTOUR PROFILE MENU

#[address 3] = add_I
#[attribute 3] = att_decimal
#[value 3] = #0
#[address 4] = add_P
; Select Point
#[attribute 4] = att_not_display_decimal
#[value 4] = #0
#[address 5] = add_end
previous_cursor = 1
/* Previous cursor position clear
m99

O8416 ;############################################### Corner R


#[address 0] = 105
#[address 1] = add_X
#[attribute 1] = att_not_display + att_decimal
#[address 2] = add_Y
#[attribute 2] = att_not_display + att_decimal
#[address 3] = add_R
#[attribute 3] = att_decimal
#[value 3] = #0
#[address 4] = add_I
#[attribute 4] = att_not_display + att_decimal
#[address 5] = add_J
#[attribute 5] = att_not_display + att_decimal
#[address 6] = add_B
#[attribute 6] = att_not_display_decimal
#[value 6] = #0
#[address 7] = add_P
; Select Point
#[attribute 7] = att_not_display_decimal
#[value 7] = #0
#[address 8] = add_end
;
previous_cursor = 1
/* Previous cursor position clear
m99

O8417 ;############################################### End


#[address 0] = 106
#[address 1] = add_X
#[attribute 1] = att_not_display + att_decimal
#[address 2] = add_Y
#[attribute 2] = att_not_display + att_decimal
#[address 3] = add_P
#[attribute 3] = att_character
#[value 3] = 1
#[address 4] = add_end
previous_cursor = 1
/* Previous cursor position clear
m99

O8418 ;############################################### Linear Movement


#[address 0] = -1
#[address 1] = add_R
#[attribute 1] = att_integer + att_not_output
#[value 1] = #0
#[address 2] = add_end
previous_cursor = 1
/* Previous cursor position clear
m99

O8419 ;############################################### Rotation


#[address 0] = -1
#[address 1] = add_R
#[attribute 1] = att_integer + att_not_output

-179-

4. USER PROGRAMS FOR CONTOUR PROFILE MENU

SAMPLE PROGRAM

#[value 1] = #0
#[address 2] = add_X
#[attribute 2] = att_decimal + att_not_output
#[value 2] = #0
#[address 3] = add_Y
#[attribute 3] = att_decimal + att_not_output
#[value 3] = #0
#[address 4] = add_K
#[attribute 4] = att_decimal + att_not_output + att_detail
#[value 4] = #0
#[address 5] = add_end
previous_cursor = 1
/* Previous cursor position clear
m99

O8420 ;############################################### Mirror Transformation


#[address 0] = -1
#[address 1] = add_X
#[attribute 1] = att_decimal + att_not_output
#[value 1] = #0
#[address 2] = add_Y
#[attribute 2] = att_decimal + att_not_output
#[value 2] = #0
#[address 3] = add_K
#[attribute 3] = att_decimal + att_not_output
#[value 3] = #0
#[address 4] = add_end
previous_cursor = 1
/* Previous cursor position clear
m99

-180-

B-63423EN/02

SAMPLE PROGRAM

B-63423EN/02

4.3

GUIDANCE DRAWING FIGURE

/****************************************************************************
/*
/* FIG2.SRC :: Contour
/*
/***** 8611: Start Point
/***** 8612: Line
/***** 8613: Circle CW
/***** 8614: Circle CCW
/***** 8615: Chamfering
/***** 8616: Corner R
/***** 8617: End
/***** 8618: Linear Movement
/***** 8619: Rotation
/***** 8620: Mirror Transformation
/****************************************************************************
$INCLUDE SYMBOL.DEF

O8611 ;############################################### Start Point


/*** Guide Picture Setting ***/
if[guide_frequency eq secont_tine]then
if[cursor eq 1 || cursor eq 2]then
if[previous_cursor ne 1 && previous_cursor ne 2]then
call fig_clear
endif
call 6071
endif
if[cursor eq 3]then
if[previous_cursor ne cursor]then
call fig_clear
endif
call 6072
endif
if[cursor eq 4]then
call fig_clear
call 6073
endif
if[cursor eq 5]then
call fig_clear
call 6074
endif
previous_cursor = cursor
endif
/*** Attribution Setting ***/
if[#[value 3] eq 1]then
#[attribute 4] = att_not_use
#[attribute 5] = att_not_use
endif
if[#[value 3] eq 2]then
#[attribute 4] = att_decimal + att_detail
#[attribute 5] = att_not_use
endif
if[#[value 3] eq 3]then
#[attribute 4] = att_not_use
#[attribute 5] = att_decimal + att_detail
endif
m99

O8612 ;############################################### Line


/*** Guide Picture Setting ***/

-181-

4. USER PROGRAMS FOR CONTOUR PROFILE MENU

4. USER PROGRAMS FOR CONTOUR PROFILE MENU

SAMPLE PROGRAM

if[guide_frequency eq secont_tine]then
if[cursor ge 3 && cursor le 8]then
if[previous_cursor lt 3 || previous_cursor gt 8]then
call fig_clear
endif
call 6075
endif
if[cursor ge 9 && cursor le 13]then
if[previous_cursor lt 9 || previous_cursor gt 13]then
call fig_clear
endif
call 6076
endif
if[cursor eq 14 || cursor eq 15]then
if[previous_cursor lt 14]then
call fig_clear
endif
call 6077
endif
previous_cursor = cursor
endif
m99

O8613 ;############################################### Circle CW


/*** Guide Picture Setting ***/
if[guide_frequency eq secont_tine]then
if[cursor le 12]then
if[previous_cursor gt 12]then
call fig_clear
endif
call 6078
endif
if[cursor eq 13 || cursor eq 14]then
if[previous_cursor lt 13]then
call fig_clear
endif
call 6079
endif
previous_cursor = cursor
endif
m99

O8614 ;############################################### Circle CCW


/*** Guide Picture Setting ***/
if[guide_frequency eq secont_tine]then
if[cursor le 12]then
if[previous_cursor gt 12]then
call fig_clear
endif
call 6078
endif
if[cursor eq 13 || cursor eq 14]then
if[previous_cursor lt 13]then
call fig_clear
endif
call 6079
endif
previous_cursor = cursor
endif
m99

-182-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

4. USER PROGRAMS FOR CONTOUR PROFILE MENU

O8615 ;############################################### Chamfering


/*** Guide Picture Setting ***/
if[guide_frequency eq secont_tine]then
call 6080
endif
m99

O8616 ;############################################### Corner R


/*** Guide Picture Setting ***/
if[guide_frequency eq secont_tine]then
call 6081
endif
m99

O8617 ;############################################### End


/*** Guide Picture Setting ***/
if[guide_frequency eq secont_tine]then
call 6082
endif
m99

O8618 ;############################################### Linear Movement


/*** Guide Picture Setting ***/
if[guide_frequency eq secont_tine]then
call 6083
endif
m99

O8619 ;############################################### Rotation


/*** Guide Picture Setting ***/
if[guide_frequency eq secont_tine]then
call 6084
endif
m99

O8620 ;############################################### Mirror Transformation


/*** Guide Picture Setting ***/
if[guide_frequency eq secont_tine]then
call 6085
endif
m99

/****************************************************************************
/*
/* FIGSUB2.SRC :: Contour
/*
/***** 6071: Start Point
/***** 6072: Start Point Type
/***** 6073: Top of Island
/***** 6074: Escape Z
/***** 6075: Line(Normal)
/***** 6076: Line(Detail)
/***** 6077: Line(Detail 2)
/***** 6078: Circle(Normal)
/***** 6079: Circle(Detail)

-183-

4. USER PROGRAMS FOR CONTOUR PROFILE MENU

SAMPLE PROGRAM

/***** 6080: Chamfering


/***** 6081: Corner R
/***** 6082: End
/***** 6083: Linear Movement
/***** 6084: Rotation
/***** 6085: Mirror Transformation
/****************************************************************************
$INCLUDE SYMBOL.DEF

O6071 ;############################################### Start Point


/* Line for Figure
color red
G242X[0-shift_grap_X]Y[72+shift_grap_Y]
G02X[48-shift_grap_X]Y[72+shift_grap_Y]I[24-shift_grap_X]J[60+shift_grap_Y]
G03X[112-shift_grap_X]Y[72+shift_grap_Y]I[80-shift_grap_X]J[90+shift_grap_Y]
#1=112-shift_grap_X
#2=72+shift_grap_Y
#3=136-shift_grap_X
#4=104+shift_grap_Y
#5=160-shift_grap_X
#6=60+shift_grap_Y
#7=0
call fig_cw
/* yellow Cross Mark
color yellow
#1=0-shift_grap_X
#2=72+shift_grap_Y
call fig_mark
/* Characters
#1=1
call fig_cursor
G243X[39-shift_char_X]Y[11-shift_char_Y](X)
#1=2
call fig_cursor
G243X[41-shift_char_X]Y[11-shift_char_Y](Y)
cursor_off
G243X[38-shift_char_X]Y[11-shift_char_Y]('(')
G243X[40-shift_char_X]Y[11-shift_char_Y](',')
G243X[42-shift_char_X]Y[11-shift_char_Y](')')
m99

O6072 ;############################################### Start Point Type


call fig_language
color white
G243X[36-shift_char_X]Y[5 -shift_char_Y]P[#1+20]
G243X[36-shift_char_X]Y[6 -shift_char_Y]P[#1+21]
G243X[36-shift_char_X]Y[7 -shift_char_Y]P[#1+22]
G243X[36-shift_char_X]Y[8 -shift_char_Y]P[#1+23]
G243X[36-shift_char_X]Y[9 -shift_char_Y]P[#1+24]
G243X[36-shift_char_X]Y[10-shift_char_Y]P[#1+25]
G243X[36-shift_char_X]Y[11-shift_char_Y]P[#1+26]
G243X[36-shift_char_X]Y[12-shift_char_Y]P[#1+27]
G243X[36-shift_char_X]Y[13-shift_char_Y]P[#1+28]
G243X[36-shift_char_X]Y[14-shift_char_Y]P[#1+29]
G243X[36-shift_char_X]Y[15-shift_char_Y]P[#1+30]
G243X[36-shift_char_X]Y[16-shift_char_Y]P[#1+31]
m99

O6073 ;############################################### Top of Island

-184-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

/* blue for Work


color blue
G242X[-23-shift_grap_X]Y[41+shift_grap_Y]
G01X[143-shift_grap_X]Y[41+shift_grap_Y]
G01X[143-shift_grap_X]Y[119+shift_grap_Y]
G01X[121-shift_grap_X]Y[119+shift_grap_Y]
G01X[121-shift_grap_X]Y[71+shift_grap_Y]
G01X[79-shift_grap_X]Y[71+shift_grap_Y]
G01X[79-shift_grap_X]Y[103+shift_grap_Y]
G01X[41-shift_grap_X]Y[103+shift_grap_Y]
G01X[41-shift_grap_X]Y[71+shift_grap_Y]
G01X[-1-shift_grap_X]Y[71+shift_grap_Y]
G01X[-1-shift_grap_X]Y[119+shift_grap_Y]
G01X[-23-shift_grap_X]Y[119+shift_grap_Y]
G01X[-23-shift_grap_X]Y[41+shift_grap_Y]
G206P0X[0-shift_grap_X]Y[50+shift_grap_Y]
/* Edge Line
color sky_blue
/* Work(blue green)
G242X[-24-shift_grap_X]Y[40+shift_grap_Y]
G01X[144-shift_grap_X]Y[40+shift_grap_Y]
G01X[144-shift_grap_X]Y[120+shift_grap_Y]
G01X[120-shift_grap_X]Y[120+shift_grap_Y]
G01X[120-shift_grap_X]Y[72+shift_grap_Y]
G01X[80-shift_grap_X]Y[72+shift_grap_Y]
G01X[80-shift_grap_X]Y[104+shift_grap_Y]
G01X[40-shift_grap_X]Y[104+shift_grap_Y]
G01X[40-shift_grap_X]Y[72+shift_grap_Y]
G01X[0-shift_grap_X]Y[72+shift_grap_Y]
G01X[0-shift_grap_X]Y[120+shift_grap_Y]
G01X[-24-shift_grap_X]Y[120+shift_grap_Y]
G01X[-24-shift_grap_X]Y[40+shift_grap_Y]
/* green Line
color green
G242X[81-shift_grap_X]Y[104+shift_grap_Y]
G01X[88-shift_grap_X]Y[104+shift_grap_Y]
/* Characters
cursor_on
G243X[51-shift_char_X]Y[8-shift_char_Y](Z)
cursor_off
m99

O6074 ;############################################### Escape Z


/* blue for Work
color blue
G242X[-23-shift_grap_X]Y[25+shift_grap_Y]
G01X[143-shift_grap_X]Y[25+shift_grap_Y]
G01X[143-shift_grap_X]Y[103+shift_grap_Y]
G01X[121-shift_grap_X]Y[103+shift_grap_Y]
G01X[121-shift_grap_X]Y[71+shift_grap_Y]
G01X[71-shift_grap_X]Y[71+shift_grap_Y]
G01X[71-shift_grap_X]Y[103+shift_grap_Y]
G01X[49-shift_grap_X]Y[103+shift_grap_Y]
G01X[49-shift_grap_X]Y[71+shift_grap_Y]
G01X[-1-shift_grap_X]Y[71+shift_grap_Y]
G01X[-1-shift_grap_X]Y[103+shift_grap_Y]
G01X[-23-shift_grap_X]Y[103+shift_grap_Y]
G01X[-23-shift_grap_X]Y[25+shift_grap_Y]
G206P0X[0-shift_grap_X]Y[50+shift_grap_Y]
/* green for Tool
color green
G242X[9-shift_grap_X]Y[121+shift_grap_Y]

-185-

4. USER PROGRAMS FOR CONTOUR PROFILE MENU

4. USER PROGRAMS FOR CONTOUR PROFILE MENU

SAMPLE PROGRAM

G01X[39-shift_grap_X]Y[121+shift_grap_Y]
G01X[39-shift_grap_X]Y[135+shift_grap_Y]
G01X[27-shift_grap_X]Y[135+shift_grap_Y]
G01X[27-shift_grap_X]Y[151+shift_grap_Y]
G01X[21-shift_grap_X]Y[151+shift_grap_Y]
G01X[21-shift_grap_X]Y[135+shift_grap_Y]
G01X[9-shift_grap_X]Y[135+shift_grap_Y]
G01X[9-shift_grap_X]Y[121+shift_grap_Y]
G206P0X[24-shift_grap_X]Y[130+shift_grap_Y]
/* Edge Line
color sky_blue
/* for Work(blue green)
G242X[-24-shift_grap_X]Y[24+shift_grap_Y]
G01X[144-shift_grap_X]Y[24+shift_grap_Y]
G01X[144-shift_grap_X]Y[104+shift_grap_Y]
G01X[120-shift_grap_X]Y[104+shift_grap_Y]
G01X[120-shift_grap_X]Y[72+shift_grap_Y]
G01X[72-shift_grap_X]Y[72+shift_grap_Y]
G01X[72-shift_grap_X]Y[104+shift_grap_Y]
G01X[48-shift_grap_X]Y[104+shift_grap_Y]
G01X[48-shift_grap_X]Y[72+shift_grap_Y]
G01X[0-shift_grap_X]Y[72+shift_grap_Y]
G01X[0-shift_grap_X]Y[104+shift_grap_Y]
G01X[-24-shift_grap_X]Y[104+shift_grap_Y]
G01X[-24-shift_grap_X]Y[24+shift_grap_Y]
color purple
/* for Tools(purple)
G242X[8-shift_grap_X]Y[120+shift_grap_Y]
G01X[40-shift_grap_X]Y[120+shift_grap_Y]
G01X[40-shift_grap_X]Y[136+shift_grap_Y]
G01X[28-shift_grap_X]Y[136+shift_grap_Y]
G01X[28-shift_grap_X]Y[152+shift_grap_Y]
G01X[20-shift_grap_X]Y[152+shift_grap_Y]
G01X[20-shift_grap_X]Y[136+shift_grap_Y]
G01X[8-shift_grap_X]Y[136+shift_grap_Y]
G01X[8-shift_grap_X]Y[120+shift_grap_Y]
/* red for Path
color red
dot_line
G242X[24-shift_grap_X]Y[73+shift_grap_Y]
G01X[24-shift_grap_X]Y[119+shift_grap_Y]
#1=25-shift_grap_X
#2=119+shift_grap_Y
#3=64-shift_grap_X
#4=#2
#5=0
call fig_line
G242X[65-shift_grap_X]Y[119+shift_grap_Y]
G01X[96-shift_grap_X]Y[119+shift_grap_Y]
#1=96-shift_grap_X
#2=118+shift_grap_Y
#3=#1
#4=73+shift_grap_Y
#5=0
call fig_line
solid_line
/* green Line
color green
G242X[7-shift_grap_X]Y[120+shift_grap_Y]
G01X[-8-shift_grap_X]Y[120+shift_grap_Y]
/* Characters
cursor_on
G243X[38-shift_char_X]Y[7-shift_char_Y](R)
cursor_off
m99

-186-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

O6075 ;############################################### Line(Normal)


/* Line for Figure
color red
#1=16-shift_grap_X
#2=8+shift_grap_Y
#3=88-shift_grap_X
#4=152+shift_grap_Y
#5=0
#8=10
call fig_line
G242X[15-shift_grap_X]Y[9+shift_grap_Y]
G01X[87-shift_grap_X]Y[153+shift_grap_Y]
/* green Line
color green
G242X[16-shift_grap_X]Y[8+shift_grap_Y] /* X axis
G01X[112-shift_grap_X]Y[8+shift_grap_Y]
G242X[16-shift_grap_X]Y[8+shift_grap_Y] /* for L
G01X[-8-shift_grap_X]Y[20+shift_grap_Y]
G242X[88-shift_grap_X]Y[152+shift_grap_Y]
G01X[64-shift_grap_X]Y[164+shift_grap_Y]
#1=0-shift_grap_X
#2=16+shift_grap_Y
#3=72-shift_grap_X
#4=160+shift_grap_Y
#5=2
call fig_line
#1=48-shift_grap_X
/* for K
#2=8+shift_grap_Y
#3=30.3108-shift_grap_X
#4=36.6217+shift_grap_Y
#5=16-shift_grap_X
#6=8+shift_grap_Y
#7=0
call fig_ccw
/* yellow Cross Mark
color yellow
#1=88-shift_grap_X
#2=152+shift_grap_Y
call fig_mark
/* Characters
#1=5
call fig_cursor
G243X[53-shift_char_X]Y[6-shift_char_Y](M)
#1=6
call fig_cursor
G243X[55-shift_char_X]Y[6-shift_char_Y](N)
#1=7
call fig_cursor
G243X[44-shift_char_X]Y[8-shift_char_Y](L)
#1=8
call fig_cursor
G243X[46-shift_char_X]Y[13-shift_char_Y](K)
cursor_off
G243X[52-shift_char_X]Y[6-shift_char_Y]('(')
G243X[54-shift_char_X]Y[6-shift_char_Y](',')
G243X[56-shift_char_X]Y[6-shift_char_Y](')')
m99

O6076 ;############################################### Line(Detail)

-187-

4. USER PROGRAMS FOR CONTOUR PROFILE MENU

4. USER PROGRAMS FOR CONTOUR PROFILE MENU

SAMPLE PROGRAM

/* Line for Figure


color red
#1=16-shift_grap_X
#2=8+shift_grap_Y
#3=88-shift_grap_X
#4=152+shift_grap_Y
#5=0
#8=10
call fig_line
G242X[15-shift_grap_X]Y[9+shift_grap_Y]
G01X[87-shift_grap_X]Y[153+shift_grap_Y]
/* green Line
color green
G242X[16-shift_grap_X]Y[7+shift_grap_Y] /* for I
G01X[16-shift_grap_X]Y[-8+shift_grap_Y]
G242X[88-shift_grap_X]Y[151+shift_grap_Y]
G01X[88-shift_grap_X]Y[-8+shift_grap_Y]
#1=17-shift_grap_X
#2=-3+shift_grap_Y
#3=87-shift_grap_X
#4=#2
#5=2
call fig_line
G242X[17-shift_grap_X]Y[8+shift_grap_Y] /* for J
G01X[104-shift_grap_X]Y[8+shift_grap_Y]
G242X[89-shift_grap_X]Y[152+shift_grap_Y]
G01X[104-shift_grap_X]Y[152+shift_grap_Y]
#1=99-shift_grap_X
#2=151+shift_grap_Y
#3=#1
#4=9+shift_grap_Y
#5=2
call fig_line
#1=64-shift_grap_X
/* for D
#2=104+shift_grap_Y
#3=0-shift_grap_X
#4=136+shift_grap_Y
#5=2
call fig_line
/* yellow Cross Mark
color yellow
#1=0-shift_grap_X
#2=136+shift_grap_Y
call fig_mark
/* Characters
#1=9
call fig_cursor
G243X[46-shift_char_X]Y[16-shift_char_Y](I)
#1=10
call fig_cursor
G243X[53-shift_char_X]Y[10-shift_char_Y](J)
#1=11
call fig_cursor
G243X[41-shift_char_X]Y[6-shift_char_Y](U)
#1=12
call fig_cursor
G243X[43-shift_char_X]Y[6-shift_char_Y](V)
#1=13
call fig_cursor
G243X[43-shift_char_X]Y[8-shift_char_Y](D)
cursor_off
G243X[40-shift_char_X]Y[6-shift_char_Y]('(')
G243X[42-shift_char_X]Y[6-shift_char_Y](',')
G243X[44-shift_char_X]Y[6-shift_char_Y](')')

-188-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

m99

O6077 ;############################################### Line(Detail 2)


/* Line for Figure
color red
#1=0-shift_grap_X
#2=8+shift_grap_Y
#3=96-shift_grap_X
#4=40+shift_grap_Y
#5=0
call fig_line
G242X[96-shift_grap_X]Y[40+shift_grap_Y]
G01X[104-shift_grap_X]Y[56+shift_grap_Y]
G01X[88-shift_grap_X]Y[88+shift_grap_Y]
G01X[56-shift_grap_X]Y[104+shift_grap_Y]
dot_line
#1=56-shift_grap_X
#2=104+shift_grap_Y
#3=8-shift_grap_X
#4=88+shift_grap_Y
#5=0
;#8=10
call fig_line
#1=56-shift_grap_X
#2=104+shift_grap_Y
#3=40-shift_grap_X
#4=152+shift_grap_Y
#5=0
;#8=10
call fig_line
solid_line
/* green Line
;color green
;G242X51.5279Y101.7639
;G01X49.2918Y106.236
;G01X53.7639Y108.4721
/* Characters
#1=14
call fig_cursor
G243X[43-shift_char_X]Y[7-shift_char_Y](E)
#1=15
call fig_cursor
G243X[46-shift_char_X]Y[14-shift_char_Y](A)
cursor_off
m99

O6078 ;############################################### Circle(Normal)


/* Line for Figure
color red
if[#[address 0] eq 102]then
#1=-2.5641
#2=88
#3=81.2768
#4=158.3508
#5=136
#6=8
#7=0
else
#1=38.7232
#2=158.3508
#3=122.5641

-189-

4. USER PROGRAMS FOR CONTOUR PROFILE MENU

4. USER PROGRAMS FOR CONTOUR PROFILE MENU

SAMPLE PROGRAM

#4=88
#5=-16
#6=8
#7=1
endif
#1=#1-shift_grap_X
#2=#2+shift_grap_Y
#3=#3-shift_grap_X
#4=#4+shift_grap_Y
#5=#5-shift_grap_X
#6=#6+shift_grap_Y
#8=10
call fig_cw
if[#[address 0] eq 102]then #1=#1-1
else #1=#1+1
G242X[#1]Y[#2+1]
G02X[#3+1]Y[#4+1]I[#5]J[#6]
/* green Line
color green
if[#[address 0] eq 102]then
#1=-2.5641
#2=88
#3=81.2768
#4=158.3508
#5=136
#6=8
else
#1=122.5641
#2=88
#3=38.7232
#4=158.3508
#5=-16
#6=8
endif
G242X[#1-shift_grap_X]Y[#2+shift_grap_Y]
G01X[#5-shift_grap_X]Y[#6+shift_grap_Y]
G01X[#3-shift_grap_X]Y[#4+shift_grap_Y]
if[#[address 0] eq 102]then
#1=101.359
#2=28
#3=122.3192
#4=45.5877
else
#1=-2.3192
#2=45.587728
#3=18.641
#4=28
endif
G242X[#1-shift_grap_X]Y[#2+shift_grap_Y]
G02X[#3-shift_grap_X]Y[#4+shift_grap_Y]I[#5-shift_grap_X]J[#6+shift_grap_Y]
if[#[address 0] eq 102]then
#1=136
#2=8
#3=13.4329
#4=110.846
else
#1=-16
#2=8
#3=106.5671
#4=110.846
endif
#1=#1-shift_grap_X
#2=#2+shift_grap_Y
#3=#3-shift_grap_X
#4=#4+shift_grap_Y
#5=0
call fig_line

-190-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

/* yellow Cross Mark


color yellow
if[#[address 0] eq 102]then #1=136-shift_grap_X
else #1=-16-shift_grap_X
#2=8+shift_grap_Y
call fig_mark
/* Characters
#1=7
call fig_cursor
if[#[address 0] eq 102]then
G243X[47-shift_char_X]Y[10-shift_char_Y](E)
else
G243X[49-shift_char_X]Y[9-shift_char_Y](E)
endif
#1=8
call fig_cursor
if[#[address 0] eq 102]then
G243X[55-shift_char_X]Y[15-shift_char_Y](V)
else
G243X[37-shift_char_X]Y[15-shift_char_Y](V)
endif
#1=9
call fig_cursor
if[#[address 0] eq 102]then
G243X[57-shift_char_X]Y[15-shift_char_Y](W)
else
G243X[39-shift_char_X]Y[15-shift_char_Y](W)
endif
#1=10
call fig_cursor
if[#[address 0] eq 102]then
G243X[52-shift_char_X]Y[5-shift_char_Y](M)
else
G243X[40-shift_char_X]Y[5-shift_char_Y](M)
endif
#1=11
call fig_cursor
if[#[address 0] eq 102]then
G243X[54-shift_char_X]Y[5-shift_char_Y](N)
else
G243X[42-shift_char_X]Y[5-shift_char_Y](N)
endif
#1=12
call fig_cursor
if[#[address 0] eq 102]then
G243X[53-shift_char_X]Y[12-shift_char_Y](K)
else
G243X[41-shift_char_X]Y[12-shift_char_Y](K)
endif
cursor_off
if[#[address 0] eq 102]then
#1=54
#2=51
else
#1=36
#2=39
endif
G243X[#1 -shift_char_X]Y[15-shift_char_Y]('(')
G243X[#1+2-shift_char_X]Y[15-shift_char_Y](',')
G243X[#1+4-shift_char_X]Y[15-shift_char_Y](')')
G243X[#2 -shift_char_X]Y[ 5-shift_char_Y]('(')
G243X[#2+2-shift_char_X]Y[ 5-shift_char_Y](',')
G243X[#2+4-shift_char_X]Y[ 5-shift_char_Y](')')
m99

-191-

4. USER PROGRAMS FOR CONTOUR PROFILE MENU

4. USER PROGRAMS FOR CONTOUR PROFILE MENU

SAMPLE PROGRAM

O6079 ;############################################### Circle(Detail)


/* Line for Figure
color red
if[#[address 0] eq 102]then
#1=-2.5641
#2=88
#3=81.2768
#4=158.3508
#5=136
#6=8
#7=0
else
#1=38.7232
#2=158.3508
#3=122.5641
#4=88
#5=-16
#6=8
#7=1
endif
#1=#1-shift_grap_X
#2=#2+shift_grap_Y
#3=#3-shift_grap_X
#4=#4+shift_grap_Y
#5=#5-shift_grap_X
#6=#6+shift_grap_Y
#8=10
call fig_cw
if[#[address 0] eq 102]then #1=#1-1
else #1=#1+1
G242X[#1]Y[#2+1]
G02X[#3+1]Y[#4+1]I[#5]J[#6]
/* green Line
color green
if[#[address 0] eq 102]then
#1=-2.5641
#2=88
#3=81.2768
#4=158.3508
#5=136
#6=8
else
#1=122.5641
#2=88
#3=38.7232
#4=158.3508
#5=-16
#6=8
endif
G242X[#1-shift_grap_X]Y[#2+shift_grap_Y]
G01X[#5-shift_grap_X]Y[#6+shift_grap_Y]
G01X[#3-shift_grap_X]Y[#4+shift_grap_Y]
if[#[address 0] eq 102]then
#1=-2.5641
#2=88
#3=81.2768
#4=158.3508
else
#1=122.5641
#2=88
#3=38.7232
#4=158.3508
endif
#1=#1-shift_grap_X
#2=#2+shift_grap_Y
#3=#3-shift_grap_X
#4=#4+shift_grap_Y

-192-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

4. USER PROGRAMS FOR CONTOUR PROFILE MENU

#5=2
call fig_line
if[#[address 0] eq 102]then
G242X[-24-shift_grap_X]Y[88+shift_grap_Y]
G01X[64-shift_grap_X]Y[88+shift_grap_Y]
G242X[-11.8017-shift_grap_X]Y[72+shift_grap_Y]
G01X[34.3863-shift_grap_X]Y[152+shift_grap_Y]
G242X[21.4359-shift_grap_X]Y[88+shift_grap_Y]
G03X[9.4359-shift_grap_X]Y[108.7846+shift_grap_Y]I[-2.5641-shift_grap_X]J[88+shift_grap_Y]
else
G242X[56-shift_grap_X]Y[88+shift_grap_Y]
G01X[144-shift_grap_X]Y[88+shift_grap_Y]
G242X[128.8017-shift_grap_X]Y[72+shift_grap_Y]
G01X[85.6137-shift_grap_X]Y[152+shift_grap_Y]
G242X[98.5641-shift_grap_X]Y[88+shift_grap_Y]
G02X[110.5641-shift_grap_X]Y[108.7846+shift_grap_Y]I[122.5641-shift_grap_X]J[88+shift_grap_Y]
endif
/* yellow Cross Mark
color yellow
if[#[address 0] eq 102]then #1=136-shift_grap_X
else #1=-16-shift_grap_X
#2=8+shift_grap_Y
call fig_mark
/* Characters
#1=13
call fig_cursor
if[#[address 0] eq 102]then
G243X[45-shift_char_X]Y[8-shift_char_Y](L)
else
G243X[47-shift_char_X]Y[7-shift_char_Y](L)
endif
#1=14
call fig_cursor
if[#[address 0] eq 102]then
G243X[43-shift_char_X]Y[9-shift_char_Y](A)
else
G243X[51-shift_char_X]Y[9-shift_char_Y](A)
endif
cursor_off
m99

O6080 ;############################################### Chamfering


/* Line for Figure
color red
G242X[-8-shift_grap_X]Y[136+shift_grap_Y]
G01X[72-shift_grap_X]Y[136+shift_grap_Y]
G01X[104-shift_grap_X]Y[104+shift_grap_Y]
G01X[104-shift_grap_X]Y[8+shift_grap_Y]
G242X[-8-shift_grap_X]Y[135+shift_grap_Y]
G01X[72-shift_grap_X]Y[135+shift_grap_Y]
G01X[103-shift_grap_X]Y[104+shift_grap_Y]
G01X[103-shift_grap_X]Y[8+shift_grap_Y]
/* green Line
color green
G242X[73-shift_grap_X]Y[136+shift_grap_Y]
G01X[104-shift_grap_X]Y[136+shift_grap_Y]
G01X[104-shift_grap_X]Y[105+shift_grap_Y]
G242X[105-shift_grap_X]Y[136+shift_grap_Y]
G01X[120-shift_grap_X]Y[136+shift_grap_Y]
G242X[105-shift_grap_X]Y[104+shift_grap_Y]
G01X[120-shift_grap_X]Y[104+shift_grap_Y]
#1=112-shift_grap_X
#2=135+shift_grap_Y
#3=#1

/* for C

-193-

4. USER PROGRAMS FOR CONTOUR PROFILE MENU

SAMPLE PROGRAM

#4=105+shift_grap_Y
#5=2
call fig_line
/* Characters
cursor_on
G243X[55-shift_char_X]Y[7-shift_char_Y](I)
cursor_off
m99

O6081 ;############################################### Corner R


/* Line for Figure
color red
G242X[-8-shift_grap_X]Y[136+shift_grap_Y]
G01X[72-shift_grap_X]Y[136+shift_grap_Y]
G02X[104-shift_grap_X]Y[104+shift_grap_Y]I[72-shift_grap_X]J[104+shift_grap_Y]
G01X[104-shift_grap_X]Y[8+shift_grap_Y]
G242X[-8-shift_grap_X]Y[135+shift_grap_Y]
G01X[72-shift_grap_X]Y[135+shift_grap_Y]
G02X[103-shift_grap_X]Y[104+shift_grap_Y]I[72-shift_grap_X]J[104+shift_grap_Y]
G01X[103-shift_grap_X]Y[8+shift_grap_Y]
/* green Line
color green
G242X[73-shift_grap_X]Y[136+shift_grap_Y]
G01X[104-shift_grap_X]Y[136+shift_grap_Y]
G01X[104-shift_grap_X]Y[105+shift_grap_Y]
#1=72-shift_grap_X
#2=104+shift_grap_Y
#3=92-shift_grap_X
#4=124+shift_grap_Y
#5=0
call fig_line
/* Characters
cursor_on
G243X[48-shift_char_X]Y[9 -shift_char_Y](R)
cursor_off
m99

O6082 ;############################################### End


call fig_language
cursor_off
color white
G243X[36-shift_char_X]Y[5 -shift_char_Y]P[#1+40]
G243X[36-shift_char_X]Y[6 -shift_char_Y]P[#1+41]
G243X[36-shift_char_X]Y[7 -shift_char_Y]P[#1+42]
G243X[36-shift_char_X]Y[9 -shift_char_Y]P[#1+43]
G243X[36-shift_char_X]Y[10-shift_char_Y]P[#1+44]
G243X[36-shift_char_X]Y[11-shift_char_Y]P[#1+45]
G243X[36-shift_char_X]Y[12-shift_char_Y]P[#1+46]
G243X[36-shift_char_X]Y[13-shift_char_Y]P[#1+47]
G243X[36-shift_char_X]Y[14-shift_char_Y]P[#1+48]
m99

O6083 ;############################################### Linear Movement


/* Line for Figure
color yellow
G242X[-16-shift_grap_X]Y[8+shift_grap_Y]
G01X[32-shift_grap_X]Y[8+shift_grap_Y]

-194-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

G01X[32-shift_grap_X]Y[56+shift_grap_Y]
color green /* green
dot_line
G01X[80-shift_grap_X]Y[56+shift_grap_Y]
G01X[80-shift_grap_X]Y[104+shift_grap_Y]
G01X[128-shift_grap_X]Y[104+shift_grap_Y]
G01X[128-shift_grap_X]Y[152+shift_grap_Y]
solid_line
/* Characters
call fig_language
cursor_off
G243X[46-shift_char_X]Y[10-shift_char_Y](R1)
G243X[52-shift_char_X]Y[7-shift_char_Y](R2)
G243X[37-shift_char_X]Y[13 -shift_char_Y]P[#1+60]
G243X[37-shift_char_X]Y[14 -shift_char_Y]P[#1+61]
G243X[42-shift_char_X]Y[10 -shift_char_Y]P[#1+62]
G243X[42-shift_char_X]Y[11 -shift_char_Y]P[#1+63]
m99

O6084 ;############################################### Rotation


/* Line for Figure
color yellow
G242X[131-shift_grap_X]Y[84+shift_grap_Y]
G01X[138-shift_grap_X]Y[108+shift_grap_Y]
G01X[116-shift_grap_X]Y[130+shift_grap_Y]
G01X[92-shift_grap_X]Y[123+shift_grap_Y]
color green /* green
dot_line
G01X[90-shift_grap_X]Y[148+shift_grap_Y]
G01X[62-shift_grap_X]Y[161+shift_grap_Y]
G01X[41-shift_grap_X]Y[147+shift_grap_Y]
G01X[31-shift_grap_X]Y[169+shift_grap_Y]
G01X[0-shift_grap_X]Y[172+shift_grap_Y]
G01X[-14-shift_grap_X]Y[151+shift_grap_Y]
solid_line
/* green Line
color green
G242X[0-shift_grap_X]Y[-8+shift_grap_Y]
G01X[131-shift_grap_X]Y[84+shift_grap_Y]
G242X[0-shift_grap_X]Y[-8+shift_grap_Y]
G01X[92-shift_grap_X]Y[123+shift_grap_Y]
;G242X[0-shift_grap_X]Y[-8+shift_grap_Y]
;G01X[41-shift_grap_X]Y[147+shift_grap_Y]
;G242X[0-shift_grap_X]Y[-8+shift_grap_Y]
;G01X[-14-shift_grap_X]Y[151+shift_grap_Y]
G242X[66-shift_grap_X]Y[38+shift_grap_Y]
/* for K
G03X[46-shift_grap_X]Y[58+shift_grap_Y]I[0-shift_grap_X]J[-8+shift_grap_Y]
/* yellow Cross Mark
color yellow
#1=0-shift_grap_X
#2=-8+shift_grap_Y
call fig_mark
/* Characters
#1=2
call fig_cursor
G243X[39-shift_char_X]Y[16-shift_char_Y](X)
#1=3
call fig_cursor
G243X[41-shift_char_X]Y[16-shift_char_Y](Y)
#1=4
call fig_cursor

-195-

4. USER PROGRAMS FOR CONTOUR PROFILE MENU

4. USER PROGRAMS FOR CONTOUR PROFILE MENU

SAMPLE PROGRAM

G243X[48-shift_char_X]Y[11-shift_char_Y](K)
cursor_off
G243X[38-shift_char_X]Y[16-shift_char_Y]('(')
G243X[40-shift_char_X]Y[16-shift_char_Y](',')
G243X[42-shift_char_X]Y[16-shift_char_Y](')')
G243X[47-shift_char_X]Y[6-shift_char_Y](R1)
G243X[40-shift_char_X]Y[5-shift_char_Y](R2)
call fig_language
G243X[54-shift_char_X]Y[11 -shift_char_Y]P[#1+64]
G243X[54-shift_char_X]Y[12 -shift_char_Y]P[#1+65]
G243X[52-shift_char_X]Y[5 -shift_char_Y]P[#1+62]
G243X[52-shift_char_X]Y[6 -shift_char_Y]P[#1+63]
m99

O6085 ;############################################### Mirror Transformation


/* Line for Figure
color yellow
G242X[64-shift_grap_X]Y[104+shift_grap_Y]
G02X[80-shift_grap_X]Y[120+shift_grap_Y]I[64-shift_grap_X]J[120+shift_grap_Y]
G01X[112-shift_grap_X]Y[120+shift_grap_Y]
color green /* green
dot_line
G01X[112-shift_grap_X]Y[88+shift_grap_Y]
G02X[96-shift_grap_X]Y[72+shift_grap_Y]I[112-shift_grap_X]J[72+shift_grap_Y]
solid_line
/* green Line
color green
G242X[0-shift_grap_X]Y[8+shift_grap_Y]
G01X[128-shift_grap_X]Y[136+shift_grap_Y]
G242X[80-shift_grap_X]Y[24+shift_grap_Y]
G01X[0-shift_grap_X]Y[24+shift_grap_Y]
G242X[48-shift_grap_X]Y[24+shift_grap_Y]
/* for K
G03X[39-shift_grap_X]Y[47+shift_grap_Y]I[16-shift_grap_X]J[24+shift_grap_Y]
/* yellow Cross Mark
color yellow
#1=0-shift_grap_X
#2=8+shift_grap_Y
call fig_mark
/* Characters
#1=1
call fig_cursor
G243X[39-shift_char_X]Y[15-shift_char_Y](X)
#1=2
call fig_cursor
G243X[41-shift_char_X]Y[15-shift_char_Y](Y)
#1=3
call fig_cursor
G243X[46-shift_char_X]Y[13-shift_char_Y](K)
cursor_off
G243X[38-shift_char_X]Y[15-shift_char_Y]('(')
G243X[40-shift_char_X]Y[15-shift_char_Y](',')
G243X[42-shift_char_X]Y[15-shift_char_Y](')')
call fig_language
G243X[45-shift_char_X]Y[9 -shift_char_Y] P[#1+64]
G243X[45-shift_char_X]Y[10-shift_char_Y] P[#1+65]
G243X[53-shift_char_X]Y[8 -shift_char_Y] P[#1+66]
G243X[53-shift_char_X]Y[9 -shift_char_Y] P[#1+67]
G243X[53-shift_char_X]Y[5 -shift_char_Y] P[#1+68]
G243X[53-shift_char_X]Y[6 -shift_char_Y] P[#1+69]
m99

-196-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

/****************************************************************************
/*
/* MACROSTR.SRC :: Strings for FIGSUB*.SRC
/*
/****************************************************************************
O6901 ;############################################### English
; M code
N0001('M00:Program stop');
N0002('M01:Optional stop');
N0003('M02:End of program');
N0004('M03:Spindle cw');
N0005('M04:Spindle ccw');
N0006('M05:Spindle stop');
N0007('M06:Tool change');
N0008('M30:end of program');
N0009('M98:Calling of');
N0010(' subrogram');
N0011('M99:End of subrogram');
; Contour/Line : Start Point Type
N0020('When you make the');
N0021('island figure after the');
N0022('pocket wall figure,');
N0023('select "ISLAND". ');
N0024('');
N0025('When you continue');
N0026('making the next groove');
N0027('figure,');
N0028('select "NXT MV".');
N0029('');
N0030('Another case,');
N0031('select "START".');
; Contour/End
N0040('When you continue');
N0041('making the contour');
N0042('figure, select "CONT".');
N0043('(Example)');
N0044('The case of making the');
N0045('island figure after the');
N0046('pocket wall figure.');
N0047('The case of making some');
N0048('groove figures.');
; Contour/Linear,Rotation,Mirror Copy
N0060('START'); ; Linear
N0061('POINT');
N0062('END');
N0063('POINT');
N0064('START');
N0065('POINT');
N0066('END');
N0067('POINT');
N0068('BASE');
N0069('AXIS');
; Canned Cycle
N0080('Initial');
N0081('level');
N0082('Point R');
N0083('level');
; Contour : Approach/Escape Type
N0090('Circle');
N0091('Tangent');

-197-

4. USER PROGRAMS FOR CONTOUR PROFILE MENU

4. USER PROGRAMS FOR CONTOUR PROFILE MENU

SAMPLE PROGRAM

N0092('Vertical');
; Canned Cycle
N0101('G81:No dwell');
N0102('G82:With dwell');
N0103('G83:Normal peck');
N0104('G73:High-speed peck');
N0105('G85:Feed retraction');
N0106('G86:Rapid retraction');
N0107('G88:Manual retraction');
N0108('G89:With dwell');
N0109('G76:Fine boring');
N0110('G87:Back boring');
N0111('G84:Tapping');
N0112('G74:Left-hand tapping');
; Contour : Compensation Direction
N0121('Left');
N0122('Right');
; CHECK*.SRC message
N0900('Data is lacking.');
N0901('Input error in menu param.');
M99
O6903 ;############################################### German
; M code
N0001('M00:Program stop');
N0002('M01:Optional stop');
N0003('M02:End of program');
N0004('M03:Spindle cw');
N0005('M04:Spindle ccw');
N0006('M05:Spindle stop');
N0007('M06:Tool change');
N0008('M30:end of program');
N0009('M98:Calling of');
N0010(' subrogram');
N0011('M99:End of subrogram');
; Contour/Line : Start Point Type
N0020('When you make the');
N0021('island figure after the');
N0022('pocket wall figure,');
N0023('select "ISLAND". ');
N0024('');
N0025('When you continue');
N0026('making the next groove');
N0027('figure,');
N0028('select "NXT MV".');
N0029('');
N0030('Another case,');
N0031('select "START".');
; Contour/End
N0040('When you continue');
N0041('making the contour');
N0042('figure, select "CONT".');
N0043('(Example)');
N0044('The case of making the');
N0045('island figure after the');
N0046('pocket wall figure.');
N0047('The case of making some');
N0048('groove figures.');
; Contour/Linear,Rotation,Mirror Copy
N0060('START'); ; Linear

-198-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

N0061('POINT');
N0062('END');
N0063('POINT');
N0064('START');
N0065('POINT');
N0066('END');
N0067('POINT');
N0068('BASE');
N0069('AXIS');
; Canned Cycle
N0080('Initial');
N0081('level');
N0082('Point R');
N0083('level');
; Contour : Approach/Escape Type
N0090('Circle');
N0091('Tangent');
N0092('Vertical');
; Canned Cycle
N0101('G81:No dwell');
N0102('G82:With dwell');
N0103('G83:Normal peck');
N0104('G73:High-speed peck');
N0105('G85:Feed retraction');
N0106('G86:Rapid retraction');
N0107('G88:Manual retraction');
N0108('G89:With dwell');
N0109('G76:Fine boring');
N0110('G87:Back boring');
N0111('G84:Tapping');
N0112('G74:Left-hand tapping');
; Contour : Compensation Direction
N0121('Left');
N0122('Right');
; CHECK*.SRC message
N0900('Data is lacking.');
N0901('Input error in menu param.');
M99
O6904 ;############################################### french
; M code
N0001('M00:Program stop');
N0002('M01:Optional stop');
N0003('M02:End of program');
N0004('M03:Spindle cw');
N0005('M04:Spindle ccw');
N0006('M05:Spindle stop');
N0007('M06:Tool change');
N0008('M30:end of program');
N0009('M98:Calling of');
N0010(' subrogram');
N0011('M99:End of subrogram');
; Contour/Line : Start Point Type
N0020('When you make the');
N0021('island figure after the');
N0022('pocket wall figure,');
N0023('select "ISLAND". ');
N0024('');
N0025('When you continue');
N0026('making the next groove');

-199-

4. USER PROGRAMS FOR CONTOUR PROFILE MENU

4. USER PROGRAMS FOR CONTOUR PROFILE MENU

SAMPLE PROGRAM

N0027('figure,');
N0028('select "NXT MV".');
N0029('');
N0030('Another case,');
N0031('select "START".');
; Contour/End
N0040('When you continue');
N0041('making the contour');
N0042('figure, select "CONT".');
N0043('(Example)');
N0044('The case of making the');
N0045('island figure after the');
N0046('pocket wall figure.');
N0047('The case of making some');
N0048('groove figures.');
; Contour/Linear,Rotation,Mirror Copy
N0060('START'); ; Linear
N0061('POINT');
N0062('END');
N0063('POINT');
N0064('START');
N0065('POINT');
N0066('END');
N0067('POINT');
N0068('BASE');
N0069('AXIS');
; Canned Cycle
N0080('Initial');
N0081('level');
N0082('Point R');
N0083('level');
; Contour : Approach/Escape Type
N0090('Circle');
N0091('Tangent');
N0092('Vertical');
; Canned Cycle
N0101('G81:No dwell');
N0102('G82:With dwell');
N0103('G83:Normal peck');
N0104('G73:High-speed peck');
N0105('G85:Feed retraction');
N0106('G86:Rapid retraction');
N0107('G88:Manual retraction');
N0108('G89:With dwell');
N0109('G76:Fine boring');
N0110('G87:Back boring');
N0111('G84:Tapping');
N0112('G74:Left-hand tapping');
; Contour : Compensation Direction
N0121('Left');
N0122('Right');
; CHECK*.SRC message
N0900('Data is lacking.');
N0901('Input error in menu param.');
M99
O6905 ;############################################### Italian
; M code
N0001('M00:Program stop');

-200-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

N0002('M01:Optional stop');
N0003('M02:End of program');
N0004('M03:Spindle cw');
N0005('M04:Spindle ccw');
N0006('M05:Spindle stop');
N0007('M06:Tool change');
N0008('M30:end of program');
N0009('M98:Calling of');
N0010(' subrogram');
N0011('M99:End of subrogram');
; Contour/Line : Start Point Type
N0020('When you make the');
N0021('island figure after the');
N0022('pocket wall figure,');
N0023('select "ISLAND". ');
N0024('');
N0025('When you continue');
N0026('making the next groove');
N0027('figure,');
N0028('select "NXT MV".');
N0029('');
N0030('Another case,');
N0031('select "START".');
; Contour/End
N0040('When you continue');
N0041('making the contour');
N0042('figure, select "CONT".');
N0043('(Example)');
N0044('The case of making the');
N0045('island figure after the');
N0046('pocket wall figure.');
N0047('The case of making some');
N0048('groove figures.');
; Contour/Linear,Rotation,Mirror Copy
N0060('START'); ; Linear
N0061('POINT');
N0062('END');
N0063('POINT');
N0064('START');
N0065('POINT');
N0066('END');
N0067('POINT');
N0068('BASE');
N0069('AXIS');
; Canned Cycle
N0080('Initial');
N0081('level');
N0082('Point R');
N0083('level');
; Contour : Approach/Escape Type
N0090('Circle');
N0091('Tangent');
N0092('Vertical');
; Canned Cycle
N0101('G81:No dwell');
N0102('G82:With dwell');
N0103('G83:Normal peck');
N0104('G73:High-speed peck');
N0105('G85:Feed retraction');
N0106('G86:Rapid retraction');
N0107('G88:Manual retraction');

-201-

4. USER PROGRAMS FOR CONTOUR PROFILE MENU

4. USER PROGRAMS FOR CONTOUR PROFILE MENU

SAMPLE PROGRAM

N0108('G89:With dwell');
N0109('G76:Fine boring');
N0110('G87:Back boring');
N0111('G84:Tapping');
N0112('G74:Left-hand tapping');
; Contour : Compensation Direction
N0121('Left');
N0122('Right');
; CHECK*.SRC message
N0900('Data is lacking.');
N0901('Input error in menu param.');
M99
O6906 ;############################################### Spanish
; M code
N0001('M00:Program stop');
N0002('M01:Optional stop');
N0003('M02:End of program');
N0004('M03:Spindle cw');
N0005('M04:Spindle ccw');
N0006('M05:Spindle stop');
N0007('M06:Tool change');
N0008('M30:end of program');
N0009('M98:Calling of');
N0010(' subrogram');
N0011('M99:End of subrogram');
; Contour/Line : Start Point Type
N0020('When you make the');
N0021('island figure after the');
N0022('pocket wall figure,');
N0023('select "ISLAND". ');
N0024('');
N0025('When you continue');
N0026('making the next groove');
N0027('figure,');
N0028('select "NXT MV".');
N0029('');
N0030('Another case,');
N0031('select "START".');
; Contour/End
N0040('When you continue');
N0041('making the contour');
N0042('figure, select "CONT".');
N0043('(Example)');
N0044('The case of making the');
N0045('island figure after the');
N0046('pocket wall figure.');
N0047('The case of making some');
N0048('groove figures.');
; Contour/Linear,Rotation,Mirror Copy
N0060('START'); ; Linear
N0061('POINT');
N0062('END');
N0063('POINT');
N0064('START');
N0065('POINT');
N0066('END');
N0067('POINT');
N0068('BASE');
N0069('AXIS');

-202-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

; Canned Cycle
N0080('Initial');
N0081('level');
N0082('Point R');
N0083('level');
; Contour : Approach/Escape Type
N0090('Circle');
N0091('Tangent');
N0092('Vertical');
; Canned Cycle
N0101('G81:No dwell');
N0102('G82:With dwell');
N0103('G83:Normal peck');
N0104('G73:High-speed peck');
N0105('G85:Feed retraction');
N0106('G86:Rapid retraction');
N0107('G88:Manual retraction');
N0108('G89:With dwell');
N0109('G76:Fine boring');
N0110('G87:Back boring');
N0111('G84:Tapping');
N0112('G74:Left-hand tapping');
; Contour : Compensation Direction
N0121('Left');
N0122('Right');
; CHECK*.SRC message
N0900('Data is lacking.');
N0901('Input error in menu param.');
M99

-203-

4. USER PROGRAMS FOR CONTOUR PROFILE MENU

4. USER PROGRAMS FOR CONTOUR PROFILE MENU

4.4

SAMPLE PROGRAM

INPUTTED DATA CHECKING

/****************************************************************************
/*
/* CHECK2.SRC :: Contour Menue
/*
/***** 8811: Start Point
/***** 8812: Line
/***** 8813: Circle CW
/***** 8814: Circle CCW
/***** 8815: Chamfering
/***** 8816: Corner R
/***** 8817: End
/***** 8818: Linear Movement
/***** 8819: Rotation
/***** 8820: Mirror Transformation
/****************************************************************************
$INCLUDE SYMBOL.DEF

/* ############################################### Start Point


O8811 input_error_flag = error_non
n99 m99

/* ############################################### Line
O8812 input_error_flag = error_non
n99 m99

/* ############################################### Circle CW
O8813 input_error_flag = error_non
n99 m99

/* ############################################### Circle CCW


O8814 input_error_flag = error_non
n99 m99

/* ############################################### Chamfering
O8815 input_error_flag = error_non
n99 m99

/* ############################################### Corner R
O8816 input_error_flag = error_non
n99 m99

/* ############################################### End
O8817 input_error_flag = error_non
n99 m99

/* ############################################### Linear Movement


O8818 input_error_flag = error_non

-204-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

4. USER PROGRAMS FOR CONTOUR PROFILE MENU

/* Repeat Number */
error_item = 1
if[#[value 1] eq #0]goto 97
if[#[value 1] le 0]goto 98
goto 99
/* Data is lacking. */
n97 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+900]
goto 99
/* Input error in menu param. */
n98 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+901]
n99 m99

/* ############################################### Rotation
O8819 input_error_flag = error_non
/* Repeat Number */
error_item = 1
if[#[value 1] eq #0]goto 97
if[#[value 1] le 0]goto 98
/* Center Point X */
error_item = 2
if[#[value 2] eq #0]goto 97
/* Center Point Y */
error_item = 3
if[#[value 3] eq #0]goto 97
/* Rotation Angle */
error_item = 4
if[#[value 4] le -360 || #[value 4] ge 360]goto 98
goto 99
/* Data is lacking. */
n97 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+900]
goto 99
/* Input error in menu param. */
n98 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+901]
n99 m99

/* ############################################### Mirror Transformation


O8820 input_error_flag = error_non
/* base Point X,Y , Mirror Axis Angle */
if[#[value 1] eq #0 && #[value 2] eq #0]then
/* Mirror Axis Angle */
error_item = 1
if[#[value 3] eq #0]goto 97
error_item = 3
if[#[value 3] le -360 || #[value 3] ge 360]goto 98
else
if[#[value 3] eq #0]then
error_item = 1
if[#[value 1] eq #0]goto 97
error_item = 2
if[#[value 2] eq #0]goto 97
else

-205-

4. USER PROGRAMS FOR CONTOUR PROFILE MENU

SAMPLE PROGRAM

error_item = 3
if[#[value 3] le -360 || #[value 3] ge 360]goto 98
endif
endif
goto 99
/* Data is lacking. */
n97 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+900]
goto 99
/* Input error in menu param. */
n98 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+901]
n99 m99

-206-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

5. USER PROGRAMS FOR HOLE MACHINING MENU

USER PROGRAMS FOR HOLE MACHINING


MENU

-207-

5. USER PROGRAMS FOR HOLE MACHINING MENU

5.1

SAMPLE PROGRAM

COMMENTS DEFINITION

/****************************************************************************
/*
/*
STRING3.SRC :: Canned Cycle
(ENGLISH)
/*
/***** 7301: Softkey 1
/***** 7311: Softkey 2
/***** 7321: G81/G82/G83/G73
/*
G81 Drilling cycle, spot drilling cycle
/*
G82 Drilling cycle, counter boring cycle
/*
G83 Peck drilling cycle
/*
G73 High-speed peck drilling cycle
/***** 7331: G85/G86/G88/G89/G76/G87
/*
G85 Boring cycle
/*
G86 Boring cycle
/*
G88 Boring cycle
/*
G89 Boring cycle
/*
G76 Fine boring cycle
/*
G87 Back boring cycle
/***** 7341: G84/G74
/*
G84 Tapping cycle
/*
G74 Left-hand tapping cycle
/****************************************************************************
O7301 ;############################################### Softkye 1
N0001("20 01 C010 20")(' HOLE ');
N0002("20 01 C018 20")('PATTER');
N0003("20 01 C020 20")(' FACE ');
N0004("20 01 C028 20")(' SIDE ');
N0005("20 01 C030 20")('POCKET');
M99

O7311 ;############################################### Softkye 2


N0001("20 01 C010 20")('DRILL ');
N0002("20 01 C018 20")(' BORE ');
N0003("20 01 C020 20")(' TAP ');
M99

O7321 ;############################################### G81/G82/G83/G73


N9999('DRILLING CYCLE');
N9998('DRILLING CYCLE(DETAIL SET)');
N0001('ABS / INC');
N0002('RETURN POINT');
N0003('MACHINE PATTERN');
N0004('HOLE POINT X');
N0005('HOLE POINT Y');
N0006('Z POINT DISTANCE');
N0007('R POINT DISTANCE');
N0008('DWELL TIME');
N0009('PITCH DEPTH');
N0010('FEED RATE');
N0011('TRABVEL SPEED');
N0012('DWELL TIME');
N0013('REPEAT NUMBER');
N0100('3');
N0101("20 01 C010 20")('G90ABS');
N0102("20 01 C018 20")('G91INC');
N0103("20 01 C020 20")('NO-OUT');

-208-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

5. USER PROGRAMS FOR HOLE MACHINING MENU

N0151('90');
N0152('91');
N0153('3');
N0200('11');
N0201("20 01 C010 20")('I-LVL ');
N0202("20 01 C018 20")('R-LVL ');
N0203("20 01 C020 20")('NO-OUT');
N0251('98');
N0252('99');
N0253('3');
N0300('7');
N0301("20 01 C010 20")('NO DWL');
N0302("20 01 C018 20")('DWELL ');
N0303("20 01 C020 20")(' PECK ');
N0304("20 01 C028 20")('S-PECK');
N0351('81');
N0352('82');
N0353('83');
N0354('73');
M99

O7331 ;############################################### G85/G86/G88/G89/G76/G87


N9999('BORING CYCLE');
N9998('BORING CYCLE(DETAIL SET)');
N0001('ABS / INC');
N0002('RETURN POINT');
N0003('MACHINE PATTERN');
N0004('HOLE POINT X');
N0005('HOLE POINT Y');
N0006('Z POINT DISTANCE');
N0007('R POINT DISTANCE');
N0008('TOOL SHIFT AMOUNT');
N0009('DWELL TIME');
N0010('FEED RATE');
N0011('REPEAT NUMBER');
N0100('3');
N0101("20 01 C010 20")('G90ABS');
N0102("20 01 C018 20")('G91INC');
N0103("20 01 C020 20")('NO-OUT');
N0151('90');
N0152('91');
N0153('3');
N0200('11');
N0201("20 01 C010 20")('I-LVL ');
N0202("20 01 C018 20")('R-LVL ');
N0203("20 01 C020 20")('NO-OUT');
N0251('98');
N0252('99');
N0253('3');
N0300('32');
N0301("20 01 C010 20")(' FEED ');
N0302("20 01 C018 20")('RAPID ');
N0303("20 01 C020 20")('MANUAL');
N0304("20 01 C028 20")('DWELL ');
N0305("20 01 C030 20")(' FINE ');
N0306("20 01 C038 20")(' BACK ');
N0351('85');
N0352('86');
N0353('88');
N0354('89');

-209-

5. USER PROGRAMS FOR HOLE MACHINING MENU

SAMPLE PROGRAM

N0355('76');
N0356('87');
M99

O7341 ;############################################### G84/G74


N9999('TAPPING CYCLE');
N9998('TAPPING CYCLE(DETAIL SET)');
N0001('ABS / INC');
N0002('RETURN POINT');
N0003('MACHINE PATTERN');
N0004('HOLE POINT X');
N0005('HOLE POINT Y');
N0006('Z POINT DISTANCE');
N0007('R POINT DISTANCE');
N0008('DWELL TIME');
N0009('PITCH DEPTH');
N0010('FEED RATE');
N0011('REPEAT NUMBER');
N0100('3');
N0101("20 01 C010 20")('G90ABS');
N0102("20 01 C018 20")('G91INC');
N0103("20 01 C020 20")('NO-OUT');
N0151('90');
N0152('91');
N0153('3');
N0200('11');
N0201("20 01 C010 20")('I-LVL ');
N0202("20 01 C018 20")('R-LVL ');
N0203("20 01 C020 20")('NO-OUT');
N0251('98');
N0252('99');
N0253('3');
N0300('9');
N0301("20 01 C010 20")(' TAP ');
N0302("20 01 C018 20")('REVTAP');
N0351('84');
N0352('74');
M99

-210-

B-63423EN/02

B-63423EN/02

5.2

SAMPLE PROGRAM

5. USER PROGRAMS FOR HOLE MACHINING MENU

DATA ATTRIBUTE

/****************************************************************************
/*
/*
PROC3.SRC :: Canned Cycle
/*
/***** 8432: G81/G82/G83/G73
/*
G81 Drilling cycle, spot drilling cycle
/*
G82 Drilling cycle, counter boring cycle
/*
G83 Peck drilling cycle
/*
G73 High-speed peck drilling cycle
/***** 8433: G85/G86/G88/G89/G87/G76
/*
G85 Boring cycle
/*
G86 Boring cycle
/*
G88 Boring cycle
/*
G89 Boring cycle
/*
G76 Fine boring cycle
/*
G87 Back boring cycle
/***** 8434: G84/G74
/*
G84 Tapping cycle
/*
G74 Left-hand tapping cycle
/****************************************************************************
$INCLUDE SYMBOL.DEF
O8432 ;############################################### G81/G82/G83/G73
#[address 0] = -1
#[address 1] = add_G03G
#[attribute 1] = att_character + att_detail
#[value 1] = 3
#[address 2] = add_G10G
#[attribute 2] = att_character + att_detail
#[value 2] = 3
#[address 3] = add_G09G
#[attribute 3] = att_character
#[value 3] = 81
#[address 4] = add_X
#[attribute 4] = att_decimal + att_detail
#[value 4] = #0
#[address 5] = add_Y
#[attribute 5] = att_decimal + att_detail
#[value 5] = #0
#[address 6] = add_Z
#[attribute 6] = att_decimal
#[value 6] = #0
#[address 7] = add_R
#[attribute 7] = att_decimal
#[value 7] = #0
#[address 8] = add_P
#[attribute 8] = att_not_use
#[value 8] = #0
#[address 9] = add_Q
#[attribute 9] = att_not_use
#[value 9] = #0
#[address 10] = add_F
#[attribute 10] = att_decimal
#[value 10] = #0
#[address 11] = add_I
#[attribute 11] = att_not_use
#[value 11] = #0
#[address 12] = add_P
#[attribute 12] = att_not_use
#[value 12] = #0
#[address 13] = add_K
#[attribute 13] = att_integer + att_detail

-211-

5. USER PROGRAMS FOR HOLE MACHINING MENU


#[value 13] = 0
#[address 14] = add_end
previous_cursor = 1
m99

SAMPLE PROGRAM

/* Previous cursor position clear

O8433 ;############################################### G85/G86/G88/G89/G87/G76


#[address 0] = -1
#[address 1] = add_G03G
#[attribute 1] = att_character + att_detail
#[value 1] = 3
#[address 2] = add_G10G
#[attribute 2] = att_character + att_detail
#[value 2] = 3
#[address 3] = add_G09G
#[attribute 3] = att_character
#[value 3] = 85
#[address 4] = add_X
#[attribute 4] = att_decimal + att_detail
#[value 4] = #0
#[address 5] = add_Y
#[attribute 5] = att_decimal + att_detail
#[value 5] = #0
#[address 6] = add_Z
#[attribute 6] = att_decimal
#[value 6] = #0
#[address 7] = add_R
#[attribute 7] = att_decimal
#[value 7] = #0
#[address 8] = add_Q
#[attribute 8] = att_not_use
#[value 8] = #0
#[address 9] = add_P
#[attribute 9] = att_not_use
#[value 9] = #0
#[address 10] = add_F
#[attribute 10] = att_decimal
#[value 10] = #0
#[address 11] = add_K
#[attribute 11] = att_integer + att_detail
#[value 11] = 0
#[address 12] = add_end
previous_cursor = 1
/* Previous cursor position clear
m99

O8434 ;############################################### G84/G74


#[address 0] = -1
#[address 1] = add_G03G
#[attribute 1] = att_character + att_detail
#[value 1] = 3
#[address 2] = add_G10G
#[attribute 2] = att_character + att_detail
#[value 2] = 3
#[address 3] = add_G09G
#[attribute 3] = att_character
#[value 3] = 84
#[address 4] = add_X
#[attribute 4] = att_decimal + att_detail
#[value 4] = #0
#[address 5] = add_Y
#[attribute 5] = att_decimal + att_detail
#[value 5] = #0
#[address 6] = add_Z
#[attribute 6] = att_decimal

-212-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

#[value 6] = #0
#[address 7] = add_R
#[attribute 7] = att_decimal
#[value 7] = #0
#[address 8] = add_P
#[attribute 8] = att_integer
#[value 8] = #0
#[address 9] = add_Q
#[attribute 9] = att_decimal + att_detail
#[value 9] = #0
#[address 10] = add_F
#[attribute 10] = att_decimal
#[value 10] = #0
#[address 11] = add_K
#[attribute 11] = att_integer + att_detail
#[value 11] = 0
#[address 12] = add_end
previous_cursor = 1
/* Previous cursor position clear
m99

-213-

5. USER PROGRAMS FOR HOLE MACHINING MENU

5. USER PROGRAMS FOR HOLE MACHINING MENU

5.3

SAMPLE PROGRAM

GUIDANCE DRAWING FIGURE

/****************************************************************************
/*
/* FIG3.SRC :: Canned Cycle
/*
/***** 8632: G81/G82/G83/G73
/*
G81 Drilling cycle, spot drilling cycle
/*
G82 Drilling cycle, counter boring cycle
/*
G83 Peck drilling cycle
/*
G73 High-speed peck drilling cycle
/***** 8633: G85/G86/G88/G89/G87/G76
/*
G85 Boring cycle
/*
G86 Boring cycle
/*
G88 Boring cycle
/*
G89 Boring cycle
/*
G76 Fine boring cycle
/*
G87 Back boring cycle
/***** 8634: G84/G74
/*
G84 Tapping cycle
/*
G74 Left-hand tapping cycle
/***** 8634: G76 Fine boring cycle
/***** 8640: G85 Boring cycle
/***** 8641: G86 Boring cycle
/***** 8642: G87 Back boring cycle
/***** 8643: G88 Boring cycle
/***** 8644: G89 Boring cycle
/****************************************************************************
$INCLUDE SYMBOL.DEF
O8632 ;############################################### G81/G82/G83/G73
/*** Guide Picture Setting ***/
if[guide_frequency ne secont_tine]goto 90
if[cursor eq 1]then
call fig_clear
call 6055
endif
if[cursor eq 2]then
call fig_clear
call 6091
endif
if[cursor eq 3]then
call fig_clear
call fig_language
cursor_off
G243X[36-shift_char_X]Y[5-shift_char_Y]P[#1+101]
G243X[36-shift_char_X]Y[6-shift_char_Y]P[#1+102]
G243X[36-shift_char_X]Y[7-shift_char_Y]P[#1+103]
G243X[36-shift_char_X]Y[8-shift_char_Y]P[#1+104]
endif
if[#[value 3] eq 81]then
if[cursor eq 6 || cursor eq 7 || cursor eq 10]then
if[previous_cursor ne 6 && previous_cursor ne 7]then
call fig_clear
endif
call 6095
endif
endif
if[#[value 3] eq 82]then
if[cursor ge 6 && cursor le 8]then
if[previous_cursor lt 6 || previous_cursor gt 8]then
call fig_clear
endif

-214-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

call 6096
endif
if[cursor eq 10]then
if[previous_cursor ne 3]then
color white C blue L0
G243X[46-shift_char_X]Y[15-shift_char_Y](P)
endif
endif
endif
if[#[value 3] eq 83]then
if[cursor eq 6 || cursor eq 7 || cursor eq 9]then
if[previous_cursor ne 6 && previous_cursor ne 7 && previous_cursor ne 9]then
call fig_clear
endif
call 6097
endif
if[cursor eq 10]then
if[previous_cursor ne 3]then
color white C blue L0
G243X[41-shift_char_X]Y[12-shift_char_Y](Q)
endif
endif
if[cursor eq 11 || cursor eq 13]then
if[previous_cursor eq 12]then
color white C blue L0
G243X[51-shift_char_X]Y[16-shift_char_Y](P)
endif
endif
if[cursor eq 12]then
call fig_clear
call 6097
endif
endif
if[#[value 3] eq 73]then
if[cursor eq 6 || cursor eq 7 || cursor eq 9]then
if[previous_cursor ne 6 && previous_cursor ne 7 && previous_cursor ne 9]then
call fig_clear
endif
call 6092
endif
if[cursor eq 10]then
if[previous_cursor ne 3]then
color white C blue L0
G243X[41-shift_char_X]Y[12-shift_char_Y](Q)
endif
endif
endif
previous_cursor = cursor
n90
/*** Attribution Setting ***/
if[#[value 1] eq 3]then #[attribute 1] = att_character + att_detail + att_not_output
else #[attribute 1] = att_character + att_detail
if[#[value 2] eq 3]then #[attribute 2] = att_character + att_detail + att_not_output
else #[attribute 2] = att_character + att_detail
if[#[value 3] eq 81]then
#[attribute 8] = att_not_use
#[attribute 9] = att_not_use
#[attribute 11] = att_not_use
#[attribute 12] = att_not_use
endif
if[#[value 3] eq 82]then
#[attribute 8] = att_integer
#[attribute 9] = att_not_use
#[attribute 11] = att_not_use
#[attribute 12] = att_not_use
endif

-215-

5. USER PROGRAMS FOR HOLE MACHINING MENU

5. USER PROGRAMS FOR HOLE MACHINING MENU

SAMPLE PROGRAM

if[#[value 3] eq 83]then
#[attribute 8] = att_not_use
#[attribute 9] = att_decimal
#[attribute 11] = att_decimal + att_detail
#[attribute 12] = att_integer + att_detail
endif
if[#[value 3] eq 73]then
#[attribute 8] = att_not_use
#[attribute 9] = att_decimal
#[attribute 11] = att_not_use
#[attribute 12] = att_not_use
endif
m99

O8633 ;############################################### G85/G86/G88/G89/G87G76/


/*** Guide Picture Setting ***/
if[guide_frequency ne secont_tine]goto 90
if[cursor eq 1]then
if[previous_cursor ne 1]then
call fig_clear
endif
call 6055
endif
if[cursor eq 2]then
if[previous_cursor ne 2]then
call fig_clear
endif
call 6091
endif
if[cursor eq 3]then
call fig_clear
call fig_language
cursor_off
G243X[36-shift_char_X]Y[ 5-shift_char_Y]P[#1+105]
G243X[36-shift_char_X]Y[ 6-shift_char_Y]P[#1+106]
G243X[36-shift_char_X]Y[ 7-shift_char_Y]P[#1+107]
G243X[36-shift_char_X]Y[ 8-shift_char_Y]P[#1+108]
G243X[36-shift_char_X]Y[ 9-shift_char_Y]P[#1+109]
G243X[36-shift_char_X]Y[10-shift_char_Y]P[#1+110]
endif
if[#[value 3] eq 85]then
if[cursor eq 6 || cursor eq 7 || cursor eq 10]then
if[previous_cursor ne 6 && previous_cursor ne 7]then
call fig_clear
endif
call 6099
endif
endif
if[#[value 3] eq 86]then
if[cursor eq 6 || cursor eq 7 || cursor eq 10]then
if[previous_cursor ne 6 && previous_cursor ne 7]then
call fig_clear
endif
call 6100
endif
endif
if[#[value 3] eq 88]then
if[cursor eq 6 || cursor eq 7 || cursor eq 9]then
if[previous_cursor ne 6 && previous_cursor ne 7 && previous_cursor ne 9]then
call fig_clear
endif
call 6102
endif
if[cursor eq 10]then
if[previous_cursor ne 3]then

-216-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

color white C blue L0


G243X[46-shift_char_X]Y[15-shift_char_Y](P)
endif
endif
endif
if[#[value 3] eq 89]then
if[cursor eq 6 || cursor eq 7 || cursor eq 9]then
if[previous_cursor ne 6 && previous_cursor ne 7 && previous_cursor ne 9]then
call fig_clear
endif
call 6103
endif
if[cursor eq 10]then
if[previous_cursor ne 3]then
color white C blue L0
G243X[46-shift_char_X]Y[15-shift_char_Y](P)
endif
endif
endif
if[#[value 3] eq 76]then
if[cursor ge 6 && cursor le 9]then
if[previous_cursor lt 6 || previous_cursor gt 9]then
call fig_clear
endif
call 6094
endif
if[cursor eq 10]then
if[previous_cursor ne 3]then
color white C blue L0
G243X[46-shift_char_X]Y[15-shift_char_Y](P)
endif
endif
endif
if[#[value 3] eq 87]then
if[cursor ge 6 && cursor le 9]then
if[previous_cursor lt 6 || previous_cursor gt 9]then
call fig_clear
endif
call 6101
endif
if[cursor eq 10]then
if[previous_cursor ne 3]then
color white C blue L0
G243X[45-shift_char_X]Y[11-shift_char_Y](P)
endif
endif
endif
previous_cursor = cursor
n90
/*** Attribution Setting ***/
if[#[value 1] eq 3]then #[attribute 1] = att_character + att_detail + att_not_output
else #[attribute 1] = att_character + att_detail
if[#[value 2] eq 3]then #[attribute 2] = att_character + att_detail + att_not_output
else #[attribute 2] = att_character + att_detail
if[#[value 3] eq 85]then
#[attribute 8] = att_not_use
#[attribute 9] = att_not_use
endif
if[#[value 3] eq 86]then
#[attribute 8] = att_not_use
#[attribute 9] = att_not_use
endif
if[#[value 3] eq 88]then
#[attribute 8] = att_not_use
#[attribute 9] = att_integer
endif

-217-

5. USER PROGRAMS FOR HOLE MACHINING MENU

5. USER PROGRAMS FOR HOLE MACHINING MENU

SAMPLE PROGRAM

if[#[value 3] eq 89]then
#[attribute 8] = att_not_use
#[attribute 9] = att_integer
endif
if[#[value 3] eq 76]then
#[attribute 8] = att_decimal
#[attribute 9] = att_integer
endif
if[#[value 3] eq 87]then
#[attribute 8] = att_decimal
#[attribute 9] = att_integer
endif
m99

O8634 ;############################################### G84/G74


if[guide_frequency ne secont_tine]goto 90
if[cursor eq 1]then
if[previous_cursor ne 1]then
call fig_clear
endif
call 6055
endif
if[cursor eq 2]then
if[previous_cursor ne 2]then
call fig_clear
endif
call 6091
endif
if[cursor eq 3]then
call fig_clear
call fig_language
cursor_off
G243X[36-shift_char_X]Y[5-shift_char_Y]P[#1+111]
G243X[36-shift_char_X]Y[6-shift_char_Y]P[#1+112]
endif
if[cursor ge 6 && cursor le 9]then
if[previous_cursor lt 6 || previous_cursor gt 9]then
call fig_clear
endif
call 6093
endif
if[cursor eq 5 || cursor eq 11]then
if[previous_cursor eq 9]then
color white C blue L0
G243X[41-shift_char_X]Y[12-shift_char_Y](Q)
endif
endif
if[cursor eq 10]then
if[previous_cursor ne 3]then
color white C blue L0
G243X[51-shift_char_X]Y[16-shift_char_Y](P)
endif
endif
previous_cursor = cursor
n90
/*** Attribution Setting ***/
if[#[value 1] eq 3]then #[attribute 1] = att_character + att_detail + att_not_output
else #[attribute 1] = att_character + att_detail
if[#[value 2] eq 3]then #[attribute 2] = att_character + att_detail + att_not_output
else #[attribute 2] = att_character + att_detail
m99

-218-

B-63423EN/02

SAMPLE PROGRAM

B-63423EN/02

5. USER PROGRAMS FOR HOLE MACHINING MENU

/****************************************************************************
/*
/* FIGSUB3.SRC :: Canned Cycle
/*
/***** 6091: Return point level
/***** 6092: G73 High-speed peck drilling cycle
/***** 6093: G74 Left-hand tapping cycle
/***** 6094: G76 Fine boring cycle
/***** 6095: G81 Drilling cycle, spot drilling cycle
/***** 6096: G82 Drilling cycle, counter boring cycle
/***** 6097: G83 Peck drilling cycle
/***** 6098: G84 Tapping cycle
/***** 6099: G85 Boring cycle
/***** 6100: G86 Boring cycle
/***** 6101: G87 Back boring cycle
/***** 6102: G88 Boring cycle
/***** 6103: G89 Boring cycle
/****************************************************************************
$INCLUDE SYMBOL.DEF

O6091 ;############################################### Return point level


/* Work
color blue
/* for Inner
G242X[-31-shift_grap_X]Y[9+shift_grap_Y]
/* Left Work
G01X[55-shift_grap_X]Y[9+shift_grap_Y]
G01X[55-shift_grap_X]Y[71+shift_grap_Y]
G01X[-31-shift_grap_X]Y[71+shift_grap_Y]
G01X[-31-shift_grap_X]Y[9+shift_grap_Y]
G206P0X[0-shift_grap_X]Y[40+shift_grap_Y]
G242X[65-shift_grap_X]Y[9+shift_grap_Y]
/* Right Work
G01X[151-shift_grap_X]Y[9+shift_grap_Y]
G01X[151-shift_grap_X]Y[71+shift_grap_Y]
G01X[65-shift_grap_X]Y[71+shift_grap_Y]
G01X[65-shift_grap_X]Y[9+shift_grap_Y]
G206P0X[100-shift_grap_X]Y[40+shift_grap_Y]
color sky_blue
/* for Edge
G242X[-32-shift_grap_X]Y[8+shift_grap_Y]
/* Left Work
G01X[56-shift_grap_X]Y[8+shift_grap_Y]
G01X[56-shift_grap_X]Y[72+shift_grap_Y]
G01X[-32-shift_grap_X]Y[72+shift_grap_Y]
G01X[-32-shift_grap_X]Y[8+shift_grap_Y]
G242X[64-shift_grap_X]Y[8+shift_grap_Y]
/* Right Work
G01X[152-shift_grap_X]Y[8+shift_grap_Y]
G01X[152-shift_grap_X]Y[72+shift_grap_Y]
G01X[64-shift_grap_X]Y[72+shift_grap_Y]
G01X[64-shift_grap_X]Y[8+shift_grap_Y]
/* Tool
#20=-8-shift_grap_X
#21=139+shift_grap_Y
color green
G242X[#20]Y[#21+1]
G01X[#20-7]Y[#21+5]
G01X[#20-7]Y[#21+20]
G01X[#20+7]Y[#21+20]
G01X[#20+7]Y[#21+5]
G01X[#20]Y[#21+1]
G206P0X[#20]Y[#21+5]
color purple
G242X[#20]Y[#21]
G01X[#20-8]Y[#21+5]
G01X[#20-8]Y[#21+21]
G01X[#20+8]Y[#21+21]
G01X[#20+8]Y[#21+5]
G01X[#20]Y[#21]
#20=88-shift_grap_X

/* X coordinate of Top of Tool


/* Y coordinate of Top of Tool
/* green for Inner

/* purple for Edge

/* X coordinate of Top of Tool

-219-

5. USER PROGRAMS FOR HOLE MACHINING MENU


#21=139+shift_grap_Y
color green
G242X[#20]Y[#21+1]
G01X[#20-7]Y[#21+5]
G01X[#20-7]Y[#21+20]
G01X[#20+7]Y[#21+20]
G01X[#20+7]Y[#21+5]
G01X[#20]Y[#21+1]
G206P0X[#20]Y[#21+5]
color purple
G242X[#20]Y[#21]
G01X[#20-8]Y[#21+5]
G01X[#20-8]Y[#21+21]
G01X[#20+8]Y[#21+21]
G01X[#20+8]Y[#21+5]
G01X[#20]Y[#21]

SAMPLE PROGRAM

/* Y coordinate of Top of Tool


/* green for Inner

/* purple for Edge

/* Circle for Point


color red
G242X[-8-shift_grap_X]Y[138+shift_grap_Y]
/* for G98
G02X[-8-shift_grap_X]Y[138+shift_grap_Y]I[-8-shift_grap_X]J[136+shift_grap_Y]Q4
G206P0X[-8-shift_grap_X]Y[136+shift_grap_Y]
G242X[24-shift_grap_X]Y[138+shift_grap_Y]
G02X[24-shift_grap_X]Y[138+shift_grap_Y]I[24-shift_grap_X]J[136+shift_grap_Y]Q4
G206P0X[24-shift_grap_X]Y[136+shift_grap_Y]
G242X[24-shift_grap_X]Y[90+shift_grap_Y]
G02X[24-shift_grap_X]Y[90+shift_grap_Y]I[24-shift_grap_X]J[88+shift_grap_Y]Q4
G206P0X[24-shift_grap_X]Y[88+shift_grap_Y]
G242X[24-shift_grap_X]Y[42+shift_grap_Y]
G02X[24-shift_grap_X]Y[42+shift_grap_Y]I[24-shift_grap_X]J[40+shift_grap_Y]Q4
G206P0X[24-shift_grap_X]Y[40+shift_grap_Y]
G242X[88-shift_grap_X]Y[138+shift_grap_Y]
/* for G99
G02X[88-shift_grap_X]Y[138+shift_grap_Y]I[88-shift_grap_X]J[136+shift_grap_Y]Q4
G206P0X[88-shift_grap_X]Y[136+shift_grap_Y]
G242X[120-shift_grap_X]Y[138+shift_grap_Y]
G02X[120-shift_grap_X]Y[138+shift_grap_Y]I[120-shift_grap_X]J[136+shift_grap_Y]Q4
G206P0X[120-shift_grap_X]Y[136+shift_grap_Y]
G242X[120-shift_grap_X]Y[90+shift_grap_Y]
G02X[120-shift_grap_X]Y[90+shift_grap_Y]I[120-shift_grap_X]J[88+shift_grap_Y]Q4
G206P0X[120-shift_grap_X]Y[88+shift_grap_Y]
G242X[120-shift_grap_X]Y[42+shift_grap_Y]
G02X[120-shift_grap_X]Y[42+shift_grap_Y]I[120-shift_grap_X]J[40+shift_grap_Y]Q4
G206P0X[120-shift_grap_X]Y[40+shift_grap_Y]
/* red for Path
color red
dot_line
#1=-5-shift_grap_X
#2=136+shift_grap_Y
#3=21-shift_grap_X
#4=#2
#5=0
call fig_line
#1=24-shift_grap_X
#2=133+shift_grap_Y
#3=#1
#4=91+shift_grap_Y
#5=0
call fig_line
solid_line
#1=24-shift_grap_X
#2=85+shift_grap_Y
#3=#1
#4=43+shift_grap_Y
#5=0
call fig_line
dot_line

/* for G98

-220-

B-63423EN/02

SAMPLE PROGRAM

B-63423EN/02

#1=40-shift_grap_X
#2=40+shift_grap_Y
#3=#1
#4=136+shift_grap_Y
#5=0
call fig_line
#1=91-shift_grap_X
#2=136+shift_grap_Y
#3=117-shift_grap_X
#4=#2
#5=0
call fig_line
#1=120-shift_grap_X
#2=133+shift_grap_Y
#3=#1
#4=91+shift_grap_Y
#5=0
call fig_line
solid_line
#1=120-shift_grap_X
#2=85+shift_grap_Y
#3=#1
#4=43+shift_grap_Y
#5=0
call fig_line
dot_line
#1=136-shift_grap_X
#2=40+shift_grap_Y
#3=#1
#4=88+shift_grap_Y
#5=0
call fig_line
solid_line

5. USER PROGRAMS FOR HOLE MACHINING MENU

/* for G98

/* Characters
cursor_off
G243X[40-shift_char_X]Y[15-shift_char_Y](G98)
G243X[52-shift_char_X]Y[15-shift_char_Y](G99)
call fig_language
G243X[42-shift_char_X]Y[5-shift_char_Y] P[#1+80]
G243X[42-shift_char_X]Y[6-shift_char_Y] P[#1+81]
G243X[49-shift_char_X]Y[9-shift_char_Y] P[#1+82]
G243X[50-shift_char_X]Y[10-shift_char_Y] P[#1+83]
m99

O6092 ;############################################### G73 High-speed peck drilling cycle


/* Work
if[previous_cursor eq 6 || previous_cursor eq 7 || previous_cursor eq 9] goto 900
color blue
/* blue for Inner
G242X[-31-shift_grap_X]Y[-31+shift_grap_Y]
G01X[151-shift_grap_X]Y[-31+shift_grap_Y]
G01X[151-shift_grap_X]Y[103+shift_grap_Y]
G01X[-31-shift_grap_X]Y[103+shift_grap_Y]
G01X[-31-shift_grap_X]Y[-31+shift_grap_Y]
if[#[value 1] eq 91]then
/* for Z
#1=38-shift_char_X
#2=12-shift_char_Y
#3=1
call fig_character
else
#1=54-shift_char_X
#2=16-shift_char_Y
#3=1
call fig_character

-221-

5. USER PROGRAMS FOR HOLE MACHINING MENU

SAMPLE PROGRAM

endif
#1=41-shift_char_X
/* for Q
#2=9-shift_char_Y
#3=1
call fig_character
#2=12-shift_char_Y
call fig_character
#2=15-shift_char_Y
call fig_character
G206P0X[0-shift_grap_X]Y[0+shift_grap_Y]
color sky_blue
/* blue green for Edge
G242X[-32-shift_grap_X]Y[-32+shift_grap_Y]
G01X[152-shift_grap_X]Y[-32+shift_grap_Y]
G01X[152-shift_grap_X]Y[104+shift_grap_Y]
G01X[-32-shift_grap_X]Y[104+shift_grap_Y]
G01X[-32-shift_grap_X]Y[-32+shift_grap_Y]
/* Tool
#20=16-shift_grap_X
#21=147+shift_grap_Y
color green
G242X[#20]Y[#21+1]
G01X[#20-7]Y[#21+5]
G01X[#20-7]Y[#21+20]
G01X[#20+7]Y[#21+20]
G01X[#20+7]Y[#21+5]
G01X[#20]Y[#21+1]
G206P0X[#20]Y[#21+5]
color purple
G242X[#20]Y[#21]
G01X[#20-8]Y[#21+5]
G01X[#20-8]Y[#21+21]
G01X[#20+8]Y[#21+21]
G01X[#20+8]Y[#21+5]
G01X[#20]Y[#21]

/* X coordinate of Top of Tool


/* Y coordinate of Top of Tool
/* green for Inner

/* purple for Edge

/* Circle for Point


color red
G242X[16-shift_grap_X]Y[146+shift_grap_Y]
G02X[16-shift_grap_X]Y[146+shift_grap_Y]I[16-shift_grap_X]J[144+shift_grap_Y]Q4
G206P0X[16-shift_grap_X]Y[144+shift_grap_Y]
G242X[40-shift_grap_X]Y[146+shift_grap_Y]
G02X[40-shift_grap_X]Y[146+shift_grap_Y]I[40-shift_grap_X]J[144+shift_grap_Y]Q4
G206P0X[40-shift_grap_X]Y[144+shift_grap_Y]
G242X[40-shift_grap_X]Y[122+shift_grap_Y]
G02X[40-shift_grap_X]Y[122+shift_grap_Y]I[40-shift_grap_X]J[120+shift_grap_Y]Q4
G206P0X[40-shift_grap_X]Y[120+shift_grap_Y]
G242X[104-shift_grap_X]Y[-22+shift_grap_Y]
G02X[104-shift_grap_X]Y[-22+shift_grap_Y]I[104-shift_grap_X]J[-24+shift_grap_Y]Q4
G206P0X[104-shift_grap_X]Y[-24+shift_grap_Y]
/* red for Path
color red
dot_line
#1=19-shift_grap_X
#2=144+shift_grap_Y
#3=37-shift_grap_X
#4=#2
#5=0
call fig_line
#1=40-shift_grap_X
#2=141+shift_grap_Y
#3=#1
#4=123+shift_grap_Y
#5=0
call fig_line
solid_line

-222-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

#1=40-shift_grap_X
#2=117+shift_grap_Y
#3=#1
#4=73+shift_grap_Y
#5=0
call fig_line
dot_line
#1=56-shift_grap_X
#2=73+shift_grap_Y
#3=#1
#4=103+shift_grap_Y
#5=0
call fig_line
solid_line
#1=72-shift_grap_X
#2=103+shift_grap_Y
#3=#1
#4=25+shift_grap_Y
#5=0
call fig_line
dot_line
#1=88-shift_grap_X
#2=25+shift_grap_Y
#3=#1
#4=55+shift_grap_Y
#5=0
call fig_line
solid_line
#1=104-shift_grap_X
#2=55+shift_grap_Y
#3=#1
#4=-21+shift_grap_Y
#5=0
call fig_line
dot_line
#1=128-shift_grap_X
#2=-23+shift_grap_Y
#3=#1
if[#[value 2] eq 99]then
#4=120+shift_grap_Y
else
#4=144+shift_grap_Y
endif
#5=0
call fig_line
solid_line
/* green Line
color green
G242X[16-shift_grap_X]Y[120+shift_grap_Y]
G01X[37-shift_grap_X]Y[120+shift_grap_Y]
G242X[16-shift_grap_X]Y[72+shift_grap_Y]
G01X[80-shift_grap_X]Y[72+shift_grap_Y]
G242X[16-shift_grap_X]Y[24+shift_grap_Y]
G01X[112-shift_grap_X]Y[24+shift_grap_Y]
G242X[16-shift_grap_X]Y[-24+shift_grap_Y]
G01X[101-shift_grap_X]Y[-24+shift_grap_Y]
#1=24-shift_grap_X
#2=119+shift_grap_Y
#3=#1
#4=73+shift_grap_Y
#5=2
call fig_line
#1=24-shift_grap_X
#2=71+shift_grap_Y
#3=#1
#4=25+shift_grap_Y

/* for Q

-223-

5. USER PROGRAMS FOR HOLE MACHINING MENU

5. USER PROGRAMS FOR HOLE MACHINING MENU

SAMPLE PROGRAM

#5=2
call fig_line
#1=24-shift_grap_X
#2=23+shift_grap_Y
#3=#1
#4=-23+shift_grap_Y
#5=2
call fig_line
if[#[value 1] eq 91]then
/* for R & Z
G242X[-8-shift_grap_X]Y[144+shift_grap_Y]
G01X[13-shift_grap_X]Y[144+shift_grap_Y]
G242X[-8-shift_grap_X]Y[120+shift_grap_Y]
G01X[15-shift_grap_X]Y[120+shift_grap_Y]
G242X[-8-shift_grap_X]Y[-24+shift_grap_Y]
G01X[15-shift_grap_X]Y[-24+shift_grap_Y]
#1=0-shift_grap_X
#2=143+shift_grap_Y
#3=#1
#4=121+shift_grap_Y
#5=2
call fig_line
#1=0-shift_grap_X
#2=119+shift_grap_Y
#3=#1
#4=-23+shift_grap_Y
#5=2
call fig_line
endif
/* Characters
N900
if[#[value 1] eq 91]then
if[cursor eq 6]then
color -white C blue L1
else
color white C blue L0
endif
G243X[38-shift_char_X]Y[12-shift_char_Y](Z)
#1=7
call fig_cursor
G243X[38-shift_char_X]Y[7-shift_char_Y](R)
else
if[cursor eq 6]then
color -white C blue L1
else
color white C blue L0
endif
G243X[54-shift_char_X]Y[16-shift_char_Y](Z)
#1=7
call fig_cursor
G243X[41-shift_char_X]Y[7-shift_char_Y](R)
endif
if[cursor eq 9]then
color -white C blue L1
else
color white C blue L0
endif
G243X[41-shift_char_X]Y[12-shift_char_Y](Q)
color white C blue L0
G243X[41-shift_char_X]Y[9-shift_char_Y](Q)
G243X[41-shift_char_X]Y[15-shift_char_Y](Q)
m99

O6093 ;############################################### G74 Left-hand tapping cycle


/* Work

-224-

B-63423EN/02

SAMPLE PROGRAM

B-63423EN/02

color blue
/* blue for Inner
G242X[-31-shift_grap_X]Y[-31+shift_grap_Y]
G01X[151-shift_grap_X]Y[-31+shift_grap_Y]
G01X[151-shift_grap_X]Y[103+shift_grap_Y]
G01X[-31-shift_grap_X]Y[103+shift_grap_Y]
G01X[-31-shift_grap_X]Y[-31+shift_grap_Y]
if[#[value 1] eq 91]then
/* for Z
#1=38-shift_char_X
#2=12-shift_char_Y
#3=1
call fig_character
else
#1=54-shift_char_X
#2=16-shift_char_Y
#3=1
call fig_character
endif
#1=51-shift_char_X
/* for Q
#2=16-shift_char_Y
#3=1
call fig_character
#1=41-shift_char_X
/* for Q
#2=9-shift_char_Y
#3=1
call fig_character
#2=12-shift_char_Y
call fig_character
#2=15-shift_char_Y
call fig_character
G206P0X[0-shift_grap_X]Y[0+shift_grap_Y]
color sky_blue
/* blue green for Edge
G242X[-32-shift_grap_X]Y[-32+shift_grap_Y]
G01X[152-shift_grap_X]Y[-32+shift_grap_Y]
G01X[152-shift_grap_X]Y[104+shift_grap_Y]
G01X[-32-shift_grap_X]Y[104+shift_grap_Y]
G01X[-32-shift_grap_X]Y[-32+shift_grap_Y]
/* Tool
#20=16-shift_grap_X
#21=147+shift_grap_Y
color green
G242X[#20]Y[#21+1]
G01X[#20-8+1]Y[#21+1]
G01X[#20-8-3+1]Y[#21+3*1]
G01X[#20-8 +1]Y[#21+3*2]
G01X[#20-8-3+1]Y[#21+3*3]
G01X[#20-8 +1]Y[#21+3*4]
G01X[#20-8-3+1]Y[#21+3*5]
G01X[#20-8 +1]Y[#21+3*6]
G01X[#20-8+1]Y[#21+20]
G01X[#20]Y[#21+20]
G242X[#20]Y[#21+1]
G01X[#20+8-1]Y[#21]
G01X[#20+8+3-1]Y[#21+3*1]
G01X[#20+8 -1]Y[#21+3*2]
G01X[#20+8+3-1]Y[#21+3*3]
G01X[#20+8 -1]Y[#21+3*4]
G01X[#20+8+3-1]Y[#21+3*5]
G01X[#20+8 -1]Y[#21+3*6]
G01X[#20+8-1]Y[#21+20]
G01X[#20]Y[#21+20]
G206P0X[#20]Y[#21+8]
color purple
G242X[#20]Y[#21]
G01X[#20-8]Y[#21]
G01X[#20-8-3]Y[#21+3*1]
G01X[#20-8 ]Y[#21+3*2]

/* X coordinate of Top of Tool


/* Y coordinate of Top of Tool
/* green for Inner
/* Left Side

/* Right Side

/* purple for Edge


/* Left Side

-225-

5. USER PROGRAMS FOR HOLE MACHINING MENU

5. USER PROGRAMS FOR HOLE MACHINING MENU


G01X[#20-8-3]Y[#21+3*3]
G01X[#20-8 ]Y[#21+3*4]
G01X[#20-8-3]Y[#21+3*5]
G01X[#20-8 ]Y[#21+3*6]
G01X[#20-8]Y[#21+21]
G01X[#20]Y[#21+21]
G242X[#20]Y[#21]
G01X[#20+8]Y[#21]
G01X[#20+8+3]Y[#21+3*1]
G01X[#20+8 ]Y[#21+3*2]
G01X[#20+8+3]Y[#21+3*3]
G01X[#20+8 ]Y[#21+3*4]
G01X[#20+8+3]Y[#21+3*5]
G01X[#20+8 ]Y[#21+3*6]
G01X[#20+8]Y[#21+21]
G01X[#20]Y[#21+21]

SAMPLE PROGRAM

/* Right Side

/* Circle for Point


color red
G242X[16-shift_grap_X]Y[146+shift_grap_Y]
G02X[16-shift_grap_X]Y[146+shift_grap_Y]I[16-shift_grap_X]J[144+shift_grap_Y]Q4
G206P0X[16-shift_grap_X]Y[144+shift_grap_Y]
G242X[40-shift_grap_X]Y[146+shift_grap_Y]
G02X[40-shift_grap_X]Y[146+shift_grap_Y]I[40-shift_grap_X]J[144+shift_grap_Y]Q4
G206P0X[40-shift_grap_X]Y[144+shift_grap_Y]
G242X[40-shift_grap_X]Y[122+shift_grap_Y]
G02X[40-shift_grap_X]Y[122+shift_grap_Y]I[40-shift_grap_X]J[120+shift_grap_Y]Q4
G206P0X[40-shift_grap_X]Y[120+shift_grap_Y]
G242X[104-shift_grap_X]Y[-22+shift_grap_Y]
G02X[104-shift_grap_X]Y[-22+shift_grap_Y]I[104-shift_grap_X]J[-24+shift_grap_Y]Q4
G206P0X[104-shift_grap_X]Y[-24+shift_grap_Y]
/* red for Path
color red
dot_line
#1=19-shift_grap_X
#2=144+shift_grap_Y
#3=37-shift_grap_X
#4=#2
#5=0
call fig_line
#1=40-shift_grap_X
#2=141+shift_grap_Y
#3=#1
#4=123+shift_grap_Y
#5=0
call fig_line
solid_line
#1=40-shift_grap_X
#2=117+shift_grap_Y
#3=#1
#4=73+shift_grap_Y
#5=0
call fig_line
dot_line
#1=56-shift_grap_X
#2=73+shift_grap_Y
#3=#1
#4=103+shift_grap_Y
#5=0
call fig_line
solid_line
#1=72-shift_grap_X
#2=103+shift_grap_Y
#3=#1
#4=25+shift_grap_Y
#5=0

-226-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

call fig_line
dot_line
#1=88-shift_grap_X
#2=25+shift_grap_Y
#3=#1
#4=55+shift_grap_Y
#5=0
call fig_line
solid_line
#1=104-shift_grap_X
#2=55+shift_grap_Y
#3=#1
#4=-21+shift_grap_Y
#5=0
call fig_line
#1=128-shift_grap_X
#2=-23+shift_grap_Y
#3=#1
#4=120+shift_grap_Y
#5=0
call fig_line
if[#[value 2] ne 99]then
dot_line
#1=128-shift_grap_X
#2=121+shift_grap_Y
#3=#1
#4=144+shift_grap_Y
#5=0
call fig_line
solid_line
endif
/* green Line
color green
G242X[16-shift_grap_X]Y[120+shift_grap_Y]
/* for Q
G01X[37-shift_grap_X]Y[120+shift_grap_Y]
G242X[16-shift_grap_X]Y[72+shift_grap_Y]
G01X[80-shift_grap_X]Y[72+shift_grap_Y]
G242X[16-shift_grap_X]Y[24+shift_grap_Y]
G01X[112-shift_grap_X]Y[24+shift_grap_Y]
G242X[16-shift_grap_X]Y[-24+shift_grap_Y]
G01X[101-shift_grap_X]Y[-24+shift_grap_Y]
#1=24-shift_grap_X
#2=119+shift_grap_Y
#3=#1
#4=73+shift_grap_Y
#5=2
call fig_line
#1=24-shift_grap_X
#2=71+shift_grap_Y
#3=#1
#4=25+shift_grap_Y
#5=2
call fig_line
#1=24-shift_grap_X
#2=23+shift_grap_Y
#3=#1
#4=-23+shift_grap_Y
#5=2
call fig_line
if[#[value 1] eq 91]then
/* for R & Z
G242X[-8-shift_grap_X]Y[144+shift_grap_Y]
G01X[13-shift_grap_X]Y[144+shift_grap_Y]
G242X[-8-shift_grap_X]Y[120+shift_grap_Y]
G01X[15-shift_grap_X]Y[120+shift_grap_Y]
G242X[-8-shift_grap_X]Y[-24+shift_grap_Y]
G01X[15-shift_grap_X]Y[-24+shift_grap_Y]

-227-

5. USER PROGRAMS FOR HOLE MACHINING MENU

5. USER PROGRAMS FOR HOLE MACHINING MENU

SAMPLE PROGRAM

#1=0-shift_grap_X
#2=143+shift_grap_Y
#3=#1
#4=121+shift_grap_Y
#5=2
call fig_line
#1=0-shift_grap_X
#2=119+shift_grap_Y
#3=#1
#4=-23+shift_grap_Y
#5=2
call fig_line
endif
/* Characters
if[#[value 1] eq 91]then
if[cursor eq 6]then
color -white C blue L1
else
color white C blue L0
endif
G243X[38-shift_char_X]Y[12-shift_char_Y](Z)
#1=7
call fig_cursor
G243X[38-shift_char_X]Y[7-shift_char_Y](R)
else
if[cursor eq 6]then
color -white C blue L1
else
color white C blue L0
endif
G243X[54-shift_char_X]Y[16-shift_char_Y](Z)
#1=7
call fig_cursor
G243X[41-shift_char_X]Y[7-shift_char_Y](R)
endif
if[cursor eq 8]then
color -white C blue L1
else
color white C blue L0
endif
G243X[51-shift_char_X]Y[16-shift_char_Y](P)
if[cursor eq 9]then
color -white C blue L1
else
color white C blue L0
endif
G243X[41-shift_char_X]Y[12-shift_char_Y](Q)
color white C blue L0
G243X[41-shift_char_X]Y[9-shift_char_Y](Q)
G243X[41-shift_char_X]Y[15-shift_char_Y](Q)
m99

O6094 ;############################################### G76 Fine boring cycle


/* Work
color blue
/* blue for Inner
G242X[-23-shift_grap_X]Y[-23+shift_grap_Y]
G01X[143-shift_grap_X]Y[-23+shift_grap_Y]
G01X[143-shift_grap_X]Y[71+shift_grap_Y]
G01X[-23-shift_grap_X]Y[71+shift_grap_Y]
G01X[-23-shift_grap_X]Y[-23+shift_grap_Y]
if[#[value 1] eq 91]then
/* for Z
#1=43-shift_char_X
#2=12-shift_char_Y
#3=1

-228-

B-63423EN/02

SAMPLE PROGRAM

B-63423EN/02

5. USER PROGRAMS FOR HOLE MACHINING MENU

call fig_character
else
#1=53-shift_char_X
#2=14-shift_char_Y
#3=1
call fig_character
endif
#1=49-shift_char_X
/* for Q
#2=13-shift_char_Y
#3=1
call fig_character
#1=46-shift_char_X
/* for P
#2=15-shift_char_Y
#3=1
call fig_character
G206P0X[0-shift_grap_X]Y[0+shift_grap_Y]
color sky_blue
/* blue green for Edge
G242X[-24-shift_grap_X]Y[-24+shift_grap_Y]
G01X[144-shift_grap_X]Y[-24+shift_grap_Y]
G01X[144-shift_grap_X]Y[72+shift_grap_Y]
G01X[-24-shift_grap_X]Y[72+shift_grap_Y]
G01X[-24-shift_grap_X]Y[-24+shift_grap_Y]
/* Tool
#20=24-shift_grap_X
#21=123+shift_grap_Y
color green
G242X[#20+1]Y[#21+1]
G01X[#20+5]Y[#21+4]
G01X[#20+5]Y[#21+20]
G01X[#20+4+12]Y[#21+20]
G01X[#20+4+12]Y[#21+1]
G01X[#20+1]Y[#21+1]
G206P0X[#20+8]Y[#21+5]
color purple
G242X[#20]Y[#21]
G01X[#20+4]Y[#21+4]
G01X[#20+4]Y[#21+21]
G01X[#20+4+13]Y[#21+21]
G01X[#20+4+13]Y[#21]
G01X[#20]Y[#21]

/* X coordinate of Top of Tool


/* Y coordinate of Top of Tool
/* green for Inner

/* purple for Edge

/* Circle for Point


color red
G242X[24-shift_grap_X]Y[122+shift_grap_Y]
G02X[24-shift_grap_X]Y[122+shift_grap_Y]I[24-shift_grap_X]J[120+shift_grap_Y]Q4
G206P0X[24-shift_grap_X]Y[120+shift_grap_Y]
G242X[56-shift_grap_X]Y[122+shift_grap_Y]
G02X[56-shift_grap_X]Y[122+shift_grap_Y]I[56-shift_grap_X]J[120+shift_grap_Y]Q4
G206P0X[56-shift_grap_X]Y[120+shift_grap_Y]
G242X[56-shift_grap_X]Y[90+shift_grap_Y]
G02X[56-shift_grap_X]Y[90+shift_grap_Y]I[56-shift_grap_X]J[88+shift_grap_Y]Q4
G206P0X[56-shift_grap_X]Y[88+shift_grap_Y]
G242X[56-shift_grap_X]Y[10+shift_grap_Y]
G02X[56-shift_grap_X]Y[10+shift_grap_Y]I[56-shift_grap_X]J[8+shift_grap_Y]Q4
G206P0X[56-shift_grap_X]Y[8+shift_grap_Y]
G242X[96-shift_grap_X]Y[10+shift_grap_Y]
G02X[96-shift_grap_X]Y[10+shift_grap_Y]I[96-shift_grap_X]J[8+shift_grap_Y]Q4
G206P0X[96-shift_grap_X]Y[8+shift_grap_Y]
if[#[value 2] eq 99]then
G242X[96-shift_grap_X]Y[90+shift_grap_Y]
G02X[96-shift_grap_X]Y[90+shift_grap_Y]I[96-shift_grap_X]J[88+shift_grap_Y]Q4
G206P0X[96-shift_grap_X]Y[88+shift_grap_Y]
else
G242X[96-shift_grap_X]Y[122+shift_grap_Y]
;
G02X[96-shift_grap_X]Y[122+shift_grap_Y]I[96-shift_grap_X]J[120+shift_grap_Y]Q4
G206P0X[96-shift_grap_X]Y[120+shift_grap_Y]

-229-

5. USER PROGRAMS FOR HOLE MACHINING MENU

SAMPLE PROGRAM

endif
/* red for Path
color red
dot_line
#1=27-shift_grap_X
#2=120+shift_grap_Y
#3=53-shift_grap_X
#4=#2
#5=0
call fig_line
#1=56-shift_grap_X
#2=117+shift_grap_Y
#3=#1
#4=91+shift_grap_Y
#5=0
call fig_line
solid_line
#1=56-shift_grap_X
#2=85+shift_grap_Y
#3=#1
#4=11+shift_grap_Y
#5=0
call fig_line
dot_line
#1=96-shift_grap_X
#2=11+shift_grap_Y
#3=#1
if[#[value 2] eq 99]then
#4=85+shift_grap_Y
else
#4=117+shift_grap_Y
endif
#5=0
call fig_line
/* Shift
solid_line
#1=59-shift_grap_X
#2=8+shift_grap_Y
#3=93-shift_grap_X
call fig_shift
if[#[value 2] eq 99]then
#1=93-shift_grap_X
#2=88+shift_grap_Y
#3=59-shift_grap_X
call fig_shift
else
#1=93-shift_grap_X
#2=120+shift_grap_Y
#3=59-shift_grap_X
call fig_shift
endif

/* green Line
color green
#1=57-shift_grap_X
/* for Q
#2=20+shift_grap_Y
#3=95-shift_grap_X
#4=#2
#5=2
call fig_line
if[#[value 1] eq 91]then
/* for R & Z
G242X[32-shift_grap_X]Y[88+shift_grap_Y]
G01X[53-shift_grap_X]Y[88+shift_grap_Y]
G242X[32-shift_grap_X]Y[8+shift_grap_Y]
G01X[53-shift_grap_X]Y[8+shift_grap_Y]

-230-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

5. USER PROGRAMS FOR HOLE MACHINING MENU

#1=40-shift_grap_X
#2=119+shift_grap_Y
#3=#1
#4=89+shift_grap_Y
#5=2
call fig_line
#1=40-shift_grap_X
#2=87+shift_grap_Y
#3=#1
#4=9+shift_grap_Y
#5=2
call fig_line
endif
/* Characters
if[#[value 1] eq 91]then
if[cursor eq 6]then
color -white C blue L1
else
color white C blue L0
endif
G243X[43-shift_char_X]Y[12-shift_char_Y](Z)
#1=7
call fig_cursor
G243X[43-shift_char_X]Y[9-shift_char_Y](R)
else
if[cursor eq 6]then
color -white C blue L1
else
color white C blue L0
endif
G243X[53-shift_char_X]Y[14-shift_char_Y](Z)
#1=7
call fig_cursor
G243X[45-shift_char_X]Y[9-shift_char_Y](R)
endif
if[cursor eq 8]then
color -white C blue L1
else
color white C blue L0
endif
G243X[49-shift_char_X]Y[13-shift_char_Y](Q)
if[cursor eq 9]then
color -white C blue L1
else
color white C blue L0
endif
G243X[46-shift_char_X]Y[15-shift_char_Y](P)
cursor_off
m99

O6095 ;############################################### G81 Drilling cycle, spot drilling cycle


/* Work
color blue
/* blue for Inner
G242X[-23-shift_grap_X]Y[-23+shift_grap_Y]
G01X[143-shift_grap_X]Y[-23+shift_grap_Y]
G01X[143-shift_grap_X]Y[71+shift_grap_Y]
G01X[-23-shift_grap_X]Y[71+shift_grap_Y]
G01X[-23-shift_grap_X]Y[-23+shift_grap_Y]
if[#[value 1] eq 91]then
/* for Z
#1=43-shift_char_X
#2=12-shift_char_Y
#3=1
call fig_character
else

-231-

5. USER PROGRAMS FOR HOLE MACHINING MENU

SAMPLE PROGRAM

#1=50-shift_char_X
#2=14-shift_char_Y
#3=1
call fig_character
endif
G206P0X[0-shift_grap_X]Y[0+shift_grap_Y]
color sky_blue
/* blue green for Edge
G242X[-24-shift_grap_X]Y[-24+shift_grap_Y]
G01X[144-shift_grap_X]Y[-24+shift_grap_Y]
G01X[144-shift_grap_X]Y[72+shift_grap_Y]
G01X[-24-shift_grap_X]Y[72+shift_grap_Y]
G01X[-24-shift_grap_X]Y[-24+shift_grap_Y]
/* Tool
#20=24-shift_grap_X
#21=123+shift_grap_Y
color green
G242X[#20]Y[#21+1]
G01X[#20-7]Y[#21+5]
G01X[#20-7]Y[#21+20]
G01X[#20+7]Y[#21+20]
G01X[#20+7]Y[#21+5]
G01X[#20]Y[#21+1]
G206P0X[#20]Y[#21+5]
color purple
G242X[#20]Y[#21]
G01X[#20-8]Y[#21+5]
G01X[#20-8]Y[#21+21]
G01X[#20+8]Y[#21+21]
G01X[#20+8]Y[#21+5]
G01X[#20]Y[#21]

/* X coordinate of Top of Tool


/* Y coordinate of Top of Tool
/* green for Inner

/* purple for Edge

/* Circle for Point


color red
G242X[24-shift_grap_X]Y[122+shift_grap_Y]
G02X[24-shift_grap_X]Y[122+shift_grap_Y]I[24-shift_grap_X]J[120+shift_grap_Y]Q4
G206P0X[24-shift_grap_X]Y[120+shift_grap_Y]
G242X[56-shift_grap_X]Y[122+shift_grap_Y]
G02X[56-shift_grap_X]Y[122+shift_grap_Y]I[56-shift_grap_X]J[120+shift_grap_Y]Q4
G206P0X[56-shift_grap_X]Y[120+shift_grap_Y]
G242X[56-shift_grap_X]Y[90+shift_grap_Y]
G02X[56-shift_grap_X]Y[90+shift_grap_Y]I[56-shift_grap_X]J[88+shift_grap_Y]Q4
G206P0X[56-shift_grap_X]Y[88+shift_grap_Y]
G242X[56-shift_grap_X]Y[10+shift_grap_Y]
G02X[56-shift_grap_X]Y[10+shift_grap_Y]I[56-shift_grap_X]J[8+shift_grap_Y]Q4
G206P0X[56-shift_grap_X]Y[8+shift_grap_Y]
G242X[72-shift_grap_X]Y[10+shift_grap_Y]
G02X[72-shift_grap_X]Y[10+shift_grap_Y]I[72-shift_grap_X]J[8+shift_grap_Y]Q4
G206P0X[72-shift_grap_X]Y[8+shift_grap_Y]
if[#[value 2] eq 99]then
G242X[72-shift_grap_X]Y[90+shift_grap_Y]
G02X[72-shift_grap_X]Y[90+shift_grap_Y]I[72-shift_grap_X]J[88+shift_grap_Y]Q4
G206P0X[72-shift_grap_X]Y[88+shift_grap_Y]
else
G242X[72-shift_grap_X]Y[122+shift_grap_Y]
G02X[72-shift_grap_X]Y[122+shift_grap_Y]I[72-shift_grap_X]J[120+shift_grap_Y]Q4
G206P0X[72-shift_grap_X]Y[120+shift_grap_Y]
endif
/* red for Path
color red
dot_line
#1=27-shift_grap_X
#2=120+shift_grap_Y
#3=53-shift_grap_X
#4=#2
#5=0

-232-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

call fig_line
#1=56-shift_grap_X
#2=117+shift_grap_Y
#3=#1
#4=91+shift_grap_Y
#5=0
call fig_line
solid_line
#1=56-shift_grap_X
#2=85+shift_grap_Y
#3=#1
#4=11+shift_grap_Y
#5=0
call fig_line
dot_line
#1=72-shift_grap_X
#2=11+shift_grap_Y
#3=#1
if[#[value 2] eq 99]then
#4=85+shift_grap_Y
else
#4=117+shift_grap_Y
endif
#5=0
call fig_line
solid_line
/* green Line
color green
if[#[value 1] eq 91]then
/* for R & Z
G242X[32-shift_grap_X]Y[88+shift_grap_Y]
G01X[53-shift_grap_X]Y[88+shift_grap_Y]
G242X[32-shift_grap_X]Y[8+shift_grap_Y]
G01X[53-shift_grap_X]Y[8+shift_grap_Y]
#1=40-shift_grap_X
#2=119+shift_grap_Y
#3=#1
#4=89+shift_grap_Y
#5=2
call fig_line
#1=40-shift_grap_X
#2=87+shift_grap_Y
#3=#1
#4=9+shift_grap_Y
#5=2
call fig_line
endif
/* Characters
G240P7C0
if[#[value 1] eq 91]then
if[cursor eq 6]then
color -white C blue L1
else
color white C blue L0
endif
G243X[43-shift_char_X]Y[12-shift_char_Y](Z)
#1=7
call fig_cursor
G243X[43-shift_char_X]Y[9-shift_char_Y](R)
if[cursor eq 10]then
if[previous_cursor ne 3]then
cursor_off
G243X[43-shift_char_X]Y[9-shift_char_Y](R)
endif
endif
else

-233-

5. USER PROGRAMS FOR HOLE MACHINING MENU

5. USER PROGRAMS FOR HOLE MACHINING MENU

SAMPLE PROGRAM

if[cursor eq 6]then
color -white C blue L1
else
color white C blue L0
endif
G243X[50-shift_char_X]Y[14-shift_char_Y](Z)
#1=7
call fig_cursor
G243X[45-shift_char_X]Y[9-shift_char_Y](R)
if[cursor eq 10]then
if[previous_cursor ne 3]then
cursor_off
G243X[45-shift_char_X]Y[9-shift_char_Y](R)
endif
endif
endif
cursor_off
m99

O6096 ;############################################### G82 Drilling cycle, counter boring cycle


/* Work
color blue
/* blue for Inner
G242X[-23-shift_grap_X]Y[-23+shift_grap_Y]
G01X[143-shift_grap_X]Y[-23+shift_grap_Y]
G01X[143-shift_grap_X]Y[71+shift_grap_Y]
G01X[-23-shift_grap_X]Y[71+shift_grap_Y]
G01X[-23-shift_grap_X]Y[-23+shift_grap_Y]
if[#[value 1] eq 91]then
/* for Z
#1=43-shift_char_X
#2=12-shift_char_Y
#3=1
call fig_character
else
#1=50-shift_char_X
#2=14-shift_char_Y
#3=1
call fig_character
endif
#1=46-shift_char_X
#2=15-shift_char_Y
#3=1
call fig_character
G206P0X[0-shift_grap_X]Y[0+shift_grap_Y]
color sky_blue
/* blue green for Edge
G242X[-24-shift_grap_X]Y[-24+shift_grap_Y]
G01X[144-shift_grap_X]Y[-24+shift_grap_Y]
G01X[144-shift_grap_X]Y[72+shift_grap_Y]
G01X[-24-shift_grap_X]Y[72+shift_grap_Y]
G01X[-24-shift_grap_X]Y[-24+shift_grap_Y]
/* Tool
#20=24-shift_grap_X
#21=123+shift_grap_Y
color green
G242X[#20]Y[#21+1]
G01X[#20-7]Y[#21+5]
G01X[#20-7]Y[#21+20]
G01X[#20+7]Y[#21+20]
G01X[#20+7]Y[#21+5]
G01X[#20]Y[#21+1]
G206P0X[#20]Y[#21+5]
color purple
G242X[#20]Y[#21]
G01X[#20-8]Y[#21+5]
G01X[#20-8]Y[#21+21]

/* X coordinate of Top of Tool


/* Y coordinate of Top of Tool
/* green for Inner

/* purple for Edge

-234-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

5. USER PROGRAMS FOR HOLE MACHINING MENU

G01X[#20+8]Y[#21+21]
G01X[#20+8]Y[#21+5]
G01X[#20]Y[#21]
/* Circle for Point
color red
G242X[24-shift_grap_X]Y[122+shift_grap_Y]
G02X[24-shift_grap_X]Y[122+shift_grap_Y]I[24-shift_grap_X]J[120+shift_grap_Y]Q4
G206P0X[24-shift_grap_X]Y[120+shift_grap_Y]
G242X[56-shift_grap_X]Y[122+shift_grap_Y]
G02X[56-shift_grap_X]Y[122+shift_grap_Y]I[56-shift_grap_X]J[120+shift_grap_Y]Q4
G206P0X[56-shift_grap_X]Y[120+shift_grap_Y]
G242X[56-shift_grap_X]Y[90+shift_grap_Y]
G02X[56-shift_grap_X]Y[90+shift_grap_Y]I[56-shift_grap_X]J[88+shift_grap_Y]Q4
G206P0X[56-shift_grap_X]Y[88+shift_grap_Y]
G242X[56-shift_grap_X]Y[10+shift_grap_Y]
G02X[56-shift_grap_X]Y[10+shift_grap_Y]I[56-shift_grap_X]J[8+shift_grap_Y]Q4
G206P0X[56-shift_grap_X]Y[8+shift_grap_Y]
G242X[72-shift_grap_X]Y[10+shift_grap_Y]
G02X[72-shift_grap_X]Y[10+shift_grap_Y]I[72-shift_grap_X]J[8+shift_grap_Y]Q4
G206P0X[72-shift_grap_X]Y[8+shift_grap_Y]
if[#[value 2] eq 99]then
G242X[72-shift_grap_X]Y[90+shift_grap_Y]
G02X[72-shift_grap_X]Y[90+shift_grap_Y]I[72-shift_grap_X]J[88+shift_grap_Y]Q4
G206P0X[72-shift_grap_X]Y[88+shift_grap_Y]
else
G242X[72-shift_grap_X]Y[122+shift_grap_Y]
G02X[72-shift_grap_X]Y[122+shift_grap_Y]I[72-shift_grap_X]J[120+shift_grap_Y]Q4
G206P0X[72-shift_grap_X]Y[120+shift_grap_Y]
endif
/* red for Path
color red
dot_line
#1=27-shift_grap_X
#2=120+shift_grap_Y
#3=53-shift_grap_X
#4=#2
#5=0
call fig_line
#1=56-shift_grap_X
#2=117+shift_grap_Y
#3=#1
#4=91+shift_grap_Y
#5=0
call fig_line
solid_line
#1=56-shift_grap_X
#2=85+shift_grap_Y
#3=#1
#4=11+shift_grap_Y
#5=0
call fig_line
dot_line
#1=72-shift_grap_X
#2=11+shift_grap_Y
#3=#1
if[#[value 2] eq 99]then
#4=85+shift_grap_Y
else
#4=117+shift_grap_Y
endif
#5=0
call fig_line
solid_line
/* green Line

-235-

5. USER PROGRAMS FOR HOLE MACHINING MENU

SAMPLE PROGRAM

color green
if[#[value 1] eq 91]then
/* for R & Z
G242X[32-shift_grap_X]Y[88+shift_grap_Y]
G01X[53-shift_grap_X]Y[88+shift_grap_Y]
G242X[32-shift_grap_X]Y[8+shift_grap_Y]
G01X[53-shift_grap_X]Y[8+shift_grap_Y]
#1=40-shift_grap_X
#2=119+shift_grap_Y
#3=#1
#4=89+shift_grap_Y
#5=2
call fig_line
#1=40-shift_grap_X
#2=87+shift_grap_Y
#3=#1
#4=9+shift_grap_Y
#5=2
call fig_line
endif
/* Characters
G240P7C0
if[#[value 1] eq 91]then
if[cursor eq 6]then
color -white C blue L1
else
color white C blue L0
endif
G243X[43-shift_char_X]Y[12-shift_char_Y](Z)
#1=7
call fig_cursor
G243X[43-shift_char_X]Y[9-shift_char_Y](R)
else
if[cursor eq 6]then
color -white C blue L1
else
color white C blue L0
endif
G243X[50-shift_char_X]Y[14-shift_char_Y](Z)
#1=7
call fig_cursor
G243X[45-shift_char_X]Y[9-shift_char_Y](R)
endif
if[cursor eq 8]then
color -white C blue L1
else
color white C blue L0
endif
G243X[46-shift_char_X]Y[15-shift_char_Y](P)
cursor_off
m99

O6097 ;############################################### G83 Peck drilling cycle


/* Work
color blue
/* blue for Inner
G242X[-31-shift_grap_X]Y[-31+shift_grap_Y]
G01X[151-shift_grap_X]Y[-31+shift_grap_Y]
G01X[151-shift_grap_X]Y[103+shift_grap_Y]
G01X[-31-shift_grap_X]Y[103+shift_grap_Y]
G01X[-31-shift_grap_X]Y[-31+shift_grap_Y]
if[#[value 1] eq 91]then
/* for Z
#1=38-shift_char_X
#2=12-shift_char_Y
#3=1
call fig_character

-236-

B-63423EN/02

SAMPLE PROGRAM

B-63423EN/02

5. USER PROGRAMS FOR HOLE MACHINING MENU

else
#1=54-shift_char_X
#2=16-shift_char_Y
#3=1
call fig_character
endif
#1=51-shift_char_X
/* for P
#2=16-shift_char_Y
#3=1
call fig_character
#1=41-shift_char_X
/* for Q
#2=9-shift_char_Y
#3=1
call fig_character
#2=12-shift_char_Y
call fig_character
#2=15-shift_char_Y
call fig_character
G206P0X[0-shift_grap_X]Y[0+shift_grap_Y]
color sky_blue
/* blue green for Edge
G242X[-32-shift_grap_X]Y[-32+shift_grap_Y]
G01X[152-shift_grap_X]Y[-32+shift_grap_Y]
G01X[152-shift_grap_X]Y[104+shift_grap_Y]
G01X[-32-shift_grap_X]Y[104+shift_grap_Y]
G01X[-32-shift_grap_X]Y[-32+shift_grap_Y]
/* Tool
#20=16-shift_grap_X
#21=147+shift_grap_Y
color green
G242X[#20]Y[#21+1]
G01X[#20-7]Y[#21+5]
G01X[#20-7]Y[#21+20]
G01X[#20+7]Y[#21+20]
G01X[#20+7]Y[#21+5]
G01X[#20]Y[#21+1]
G206P0X[#20]Y[#21+5]
color purple
G242X[#20]Y[#21]
G01X[#20-8]Y[#21+5]
G01X[#20-8]Y[#21+21]
G01X[#20+8]Y[#21+21]
G01X[#20+8]Y[#21+5]
G01X[#20]Y[#21]

/* X coordinate of Top of Tool


/* Y coordinate of Top of Tool
/* green for Inner

/* purple for Edge

/* Circle for Point


color red
G242X[16-shift_grap_X]Y[146+shift_grap_Y]
G02X[16-shift_grap_X]Y[146+shift_grap_Y]I[16-shift_grap_X]J[144+shift_grap_Y]Q4
G206P0X[16-shift_grap_X]Y[144+shift_grap_Y]
G242X[40-shift_grap_X]Y[146+shift_grap_Y]
G02X[40-shift_grap_X]Y[146+shift_grap_Y]I[40-shift_grap_X]J[144+shift_grap_Y]Q4
G206P0X[40-shift_grap_X]Y[144+shift_grap_Y]
G242X[40-shift_grap_X]Y[122+shift_grap_Y]
G02X[40-shift_grap_X]Y[122+shift_grap_Y]I[40-shift_grap_X]J[120+shift_grap_Y]Q4
G206P0X[40-shift_grap_X]Y[120+shift_grap_Y]
G242X[40-shift_grap_X]Y[74+shift_grap_Y]
G02X[40-shift_grap_X]Y[74+shift_grap_Y]I[40-shift_grap_X]J[72+shift_grap_Y]Q4
G206P0X[40-shift_grap_X]Y[72+shift_grap_Y]
G242X[72-shift_grap_X]Y[26+shift_grap_Y]
G02X[72-shift_grap_X]Y[26+shift_grap_Y]I[72-shift_grap_X]J[24+shift_grap_Y]Q4
G206P0X[72-shift_grap_X]Y[24+shift_grap_Y]
G242X[104-shift_grap_X]Y[-22+shift_grap_Y]
G02X[104-shift_grap_X]Y[-22+shift_grap_Y]I[104-shift_grap_X]J[-24+shift_grap_Y]Q4
G206P0X[104-shift_grap_X]Y[-24+shift_grap_Y]
/* red for Path

-237-

5. USER PROGRAMS FOR HOLE MACHINING MENU

SAMPLE PROGRAM

color red
dot_line
#1=19-shift_grap_X
#2=144+shift_grap_Y
#3=37-shift_grap_X
#4=#2
#5=0
call fig_line
#1=40-shift_grap_X
#2=141+shift_grap_Y
#3=#1
#4=123+shift_grap_Y
#5=0
call fig_line
solid_line
#1=40-shift_grap_X
#2=117+shift_grap_Y
#3=#1
#4=75+shift_grap_Y
#5=0
call fig_line
dot_line
#1=56-shift_grap_X
#2=73+shift_grap_Y
#3=#1
#4=119+shift_grap_Y
#5=0
call fig_line
G242X[72-shift_grap_X]Y[119+shift_grap_Y]
G01X[72-shift_grap_X]Y[88+shift_grap_Y]
solid_line
#1=72-shift_grap_X
#2=87+shift_grap_Y
#3=#1
#4=27+shift_grap_Y
#5=0
call fig_line
dot_line
#1=88-shift_grap_X
#2=25+shift_grap_Y
#3=#1
#4=119+shift_grap_Y
#5=0
call fig_line
G242X[104-shift_grap_X]Y[119+shift_grap_Y]
G01X[104-shift_grap_X]Y[88+shift_grap_Y]
solid_line
#1=104-shift_grap_X
#2=87+shift_grap_Y
#3=#1
#4=-21+shift_grap_Y
#5=0
call fig_line
dot_line
#1=128-shift_grap_X
#2=-23+shift_grap_Y
#3=#1
if[#[value 2] eq 99]then
#4=119+shift_grap_Y
else
#4=143+shift_grap_Y
endif
#5=0
call fig_line
solid_line
/* green Line

-238-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

color green
G242X[16-shift_grap_X]Y[120+shift_grap_Y]
/* for Q
G01X[37-shift_grap_X]Y[120+shift_grap_Y]
G242X[43-shift_grap_X]Y[120+shift_grap_Y]
G01X[112-shift_grap_X]Y[120+shift_grap_Y]
G242X[16-shift_grap_X]Y[72+shift_grap_Y]
G01X[37-shift_grap_X]Y[72+shift_grap_Y]
G242X[43-shift_grap_X]Y[72+shift_grap_Y]
G01X[64-shift_grap_X]Y[72+shift_grap_Y]
G242X[16-shift_grap_X]Y[24+shift_grap_Y]
G01X[69-shift_grap_X]Y[24+shift_grap_Y]
G242X[75-shift_grap_X]Y[24+shift_grap_Y]
G01X[96-shift_grap_X]Y[24+shift_grap_Y]
G242X[16-shift_grap_X]Y[-24+shift_grap_Y]
G01X[101-shift_grap_X]Y[-24+shift_grap_Y]
G242X[107-shift_grap_X]Y[-24+shift_grap_Y]
G01X[136-shift_grap_X]Y[-24+shift_grap_Y]
#1=24-shift_grap_X
#2=119+shift_grap_Y
#3=#1
#4=73+shift_grap_Y
#5=2
call fig_line
#1=24-shift_grap_X
#2=71+shift_grap_Y
#3=#1
#4=25+shift_grap_Y
#5=2
call fig_line
#1=24-shift_grap_X
#2=23+shift_grap_Y
#3=#1
#4=-23+shift_grap_Y
#5=2
call fig_line
if[#[value 1] eq 91]then
/* for R & Z
G242X[-8-shift_grap_X]Y[144+shift_grap_Y]
G01X[13-shift_grap_X]Y[144+shift_grap_Y]
G242X[-8-shift_grap_X]Y[120+shift_grap_Y]
G01X[15-shift_grap_X]Y[120+shift_grap_Y]
G242X[-8-shift_grap_X]Y[-24+shift_grap_Y]
G01X[15-shift_grap_X]Y[-24+shift_grap_Y]
#1=0-shift_grap_X
#2=143+shift_grap_Y
#3=#1
#4=121+shift_grap_Y
#5=2
call fig_line
#1=0-shift_grap_X
#2=119+shift_grap_Y
#3=#1
#4=-23+shift_grap_Y
#5=2
call fig_line
endif
if[#[value 2] eq 99]then
G242X[113-shift_grap_X]Y[120+shift_grap_Y]
G01X[136-shift_grap_X]Y[120+shift_grap_Y]
else
G242X[43-shift_grap_X]Y[144+shift_grap_Y]
G01X[136-shift_grap_X]Y[144+shift_grap_Y]
endif
/* Characters
if[#[value 1] eq 91]then
if[cursor eq 6]then
color -white C blue L1

-239-

5. USER PROGRAMS FOR HOLE MACHINING MENU

5. USER PROGRAMS FOR HOLE MACHINING MENU

SAMPLE PROGRAM

else
color white C blue L0
endif
G243X[38-shift_char_X]Y[12-shift_char_Y](Z)
#1=7
call fig_cursor
G243X[38-shift_char_X]Y[7-shift_char_Y](R)
else
if[cursor eq 6]then
color -white C blue L1
else
color white C blue L0
endif
G243X[54-shift_char_X]Y[16-shift_char_Y](Z)
#1=7
call fig_cursor
G243X[41-shift_char_X]Y[7-shift_char_Y](R)
endif
if[cursor eq 9]then
color -white C blue L1
else
color white C blue L0
endif
G243X[41-shift_char_X]Y[12-shift_char_Y](Q)
color white C blue L0
G243X[41-shift_char_X]Y[9-shift_char_Y](Q)
G243X[41-shift_char_X]Y[15-shift_char_Y](Q)
if[cursor eq 12]then
color -white C blue L1
else
color white C blue L0
endif
G243X[51-shift_char_X]Y[16-shift_char_Y](P)
cursor_off
m99

O6098 ;############################################### G84 Tapping cycle


/* Work
color blue
/* blue for Inner
G242X[-31-shift_grap_X]Y[-31+shift_grap_Y]
G01X[151-shift_grap_X]Y[-31+shift_grap_Y]
G01X[151-shift_grap_X]Y[103+shift_grap_Y]
G01X[-31-shift_grap_X]Y[103+shift_grap_Y]
G01X[-31-shift_grap_X]Y[-31+shift_grap_Y]
if[#[value 1] eq 91]then
/* for Z
#1=38-shift_char_X
#2=12-shift_char_Y
#3=1
call fig_character
else
#1=54-shift_char_X
#2=16-shift_char_Y
#3=1
call fig_character
endif
#1=41-shift_char_X
/* for Q
#2=9-shift_char_Y
#3=1
call fig_character
#2=12-shift_char_Y
call fig_character
#2=15-shift_char_Y
call fig_character
G206P0X[0-shift_grap_X]Y[0+shift_grap_Y]
color sky_blue
/* blue green for Edge

-240-

B-63423EN/02

SAMPLE PROGRAM

B-63423EN/02

5. USER PROGRAMS FOR HOLE MACHINING MENU

G242X[-32-shift_grap_X]Y[-32+shift_grap_Y]
G01X[152-shift_grap_X]Y[-32+shift_grap_Y]
G01X[152-shift_grap_X]Y[104+shift_grap_Y]
G01X[-32-shift_grap_X]Y[104+shift_grap_Y]
G01X[-32-shift_grap_X]Y[-32+shift_grap_Y]
/* Tool
#20=16-shift_grap_X
#21=147+shift_grap_Y
color green
G242X[#20]Y[#21+1]
G01X[#20-8+1]Y[#21+1]
G01X[#20-8-3+1]Y[#21+3*1]
G01X[#20-8 +1]Y[#21+3*2]
G01X[#20-8-3+1]Y[#21+3*3]
G01X[#20-8 +1]Y[#21+3*4]
G01X[#20-8-3+1]Y[#21+3*5]
G01X[#20-8 +1]Y[#21+3*6]
G01X[#20-8+1]Y[#21+20]
G01X[#20]Y[#21+20]
G242X[#20]Y[#21+1]
G01X[#20+8-1]Y[#21]
G01X[#20+8+3-1]Y[#21+3*1]
G01X[#20+8 -1]Y[#21+3*2]
G01X[#20+8+3-1]Y[#21+3*3]
G01X[#20+8 -1]Y[#21+3*4]
G01X[#20+8+3-1]Y[#21+3*5]
G01X[#20+8 -1]Y[#21+3*6]
G01X[#20+8-1]Y[#21+20]
G01X[#20]Y[#21+20]
G206P0X[#20]Y[#21+8]
color purple
G242X[#20]Y[#21]
G01X[#20-8]Y[#21]
G01X[#20-8-3]Y[#21+3*1]
G01X[#20-8 ]Y[#21+3*2]
G01X[#20-8-3]Y[#21+3*3]
G01X[#20-8 ]Y[#21+3*4]
G01X[#20-8-3]Y[#21+3*5]
G01X[#20-8 ]Y[#21+3*6]
G01X[#20-8]Y[#21+21]
G01X[#20]Y[#21+21]
G242X[#20]Y[#21]
G01X[#20+8]Y[#21]
G01X[#20+8+3]Y[#21+3*1]
G01X[#20+8 ]Y[#21+3*2]
G01X[#20+8+3]Y[#21+3*3]
G01X[#20+8 ]Y[#21+3*4]
G01X[#20+8+3]Y[#21+3*5]
G01X[#20+8 ]Y[#21+3*6]
G01X[#20+8]Y[#21+21]
G01X[#20]Y[#21+21]

/* X coordinate of Top of Tool


/* Y coordinate of Top of Tool
/* green for Inner
/* Left Side

/* Right Side

/* purple for Edge


/* Left Side

/* Right Side

/* Circle for Point


color red
G242X[16-shift_grap_X]Y[146+shift_grap_Y]
G02X[16-shift_grap_X]Y[146+shift_grap_Y]I[16-shift_grap_X]J[144+shift_grap_Y]Q4
G206P0X[16-shift_grap_X]Y[144+shift_grap_Y]
G242X[40-shift_grap_X]Y[146+shift_grap_Y]
G02X[40-shift_grap_X]Y[146+shift_grap_Y]I[40-shift_grap_X]J[144+shift_grap_Y]Q4
G206P0X[40-shift_grap_X]Y[144+shift_grap_Y]
G242X[40-shift_grap_X]Y[122+shift_grap_Y]
G02X[40-shift_grap_X]Y[122+shift_grap_Y]I[40-shift_grap_X]J[120+shift_grap_Y]Q4
G206P0X[40-shift_grap_X]Y[120+shift_grap_Y]
G242X[104-shift_grap_X]Y[-22+shift_grap_Y]
G02X[104-shift_grap_X]Y[-22+shift_grap_Y]I[104-shift_grap_X]J[-24+shift_grap_Y]Q4
G206P0X[104-shift_grap_X]Y[-24+shift_grap_Y]

-241-

5. USER PROGRAMS FOR HOLE MACHINING MENU

SAMPLE PROGRAM

/* red for Path


color red
dot_line
#1=19-shift_grap_X
#2=144+shift_grap_Y
#3=37-shift_grap_X
#4=#2
#5=0
call fig_line
#1=40-shift_grap_X
#2=141+shift_grap_Y
#3=#1
#4=123+shift_grap_Y
#5=0
call fig_line
solid_line
#1=40-shift_grap_X
#2=117+shift_grap_Y
#3=#1
#4=73+shift_grap_Y
#5=0
call fig_line
dot_line
#1=56-shift_grap_X
#2=73+shift_grap_Y
#3=#1
#4=103+shift_grap_Y
#5=0
call fig_line
solid_line
#1=72-shift_grap_X
#2=103+shift_grap_Y
#3=#1
#4=25+shift_grap_Y
#5=0
call fig_line
dot_line
#1=88-shift_grap_X
#2=25+shift_grap_Y
#3=#1
#4=55+shift_grap_Y
#5=0
call fig_line
solid_line
#1=104-shift_grap_X
#2=55+shift_grap_Y
#3=#1
#4=-21+shift_grap_Y
#5=0
call fig_line
#1=128-shift_grap_X
#2=-23+shift_grap_Y
#3=#1
#4=119+shift_grap_Y
#5=0
call fig_line
if[#[value 2] ne 99]then
dot_line
#1=128-shift_grap_X
#2=121+shift_grap_Y
#3=#1
#4=143+shift_grap_Y
#5=0
call fig_line
solid_line
endif

-242-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

/* green Line
color green
G242X[16-shift_grap_X]Y[120+shift_grap_Y]
/* for Q
G01X[37-shift_grap_X]Y[120+shift_grap_Y]
G242X[43-shift_grap_X]Y[120+shift_grap_Y]
G01X[136-shift_grap_X]Y[120+shift_grap_Y]
G242X[16-shift_grap_X]Y[72+shift_grap_Y]
G01X[64-shift_grap_X]Y[72+shift_grap_Y]
G242X[16-shift_grap_X]Y[24+shift_grap_Y]
G01X[96-shift_grap_X]Y[24+shift_grap_Y]
G242X[16-shift_grap_X]Y[-24+shift_grap_Y]
G01X[101-shift_grap_X]Y[-24+shift_grap_Y]
#1=24-shift_grap_X
#2=119+shift_grap_Y
#3=#1
#4=73+shift_grap_Y
#5=2
call fig_line
#1=24-shift_grap_X
#2=71+shift_grap_Y
#3=#1
#4=25+shift_grap_Y
#5=2
call fig_line
#1=24-shift_grap_X
#2=23+shift_grap_Y
#3=#1
#4=-23+shift_grap_Y
#5=2
call fig_line
if[#[value 1] eq 91]then
/* for R & Z
G242X[-8-shift_grap_X]Y[144+shift_grap_Y]
G01X[13-shift_grap_X]Y[144+shift_grap_Y]
G242X[-8-shift_grap_X]Y[120+shift_grap_Y]
G01X[15-shift_grap_X]Y[120+shift_grap_Y]
G242X[-8-shift_grap_X]Y[-24+shift_grap_Y]
G01X[15-shift_grap_X]Y[-24+shift_grap_Y]
#1=0-shift_grap_X
#2=143+shift_grap_Y
#3=#1
#4=121+shift_grap_Y
#5=2
call fig_line
#1=0-shift_grap_X
#2=119+shift_grap_Y
#3=#1
#4=-23+shift_grap_Y
#5=2
call fig_line
endif
/* Characters
if[#[value 1] eq 91]then
if[cursor eq 5]then
color -white C blue L1
else
color white C blue L0
endif
G243X[38-shift_char_X]Y[12-shift_char_Y](Z)
#1=6
call fig_cursor
G243X[38-shift_char_X]Y[7-shift_char_Y](R)
else
if[cursor eq 5]then
color -white C blue L1
else

-243-

5. USER PROGRAMS FOR HOLE MACHINING MENU

5. USER PROGRAMS FOR HOLE MACHINING MENU

SAMPLE PROGRAM

color white C blue L0


endif
G243X[54-shift_char_X]Y[16-shift_char_Y](Z)
#1=6
call fig_cursor
G243X[41-shift_char_X]Y[7-shift_char_Y](R)
endif
if[cursor eq 8]then
color -white C blue L1
else
color white C blue L0
endif
G243X[41-shift_char_X]Y[12-shift_char_Y](Q)
color white C blue L0
G243X[41-shift_char_X]Y[9-shift_char_Y](Q)
G243X[41-shift_char_X]Y[15-shift_char_Y](Q)
cursor_off
m99

O6099 ;############################################### G85 Boring cycle


/* Work
color blue
/* blue for Inner
G242X[-23-shift_grap_X]Y[-23+shift_grap_Y]
G01X[143-shift_grap_X]Y[-23+shift_grap_Y]
G01X[143-shift_grap_X]Y[71+shift_grap_Y]
G01X[-23-shift_grap_X]Y[71+shift_grap_Y]
G01X[-23-shift_grap_X]Y[-23+shift_grap_Y]
if[#[value 1] eq 91]then
/* for Z
#1=43-shift_char_X
#2=12-shift_char_Y
#3=1
call fig_character
else
#1=50-shift_char_X
#2=14-shift_char_Y
#3=1
call fig_character
endif
G206P0X[0-shift_grap_X]Y[0+shift_grap_Y]
color sky_blue
/* blue green for Edge
G242X[-24-shift_grap_X]Y[-24+shift_grap_Y]
G01X[144-shift_grap_X]Y[-24+shift_grap_Y]
G01X[144-shift_grap_X]Y[72+shift_grap_Y]
G01X[-24-shift_grap_X]Y[72+shift_grap_Y]
G01X[-24-shift_grap_X]Y[-24+shift_grap_Y]
/* Tool
#20=24-shift_grap_X
#21=123+shift_grap_Y
color green
G242X[#20]Y[#21+1]
G01X[#20-7]Y[#21+5]
G01X[#20-7]Y[#21+20]
G01X[#20+7]Y[#21+20]
G01X[#20+7]Y[#21+5]
G01X[#20]Y[#21+1]
G206P0X[#20]Y[#21+5]
color purple
G242X[#20]Y[#21]
G01X[#20-8]Y[#21+5]
G01X[#20-8]Y[#21+21]
G01X[#20+8]Y[#21+21]
G01X[#20+8]Y[#21+5]
G01X[#20]Y[#21]
G242X[#20-3]Y[#21+1]

/* X coordinate of Top of Tool


/* Y coordinate of Top of Tool
/* green for Inner

/* purple for Edge

-244-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

G01X[#20-9]Y[#21-2]
G01X[#20-6]Y[#21+3]
G206P0X[#20-5]Y[#21+2]
G206P0X[#20-7]Y[#21]
/* Circle for Point
color red
G242X[24-shift_grap_X]Y[122+shift_grap_Y]
G02X[24-shift_grap_X]Y[122+shift_grap_Y]I[24-shift_grap_X]J[120+shift_grap_Y]Q4
G206P0X[24-shift_grap_X]Y[120+shift_grap_Y]
G242X[56-shift_grap_X]Y[122+shift_grap_Y]
G02X[56-shift_grap_X]Y[122+shift_grap_Y]I[56-shift_grap_X]J[120+shift_grap_Y]Q4
G206P0X[56-shift_grap_X]Y[120+shift_grap_Y]
G242X[56-shift_grap_X]Y[90+shift_grap_Y]
G02X[56-shift_grap_X]Y[90+shift_grap_Y]I[56-shift_grap_X]J[88+shift_grap_Y]Q4
G206P0X[56-shift_grap_X]Y[88+shift_grap_Y]
G242X[56-shift_grap_X]Y[10+shift_grap_Y]
G02X[56-shift_grap_X]Y[10+shift_grap_Y]I[56-shift_grap_X]J[8+shift_grap_Y]Q4
G206P0X[56-shift_grap_X]Y[8+shift_grap_Y]
G242X[72-shift_grap_X]Y[10+shift_grap_Y]
G02X[72-shift_grap_X]Y[10+shift_grap_Y]I[72-shift_grap_X]J[8+shift_grap_Y]Q4
G206P0X[72-shift_grap_X]Y[8+shift_grap_Y]
G242X[72-shift_grap_X]Y[90+shift_grap_Y]
G02X[72-shift_grap_X]Y[90+shift_grap_Y]I[72-shift_grap_X]J[88+shift_grap_Y]Q4
G206P0X[72-shift_grap_X]Y[88+shift_grap_Y]
/* red for Path
G240P1
dot_line
#1=27-shift_grap_X
#2=120+shift_grap_Y
#3=53-shift_grap_X
#4=#2
#5=0
call fig_line
#1=56-shift_grap_X
#2=117+shift_grap_Y
#3=#1
#4=91+shift_grap_Y
#5=0
call fig_line
solid_line
#1=56-shift_grap_X
#2=85+shift_grap_Y
#3=#1
#4=11+shift_grap_Y
#5=0
call fig_line
#1=72-shift_grap_X
#2=11+shift_grap_Y
#3=#1
#4=85+shift_grap_Y
#5=0
call fig_line
if[#[value 2] ne 99]then
dot_line
#1=72-shift_grap_X
#2=91+shift_grap_Y
#3=#1
#4=120+shift_grap_Y
#5=0
call fig_line
solid_line
endif
/* green Line
color green

-245-

5. USER PROGRAMS FOR HOLE MACHINING MENU

5. USER PROGRAMS FOR HOLE MACHINING MENU

SAMPLE PROGRAM

if[#[value 1] eq 91]then
/* for R & Z
G242X[32-shift_grap_X]Y[88+shift_grap_Y]
G01X[53-shift_grap_X]Y[88+shift_grap_Y]
G242X[32-shift_grap_X]Y[8+shift_grap_Y]
G01X[53-shift_grap_X]Y[8+shift_grap_Y]
#1=40-shift_grap_X
#2=119+shift_grap_Y
#3=#1
#4=89+shift_grap_Y
#5=2
call fig_line
#1=40-shift_grap_X
#2=87+shift_grap_Y
#3=#1
#4=9+shift_grap_Y
#5=2
call fig_line
endif
/* Characters
if[#[value 1] eq 91]then
if[cursor eq 6]then
color -white C blue L1
else
color white C blue L0
endif
G243X[43-shift_char_X]Y[12-shift_char_Y](Z)
#1=7
call fig_cursor
G243X[43-shift_char_X]Y[9-shift_char_Y](R)
if[cursor eq 10]then
if[previous_cursor ne 3]then
cursor_off
G243X[43-shift_char_X]Y[9-shift_char_Y](R)
endif
endif
else
if[cursor eq 6]then
color -white C blue L1
else
color white C blue L0
endif
G243X[50-shift_char_X]Y[14-shift_char_Y](Z)
#1=7
call fig_cursor
G243X[45-shift_char_X]Y[9-shift_char_Y](R)
if[cursor eq 10]then
if[previous_cursor ne 3]then
cursor_off
G243X[45-shift_char_X]Y[9-shift_char_Y](R)
endif
endif
endif
cursor_off
m99

O6100 ;############################################### G86 Boring cycle


/* Work
color blue
/* blue for Inner
G242X[-23-shift_grap_X]Y[-23+shift_grap_Y]
G01X[143-shift_grap_X]Y[-23+shift_grap_Y]
G01X[143-shift_grap_X]Y[71+shift_grap_Y]
G01X[-23-shift_grap_X]Y[71+shift_grap_Y]
G01X[-23-shift_grap_X]Y[-23+shift_grap_Y]
if[#[value 1] eq 91]then
/* for Z

-246-

B-63423EN/02

SAMPLE PROGRAM

B-63423EN/02

5. USER PROGRAMS FOR HOLE MACHINING MENU

#1=43-shift_char_X
#2=12-shift_char_Y
#3=1
call fig_character
else
#1=50-shift_char_X
#2=14-shift_char_Y
#3=1
call fig_character
endif
G206P0X[0-shift_grap_X]Y[0+shift_grap_Y]
color sky_blue
/* blue green for Edge
G242X[-24-shift_grap_X]Y[-24+shift_grap_Y]
G01X[144-shift_grap_X]Y[-24+shift_grap_Y]
G01X[144-shift_grap_X]Y[72+shift_grap_Y]
G01X[-24-shift_grap_X]Y[72+shift_grap_Y]
G01X[-24-shift_grap_X]Y[-24+shift_grap_Y]
/* Tool
#20=24-shift_grap_X
#21=123+shift_grap_Y
color green
G242X[#20]Y[#21+1]
G01X[#20-7]Y[#21+5]
G01X[#20-7]Y[#21+20]
G01X[#20+7]Y[#21+20]
G01X[#20+7]Y[#21+5]
G01X[#20]Y[#21+1]
G206P0X[#20]Y[#21+5]
color purple
G242X[#20]Y[#21]
G01X[#20-8]Y[#21+5]
G01X[#20-8]Y[#21+21]
G01X[#20+8]Y[#21+21]
G01X[#20+8]Y[#21+5]
G01X[#20]Y[#21]
G242X[#20-3]Y[#21+1]
G01X[#20-9]Y[#21-2]
G01X[#20-6]Y[#21+3]
G206P0X[#20-5]Y[#21+2]
G206P0X[#20-7]Y[#21]

/* X coordinate of Top of Tool


/* Y coordinate of Top of Tool
/* green for Inner

/* purple for Edge

/* Circle for Point


color red
G242X[24-shift_grap_X]Y[122+shift_grap_Y]
G02X[24-shift_grap_X]Y[122+shift_grap_Y]I[24-shift_grap_X]J[120+shift_grap_Y]Q4
G206P0X[24-shift_grap_X]Y[120+shift_grap_Y]
G242X[56-shift_grap_X]Y[122+shift_grap_Y]
G02X[56-shift_grap_X]Y[122+shift_grap_Y]I[56-shift_grap_X]J[120+shift_grap_Y]Q4
G206P0X[56-shift_grap_X]Y[120+shift_grap_Y]
G242X[56-shift_grap_X]Y[90+shift_grap_Y]
G02X[56-shift_grap_X]Y[90+shift_grap_Y]I[56-shift_grap_X]J[88+shift_grap_Y]Q4
G206P0X[56-shift_grap_X]Y[88+shift_grap_Y]
G242X[56-shift_grap_X]Y[10+shift_grap_Y]
G02X[56-shift_grap_X]Y[10+shift_grap_Y]I[56-shift_grap_X]J[8+shift_grap_Y]Q4
G206P0X[56-shift_grap_X]Y[8+shift_grap_Y]
G242X[72-shift_grap_X]Y[10+shift_grap_Y]
G02X[72-shift_grap_X]Y[10+shift_grap_Y]I[72-shift_grap_X]J[8+shift_grap_Y]Q4
G206P0X[72-shift_grap_X]Y[8+shift_grap_Y]
if[#[value 2] eq 99]then
G242X[72-shift_grap_X]Y[90+shift_grap_Y]
G02X[72-shift_grap_X]Y[90+shift_grap_Y]I[72-shift_grap_X]J[88+shift_grap_Y]Q4
G206P0X[72-shift_grap_X]Y[88+shift_grap_Y]
else
G242X[72-shift_grap_X]Y[122+shift_grap_Y]
G02X[72-shift_grap_X]Y[122+shift_grap_Y]I[72-shift_grap_X]J[120+shift_grap_Y]Q4
G206P0X[72-shift_grap_X]Y[120+shift_grap_Y]

-247-

5. USER PROGRAMS FOR HOLE MACHINING MENU

SAMPLE PROGRAM

endif
/* red for Path
color red
dot_line
#1=27-shift_grap_X
#2=120+shift_grap_Y
#3=53-shift_grap_X
#4=#2
#5=0
call fig_line
#1=56-shift_grap_X
#2=117+shift_grap_Y
#3=#1
#4=91+shift_grap_Y
#5=0
call fig_line
solid_line
#1=56-shift_grap_X
#2=85+shift_grap_Y
#3=#1
#4=11+shift_grap_Y
#5=0
call fig_line
dot_line
if[#[value 2] eq 99]then
#1=72-shift_grap_X
#2=11+shift_grap_Y
#3=#1
#4=85+shift_grap_Y
#5=0
call fig_line
else
#1=72-shift_grap_X
#2=11+shift_grap_Y
#3=#1
#4=117+shift_grap_Y
#5=0
call fig_line
endif
solid_line
/* green Line
color green
if[#[value 1] eq 91]then
/* for R & Z
G242X[32-shift_grap_X]Y[88+shift_grap_Y]
G01X[53-shift_grap_X]Y[88+shift_grap_Y]
G242X[32-shift_grap_X]Y[8+shift_grap_Y]
G01X[53-shift_grap_X]Y[8+shift_grap_Y]
#1=40-shift_grap_X
#2=119+shift_grap_Y
#3=#1
#4=89+shift_grap_Y
#5=2
call fig_line
#1=40-shift_grap_X
#2=87+shift_grap_Y
#3=#1
#4=9+shift_grap_Y
#5=2
call fig_line
endif
/* Characters
if[#[value 1] eq 91]then
if[cursor eq 6]then
color -white C blue L1

-248-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

5. USER PROGRAMS FOR HOLE MACHINING MENU

else
color white C blue L0
endif
G243X[43-shift_char_X]Y[12-shift_char_Y](Z)
#1=7
call fig_cursor
G243X[43-shift_char_X]Y[9-shift_char_Y](R)
if[cursor eq 10]then
if[previous_cursor ne 3]then
cursor_off
G243X[43-shift_char_X]Y[9-shift_char_Y](R)
endif
endif
else
if[cursor eq 6]then
color -white C blue L1
else
color white C blue L0
endif
G243X[50-shift_char_X]Y[14-shift_char_Y](Z)
#1=7
call fig_cursor
G243X[45-shift_char_X]Y[9-shift_char_Y](R)
if[cursor eq 10]then
if[previous_cursor ne 3]then
cursor_off
G243X[45-shift_char_X]Y[9-shift_char_Y](R)
endif
endif
endif
cursor_off
m99

O6101 ;############################################### G87 Back boring cycle


/* Work
color blue
/* blue for Inner
G242X[-23-shift_grap_X]Y[9+shift_grap_Y]
G01X[143-shift_grap_X]Y[9+shift_grap_Y]
G01X[143-shift_grap_X]Y[71+shift_grap_Y]
G01X[-23-shift_grap_X]Y[71+shift_grap_Y]
G01X[-23-shift_grap_X]Y[9+shift_grap_Y]
if[#[value 1] eq 91]then
/* for Z,R
#1=43-shift_char_X
#2=13-shift_char_Y
#3=1
call fig_character
#1=41-shift_char_X
#2=11-shift_char_Y
#3=1
call fig_character
else
#1=44-shift_char_X
#2=12-shift_char_Y
#3=1
call fig_character
endif
#1=45-shift_char_X
/* for P
#2=11-shift_char_Y
#3=1
call fig_character
G206P0X[0-shift_grap_X]Y[24+shift_grap_Y]
color sky_blue
/* blue green for Edge
G242X[-24-shift_grap_X]Y[8+shift_grap_Y]
G01X[144-shift_grap_X]Y[8+shift_grap_Y]
G01X[144-shift_grap_X]Y[72+shift_grap_Y]

-249-

5. USER PROGRAMS FOR HOLE MACHINING MENU

SAMPLE PROGRAM

G01X[-24-shift_grap_X]Y[72+shift_grap_Y]
G01X[-24-shift_grap_X]Y[8+shift_grap_Y]
/* Tool
#20=16-shift_grap_X
#21=123+shift_grap_Y
color green
G242X[#20+1]Y[#21+1]
G01X[#20+5]Y[#21+4]
G01X[#20+5]Y[#21+20]
G01X[#20+4+12]Y[#21+20]
G01X[#20+4+12]Y[#21+1]
G01X[#20+1]Y[#21+1]
G206P0X[#20+8]Y[#21+5]
color purple
G242X[#20]Y[#21]
G01X[#20+4]Y[#21+4]
G01X[#20+4]Y[#21+21]
G01X[#20+4+13]Y[#21+21]
G01X[#20+4+13]Y[#21]
G01X[#20]Y[#21]

/* X coordinate of Top of Tool


/* Y coordinate of Top of Tool
/* green for Inner

/* purple for Edge

/* Circle for Point


color red
G242X[16-shift_grap_X]Y[122+shift_grap_Y]
G02X[16-shift_grap_X]Y[122+shift_grap_Y]I[16-shift_grap_X]J[120+shift_grap_Y]Q4
G206P0X[16-shift_grap_X]Y[120+shift_grap_Y]
G242X[48-shift_grap_X]Y[122+shift_grap_Y]
G02X[48-shift_grap_X]Y[122+shift_grap_Y]I[48-shift_grap_X]J[120+shift_grap_Y]Q4
G206P0X[48-shift_grap_X]Y[120+shift_grap_Y]
G242X[112-shift_grap_X]Y[122+shift_grap_Y]
G02X[112-shift_grap_X]Y[122+shift_grap_Y]I[112-shift_grap_X]J[120+shift_grap_Y]Q4
G206P0X[112-shift_grap_X]Y[120+shift_grap_Y]
G242X[112-shift_grap_X]Y[-6+shift_grap_Y]
G02X[112-shift_grap_X]Y[-6+shift_grap_Y]I[112-shift_grap_X]J[-8+shift_grap_Y]Q4
G206P0X[112-shift_grap_X]Y[-8+shift_grap_Y]
G242X[48-shift_grap_X]Y[-6+shift_grap_Y]
G02X[48-shift_grap_X]Y[-6+shift_grap_Y]I[48-shift_grap_X]J[-8+shift_grap_Y]Q4
G206P0X[48-shift_grap_X]Y[-8+shift_grap_Y]
G242X[48-shift_grap_X]Y[58+shift_grap_Y]
G02X[48-shift_grap_X]Y[58+shift_grap_Y]I[48-shift_grap_X]J[56+shift_grap_Y]Q4
G206P0X[48-shift_grap_X]Y[56+shift_grap_Y]
/* red for Path
color red
dot_line
#1=19-shift_grap_X
#2=120+shift_grap_Y
#3=45-shift_grap_X
#4=#2
#5=0
call fig_line
solid_line
#1=51-shift_grap_X
#2=120+shift_grap_Y
#3=109-shift_grap_X
call fig_shift
dot_line
#1=112-shift_grap_X
#2=117+shift_grap_Y
#3=#1
#4=-5+shift_grap_Y
#5=0
call fig_line
solid_line
#1=109-shift_grap_X
#2=-8+shift_grap_Y

-250-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

#3=51-shift_grap_X
call fig_shift
#1=48-shift_grap_X
#2=-5+shift_grap_Y
#3=#1
#4=53+shift_grap_Y
#5=0
call fig_line
#1=51-shift_grap_X
#2=56+shift_grap_Y
#3=95-shift_grap_X
call fig_shift
dot_line
#1=96-shift_grap_X
#2=57+shift_grap_Y
#3=#1
#4=88+shift_grap_Y
#5=0
call fig_line
solid_line
#1=93-shift_grap_X
#2=88+shift_grap_Y
#3=48-shift_grap_X
call fig_shift
/* green Line
color green
G242X[48-shift_grap_X]Y[123+shift_grap_Y]
/* for Q
G01X[48-shift_grap_X]Y[136+shift_grap_Y]
G242X[112-shift_grap_X]Y[123+shift_grap_Y]
G01X[112-shift_grap_X]Y[136+shift_grap_Y]
#1=49-shift_grap_X
#2=128+shift_grap_Y
#3=111-shift_grap_X
#4=#2
#5=2
call fig_line
if[#[value 1] eq 91]then
/* for R & Z
G242X[45-shift_grap_X]Y[-8+shift_grap_Y]
G01X[16-shift_grap_X]Y[-8+shift_grap_Y]
G242X[45-shift_grap_X]Y[56+shift_grap_Y]
G01X[32-shift_grap_X]Y[56+shift_grap_Y]
#1=35-shift_grap_X
#2=-7+shift_grap_Y
#3=#1
#4=55+shift_grap_Y
#5=2
call fig_line
#1=19-shift_grap_X
#2=-7+shift_grap_Y
#3=#1
#4=119+shift_grap_Y
#5=2
call fig_line
endif
/* Characters
if[#[value 1] eq 91]then
if[cursor eq 6]then
color -white C blue L1
else
color white C blue L0
endif
G243X[43-shift_char_X]Y[13-shift_char_Y](Z)
if[cursor eq 7]then
color -white C blue L1
else

-251-

5. USER PROGRAMS FOR HOLE MACHINING MENU

5. USER PROGRAMS FOR HOLE MACHINING MENU

SAMPLE PROGRAM

color white C blue L0


endif
G243X[41-shift_char_X]Y[11-shift_char_Y](R)
else
if[cursor eq 6]then
color -white C blue L1
else
color white C blue L0
endif
G243X[44-shift_char_X]Y[12-shift_char_Y](Z)
#1=7
call fig_cursor
G243X[44-shift_char_X]Y[15-shift_char_Y](R)
endif
#1=8
call fig_cursor
G243X[50-shift_char_X]Y[6-shift_char_Y](Q)
if[cursor eq 9]then
color -white C blue L1
else
color white C blue L0
endif
G243X[45-shift_char_X]Y[11-shift_char_Y](P)
cursor_off
m99

O6102 ;############################################### G88 Boring cycle


/* Work
color blue
/* blue for Inner
G242X[-23-shift_grap_X]Y[-23+shift_grap_Y]
G01X[143-shift_grap_X]Y[-23+shift_grap_Y]
G01X[143-shift_grap_X]Y[71+shift_grap_Y]
G01X[-23-shift_grap_X]Y[71+shift_grap_Y]
G01X[-23-shift_grap_X]Y[-23+shift_grap_Y]
if[#[value 1] eq 91]then
/* for Z
#1=43-shift_char_X
#2=12-shift_char_Y
#3=1
call fig_character
else
#1=50-shift_char_X
#2=14-shift_char_Y
#3=1
call fig_character
endif
#1=46-shift_char_X
/* for P
#2=15-shift_char_Y
#3=1
call fig_character
G206P0X[0-shift_grap_X]Y[0+shift_grap_Y]
color sky_blue
/* blue green for Edge
G242X[-24-shift_grap_X]Y[-24+shift_grap_Y]
G01X[144-shift_grap_X]Y[-24+shift_grap_Y]
G01X[144-shift_grap_X]Y[72+shift_grap_Y]
G01X[-24-shift_grap_X]Y[72+shift_grap_Y]
G01X[-24-shift_grap_X]Y[-24+shift_grap_Y]
/* Tool
#20=24-shift_grap_X
#21=123+shift_grap_Y
color green
G242X[#20+1]Y[#21+1]
G01X[#20+5]Y[#21+4]
G01X[#20+5]Y[#21+20]
G01X[#20+4+12]Y[#21+20]

/* X coordinate of Top of Tool


/* Y coordinate of Top of Tool
/* green for Inner

-252-

B-63423EN/02

SAMPLE PROGRAM

B-63423EN/02

G01X[#20+4+12]Y[#21+1]
G01X[#20+1]Y[#21+1]
G206P0X[#20+8]Y[#21+5]
color purple
G242X[#20]Y[#21]
G01X[#20+4]Y[#21+4]
G01X[#20+4]Y[#21+21]
G01X[#20+4+13]Y[#21+21]
G01X[#20+4+13]Y[#21]
G01X[#20]Y[#21]

5. USER PROGRAMS FOR HOLE MACHINING MENU

/* purple for Edge

/* Circle for Point


color red
G242X[24-shift_grap_X]Y[122+shift_grap_Y]
G02X[24-shift_grap_X]Y[122+shift_grap_Y]I[24-shift_grap_X]J[120+shift_grap_Y]Q4
G206P0X[24-shift_grap_X]Y[120+shift_grap_Y]
G242X[56-shift_grap_X]Y[122+shift_grap_Y]
G02X[56-shift_grap_X]Y[122+shift_grap_Y]I[56-shift_grap_X]J[120+shift_grap_Y]Q4
G206P0X[56-shift_grap_X]Y[120+shift_grap_Y]
G242X[56-shift_grap_X]Y[92+shift_grap_Y]
G02X[56-shift_grap_X]Y[92+shift_grap_Y]I[56-shift_grap_X]J[90+shift_grap_Y]Q4
G206P0X[56-shift_grap_X]Y[90+shift_grap_Y]
G242X[56-shift_grap_X]Y[10+shift_grap_Y]
G02X[56-shift_grap_X]Y[10+shift_grap_Y]I[56-shift_grap_X]J[8+shift_grap_Y]Q4
G206P0X[56-shift_grap_X]Y[8+shift_grap_Y]
G242X[72-shift_grap_X]Y[10+shift_grap_Y]
G02X[72-shift_grap_X]Y[10+shift_grap_Y]I[72-shift_grap_X]J[8+shift_grap_Y]Q4
G206P0X[72-shift_grap_X]Y[8+shift_grap_Y]
if[#[value 2] eq 99]then
G242X[72-shift_grap_X]Y[92+shift_grap_Y]
G02X[72-shift_grap_X]Y[92+shift_grap_Y]I[72-shift_grap_X]J[90+shift_grap_Y]Q4
G206P0X[72-shift_grap_X]Y[90+shift_grap_Y]
else
G242X[72-shift_grap_X]Y[122+shift_grap_Y]
G02X[72-shift_grap_X]Y[122+shift_grap_Y]I[72-shift_grap_X]J[120+shift_grap_Y]Q4
G206P0X[72-shift_grap_X]Y[120+shift_grap_Y]
endif
/* red for Path
color red
dot_line
#1=27-shift_grap_X
#2=120+shift_grap_Y
#3=53-shift_grap_X
#4=#2
#5=0
call fig_line
#1=56-shift_grap_X
#2=117+shift_grap_Y
#3=#1
#4=93+shift_grap_Y
#5=0
call fig_line
solid_line
#1=56-shift_grap_X
#2=87+shift_grap_Y
#3=#1
#4=11+shift_grap_Y
#5=0
call fig_line
G242X[72-shift_grap_X]Y[11+shift_grap_Y]
/* Handle
G02X[72-shift_grap_X]Y[30+shift_grap_Y]I[72+20-shift_grap_X]J[20+shift_grap_Y]
G242X[72-shift_grap_X]Y[30+shift_grap_Y]
G03X[72-shift_grap_X]Y[49+shift_grap_Y]I[72-20-shift_grap_X]J[40+shift_grap_Y]
G242X[72-shift_grap_X]Y[49+shift_grap_Y]
G02X[72-shift_grap_X]Y[68+shift_grap_Y]I[72+20-shift_grap_X]J[59+shift_grap_Y]
;G242X72Y[68+shift_grap_Y]

-253-

5. USER PROGRAMS FOR HOLE MACHINING MENU

SAMPLE PROGRAM

;G03X72Y[87+shift_grap_Y]I[72-20-shift_grap_X]J[78+shift_grap_Y]
#1=72-shift_grap_X
#2=68+shift_grap_Y
#3=#1
#4=87+shift_grap_Y
#5=#1-20
#6=78+shift_grap_Y
#7=0
call fig_ccw
if[#[value 2] ne 99]then
dot_line
#1=72-shift_grap_X
#2=88+shift_grap_Y
#3=#1
#4=118+shift_grap_Y
#5=0
call fig_line
solid_line
endif
/* green Line
color green
if[#[value 1] eq 91]then
/* for R & Z
G242X[32-shift_grap_X]Y[88+shift_grap_Y]
G01X[53-shift_grap_X]Y[88+shift_grap_Y]
G242X[32-shift_grap_X]Y[8+shift_grap_Y]
G01X[53-shift_grap_X]Y[8+shift_grap_Y]
#1=40-shift_grap_X
#2=119+shift_grap_Y
#3=#1
#4=89+shift_grap_Y
#5=2
call fig_line
#1=40-shift_grap_X
#2=87+shift_grap_Y
#3=#1
#4=9+shift_grap_Y
#5=2
call fig_line
endif
/* Characters
if[#[value 1] eq 91]then
if[cursor eq 6]then
color -white C blue L1
else
color white C blue L0
endif
G243X[43-shift_char_X]Y[12-shift_char_Y](Z)
#1=7
call fig_cursor
G243X[43-shift_char_X]Y[9-shift_char_Y](R)
else
if[cursor eq 6]then
color -white C blue L1
else
color white C blue L0
endif
G243X[50-shift_char_X]Y[14-shift_char_Y](Z)
#1=7
call fig_cursor
G243X[45-shift_char_X]Y[9-shift_char_Y](R)
endif
if[cursor eq 9]then
color -white C blue L1
else
color white C blue L0

-254-

B-63423EN/02

SAMPLE PROGRAM

B-63423EN/02

endif
G243X[46-shift_char_X]Y[15-shift_char_Y](P)
cursor_off
m99

O6103 ;############################################### G89 Boring cycle


/* Work
color blue
/* blue for Inner
G242X[-23-shift_grap_X]Y[-23+shift_grap_Y]
G01X[143-shift_grap_X]Y[-23+shift_grap_Y]
G01X[143-shift_grap_X]Y[71+shift_grap_Y]
G01X[-23-shift_grap_X]Y[71+shift_grap_Y]
G01X[-23-shift_grap_X]Y[-23+shift_grap_Y]
if[#[value 1] eq 91]then
/* for Z
#1=43-shift_char_X
#2=12-shift_char_Y
#3=1
call fig_character
else
#1=50-shift_char_X
#2=14-shift_char_Y
#3=1
call fig_character
endif
#1=46-shift_char_X
/* for P
#2=15-shift_char_Y
#3=1
call fig_character
G206P0X[0-shift_grap_X]Y[0+shift_grap_Y]
color sky_blue
/* blue green for Edge
G242X[-24-shift_grap_X]Y[-24+shift_grap_Y]
G01X[144-shift_grap_X]Y[-24+shift_grap_Y]
G01X[144-shift_grap_X]Y[72+shift_grap_Y]
G01X[-24-shift_grap_X]Y[72+shift_grap_Y]
G01X[-24-shift_grap_X]Y[-24+shift_grap_Y]
/* Tool
#20=24-shift_grap_X
#21=123+shift_grap_Y
color green
G242X[#20]Y[#21+1]
G01X[#20-7]Y[#21+5]
G01X[#20-7]Y[#21+20]
G01X[#20+7]Y[#21+20]
G01X[#20+7]Y[#21+5]
G01X[#20]Y[#21+1]
G206P0X[#20]Y[#21+5]
color purple
G242X[#20]Y[#21]
G01X[#20-8]Y[#21+5]
G01X[#20-8]Y[#21+21]
G01X[#20+8]Y[#21+21]
G01X[#20+8]Y[#21+5]
G01X[#20]Y[#21]
G242X[#20-3]Y[#21+1]
G01X[#20-9]Y[#21-2]
G01X[#20-6]Y[#21+3]
G206P0X[#20-5]Y[#21+2]
G206P0X[#20-7]Y[#21]

/* X coordinate of Top of Tool


/* Y coordinate of Top of Tool
/* green for Inner

/* purple for Edge

/* Circle for Point


color red
G242X[24-shift_grap_X]Y[122+shift_grap_Y]
G02X[24-shift_grap_X]Y[122+shift_grap_Y]I[24-shift_grap_X]J[120+shift_grap_Y]Q4
G206P0X[24-shift_grap_X]Y[120+shift_grap_Y]

-255-

5. USER PROGRAMS FOR HOLE MACHINING MENU

5. USER PROGRAMS FOR HOLE MACHINING MENU

SAMPLE PROGRAM

G242X[56-shift_grap_X]Y[122+shift_grap_Y]
G02X[56-shift_grap_X]Y[122+shift_grap_Y]I[56-shift_grap_X]J[120+shift_grap_Y]Q4
G206P0X[56-shift_grap_X]Y[120+shift_grap_Y]
G242X[56-shift_grap_X]Y[90+shift_grap_Y]
G02X[56-shift_grap_X]Y[90+shift_grap_Y]I[56-shift_grap_X]J[88+shift_grap_Y]Q4
G206P0X[56-shift_grap_X]Y[88+shift_grap_Y]
G242X[56-shift_grap_X]Y[10+shift_grap_Y]
G02X[56-shift_grap_X]Y[10+shift_grap_Y]I[56-shift_grap_X]J[8+shift_grap_Y]Q4
G206P0X[56-shift_grap_X]Y[8+shift_grap_Y]
G242X[72-shift_grap_X]Y[10+shift_grap_Y]
G02X[72-shift_grap_X]Y[10+shift_grap_Y]I[72-shift_grap_X]J[8+shift_grap_Y]Q4
G206P0X[72-shift_grap_X]Y[8+shift_grap_Y]
G242X[72-shift_grap_X]Y[90+shift_grap_Y]
G02X[72-shift_grap_X]Y[90+shift_grap_Y]I[72-shift_grap_X]J[88+shift_grap_Y]Q4
G206P0X[72-shift_grap_X]Y[88+shift_grap_Y]
/* red for Path
color red
dot_line
#1=27-shift_grap_X
#2=120+shift_grap_Y
#3=53-shift_grap_X
#4=#2
#5=0
call fig_line
#1=56-shift_grap_X
#2=117+shift_grap_Y
#3=#1
#4=91+shift_grap_Y
#5=0
call fig_line
solid_line
#1=56-shift_grap_X
#2=85+shift_grap_Y
#3=#1
#4=11+shift_grap_Y
#5=0
call fig_line
if[#[value 2] eq 99]then
dot_line
#1=72-shift_grap_X
#2=10+shift_grap_Y
#3=#1
#4=85+shift_grap_Y
#5=0
call fig_line
else
#1=72-shift_grap_X
#2=10+shift_grap_Y
#3=#1
#4=85+shift_grap_Y
#5=0
call fig_line
dot_line
#1=72-shift_grap_X
#2=91+shift_grap_Y
#3=#1
#4=120+shift_grap_Y
#5=0
call fig_line
endif
solid_line
/* green Line
color green
if[#[value 1] eq 91]then
/* for R & Z
G242X[32-shift_grap_X]Y[88+shift_grap_Y]

-256-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

G01X[53-shift_grap_X]Y[88+shift_grap_Y]
G242X[32-shift_grap_X]Y[8+shift_grap_Y]
G01X[53-shift_grap_X]Y[8+shift_grap_Y]
#1=40-shift_grap_X
#2=119+shift_grap_Y
#3=#1
#4=89+shift_grap_Y
#5=2
call fig_line
#1=40-shift_grap_X
#2=87+shift_grap_Y
#3=#1
#4=9+shift_grap_Y
#5=2
call fig_line
endif
/* Characters
if[#[value 1] eq 91]then
if[cursor eq 6]then
color -white C blue L1
else
color white C blue L0
endif
G243X[43-shift_char_X]Y[12-shift_char_Y](Z)
#1=7
call fig_cursor
G243X[43-shift_char_X]Y[9-shift_char_Y](R)
else
if[cursor eq 6]then
color -white C blue L1
else
color white C blue L0
endif
G243X[50-shift_char_X]Y[14-shift_char_Y](Z)
#1=7
call fig_cursor
G243X[45-shift_char_X]Y[9-shift_char_Y](R)
endif
if[cursor eq 9]then
color -white C blue L1
else
color white C blue L0
endif
G243X[46-shift_char_X]Y[15-shift_char_Y](P)
cursor_off
m99

/****************************************************************************
/*
/* MACROSTR.SRC :: Strings for FIGSUB*.SRC
/*
/****************************************************************************
O6901 ;############################################### English
; M code
N0001('M00:Program stop');
N0002('M01:Optional stop');
N0003('M02:End of program');
N0004('M03:Spindle cw');
N0005('M04:Spindle ccw');
N0006('M05:Spindle stop');
N0007('M06:Tool change');
N0008('M30:end of program');
N0009('M98:Calling of');

-257-

5. USER PROGRAMS FOR HOLE MACHINING MENU

5. USER PROGRAMS FOR HOLE MACHINING MENU

SAMPLE PROGRAM

N0010(' subrogram');
N0011('M99:End of subrogram');
; Contour/Line : Start Point Type
N0020('When you make the');
N0021('island figure after the');
N0022('pocket wall figure,');
N0023('select "ISLAND". ');
N0024('');
N0025('When you continue');
N0026('making the next groove');
N0027('figure,');
N0028('select "NXT MV".');
N0029('');
N0030('Another case,');
N0031('select "START".');
; Contour/End
N0040('When you continue');
N0041('making the contour');
N0042('figure, select "CONT".');
N0043('(Example)');
N0044('The case of making the');
N0045('island figure after the');
N0046('pocket wall figure.');
N0047('The case of making some');
N0048('groove figures.');
; Contour/Linear,Rotation,Mirror Copy
N0060('START'); ; Linear
N0061('POINT');
N0062('END');
N0063('POINT');
N0064('START');
N0065('POINT');
N0066('END');
N0067('POINT');
N0068('BASE');
N0069('AXIS');
; Canned Cycle
N0080('Initial');
N0081('level');
N0082('Point R');
N0083('level');
; Contour : Approach/Escape Type
N0090('Circle');
N0091('Tangent');
N0092('Vertical');
; Canned Cycle
N0101('G81:No dwell');
N0102('G82:With dwell');
N0103('G83:Normal peck');
N0104('G73:High-speed peck');
N0105('G85:Feed retraction');
N0106('G86:Rapid retraction');
N0107('G88:Manual retraction');
N0108('G89:With dwell');
N0109('G76:Fine boring');
N0110('G87:Back boring');
N0111('G84:Tapping');
N0112('G74:Left-hand tapping');
; Contour : Compensation Direction
N0121('Left');

-258-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

N0122('Right');
; CHECK*.SRC message
N0900('Data is lacking.');
N0901('Input error in menu param.');
M99
O6903 ;############################################### German
; M code
N0001('M00:Program stop');
N0002('M01:Optional stop');
N0003('M02:End of program');
N0004('M03:Spindle cw');
N0005('M04:Spindle ccw');
N0006('M05:Spindle stop');
N0007('M06:Tool change');
N0008('M30:end of program');
N0009('M98:Calling of');
N0010(' subrogram');
N0011('M99:End of subrogram');
; Contour/Line : Start Point Type
N0020('When you make the');
N0021('island figure after the');
N0022('pocket wall figure,');
N0023('select "ISLAND". ');
N0024('');
N0025('When you continue');
N0026('making the next groove');
N0027('figure,');
N0028('select "NXT MV".');
N0029('');
N0030('Another case,');
N0031('select "START".');
; Contour/End
N0040('When you continue');
N0041('making the contour');
N0042('figure, select "CONT".');
N0043('(Example)');
N0044('The case of making the');
N0045('island figure after the');
N0046('pocket wall figure.');
N0047('The case of making some');
N0048('groove figures.');
; Contour/Linear,Rotation,Mirror Copy
N0060('START'); ; Linear
N0061('POINT');
N0062('END');
N0063('POINT');
N0064('START');
N0065('POINT');
N0066('END');
N0067('POINT');
N0068('BASE');
N0069('AXIS');
; Canned Cycle
N0080('Initial');
N0081('level');
N0082('Point R');
N0083('level');
; Contour : Approach/Escape Type
N0090('Circle');

-259-

5. USER PROGRAMS FOR HOLE MACHINING MENU

5. USER PROGRAMS FOR HOLE MACHINING MENU

SAMPLE PROGRAM

N0091('Tangent');
N0092('Vertical');
; Canned Cycle
N0101('G81:No dwell');
N0102('G82:With dwell');
N0103('G83:Normal peck');
N0104('G73:High-speed peck');
N0105('G85:Feed retraction');
N0106('G86:Rapid retraction');
N0107('G88:Manual retraction');
N0108('G89:With dwell');
N0109('G76:Fine boring');
N0110('G87:Back boring');
N0111('G84:Tapping');
N0112('G74:Left-hand tapping');
; Contour : Compensation Direction
N0121('Left');
N0122('Right');
; CHECK*.SRC message
N0900('Data is lacking.');
N0901('Input error in menu param.');
M99
O6904 ;############################################### french
; M code
N0001('M00:Program stop');
N0002('M01:Optional stop');
N0003('M02:End of program');
N0004('M03:Spindle cw');
N0005('M04:Spindle ccw');
N0006('M05:Spindle stop');
N0007('M06:Tool change');
N0008('M30:end of program');
N0009('M98:Calling of');
N0010(' subrogram');
N0011('M99:End of subrogram');
; Contour/Line : Start Point Type
N0020('When you make the');
N0021('island figure after the');
N0022('pocket wall figure,');
N0023('select "ISLAND". ');
N0024('');
N0025('When you continue');
N0026('making the next groove');
N0027('figure,');
N0028('select "NXT MV".');
N0029('');
N0030('Another case,');
N0031('select "START".');
; Contour/End
N0040('When you continue');
N0041('making the contour');
N0042('figure, select "CONT".');
N0043('(Example)');
N0044('The case of making the');
N0045('island figure after the');
N0046('pocket wall figure.');
N0047('The case of making some');
N0048('groove figures.');
; Contour/Linear,Rotation,Mirror Copy

-260-

B-63423EN/02

SAMPLE PROGRAM

B-63423EN/02

N0060('START');
N0061('POINT');
N0062('END');
N0063('POINT');
N0064('START');
N0065('POINT');
N0066('END');
N0067('POINT');
N0068('BASE');
N0069('AXIS');

; Linear

; Canned Cycle
N0080('Initial');
N0081('level');
N0082('Point R');
N0083('level');
; Contour : Approach/Escape Type
N0090('Circle');
N0091('Tangent');
N0092('Vertical');
; Canned Cycle
N0101('G81:No dwell');
N0102('G82:With dwell');
N0103('G83:Normal peck');
N0104('G73:High-speed peck');
N0105('G85:Feed retraction');
N0106('G86:Rapid retraction');
N0107('G88:Manual retraction');
N0108('G89:With dwell');
N0109('G76:Fine boring');
N0110('G87:Back boring');
N0111('G84:Tapping');
N0112('G74:Left-hand tapping');
; Contour : Compensation Direction
N0121('Left');
N0122('Right');
; CHECK*.SRC message
N0900('Data is lacking.');
N0901('Input error in menu param.');
M99
O6905 ;############################################### Italian
; M code
N0001('M00:Program stop');
N0002('M01:Optional stop');
N0003('M02:End of program');
N0004('M03:Spindle cw');
N0005('M04:Spindle ccw');
N0006('M05:Spindle stop');
N0007('M06:Tool change');
N0008('M30:end of program');
N0009('M98:Calling of');
N0010(' subrogram');
N0011('M99:End of subrogram');
; Contour/Line : Start Point Type
N0020('When you make the');
N0021('island figure after the');
N0022('pocket wall figure,');
N0023('select "ISLAND". ');
N0024('');
N0025('When you continue');

-261-

5. USER PROGRAMS FOR HOLE MACHINING MENU

5. USER PROGRAMS FOR HOLE MACHINING MENU

SAMPLE PROGRAM

N0026('making the next groove');


N0027('figure,');
N0028('select "NXT MV".');
N0029('');
N0030('Another case,');
N0031('select "START".');
; Contour/End
N0040('When you continue');
N0041('making the contour');
N0042('figure, select "CONT".');
N0043('(Example)');
N0044('The case of making the');
N0045('island figure after the');
N0046('pocket wall figure.');
N0047('The case of making some');
N0048('groove figures.');
; Contour/Linear,Rotation,Mirror Copy
N0060('START'); ; Linear
N0061('POINT');
N0062('END');
N0063('POINT');
N0064('START');
N0065('POINT');
N0066('END');
N0067('POINT');
N0068('BASE');
N0069('AXIS');
; Canned Cycle
N0080('Initial');
N0081('level');
N0082('Point R');
N0083('level');
; Contour : Approach/Escape Type
N0090('Circle');
N0091('Tangent');
N0092('Vertical');
; Canned Cycle
N0101('G81:No dwell');
N0102('G82:With dwell');
N0103('G83:Normal peck');
N0104('G73:High-speed peck');
N0105('G85:Feed retraction');
N0106('G86:Rapid retraction');
N0107('G88:Manual retraction');
N0108('G89:With dwell');
N0109('G76:Fine boring');
N0110('G87:Back boring');
N0111('G84:Tapping');
N0112('G74:Left-hand tapping');
; Contour : Compensation Direction
N0121('Left');
N0122('Right');
; CHECK*.SRC message
N0900('Data is lacking.');
N0901('Input error in menu param.');
M99
O6906 ;############################################### Spanish
; M code

-262-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

N0001('M00:Program stop');
N0002('M01:Optional stop');
N0003('M02:End of program');
N0004('M03:Spindle cw');
N0005('M04:Spindle ccw');
N0006('M05:Spindle stop');
N0007('M06:Tool change');
N0008('M30:end of program');
N0009('M98:Calling of');
N0010(' subrogram');
N0011('M99:End of subrogram');
; Contour/Line : Start Point Type
N0020('When you make the');
N0021('island figure after the');
N0022('pocket wall figure,');
N0023('select "ISLAND". ');
N0024('');
N0025('When you continue');
N0026('making the next groove');
N0027('figure,');
N0028('select "NXT MV".');
N0029('');
N0030('Another case,');
N0031('select "START".');
; Contour/End
N0040('When you continue');
N0041('making the contour');
N0042('figure, select "CONT".');
N0043('(Example)');
N0044('The case of making the');
N0045('island figure after the');
N0046('pocket wall figure.');
N0047('The case of making some');
N0048('groove figures.');
; Contour/Linear,Rotation,Mirror Copy
N0060('START'); ; Linear
N0061('POINT');
N0062('END');
N0063('POINT');
N0064('START');
N0065('POINT');
N0066('END');
N0067('POINT');
N0068('BASE');
N0069('AXIS');
; Canned Cycle
N0080('Initial');
N0081('level');
N0082('Point R');
N0083('level');
; Contour : Approach/Escape Type
N0090('Circle');
N0091('Tangent');
N0092('Vertical');
; Canned Cycle
N0101('G81:No dwell');
N0102('G82:With dwell');
N0103('G83:Normal peck');
N0104('G73:High-speed peck');
N0105('G85:Feed retraction');
N0106('G86:Rapid retraction');

-263-

5. USER PROGRAMS FOR HOLE MACHINING MENU

5. USER PROGRAMS FOR HOLE MACHINING MENU

SAMPLE PROGRAM

N0107('G88:Manual retraction');
N0108('G89:With dwell');
N0109('G76:Fine boring');
N0110('G87:Back boring');
N0111('G84:Tapping');
N0112('G74:Left-hand tapping');
; Contour : Compensation Direction
N0121('Left');
N0122('Right');
; CHECK*.SRC message
N0900('Data is lacking.');
N0901('Input error in menu param.');
M99

-264-

B-63423EN/02

B-63423EN/02

5.4

SAMPLE PROGRAM

INPUTTED DATA CHECKING

/****************************************************************************
/*
/* CHECK3.SRC :: Canned Cycle
/*
/***** 8832: G81/G82/G83/G73
/*
G81 Drilling cycle, spot drilling cycle
/*
G82 Drilling cycle, counter boring cycle
/*
G83 Peck drilling cycle
/*
G73 High-speed peck drilling cycle
/***** 8833: G85/G86/G88/G89/G87/G76
/*
G85 Boring cycle
/*
G86 Boring cycle
/*
G88 Boring cycle
/*
G89 Boring cycle
/*
G76 Fine boring cycle
/*
G87 Back boring cycle
/***** 8834: G84/G74
/*
G84 Tapping cycle
/*
G74 Left-hand tapping cycle
/****************************************************************************
$INCLUDE SYMBOL.DEF

/* ############################################### G81/G82/G83/G73
O8832 input_error_flag = error_non
/* Abs / Inc */
error_item = 1
if[#[value 1] ne #0]then
if[#[value 1] ne 3 && #[value 1] ne 90 && #[value 1] ne 91]goto 98
endif
/* Return Point */
error_item = 2
if[#[value 2] ne #0]then
if[#[value 2] ne 3 && #[value 2] ne 98 && #[value 2] ne 99]goto 98
endif
/* Machine Pattern */
error_item = 3
if[#[value 3] eq #0]goto 97
if[#[value 3] ne 73]then
if[#[value 3] lt 81 || #[value 3] gt 83]goto 98
endif
/* Z Point distance */
error_item = 6
if[#[value 6] eq #0]goto 97
/* R Point distance */
error_item = 7
if[#[value 7] eq #0]goto 97
/* Dwell Time */
if[#[attribute 8] ne att_not_use]then
error_item = 8
if[#[value 8] lt 0]goto 98
endif
/* Pitch Depth */
if[#[attribute 9] ne att_not_use]then
error_item = 9
if[#[value 9] eq #0]goto 97
if[#[value 9] le 0]goto 98
endif
/* Feed Rate */
error_item = 10
if[#[value 10] eq 0 || #[value 10] lt 0]goto 98
/* Trabvel Speed */

-265-

5. USER PROGRAMS FOR HOLE MACHINING MENU

5. USER PROGRAMS FOR HOLE MACHINING MENU

SAMPLE PROGRAM

if[#[attribute 11] ne att_not_use]then


error_item = 11
if[#[value 11] eq 0 || #[value 11] lt 0]goto 98
endif
/* Dwell Time */
if[#[attribute 12] ne att_not_use]then
error_item = 12
if[#[value 12] lt 0]goto 98
endif
/* Repeat Number */
error_item = 13
if[#[value 13] lt 0 || #[value 13] gt 9999]goto 98
goto 99
/* Data is lacking. */
n97 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+900]
goto 99
/* Input error in menu param. */
n98 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+901]
n99 m99

/* ############################################### G85/G86/G88/G89/G87/G76
O8833 input_error_flag = error_non
/* Abs / Inc */
error_item = 1
if[#[value 1] ne #0]then
if[#[value 1] ne 3 && #[value 1] ne 90 && #[value 1] ne 91]goto 98
endif
/* Return Point */
error_item = 2
if[#[value 2] ne #0]then
if[#[value 2] ne 3 && #[value 2] ne 98 && #[value 2] ne 99]goto 98
endif
/* Machine Pattern */
error_item = 3
if[#[value 3] eq #0]goto 97
if[#[value 3] ne 76]then
if[#[value 3] lt 85 || #[value 3] gt 89]goto 98
endif
/* Z Point distance */
error_item = 6
if[#[value 6] eq #0]goto 97
/* R Point distance */
error_item = 7
if[#[value 7] eq #0]goto 97
/* Tool Shift Amount */
if[#[attribute 8] ne att_not_use]then
error_item = 8
if[#[value 8] eq #0]goto 97
if[#[value 8] le 0]goto 98
endif
/* Dwell Time */
if[#[attribute 9] ne att_not_use]then
error_item = 9
if[#[value 9] lt 0]goto 98
endif
/* Feed Rate */
error_item = 10
if[#[value 10] eq 0 || #[value 10] lt 0]goto 98
/* Repeat Number */

-266-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

error_item = 11
if[#[value 11] lt 0 || #[value 11] gt 9999]goto 98
goto 99
/* Data is lacking. */
n97 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+900]
goto 99
/* Input error in menu param. */
n98 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+901]
n99 m99

/* ############################################### G84/G74
O8834 input_error_flag = error_non
/* Abs / Inc */
error_item = 1
if[#[value 1] ne #0]then
if[#[value 1] ne 3 && #[value 1] ne 90 && #[value 1] ne 91]goto 98
endif
/* Return Point */
error_item = 2
if[#[value 2] ne #0]then
if[#[value 2] ne 3 && #[value 2] ne 98 && #[value 2] ne 99]goto 98
endif
/* Machine Pattern */
error_item = 3
if[#[value 3] eq #0]goto 97
if[#[value 3] ne 74 && #[value 3] ne 84]goto 98
/* Z Point distance */
error_item = 6
if[#[value 6] eq #0]goto 97
/* R Point distance */
error_item = 7
if[#[value 7] eq #0]goto 97
/* Dwell Time */
error_item = 8
if[#[value 8] lt 0]goto 98
/* Feed Rate */
error_item = 10
if[#[value 10] eq 0 || #[value 10] lt 0]goto 98
/* Repeat Number */
error_item = 11
if[#[value 11] lt 0 || #[value 11] gt 9999]goto 98
goto 99
/* Data is lacking. */
n97 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+900]
goto 99
/* Input error in menu param. */
n98 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+901]
n99 m99

-267-

5. USER PROGRAMS FOR HOLE MACHINING MENU

6. USER PROGRAMS FOR HOLE PATTERN MENU

SAMPLE PROGRAM

B-63423EN/02

USER PROGRAMS FOR HOLE PATTERN


MENU

-268-

SAMPLE PROGRAM

B-63423EN/02

6.1

COMMENTS DEFINITION

/****************************************************************************
/*
/* STRING4.SRC :: Hole Pattern
(ENGLISH)
/*
/***** 7401: Softkey
/***** 7411: Points
/***** 7421: Line
/***** 7431: Grid
/***** 7441: Square
/***** 7451: Circle
/***** 7461: Arc
/****************************************************************************

O7401 ;############################################### Softkye


N0001("20 01 C010 20")('POINTS');
N0002("20 01 C018 20")(' LINE ');
N0003("20 01 C020 20")(' GRID ');
N0004("20 01 C028 20")('SQUARE');
N0005("20 01 C030 20")('CIRCLE');
N0006("20 01 C038 20")(' ARC ');
M99

O7411 ;############################################### Points


N9999('POINTS');
N9998('POINTS (DETAIL SET)');
N0001('POINT X');
N0002('POINT Y');
N0003('POINT-2 X');
N0004('POINT-2 Y');
N0005('POINT-3 X');
N0006('POINT-3 Y');
N0007('POINT-4 X');
N0008('POINT-4 Y');
N0009('POINT-5 X');
N0010('POINT-5 Y');
N0011('POINT-6 X');
N0012('POINT-6 Y');
N0013('POINT-7 X');
N0014('POINT-7 Y');
N0015('POINT-8 X');
N0016('POINT-8 Y');
N0017('PATTERN CONT.');
N1700('12');
N1701("20 01 C010 20")(' END ');
N1702("20 01 C018 20")(' CONT ');
N1751('1');
N1752('2');
M99

O7421 ;############################################### Line


N9999('LINE');
N9998('LINE (DETAIL SET)');
N0001('SPACE');
N0002('START POINT X');
N0003('START POINT Y');
N0004('LINE ANGLE');
N0005('HOLES NUMBER');

-269-

6. USER PROGRAMS FOR HOLE PATTERN MENU

6. USER PROGRAMS FOR HOLE PATTERN MENU

SAMPLE PROGRAM

N0006('PITCH SPACE');
N0007('LINE LENGTH');
N0008('OMIT POINT-1');
N0009('OMIT POINT-2');
N0010('OMIT POINT-3');
N0011('OMIT POINT-4');
N0012('PITCH SPACE-1');
N0013('PITCH SPACE-2');
N0014('PITCH SPACE-3');
N0015('PITCH SPACE-4');
N0016('PITCH SPACE-5');
N0017('PITCH SPACE-6');
N0018('PITCH SPACE-7');
N0019('PITCH SPACE-8');
N0020('PITCH SPACE-9');
N0021('PITCH SPACE-10');
N0022('PATTERN CONT.');
N0100('13');
N0101("20 01 C010 20")(' SAME ');
N0102("20 01 C018 20")('DIFFER');
N0151('1');
N0152('2');
N2200('12');
N2201("20 01 C010 20")(' END ');
N2202("20 01 C018 20")(' CONT ');
N2251('1');
N2252('2');
M99

O7431 ;############################################### Grid


N9999('GRID');
N9998('GRID (DETAIL SET)');
N0001('START POINT X');
N0002('START POINT Y');
N0003('U-LENGTH');
N0004('V-LENGTH');
N0005('U-NUMBER');
N0006('V-NUMBER');
N0007('X-U ANGLE');
N0008('U-V ANGLE');
N0009('OMIT POINT-1');
N0010('OMIT POINT-2');
N0011('OMIT POINT-3');
N0012('OMIT POINT-4');
N0013('PATTERN CONT.');
N1300('12');
N1301("20 01 C010 20")(' END ');
N1302("20 01 C018 20")(' CONT ');
N1351('1');
N1352('2');
M99

O7441 ;############################################### Square


N9999('SQUARE');
N9998('SQUARE (DETAIL SET)');
N0001('START POINT X');
N0002('START POINT Y');
N0003('U-LENGTH');
N0004('V-LENGTH');
N0005('U-NUMBER');
N0006('V-NUMBER');

-270-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

N0007('X-U ANGLE');
N0008('U-V ANGLE');
N0009('OMIT POINT-1');
N0010('OMIT POINT-2');
N0011('OMIT POINT-3');
N0012('OMIT POINT-4');
N0013('PATTERN CONT.');
N1300('12');
N1301("20 01 C010 20")(' END ');
N1302("20 01 C018 20")(' CONT ');
N1351('1');
N1352('2');
M99

O7451 ;############################################### Circle


N9999('CIRCLE');
N9998('CIRCLE(DETAIL SET)');
N0001('CENTER POINT X');
N0002('CENTER POINT Y');
N0003('RADIUS');
N0004('START ANGLE');
N0005('HOLE NUMBER');
N0006('OMIT POINT-1');
N0007('OMIT POINT-2');
N0008('OMIT POINT-3');
N0009('OMIT POINT-4');
N0010('PATTERN CONT.');
N1000('12');
N1001("20 01 C010 20")(' END ');
N1002("20 01 C018 20")(' CONT ');
N1051('1');
N1052('2');
M99

O7461 ;############################################### Arc


N9999('ARC');
N9998('ARC (DETAIL SET)');
N0001('PATTERN FORM');
N0002('CENTER POINT X');
N0003('CENTER POINT Y');
N0004('RADIUS');
N0005('START ANGLE');
N0006('PITCH ANGLE');
N0007('HOLE NUMBER');
N0008('OMIT POINT-1');
N0009('OMIT POINT-2');
N0010('OMIT POINT-3');
N0011('OMIT POINT-4');
N0012('PITCH ANGLE-1');
N0013('PITCH ANGLE-2');
N0014('PITCH ANGLE-3');
N0015('PITCH ANGLE-4');
N0016('PITCH ANGLE-5');
N0017('PITCH ANGLE-6');
N0018('PITCH ANGLE-7');
N0019('PITCH ANGLE-8');
N0020('PITCH ANGLE-9');
N0021('PITCH ANGLE-10');
N0022('PATTERN CONT.');

-271-

6. USER PROGRAMS FOR HOLE PATTERN MENU

6. USER PROGRAMS FOR HOLE PATTERN MENU

SAMPLE PROGRAM

N0100('14');
N0101("20 01 C010 20")(' SAME ');
N0102("20 01 C018 20")('DIFFER');
N0151('1');
N0152('2');
N2200('12');
N2201("20 01 C010 20")(' END ');
N2202("20 01 C018 20")(' CONT ');
N2251('1');
N2252('2');
M99

-272-

B-63423EN/02

B-63423EN/02

6.2

SAMPLE PROGRAM

DATA ATTRIBUTE

/****************************************************************************
/*
/* PROC4.SRC :: Hole Pattern
/*
/***** 8441: Points
/***** 8442: Line
/***** 8443: Grid
/***** 8444: Square
/***** 8445: Circle
/***** 8446: Arc
/****************************************************************************
$INCLUDE SYMBOL.DEF
O8441 ;############################################### Points
#[address 0] = 200
#[address 1] = add_X
#[attribute 1] = att_decimal
#[value 1] = #0
#[address 2] = add_Y
#[attribute 2] = att_decimal
#[value 2] = #0
#[address 3] = add_A
#[attribute 3] = att_not_use
#[value 3] = #0
#[address 4] = add_B
#[attribute 4] = att_not_use
#[value 4] = #0
#[address 5] = add_C
#[attribute 5] = att_not_use
#[value 5] = #0
#[address 6] = add_D
#[attribute 6] = att_not_use
#[value 6] = #0
#[address 7] = add_E
#[attribute 7] = att_not_use
#[value 7] = #0
#[address 8] = add_F
#[attribute 8] = att_not_use
#[value 8] = #0
#[address 9] = add_H
#[attribute 9] = att_not_use
#[value 9] = #0
#[address 10] = add_I
#[attribute 10] = att_not_use
#[value 10] = #0
#[address 11] = add_J
#[attribute 11] = att_not_use
#[value 11] = #0
#[address 12] = add_K
#[attribute 12] = att_not_use
#[value 12] = #0
#[address 13] = add_L
#[attribute 13] = att_not_use
#[value 13] = #0
#[address 14] = add_M
#[attribute 14] = att_not_use
#[value 14] = #0
#[address 15] = add_N
#[attribute 15] = att_not_use
#[value 15] = #0
#[address 16] = add_P
#[attribute 16] = att_not_use

-273-

6. USER PROGRAMS FOR HOLE PATTERN MENU

6. USER PROGRAMS FOR HOLE PATTERN MENU

SAMPLE PROGRAM

#[value 16] = #0
#[address 17] = add_Q
#[attribute 17] = att_character
#[value 17] = 1
#[address 18] = add_end
previous_cursor = 1
/* Previous cursor position clear
m99

O8442 ;############################################### Line


#[address 0] = 201
#[address 1] = add_W
#[attribute 1] = att_character
#[value 1] = 1
#[address 2] = add_X
#[attribute 2] = att_decimal
#[value 2] = #0
#[address 3] = add_Y
#[attribute 3] = att_decimal
#[value 3] = #0
#[address 4] = add_A
#[attribute 4] = att_decimal
#[value 4] = 0
#[address 5] = add_N
#[attribute 5] = att_integer
#[value 5] = #0
#[address 6] = add_P
#[attribute 6] = att_decimal
#[value 6] = #0
#[address 7] = add_L
#[attribute 7] = att_decimal
#[value 7] = #0
#[address 8] = add_B
#[attribute 8] = att_integer + att_detail
#[value 8] = #0
#[address 9] = add_C
#[attribute 9] = att_integer + att_detail
#[value 9] = #0
#[address 10] = add_D
#[attribute 10] = att_integer + att_detail
#[value 10] = #0
#[address 11] = add_E
#[attribute 11] = att_not_use
#[value 11] = #0
#[address 12] = add_B
#[attribute 12] = att_not_use
#[value 12] = #0
#[address 13] = add_C
#[attribute 13] = att_not_use
#[value 13] = #0
#[address 14] = add_D
#[attribute 14] = att_not_use
#[value 14] = #0
#[address 15] = add_E
#[attribute 15] = att_not_use
#[value 15] = #0
#[address 16] = add_F
#[attribute 16] = att_not_use
#[value 16] = #0
#[address 17] = add_H
#[attribute 17] = att_not_use
#[value 17] = #0
#[address 18] = add_I
#[attribute 18] = att_not_use
#[value 18] = #0
#[address 19] = add_J

-274-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

#[attribute 19] = att_not_use


#[value 19] = #0
#[address 20] = add_K
#[attribute 20] = att_not_use
#[value 20] = #0
#[address 21] = add_L
#[attribute 21] = att_not_use
#[value 21] = #0
#[address 22] = add_Q
#[attribute 22] = att_character
#[value 22] = 1
#[address 23] = add_end
previous_cursor = 1
/* Previous cursor position clear
m99

O8443 ;############################################### Grid


#[address 0] = 202
#[address 1] = add_X
#[attribute 1] = att_decimal
#[value 1] = #0
#[address 2] = add_Y
#[attribute 2] = att_decimal
#[value 2] = #0
#[address 3] = add_U
#[attribute 3] = att_decimal
#[value 3] = #0
#[address 4] = add_V
#[attribute 4] = att_decimal
#[value 4] = #0
#[address 5] = add_I
#[attribute 5] = att_integer
#[value 5] = #0
#[address 6] = add_J
#[attribute 6] = att_integer
#[value 6] = #0
#[address 7] = add_K
#[attribute 7] = att_decimal + att_detail
#[value 7] = 0
#[address 8] = add_L
#[attribute 8] = att_decimal + att_detail
#[value 8] = 90
#[address 9] = add_B
#[attribute 9] = att_integer + att_detail
#[value 9] = #0
#[address 10] = add_C
#[attribute 10] = att_integer + att_detail
#[value 10] = #0
#[address 11] = add_D
#[attribute 11] = att_integer + att_detail
#[value 11] = #0
#[address 12] = add_E
#[attribute 12] = att_integer + att_detail
#[value 12] = #0
#[address 13] = add_Q
#[attribute 13] = att_character
#[value 13] = 1
#[address 14] = add_end
previous_cursor = 1
/* Previous cursor position clear
m99

O8444 ;############################################### Square


#[address 0] = 203
#[address 1] = add_X

-275-

6. USER PROGRAMS FOR HOLE PATTERN MENU

6. USER PROGRAMS FOR HOLE PATTERN MENU

SAMPLE PROGRAM

#[attribute 1] = att_decimal
#[value 1] = #0
#[address 2] = add_Y
#[attribute 2] = att_decimal
#[value 2] = #0
#[address 3] = add_U
#[attribute 3] = att_decimal
#[value 3] = #0
#[address 4] = add_V
#[attribute 4] = att_decimal
#[value 4] = #0
#[address 5] = add_I
#[attribute 5] = att_integer
#[value 5] = #0
#[address 6] = add_J
#[attribute 6] = att_integer
#[value 6] = #0
#[address 7] = add_K
#[attribute 7] = att_decimal + att_detail
#[value 7] = 0
#[address 8] = add_L
#[attribute 8] = att_decimal + att_detail
#[value 8] = 90
#[address 9] = add_B
#[attribute 9] = att_integer + att_detail
#[value 9] = #0
#[address 10] = add_C
#[attribute 10] = att_integer + att_detail
#[value 10] = #0
#[address 11] = add_D
#[attribute 11] = att_integer + att_detail
#[value 11] = #0
#[address 12] = add_E
#[attribute 12] = att_integer + att_detail
#[value 12] = #0
#[address 13] = add_Q
#[attribute 13] = att_character
#[value 13] = 1
#[address 14] = add_end
previous_cursor = 1
/* Previous cursor position clear
m99

O8445 ;############################################### Circle


#[address 0] = 204
#[address 1] = add_X
#[attribute 1] = att_decimal
#[value 1] = #0
#[address 2] = add_Y
#[attribute 2] = att_decimal
#[value 2] = #0
#[address 3] = add_R
#[attribute 3] = att_decimal
#[value 3] = #0
#[address 4] = add_A
#[attribute 4] = att_decimal
#[value 4] = 0
#[address 5] = add_N
#[attribute 5] = att_integer
#[value 5] = #0
#[address 6] = add_B
#[attribute 6] = att_integer + att_detail
#[value 6] = #0
#[address 7] = add_C
#[attribute 7] = att_integer + att_detail
#[value 7] = #0

-276-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

#[address 8] = add_D
#[attribute 8] = att_integer + att_detail
#[value 8] = #0
#[address 9] = add_E
#[attribute 9] = att_integer + att_detail
#[value 9] = #0
#[address 10] = add_Q
#[attribute 10] = att_character
#[value 10] = 1
#[address 11] = add_end
previous_cursor = 1
/* Previous cursor position clear
m99

O8446 ;############################################### Arc


#[address 0] = 205
#[address 1] = add_W
#[attribute 1] = att_character
#[value 1] = 1
#[address 2] = add_X
#[attribute 2] = att_decimal
#[value 2] = #0
#[address 3] = add_Y
#[attribute 3] = att_decimal
#[value 3] = #0
#[address 4] = add_R
#[attribute 4] = att_decimal
#[value 4] = #0
#[address 5] = add_A
#[attribute 5] = att_decimal
#[value 5] = 0
#[address 6] = add_P
#[attribute 6] = att_decimal
#[value 6] = #0
#[address 7] = add_N
#[attribute 7] = att_integer
#[value 7] = #0
#[address 8] = add_B
#[attribute 8] = att_integer + att_detail
#[value 8] = #0
#[address 9] = add_C
#[attribute 9] = att_integer + att_detail
#[value 9] = #0
#[address 10] = add_D
#[attribute 10] = att_integer + att_detail
#[value 10] = #0
#[address 11] = add_E
#[attribute 11] = att_integer + att_detail
#[value 11] = #0
#[address 12] = add_B
#[attribute 12] = att_not_use
#[value 12] = #0
#[address 13] = add_C
#[attribute 13] = att_not_use
#[value 13] = #0
#[address 14] = add_D
#[attribute 14] = att_not_use
#[value 14] = #0
#[address 15] = add_E
#[attribute 15] = att_not_use
#[value 15] = #0
#[address 16] = add_F
#[attribute 16] = att_not_use
#[value 16] = #0
#[address 17] = add_H
#[attribute 17] = att_not_use

-277-

6. USER PROGRAMS FOR HOLE PATTERN MENU

6. USER PROGRAMS FOR HOLE PATTERN MENU

SAMPLE PROGRAM

#[value 17] = #0
#[address 18] = add_I
#[attribute 18] = att_not_use
#[value 18] = #0
#[address 19] = add_J
#[attribute 19] = att_not_use
#[value 19] = #0
#[address 20] = add_K
#[attribute 20] = att_not_use
#[value 20] = #0
#[address 21] = add_L
#[attribute 21] = att_not_use
#[value 21] = #0
#[address 22] = add_Q
#[attribute 22] = att_character
#[value 22] = 1
#[address 23] = add_end
previous_cursor = 1
/* Previous cursor position clear
m99

-278-

B-63423EN/02

SAMPLE PROGRAM

B-63423EN/02

6.3

GUIDANCE DRAWING FIGURE

/****************************************************************************
/*
/* FIG4.SRC :: Hole Pattern
/*
/***** 8641: Points
/***** 8642: Line
/***** 8643: Grid
/***** 8644: Square
/***** 8645: Circle
/***** 8646: Arc
/****************************************************************************
$INCLUDE SYMBOL.DEF

O8641 ;############################################### Points


/*** Guide Picture Setting ***/
if[guide_frequency eq secont_tine]then
call 6111
endif
/*** Attribution Setting ***/
if[#[value 1] ne #0 && #[value 2] ne #0]then
#[attribute 3] = att_decimal
#[attribute 4] = att_decimal
endif
if[#[value 3] ne #0 && #[value 4] ne #0]then
#[attribute 5] = att_decimal
#[attribute 6] = att_decimal
endif
if[#[value 5] ne #0 && #[value 6] ne #0]then
#[attribute 7] = att_decimal
#[attribute 8] = att_decimal
endif
if[#[value 7] ne #0 && #[value 8] ne #0]then
#[attribute 9] = att_decimal
#[attribute 10] = att_decimal
endif
if[#[value 9] ne #0 && #[value 10] ne #0]then
#[attribute 11] = att_decimal
#[attribute 12] = att_decimal
endif
if[#[value 11] ne #0 && #[value 12] ne #0]then
#[attribute 13] = att_decimal
#[attribute 14] = att_decimal
endif
if[#[value 13] ne #0 && #[value 14] ne #0]then
#[attribute 15] = att_decimal
#[attribute 16] = att_decimal
endif
m99

O8642 ;############################################### Line


/*** Guide Picture Setting ***/
if[guide_frequency eq secont_tine]then
if[previous_cursor eq 1]then
call fig_clear
endif
if[#[value 1] eq 2]then
call 6113
else
call 6112

-279-

6. USER PROGRAMS FOR HOLE PATTERN MENU

6. USER PROGRAMS FOR HOLE PATTERN MENU

SAMPLE PROGRAM

endif
previous_cursor = cursor
endif
/*** Attribution Setting ***/
if[#[value 1] eq 1]then
#[attribute 5] = att_integer
#[attribute 6] = att_decimal
#[attribute 7] = att_decimal + att_detail
#[attribute 8] = att_integer + att_detail
#[attribute 9] = att_integer + att_detail
#[attribute 10] = att_integer + att_detail
#[attribute 11] = att_integer + att_detail
#[attribute 12] = att_not_use
#[attribute 13] = att_not_use
#[attribute 14] = att_not_use
#[attribute 15] = att_not_use
#[attribute 16] = att_not_use
#[attribute 17] = att_not_use
#[attribute 18] = att_not_use
#[attribute 19] = att_not_use
#[attribute 20] = att_not_use
#[attribute 21] = att_not_use
else
#[attribute 5] = att_not_use
#[attribute 6] = att_not_use
#[attribute 7] = att_not_use
#[attribute 8] = att_not_use
#[attribute 9] = att_not_use
#[attribute 10] = att_not_use
#[attribute 11] = att_not_use
#[attribute 12] = att_decimal
#[attribute 13] = att_decimal
#[attribute 14] = att_decimal
#[attribute 15] = att_decimal + att_detail
#[attribute 16] = att_decimal + att_detail
#[attribute 17] = att_decimal + att_detail
#[attribute 18] = att_decimal + att_detail
#[attribute 19] = att_decimal + att_detail
#[attribute 20] = att_decimal + att_detail
#[attribute 21] = att_decimal + att_detail
endif
m99

O8643 ;############################################### Grid


/*** Guide Picture Setting ***/
if[guide_frequency eq secont_tine]then
call 6114
endif
m99

O8644 ;############################################### Square


/*** Guide Picture Setting ***/
if[guide_frequency eq secont_tine]then
call 6114
endif
m99

O8645 ;############################################### Circle


/*** Guide Picture Setting ***/
if[guide_frequency eq secont_tine]then

-280-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

call 6115
endif
m99

O8646 ;############################################### Arc


/*** Guide Picture Setting ***/
if[guide_frequency eq secont_tine]then
if[previous_cursor eq 1]then
call fig_clear
endif
if[#[value 1] eq 1]then
call 6116
endif
if[#[value 1] eq 2]then
call 6117
endif
previous_cursor = cursor
endif
/*** Attribution Setting ***/
if[#[value 1] eq 1]then
#[attribute 6] = att_decimal
#[attribute 7] = att_integer
#[attribute 8] = att_integer + att_detail
#[attribute 9] = att_integer + att_detail
#[attribute 10] = att_integer + att_detail
#[attribute 11] = att_integer + att_detail
#[attribute 12] = att_not_use
#[attribute 13] = att_not_use
#[attribute 14] = att_not_use
#[attribute 15] = att_not_use
#[attribute 16] = att_not_use
#[attribute 17] = att_not_use
#[attribute 18] = att_not_use
#[attribute 19] = att_not_use
#[attribute 20] = att_not_use
#[attribute 21] = att_not_use
else
#[attribute 6] = att_not_use
#[attribute 7] = att_not_use
#[attribute 8] = att_not_use
#[attribute 9] = att_not_use
#[attribute 10] = att_not_use
#[attribute 11] = att_not_use
#[attribute 12] = att_decimal
#[attribute 13] = att_decimal
#[attribute 14] = att_decimal + att_detail
#[attribute 15] = att_decimal + att_detail
#[attribute 16] = att_decimal + att_detail
#[attribute 17] = att_decimal + att_detail
#[attribute 18] = att_decimal + att_detail
#[attribute 19] = att_decimal + att_detail
#[attribute 20] = att_decimal + att_detail
#[attribute 21] = att_decimal + att_detail
endif
m99

/****************************************************************************
/*
/* FIGSUB4.SRC :: Hole Pattern
/*
/***** 6111: Points
/***** 6112: Line (Same space)

-281-

6. USER PROGRAMS FOR HOLE PATTERN MENU

6. USER PROGRAMS FOR HOLE PATTERN MENU

SAMPLE PROGRAM

/***** 6113: Line (Different space)


/***** 6114: Grid and Square
/***** 6115: Circle
/***** 6116: Arc (Same space)
/***** 6117: Arc (Different space)
/****************************************************************************
$INCLUDE SYMBOL.DEF

O6111 ;############################################### Group of points


color blue
/* blue for Work
G242X[-20-shift_grap_X]Y[-10+shift_grap_Y]
G01X[140-shift_grap_X]Y[-10+shift_grap_Y]
G01X[140-shift_grap_X]Y[160+shift_grap_Y]
G01X[-20-shift_grap_X]Y[160+shift_grap_Y]
G01X[-20-shift_grap_X]Y[-10+shift_grap_Y]
G242X[30-shift_grap_X]Y[46+shift_grap_Y]
G02X[30-shift_grap_X]Y[46+shift_grap_Y]I[30-shift_grap_X]J[40+shift_grap_Y]Q4
G242X[90-shift_grap_X]Y[26+shift_grap_Y]
G02X[90-shift_grap_X]Y[26+shift_grap_Y]I[90-shift_grap_X]J[20+shift_grap_Y]Q4
G242X[120-shift_grap_X]Y[46+shift_grap_Y]
G02X[120-shift_grap_X]Y[46+shift_grap_Y]I[120-shift_grap_X]J[40+shift_grap_Y]Q4
G242X[50-shift_grap_X]Y[76+shift_grap_Y]
G02X[50-shift_grap_X]Y[76+shift_grap_Y]I[50-shift_grap_X]J[70+shift_grap_Y]Q4
G242X[100-shift_grap_X]Y[96+shift_grap_Y]
G02X[100-shift_grap_X]Y[96+shift_grap_Y]I[100-shift_grap_X]J[90+shift_grap_Y]Q4
G242X[20-shift_grap_X]Y[126+shift_grap_Y]
G02X[20-shift_grap_X]Y[126+shift_grap_Y]I[20-shift_grap_X]J[120+shift_grap_Y]Q4
G242X[80-shift_grap_X]Y[146+shift_grap_Y]
G02X[80-shift_grap_X]Y[146+shift_grap_Y]I[80-shift_grap_X]J[140+shift_grap_Y]Q4
G206P0X[0-shift_grap_X]Y[0+shift_grap_Y]
color white
/* white for Removal
G242X[30-shift_grap_X]Y[44+shift_grap_Y]
G02X[30-shift_grap_X]Y[44+shift_grap_Y]I[30-shift_grap_X]J[40+shift_grap_Y]Q4
G206P0X[30-shift_grap_X]Y[40+shift_grap_Y]
G242X[90-shift_grap_X]Y[24+shift_grap_Y]
G02X[90-shift_grap_X]Y[24+shift_grap_Y]I[90-shift_grap_X]J[20+shift_grap_Y]Q4
G206P0X[90-shift_grap_X]Y[20+shift_grap_Y]
G242X[120-shift_grap_X]Y[44+shift_grap_Y]
G02X[120-shift_grap_X]Y[44+shift_grap_Y]I[120-shift_grap_X]J[40+shift_grap_Y]Q4
G206P0X[120-shift_grap_X]Y[40+shift_grap_Y]
G242X[50-shift_grap_X]Y[74+shift_grap_Y]
G02X[50-shift_grap_X]Y[74+shift_grap_Y]I[50-shift_grap_X]J[70+shift_grap_Y]Q4
G206P0X[50-shift_grap_X]Y[70+shift_grap_Y]
G242X[100-shift_grap_X]Y[94+shift_grap_Y]
G02X[100-shift_grap_X]Y[94+shift_grap_Y]I[100-shift_grap_X]J[90+shift_grap_Y]Q4
G206P0X[100-shift_grap_X]Y[90+shift_grap_Y]
G242X[20-shift_grap_X]Y[124+shift_grap_Y]
G02X[20-shift_grap_X]Y[124+shift_grap_Y]I[20-shift_grap_X]J[120+shift_grap_Y]Q4
G206P0X[20-shift_grap_X]Y[120+shift_grap_Y]
G242X[80-shift_grap_X]Y[144+shift_grap_Y]
G02X[80-shift_grap_X]Y[144+shift_grap_Y]I[80-shift_grap_X]J[140+shift_grap_Y]Q4
G206P0X[80-shift_grap_X]Y[140+shift_grap_Y]
color purple
/* purple Line
G242X[30-shift_grap_X]Y[45+shift_grap_Y]
G02X[30-shift_grap_X]Y[45+shift_grap_Y]I[30-shift_grap_X]J[40+shift_grap_Y]Q4
G242X[90-shift_grap_X]Y[25+shift_grap_Y]
G02X[90-shift_grap_X]Y[25+shift_grap_Y]I[90-shift_grap_X]J[20+shift_grap_Y]Q4
G242X[120-shift_grap_X]Y[45+shift_grap_Y]
G02X[120-shift_grap_X]Y[45+shift_grap_Y]I[120-shift_grap_X]J[40+shift_grap_Y]Q4
G242X[50-shift_grap_X]Y[75+shift_grap_Y]
G02X[50-shift_grap_X]Y[75+shift_grap_Y]I[50-shift_grap_X]J[70+shift_grap_Y]Q4
G242X[100-shift_grap_X]Y[95+shift_grap_Y]
G02X[100-shift_grap_X]Y[95+shift_grap_Y]I[100-shift_grap_X]J[90+shift_grap_Y]Q4
G242X[20-shift_grap_X]Y[125+shift_grap_Y]
G02X[20-shift_grap_X]Y[125+shift_grap_Y]I[20-shift_grap_X]J[120+shift_grap_Y]Q4

-282-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

6. USER PROGRAMS FOR HOLE PATTERN MENU

G242X[80-shift_grap_X]Y[145+shift_grap_Y]
G02X[80-shift_grap_X]Y[145+shift_grap_Y]I[80-shift_grap_X]J[140+shift_grap_Y]Q4
G242X[-21-shift_grap_X]Y[-11+shift_grap_Y]
G01X[141-shift_grap_X]Y[-11+shift_grap_Y]
G01X[141-shift_grap_X]Y[161+shift_grap_Y]
G01X[-21-shift_grap_X]Y[161+shift_grap_Y]
G01X[-21-shift_grap_X]Y[-11+shift_grap_Y]
m99

O6112 ;############################################### Line (Same space)


color blue
/* blue for Work
G242X[-24-shift_grap_X]Y[-24+shift_grap_Y]
G01X[144-shift_grap_X]Y[-24+shift_grap_Y]
G01X[144-shift_grap_X]Y[168+shift_grap_Y]
G01X[-24-shift_grap_X]Y[168+shift_grap_Y]
G01X[-24-shift_grap_X]Y[-24+shift_grap_Y]
G242X[16-shift_grap_X]Y[30+shift_grap_Y]
G02X[16-shift_grap_X]Y[30+shift_grap_Y]I[16-shift_grap_X]J[24+shift_grap_Y]Q4
G242X[48-shift_grap_X]Y[62+shift_grap_Y]
G02X[48-shift_grap_X]Y[62+shift_grap_Y]I[48-shift_grap_X]J[56+shift_grap_Y]Q4
G242X[80-shift_grap_X]Y[94+shift_grap_Y]
G02X[80-shift_grap_X]Y[94+shift_grap_Y]I[80-shift_grap_X]J[88+shift_grap_Y]Q4
G242X[112-shift_grap_X]Y[126+shift_grap_Y]
G02X[112-shift_grap_X]Y[126+shift_grap_Y]I[112-shift_grap_X]J[120+shift_grap_Y]Q4
#1=39-shift_char_X
/* for (X,Y)
#2=15-shift_char_Y
#3=5
call fig_character
#1=48-shift_char_X
/* for A
#2=12-shift_char_Y
#3=1
call fig_character
#1=52-shift_char_X
/* for N
#2=7-shift_char_Y
#3=1
call fig_character
#1=41-shift_char_X
/* for P
#2=11-shift_char_Y
#3=1
call fig_character
#1=43-shift_char_X
/* for L
#2=8-shift_char_Y
#3=1
call fig_character
#1=40-shift_char_X
/* for 1
#2=13-shift_char_Y
#3=1
call fig_character
#1=44-shift_char_X
/* for 2
#2=11-shift_char_Y
#3=1
call fig_character
#1=48-shift_char_X
/* for 3
#2=9-shift_char_Y
#3=1
call fig_character
G206P0X[120-shift_grap_X]Y[0+shift_grap_Y]
/* white for Removal
color white
G242X[16-shift_grap_X]Y[28+shift_grap_Y]
G02X[16-shift_grap_X]Y[28+shift_grap_Y]I[16-shift_grap_X]J[24+shift_grap_Y]Q4
G206P0X[16-shift_grap_X]Y[24+shift_grap_Y]
G242X[48-shift_grap_X]Y[60+shift_grap_Y]

-283-

6. USER PROGRAMS FOR HOLE PATTERN MENU

SAMPLE PROGRAM

G02X[48-shift_grap_X]Y[60+shift_grap_Y]I[48-shift_grap_X]J[56+shift_grap_Y]Q4
G206P0X[48-shift_grap_X]Y[56+shift_grap_Y]
G242X[80-shift_grap_X]Y[92+shift_grap_Y]
G02X[80-shift_grap_X]Y[92+shift_grap_Y]I[80-shift_grap_X]J[88+shift_grap_Y]Q4
G206P0X[80-shift_grap_X]Y[88+shift_grap_Y]
G242X[112-shift_grap_X]Y[124+shift_grap_Y]
G02X[112-shift_grap_X]Y[124+shift_grap_Y]I[112-shift_grap_X]J[120+shift_grap_Y]Q4
G206P0X[112-shift_grap_X]Y[120+shift_grap_Y]
color purple
G242X[16-shift_grap_X]Y[29+shift_grap_Y]
G02X[16-shift_grap_X]Y[29+shift_grap_Y]I[16-shift_grap_X]J[24+shift_grap_Y]Q4
G242X[48-shift_grap_X]Y[61+shift_grap_Y]
G02X[48-shift_grap_X]Y[61+shift_grap_Y]I[48-shift_grap_X]J[56+shift_grap_Y]Q4
G242X[80-shift_grap_X]Y[93+shift_grap_Y]
G02X[80-shift_grap_X]Y[93+shift_grap_Y]I[80-shift_grap_X]J[88+shift_grap_Y]Q4
G242X[112-shift_grap_X]Y[125+shift_grap_Y]
G02X[112-shift_grap_X]Y[125+shift_grap_Y]I[112-shift_grap_X]J[120+shift_grap_Y]Q4
G242X[-25-shift_grap_X]Y[-25+shift_grap_Y]
G01X[145-shift_grap_X]Y[-25+shift_grap_Y]
G01X[145-shift_grap_X]Y[169+shift_grap_Y]
G01X[-25-shift_grap_X]Y[169+shift_grap_Y]
G01X[-25-shift_grap_X]Y[-25+shift_grap_Y]
color green
G242X[88-shift_grap_X]Y[24+shift_grap_Y]
G01X[16-shift_grap_X]Y[24+shift_grap_Y]
G01X[112-shift_grap_X]Y[120+shift_grap_Y]
G01X[75-shift_grap_X]Y[157+shift_grap_Y]
G242X[16-shift_grap_X]Y[24+shift_grap_Y]
G01X[-21-shift_grap_X]Y[61+shift_grap_Y]
G242X[48-shift_grap_X]Y[56+shift_grap_Y]
G01X[27-shift_grap_X]Y[77+shift_grap_Y]
#1=1-shift_grap_X
#2=41+shift_grap_Y
#3=31-shift_grap_X
#4=71+shift_grap_Y
#5=2
call fig_line
#1=-15-shift_grap_X
#2=57+shift_grap_Y
#3=79-shift_grap_X
#4=151+shift_grap_Y
#5=2
call fig_line
G242X[48-shift_grap_X]Y[56+shift_grap_Y]
G02X[89.756-shift_grap_X]Y[24+shift_grap_Y]I[16-shift_grap_X]J[24+shift_grap_Y]
/* Characters
if[cursor eq 2]then
color -white C blue L1
else
color white C blue L0
endif
G243X[40-shift_char_X]Y[15-shift_char_Y](X)
if[cursor eq 3]then
color -white C blue L1
else
color white C blue L0
endif
G243X[42-shift_char_X]Y[15-shift_char_Y](Y)
if[cursor eq 4]then
color -white C blue L1
else
color white C blue L0
endif
G243X[48-shift_char_X]Y[12-shift_char_Y](A)

-284-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

6. USER PROGRAMS FOR HOLE PATTERN MENU

if[cursor eq 5]then
color -white C blue L1
else
color white C blue L0
endif
G243X[52-shift_char_X]Y[7-shift_char_Y](N)
if[cursor eq 6]then
color -white C blue L1
else
color white C blue L0
endif
G243X[41-shift_char_X]Y[11-shift_char_Y](P)
if[cursor eq 7]then
color -white C blue L1
else
color white C blue L0
endif
G243X[43-shift_char_X]Y[8-shift_char_Y](L)
color white C blue L0
G243X[39-shift_char_X]Y[15-shift_char_Y]('(')
G243X[41-shift_char_X]Y[15-shift_char_Y](',')
G243X[43-shift_char_X]Y[15-shift_char_Y](')')
G243X[40-shift_char_X]Y[13-shift_char_Y](1)
G243X[44-shift_char_X]Y[11-shift_char_Y](2)
G243X[48-shift_char_X]Y[9 -shift_char_Y](3)
cursor_off
m99

O6113 ;############################################### Line (Different space)


/* blue for Work
color blue
G242X[-24-shift_grap_X]Y[-24+shift_grap_Y]
G01X[144-shift_grap_X]Y[-24+shift_grap_Y]
G01X[144-shift_grap_X]Y[168+shift_grap_Y]
G01X[-24-shift_grap_X]Y[168+shift_grap_Y]
G01X[-24-shift_grap_X]Y[-24+shift_grap_Y]
G242X[16-shift_grap_X]Y[30+shift_grap_Y]
G02X[16-shift_grap_X]Y[30+shift_grap_Y]I[16-shift_grap_X]J[24+shift_grap_Y]Q4
G242X[48-shift_grap_X]Y[62+shift_grap_Y]
G02X[48-shift_grap_X]Y[62+shift_grap_Y]I[48-shift_grap_X]J[56+shift_grap_Y]Q4
G242X[96-shift_grap_X]Y[110+shift_grap_Y]
G02X[96-shift_grap_X]Y[110+shift_grap_Y]I[96-shift_grap_X]J[104+shift_grap_Y]Q4
G242X[112-shift_grap_X]Y[126+shift_grap_Y]
G02X[112-shift_grap_X]Y[126+shift_grap_Y]I[112-shift_grap_X]J[120+shift_grap_Y]Q4
#1=39-shift_char_X
/* for (X,Y)
#2=15-shift_char_Y
#3=5
call fig_character
#1=48-shift_char_X
/* for A
#2=12-shift_char_Y
#3=1
call fig_character
#1=42-shift_char_X
/* for B
#2=11-shift_char_Y
#3=1
call fig_character
#1=47-shift_char_X
/* for C
#2=9-shift_char_Y
#3=1
call fig_character
#1=51-shift_char_X
/* for D
#2=7-shift_char_Y
#3=1
call fig_character
G206P0X[0-shift_grap_X]Y[16+shift_grap_Y]

-285-

6. USER PROGRAMS FOR HOLE PATTERN MENU

SAMPLE PROGRAM

/* white for Removal


color white
G242X[16-shift_grap_X]Y[28+shift_grap_Y]
G02X[16-shift_grap_X]Y[28+shift_grap_Y]I[16-shift_grap_X]J[24+shift_grap_Y]Q4
G206P0X[16-shift_grap_X]Y[24+shift_grap_Y]
G242X[48-shift_grap_X]Y[60+shift_grap_Y]
G02X[48-shift_grap_X]Y[60+shift_grap_Y]I[48-shift_grap_X]J[56+shift_grap_Y]Q4
G206P0X[48-shift_grap_X]Y[56+shift_grap_Y]
G242X[96-shift_grap_X]Y[108+shift_grap_Y]
G02X[96-shift_grap_X]Y[108+shift_grap_Y]I[96-shift_grap_X]J[104+shift_grap_Y]Q4
G206P0X[96-shift_grap_X]Y[104+shift_grap_Y]
G242X[112-shift_grap_X]Y[124+shift_grap_Y]
G02X[112-shift_grap_X]Y[124+shift_grap_Y]I[112-shift_grap_X]J[120+shift_grap_Y]Q4
G206P0X[112-shift_grap_X]Y[120+shift_grap_Y]
color purple
G242X[16-shift_grap_X]Y[29+shift_grap_Y]
G02X[16-shift_grap_X]Y[29+shift_grap_Y]I[16-shift_grap_X]J[24+shift_grap_Y]Q4
G242X[48-shift_grap_X]Y[61+shift_grap_Y]
G02X[48-shift_grap_X]Y[61+shift_grap_Y]I[48-shift_grap_X]J[56+shift_grap_Y]Q4
G242X[96-shift_grap_X]Y[109+shift_grap_Y]
G02X[96-shift_grap_X]Y[109+shift_grap_Y]I[96-shift_grap_X]J[104+shift_grap_Y]Q4
G242X[112-shift_grap_X]Y[125+shift_grap_Y]
G02X[112-shift_grap_X]Y[125+shift_grap_Y]I[112-shift_grap_X]J[120+shift_grap_Y]Q4
G242X[-25-shift_grap_X]Y[-25+shift_grap_Y]
G01X[145-shift_grap_X]Y[-25+shift_grap_Y]
G01X[145-shift_grap_X]Y[169+shift_grap_Y]
G01X[-25-shift_grap_X]Y[169+shift_grap_Y]
G01X[-25-shift_grap_X]Y[-25+shift_grap_Y]
color green
G242X[88-shift_grap_X]Y[24+shift_grap_Y]
G01X[16-shift_grap_X]Y[24+shift_grap_Y]
G01X[112-shift_grap_X]Y[120+shift_grap_Y]
G242X[16-shift_grap_X]Y[24+shift_grap_Y]
G01X[0-shift_grap_X]Y[40+shift_grap_Y]
G242X[48-shift_grap_X]Y[56+shift_grap_Y]
G01X[32-shift_grap_X]Y[72+shift_grap_Y]
G242X[96-shift_grap_X]Y[104+shift_grap_Y]
G01X[80-shift_grap_X]Y[120+shift_grap_Y]
G242X[112-shift_grap_X]Y[120+shift_grap_Y]
G01X[96-shift_grap_X]Y[136+shift_grap_Y]
#1=9-shift_grap_X
#2=33+shift_grap_Y
#3=39-shift_grap_X
#4=63+shift_grap_Y
#5=2
call fig_line
#1=41-shift_grap_X
#2=65+shift_grap_Y
#3=87-shift_grap_X
#4=111+shift_grap_Y
#5=2
call fig_line
#1=89-shift_grap_X
#2=113+shift_grap_Y
#3=103-shift_grap_X
#4=127+shift_grap_Y
#5=2
call fig_line
G242X[48-shift_grap_X]Y[56+shift_grap_Y]
/* common to same distance
G02X[89.756-shift_grap_X]Y[24+shift_grap_Y]I[16-shift_grap_X]J[24+shift_grap_Y] /* common to same distance
/* Characters
if[cursor eq 2]then
color -white C blue L1

-286-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

6. USER PROGRAMS FOR HOLE PATTERN MENU

else
color white C blue L0
endif
G243X[40-shift_char_X]Y[15-shift_char_Y](X)
if[cursor eq 3]then
color -white C blue L1
else
color white C blue L0
endif
G243X[42-shift_char_X]Y[15-shift_char_Y](Y)
if[cursor eq 4]then
color -white C blue L1
else
color white C blue L0
endif
G243X[48-shift_char_X]Y[12-shift_char_Y](A)
if[cursor eq 12]then
color -white C blue L1
else
color white C blue L0
endif
G243X[42-shift_char_X]Y[11-shift_char_Y](B)
if[cursor eq 13]then
color -white C blue L1
else
color white C blue L0
endif
G243X[47-shift_char_X]Y[9-shift_char_Y](C)
if[cursor eq 14]then
color -white C blue L1
else
color white C blue L0
endif
G243X[51-shift_char_X]Y[7-shift_char_Y](D)
color white C blue L0
G243X[39-shift_char_X]Y[15-shift_char_Y]('(')
G243X[41-shift_char_X]Y[15-shift_char_Y](',')
G243X[43-shift_char_X]Y[15-shift_char_Y](')')
cursor_off
m99

O6114 ;############################################### Grid and Square


/* blue for Work
color blue
G242X[-36-shift_grap_X]Y[-32+shift_grap_Y]
G01X[156-shift_grap_X]Y[-32+shift_grap_Y]
G01X[156-shift_grap_X]Y[176+shift_grap_Y]
G01X[-36-shift_grap_X]Y[176+shift_grap_Y]
G01X[-36-shift_grap_X]Y[-32+shift_grap_Y]
#20=6
/* Radius
#21=4-shift_grap_X
/* Center X
;1st Row
#22=12+shift_grap_Y
/* Center Y
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
#22=#22+16*3
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
#22=#22+16*3
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
#21=52-shift_grap_X
/* 2nd Row
#22=28+shift_grap_Y
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
#22=#22+16*3

-287-

6. USER PROGRAMS FOR HOLE PATTERN MENU


if[#[address 0] eq 202]then
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
endif
#22=#22+16*3
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
#21=100-shift_grap_X
#22=44+shift_grap_Y
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
#22=#22+16*3
if[#[address 0] eq 202]then
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
endif
#22=#22+16*3
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
#21=148-shift_grap_X
#22=60+shift_grap_Y
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
#22=#22+16*3
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
#22=#22+16*3
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
#1=38-shift_char_X
#2=16-shift_char_Y
#3=5
call fig_character
#1=48-shift_char_X
#2=6-shift_char_Y
#3=1
call fig_character
#1=37-shift_char_X
#2=12-shift_char_Y
#3=1
call fig_character
#1=57-shift_char_X
#2=12-shift_char_Y
#3=1
call fig_character
#1=39-shift_char_X
#2=9-shift_char_Y
#3=1
call fig_character
#1=49-shift_char_X
#2=14-shift_char_Y
#3=1
call fig_character
#1=48-shift_char_X
#2=12-shift_char_Y
#3=1
call fig_character
#1=40-shift_char_X
#2=15-shift_char_Y
#3=1
call fig_character
#1=46-shift_char_X
#2=14-shift_char_Y
#3=1
call fig_character
#1=52-shift_char_X
#2=13-shift_char_Y

SAMPLE PROGRAM

/* Only Grid
/* Only Grid

/* 3rd Row

/* Only Grid
/* Only Grid

/* 4th Row

/* for (X,Y)

/* for U

/* for V

/* for I

/* for J

/* for K

/* for L

/* for 1

/* for 2

/* for 3

-288-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

#3=1
call fig_character
#1=39-shift_char_X
/* for 1
#2=14-shift_char_Y
#3=1
call fig_character
#1=39-shift_char_X
/* for 2
#2=11-shift_char_Y
#3=1
call fig_character
G206P0X[50-shift_grap_X]Y[0+shift_grap_Y]
/* white for Removal
color white
#20=4
/* Radius
#21=4-shift_grap_X
/* Center X
#22=12+shift_grap_Y
/* Center Y
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
G206P0X[#21]Y[#22]
#22=#22+16*3
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
G206P0X[#21]Y[#22]
#22=#22+16*3
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
G206P0X[#21]Y[#22]
#21=52-shift_grap_X
;2nd Row
#22=28+shift_grap_Y
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
G206P0X[#21]Y[#22]
#22=#22+16*3
if[#[address 0] eq 202]then
G242X[#21]Y[#22+#20]
;Only Grid
G02X[#21]Y[#22+#20]I[#21]J[#22] ;Only Grid
G206P0X[#21]Y[#22]
;Only Grid
endif
#22=#22+16*3
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
G206P0X[#21]Y[#22]
#21=100-shift_grap_X
;3rd Row
#22=44+shift_grap_Y
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
G206P0X[#21]Y[#22]
#22=#22+16*3
if[#[address 0] eq 202]then
G242X[#21]Y[#22+#20]
;Only Grid
G02X[#21]Y[#22+#20]I[#21]J[#22] ;Only Grid
G206P0X[#21]Y[#22]
;Only Grid
endif
#22=#22+16*3
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
G206P0X[#21]Y[#22]
#21=148-shift_grap_X
;4th Row
#22=60+shift_grap_Y
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
G206P0X[#21]Y[#22]
#22=#22+16*3
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
G206P0X[#21]Y[#22]

;1st Row

-289-

6. USER PROGRAMS FOR HOLE PATTERN MENU

6. USER PROGRAMS FOR HOLE PATTERN MENU

SAMPLE PROGRAM

#22=#22+16*3
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
G206P0X[#21]Y[#22]
/* purple line
color purple
#20=5
/* Radius
#21=4-shift_grap_X
/* Center X
;1st Row
#22=12+shift_grap_Y
/* Center Y
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
#22=#22+16*3
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
#22=#22+16*3
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
#21=52-shift_grap_X
/* 2nd Row
#22=28+shift_grap_Y
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
#22=#22+16*3
if[#[address 0] eq 202]then
G242X[#21]Y[#22+#20]
/* Only Grid
G02X[#21]Y[#22+#20]I[#21]J[#22]
/* Only Grid
endif
#22=#22+16*3
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
#21=100-shift_grap_X
/* 3rd Row
#22=44+shift_grap_Y
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
#22=#22+16*3
if[#[address 0] eq 202]then
G242X[#21]Y[#22+#20]
/* Only Grid
G02X[#21]Y[#22+#20]I[#21]J[#22]
/* Only Grid
endif
#22=#22+16*3
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
#21=148-shift_grap_X
/* 4th Row
#22=60+shift_grap_Y
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
#22=#22+16*3
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
#22=#22+16*3
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
G242X[-37-shift_grap_X]Y[-33+shift_grap_Y]
/* Outer Line of Work
G01X[157-shift_grap_X]Y[-33+shift_grap_Y]
G01X[157-shift_grap_X]Y[177+shift_grap_Y]
G01X[-37-shift_grap_X]Y[177+shift_grap_Y]
G01X[-37-shift_grap_X]Y[-33+shift_grap_Y]
/* green Line
color green
G242X[4-shift_grap_X]Y[12+shift_grap_Y]
G01X[148-shift_grap_X]Y[60+shift_grap_Y]
G01X[148-shift_grap_X]Y[156+shift_grap_Y]
G01X[4-shift_grap_X]Y[108+shift_grap_Y]
G01X[4-shift_grap_X]Y[12+shift_grap_Y]
G01X[94-shift_grap_X]Y[12+shift_grap_Y]
if[#[address 0] eq 202]then

-290-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

G242X[52-shift_grap_X]Y[28+shift_grap_Y]
G01X[52-shift_grap_X]Y[124+shift_grap_Y]
G242X[100-shift_grap_X]Y[48+shift_grap_Y]
G01X[100-shift_grap_X]Y[140+shift_grap_Y]
G242X[4-shift_grap_X]Y[60+shift_grap_Y]
G01X[148-shift_grap_X]Y[108+shift_grap_Y]
endif
#1=74-shift_grap_X
#2=12+shift_grap_Y
#3=70.408-shift_grap_X
#4=34.136+shift_grap_Y
#5=4-shift_grap_X
#6=12+shift_grap_Y
#7=2
call fig_ccw
#1=70.408-shift_grap_X
#2=34.136+shift_grap_Y
#3=4-shift_grap_X
#4=82+shift_grap_Y
#5=4-shift_grap_X
#6=12+shift_grap_Y
#7=2
call fig_ccw
G242X[4-shift_grap_X]Y[12+shift_grap_Y]
G01X[-12-shift_grap_X]Y[12+shift_grap_Y]
G242X[4-shift_grap_X]Y[108+shift_grap_Y]
G01X[-12-shift_grap_X]Y[108+shift_grap_Y]
#1=-8-shift_grap_X
#2=13+shift_grap_Y
#3=-8-shift_grap_X
#4=107+shift_grap_Y
#5=2
call fig_line
G242X[4-shift_grap_X]Y[108+shift_grap_Y]
G01X[-1.333333-shift_grap_X]Y[124+shift_grap_Y]
G242X[148-shift_grap_X]Y[156+shift_grap_Y]
G01X[142.66667-shift_grap_X]Y[172+shift_grap_Y]
#1=7.6666665-shift_grap_X
#2=116+shift_grap_Y
#3=144.33333-shift_grap_X
#4=163+shift_grap_Y
#5=2
call fig_line

;Only Grid
;Only Grid
;Only Grid
;Only Grid
;Only Grid
;Only Grid

/* Characters
if[cursor eq 1]then
color -white C blue L1
else
color white C blue L0
endif
G243X[39-shift_char_X]Y[16-shift_char_Y](X)
if[cursor eq 2]then
color -white C blue L1
else
color white C blue L0
endif
G243X[41-shift_char_X]Y[16-shift_char_Y](Y)
if[cursor eq 3]then
color -white C blue L1
else
color white C blue L0
endif
G243X[48-shift_char_X]Y[6-shift_char_Y](U)
if[cursor eq 4]then
color -white C blue L1
else
color white C blue L0

-291-

6. USER PROGRAMS FOR HOLE PATTERN MENU

6. USER PROGRAMS FOR HOLE PATTERN MENU

SAMPLE PROGRAM

endif
G243X[37-shift_char_X]Y[12-shift_char_Y](V)
if[cursor eq 5]then
color -white C blue L1
else
color white C blue L0
endif
G243X[57-shift_char_X]Y[12-shift_char_Y](I)
if[cursor eq 6]then
color -white C blue L1
else
color white C blue L0
endif
G243X[39-shift_char_X]Y[9-shift_char_Y](J)
if[cursor eq 7]then
color -white C blue L1
else
color white C blue L0
endif
G243X[49-shift_char_X]Y[14-shift_char_Y](K)
if[cursor eq 8]then
color -white C blue L1
else
color white C blue L0
endif
G243X[48-shift_char_X]Y[12-shift_char_Y](L)
color white C blue L0
G243X[38-shift_char_X]Y[16-shift_char_Y]('(')
G243X[40-shift_char_X]Y[16-shift_char_Y](',')
G243X[42-shift_char_X]Y[16-shift_char_Y](')')
G243X[40-shift_char_X]Y[15-shift_char_Y](1)
G243X[46-shift_char_X]Y[14-shift_char_Y](2)
G243X[52-shift_char_X]Y[13-shift_char_Y](3)
G243X[39-shift_char_X]Y[14-shift_char_Y](1)
G243X[39-shift_char_X]Y[11-shift_char_Y](2)
cursor_off
m99

O6115 ;############################################### Circle


/* blue for Work
color blue
G242X[-16-shift_grap_X]Y[-8+shift_grap_Y]
G01X[136-shift_grap_X]Y[-8+shift_grap_Y]
G01X[136-shift_grap_X]Y[152+shift_grap_Y]
G01X[-16-shift_grap_X]Y[152+shift_grap_Y]
G01X[-16-shift_grap_X]Y[-8+shift_grap_Y]
#20=6
/* Radius
#21=60+45.254-shift_grap_X
/* Center X
#22=72+45.254+shift_grap_Y
/* Center Y
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
#21=60-16.564-shift_grap_X
/* Center X
#22=72+61.819+shift_grap_Y
/* Center Y
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
#21=60-61.819-shift_grap_X
/* Center X
#22=72+16.564+shift_grap_Y
/* Center Y
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
#21=60-45.254-shift_grap_X
/* Center X
#22=72-45.254+shift_grap_Y
/* Center Y
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
#21=60+16.564-shift_grap_X
/* Center X
#22=72-61.819+shift_grap_Y
/* Center Y

-292-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
#21=60+61.819-shift_grap_X
/* Center X
#22=72-16.564+shift_grap_Y
/* Center Y
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
#1=45-shift_char_X
/* for (X,Y)
#2=11-shift_char_Y
#3=5
call fig_character
#1=45-shift_char_X
/* for R
#2=9-shift_char_Y
#3=1
call fig_character
#1=51-shift_char_X
/* for A
#2=10-shift_char_Y
#3=1
call fig_character
#1=56-shift_char_X
/* for N
#2=12-shift_char_Y
#3=1
call fig_character
#1=54-shift_char_X
/* for 1
#2=7-shift_char_Y
#3=1
call fig_character
#1=44-shift_char_X
/* for 2
#2=6-shift_char_Y
#3=1
call fig_character
#1=38-shift_char_X
/* for 3
#2=9-shift_char_Y
#3=1
call fig_character
G206P0X[0-shift_grap_X]Y[0+shift_grap_Y]
/* white for Removal
color white
#20=4
/* Radius
#21=60+45.254-shift_grap_X
/* Center X
#22=72+45.254+shift_grap_Y
/* Center Y
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
G206P0X#21Y#22
#21=60-16.564-shift_grap_X
/* Center X
#22=72+61.819+shift_grap_Y
/* Center Y
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
G206P0X#21Y#22
#21=60-61.819-shift_grap_X
/* Center X
#22=72+16.564+shift_grap_Y
/* Center Y
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
G206P0X#21Y#22
#21=60-45.254-shift_grap_X
/* Center X
#22=72-45.254+shift_grap_Y
/* Center Y
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
G206P0X#21Y#22
#21=60+16.564-shift_grap_X
/* Center X
#22=72-61.819+shift_grap_Y
/* Center Y
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
G206P0X#21Y#22
#21=60+61.819-shift_grap_X
/* Center X
#22=72-16.564+shift_grap_Y
/* Center Y
G242X[#21]Y[#22+#20]

-293-

6. USER PROGRAMS FOR HOLE PATTERN MENU

6. USER PROGRAMS FOR HOLE PATTERN MENU

SAMPLE PROGRAM

G02X[#21]Y[#22+#20]I[#21]J[#22]
G206P0X#21Y#22
/* purple line
color purple
#20=5
/* Radius
#21=60+45.254-shift_grap_X
/* Center X
#22=72+45.254+shift_grap_Y
/* Center Y
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
#21=60-16.564-shift_grap_X
/* Center X
#22=72+61.819+shift_grap_Y
/* Center Y
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
#21=60-61.819-shift_grap_X
/* Center X
#22=72+16.564+shift_grap_Y
/* Center Y
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
#21=60-45.254-shift_grap_X
/* Center X
#22=72-45.254+shift_grap_Y
/* Center Y
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
#21=60+16.564-shift_grap_X
/* Center X
#22=72-61.819+shift_grap_Y
/* Center Y
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
#21=60+61.819-shift_grap_X
/* Center X
#22=72-16.564+shift_grap_Y
/* Center Y
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
G242X[-17-shift_grap_X]Y[-9+shift_grap_Y]
G01X[137-shift_grap_X]Y[-9+shift_grap_Y]
G01X[137-shift_grap_X]Y[153+shift_grap_Y]
G01X[-17-shift_grap_X]Y[153+shift_grap_Y]
G01X[-17-shift_grap_X]Y[-9+shift_grap_Y]
/* green Line
color green
G242X[124-shift_grap_X]Y[72+shift_grap_Y]
G02X[124-shift_grap_X]Y[72+shift_grap_Y]I[60-shift_grap_X]J[72+shift_grap_Y]Q4
G242X[124-shift_grap_X]Y[72+shift_grap_Y]
G01X[60-shift_grap_X]Y[72+shift_grap_Y]
G01X[60+45.254-shift_grap_X]Y[72+45.254+shift_grap_Y]
#1=60-shift_grap_X
#2=72+shift_grap_Y
#3=60-45.254-shift_grap_X
#4=72+45.254+shift_grap_Y
#5=2
call fig_line
#1=88-shift_grap_X
#2=72+shift_grap_Y
#3=60+19.8-shift_grap_X
#4=72+19.8+shift_grap_Y
#5=60-shift_grap_X
#6=72+shift_grap_Y
#7=2
call fig_ccw
/* yellow Cross Mark
color yellow
#1=60-shift_grap_X
#2=72+shift_grap_Y
call fig_mark

/* Center

/* Characters
if[cursor eq 1]then
color -white C blue L1

-294-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

6. USER PROGRAMS FOR HOLE PATTERN MENU

else
color white C blue L0
endif
G243X[46-shift_char_X]Y[11-shift_char_Y](X)
if[cursor eq 2]then
color -white C blue L1
else
color white C blue L0
endif
G243X[48-shift_char_X]Y[11-shift_char_Y](Y)
if[cursor eq 3]then
color -white C blue L1
else
color white C blue L0
endif
G243X[45-shift_char_X]Y[9-shift_char_Y](R)
if[cursor eq 4]then
color -white C blue L1
else
color white C blue L0
endif
G243X[51-shift_char_X]Y[10-shift_char_Y](A)
if[cursor eq 5]then
color -white C blue L1
else
color white C blue L0
endif
G243X[56-shift_char_X]Y[12-shift_char_Y](N)
color white C blue L0
G243X[45-shift_char_X]Y[11-shift_char_Y]('(')
G243X[47-shift_char_X]Y[11-shift_char_Y](',')
G243X[49-shift_char_X]Y[11-shift_char_Y](')')
G243X[54-shift_char_X]Y[7-shift_char_Y](1)
G243X[44-shift_char_X]Y[6-shift_char_Y](2)
G243X[38-shift_char_X]Y[9-shift_char_Y](3)
cursor_off
m99

O6116 ;############################################### Arc (Same space)


/* blue for Work
color blue
G242X[-20-shift_grap_X]Y[-8+shift_grap_Y]
G01X[140-shift_grap_X]Y[-8+shift_grap_Y]
G01X[140-shift_grap_X]Y[152+shift_grap_Y]
G01X[-20-shift_grap_X]Y[152+shift_grap_Y]
G01X[-20-shift_grap_X]Y[-8+shift_grap_Y]
#20=6
/* Radius
#21=60+51.962-shift_grap_X
/* Center X
#22=56+30+shift_grap_Y
/* Center Y
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
#21=60+20.521-shift_grap_X
/* Center X
#22=56+56.382+shift_grap_Y
/* Center Y
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
#21=60-20.521-shift_grap_X
/* Center X
#22=56+56.382+shift_grap_Y
/* Center Y
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
#21=60-51.962-shift_grap_X
/* Center X
#22=56+30+shift_grap_Y
/* Center Y
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
#21=60-59.088-shift_grap_X
/* Center X
#22=56-10.419+shift_grap_Y
/* Center Y

-295-

6. USER PROGRAMS FOR HOLE PATTERN MENU

SAMPLE PROGRAM

G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
#1=45-shift_char_X
/* for (X,Y)
#2=12-shift_char_Y
#3=5
call fig_character
#1=44-shift_char_X
/* for R
#2=10-shift_char_Y
#3=1
call fig_character
#1=51-shift_char_X
/* for A
#2=11-shift_char_Y
#3=1
call fig_character
#1=49-shift_char_X
/* for P
#2=10-shift_char_Y
#3=1
call fig_character
#1=38-shift_char_X
/* for N
#2=12-shift_char_Y
#3=1
call fig_character
#1=55-shift_char_X
/* for 1
#2=9-shift_char_Y
#3=1
call fig_character
#1=50-shift_char_X
/* for 2
#2=7-shift_char_Y
#3=1
call fig_character
#1=44-shift_char_X
/* for 3
#2=7-shift_char_Y
#3=1
call fig_character
G206P0X[0-shift_grap_X]Y[0+shift_grap_Y]
/* white for Removal
color white
#20=4
/* Radius
#21=60+51.962-shift_grap_X
/* Center X
#22=56+30+shift_grap_Y
/* Center Y
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
G206P0X#21Y#22
#21=60+20.521-shift_grap_X
/* Center X
#22=56+56.382+shift_grap_Y
/* Center Y
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
G206P0X#21Y#22
#21=60-20.521-shift_grap_X
/* Center X
#22=56+56.382+shift_grap_Y
/* Center Y
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
G206P0X#21Y#22
#21=60-51.962-shift_grap_X
/* Center X
#22=56+30+shift_grap_Y
/* Center Y
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
G206P0X#21Y#22
#21=60-59.088-shift_grap_X
/* Center X
#22=56-10.419+shift_grap_Y
/* Center Y
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
G206P0X#21Y#22
/* purple line
color purple

-296-

B-63423EN/02

SAMPLE PROGRAM

B-63423EN/02

6. USER PROGRAMS FOR HOLE PATTERN MENU

#20=5
/* Radius
#21=60+51.962-shift_grap_X
/* Center X
#22=56+30+shift_grap_Y
/* Center Y
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
#21=60+20.521-shift_grap_X
/* Center X
#22=56+56.382+shift_grap_Y
/* Center Y
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
#21=60-20.521-shift_grap_X
/* Center X
#22=56+56.382+shift_grap_Y
/* Center Y
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
#21=60-51.962-shift_grap_X
/* Center X
#22=56+30+shift_grap_Y
/* Center Y
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
#21=60-59.088-shift_grap_X
/* Center X
#22=56-10.419+shift_grap_Y
/* Center Y
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
G242X[-21-shift_grap_X]Y[-9+shift_grap_Y]
G01X[141-shift_grap_X]Y[-9+shift_grap_Y]
G01X[141-shift_grap_X]Y[153+shift_grap_Y]
G01X[-21-shift_grap_X]Y[153+shift_grap_Y]
G01X[-21-shift_grap_X]Y[-9+shift_grap_Y]
/* green Line
color green
G242X[120-shift_grap_X]Y[56+shift_grap_Y]
G03X[60-59.088-shift_grap_X]Y[56-10.419+shift_grap_Y]I[60-shift_grap_X]J[56+shift_grap_Y]
G242X[130-shift_grap_X]Y[56+shift_grap_Y]
G01X[60-shift_grap_X]Y[56+shift_grap_Y]
G01X[60+51.962-shift_grap_X]Y[56+30+shift_grap_Y]
G242X[60+20.521-shift_grap_X]Y[56+56.382+shift_grap_Y]
G01X[60-shift_grap_X]Y[56+shift_grap_Y]
#1=60-shift_grap_X
#2=56+shift_grap_Y
#3=60-42.426-shift_grap_X
#4=56+42.426+shift_grap_Y
#5=2
call fig_line
G242X[80-shift_grap_X]Y[56+shift_grap_Y]
G03X[60+6.84-shift_grap_X]Y[56+18.794+shift_grap_Y]I[60-shift_grap_X]J[56+shift_grap_Y]
/* yellow Cross Mark
color yellow
#1=60-shift_grap_X
#2=56+shift_grap_Y
call fig_mark

/* Center

/* Characters
if[cursor eq 2]then
color -white C blue L1
else
color white C blue L0
endif
G243X[46-shift_char_X]Y[12-shift_char_Y](X)
if[cursor eq 3]then
color -white C blue L1
else
color white C blue L0
endif
G243X[48-shift_char_X]Y[12-shift_char_Y](Y)
if[cursor eq 4]then
color -white C blue L1
else

-297-

6. USER PROGRAMS FOR HOLE PATTERN MENU

SAMPLE PROGRAM

color white C blue L0


endif
G243X[44-shift_char_X]Y[10-shift_char_Y](R)
if[cursor eq 5]then
color -white C blue L1
else
color white C blue L0
endif
G243X[51-shift_char_X]Y[11-shift_char_Y](A)
if[cursor eq 6]then
color -white C blue L1
else
color white C blue L0
endif
G243X[49-shift_char_X]Y[10-shift_char_Y](P)
if[cursor eq 7]then
color -white C blue L1
else
color white C blue L0
endif
G243X[38-shift_char_X]Y[12-shift_char_Y](N)
color white C blue L0
G243X[45-shift_char_X]Y[12-shift_char_Y]('(')
G243X[47-shift_char_X]Y[12-shift_char_Y](',')
G243X[49-shift_char_X]Y[12-shift_char_Y](')')
G243X[55-shift_char_X]Y[9-shift_char_Y](1)
G243X[50-shift_char_X]Y[7-shift_char_Y](2)
G243X[44-shift_char_X]Y[7-shift_char_Y](3)
cursor_off
m99

O6117 ;############################################### Arc (Different space)


/* blue for Work
color blue
G242X[-20-shift_grap_X]Y[-8+shift_grap_Y]
G01X[140-shift_grap_X]Y[-8+shift_grap_Y]
G01X[140-shift_grap_X]Y[152+shift_grap_Y]
G01X[-20-shift_grap_X]Y[152+shift_grap_Y]
G01X[-20-shift_grap_X]Y[-8+shift_grap_Y]
#20=6
/* Radius
#21=60+56.382-shift_grap_X
/* Center X
#22=56+20.521+shift_grap_Y
/* Center Y
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
#21=60+10.419-shift_grap_X
/* Center X
#22=56+59.088+shift_grap_Y
/* Center Y
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
#21=60-20.521-shift_grap_X
/* Center X
#22=56+56.382+shift_grap_Y
/* Center Y
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
#21=60-59.088-shift_grap_X
/* Center X
#22=56+10.419+shift_grap_Y
/* Center Y
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
#21=60-59.088-shift_grap_X
/* Center X
#22=56-10.419+shift_grap_Y
/* Center Y
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
#1=45-shift_char_X
/* for (X,Y)
#2=12-shift_char_Y
#3=5
call fig_character
#1=43-shift_char_X
/* for R

-298-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

#2=12-shift_char_Y
#3=1
call fig_character
#1=52-shift_char_X
/* for A
#2=11-shift_char_Y
#3=1
call fig_character
#1=50-shift_char_X
/* for B
#2=10-shift_char_Y
#3=1
call fig_character
#1=47-shift_char_X
/* for C
#2=9-shift_char_Y
#3=1
call fig_character
#1=43-shift_char_X
/* for D
#2=10-shift_char_Y
#3=1
call fig_character
G206P0X[0-shift_grap_X]Y[0+shift_grap_Y]
/* white for Removal
color white
#20=4
/* Radius
#21=60+56.382-shift_grap_X
/* Center X
#22=56+20.521+shift_grap_Y
/* Center Y
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
G206P0X#21Y#22
#21=60+10.419-shift_grap_X
/* Center X
#22=56+59.088+shift_grap_Y
/* Center Y
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
G206P0X#21Y#22
#21=60-20.521-shift_grap_X
/* Center X
#22=56+56.382+shift_grap_Y
/* Center Y
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
G206P0X#21Y#22
#21=60-59.088-shift_grap_X
/* Center X
#22=56+10.419+shift_grap_Y
/* Center Y
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
G206P0X#21Y#22
#21=60-59.088-shift_grap_X
/* Center X
#22=56-10.419+shift_grap_Y
/* Center Y
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
G206P0X#21Y#22
/* purple line
color purple
#20=5
/* Radius
#21=60+56.382-shift_grap_X
/* Center X
#22=56+20.521+shift_grap_Y
/* Center Y
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
#21=60+10.419-shift_grap_X
/* Center X
#22=56+59.088+shift_grap_Y
/* Center Y
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
#21=60-20.521-shift_grap_X
/* Center X
#22=56+56.382+shift_grap_Y
/* Center Y
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
#21=60-59.088-shift_grap_X
/* Center X
#22=56+10.419+shift_grap_Y
/* Center Y

-299-

6. USER PROGRAMS FOR HOLE PATTERN MENU

6. USER PROGRAMS FOR HOLE PATTERN MENU

SAMPLE PROGRAM

G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
#21=60-59.088-shift_grap_X
/* Center X
#22=56-10.419+shift_grap_Y
/* Center Y
G242X[#21]Y[#22+#20]
G02X[#21]Y[#22+#20]I[#21]J[#22]
G242X[-21-shift_grap_X]Y[-9+shift_grap_Y]
G01X[141-shift_grap_X]Y[-9+shift_grap_Y]
G01X[141-shift_grap_X]Y[153+shift_grap_Y]
G01X[-21-shift_grap_X]Y[153+shift_grap_Y]
G01X[-21-shift_grap_X]Y[-9+shift_grap_Y]
/* green Line
color green
G242X[130-shift_grap_X]Y[56+shift_grap_Y]
G01X[60-shift_grap_X]Y[56+shift_grap_Y]
G01X[60+56.382-shift_grap_X]Y[56+20.521+shift_grap_Y]
G242X[60+10.419-shift_grap_X]Y[56+59.088+shift_grap_Y]
G01X[60-shift_grap_X]Y[56+shift_grap_Y]
G01X[60-20.521-shift_grap_X]Y[56+56.382+shift_grap_Y]
G242X[60-59.088-shift_grap_X]Y[56+10.419+shift_grap_Y]
G01X[60-shift_grap_X]Y[56+shift_grap_Y]
G01X[60-59.088-shift_grap_X]Y[56-10.419+shift_grap_Y]
G242X[90-shift_grap_X]Y[56+shift_grap_Y]
G03X[60-29.544-shift_grap_X]Y[56+5.209+shift_grap_Y]I[60-shift_grap_X]J[56+shift_grap_Y]
G242X[60+56.382-shift_grap_X]Y[56+20.521+shift_grap_Y]
G03X[60-59.088-shift_grap_X]Y[56-10.419+shift_grap_Y]I[60-shift_grap_X]J[56+shift_grap_Y]
/* yellow Cross Mark
color yellow
#1=60-shift_grap_X
#2=56+shift_grap_Y
call fig_mark

/* Center

/* Characters
if[cursor eq 2]then
color -white C blue L1
else
color white C blue L0
endif
G243X[46-shift_char_X]Y[12-shift_char_Y](X)
if[cursor eq 3]then
color -white C blue L1
else
color white C blue L0
endif
G243X[48-shift_char_X]Y[12-shift_char_Y](Y)
if[cursor eq 4]then
color -white C blue L1
else
color white C blue L0
endif
G243X[43-shift_char_X]Y[12-shift_char_Y](R)
if[cursor eq 5]then
color -white C blue L1
else
color white C blue L0
endif
G243X[52-shift_char_X]Y[11-shift_char_Y](A)
if[cursor eq 12]then
color -white C blue L1
else
color white C blue L0
endif
G243X[50-shift_char_X]Y[10-shift_char_Y](B)
if[cursor eq 13]then
color -white C blue L1

-300-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

else
color white C blue L0
endif
G243X[47-shift_char_X]Y[9-shift_char_Y](C)
if[cursor eq 14]then
color -white C blue L1
else
color white C blue L0
endif
G243X[43-shift_char_X]Y[10-shift_char_Y](D)
color white C blue L0
G243X[45-shift_char_X]Y[12-shift_char_Y]('(')
G243X[47-shift_char_X]Y[12-shift_char_Y](',')
G243X[49-shift_char_X]Y[12-shift_char_Y](')')
cursor_off
m99

-301-

6. USER PROGRAMS FOR HOLE PATTERN MENU

6. USER PROGRAMS FOR HOLE PATTERN MENU

6.4

SAMPLE PROGRAM

INPUTTED DATA CHECKING

/****************************************************************************
/*
/* CHECK4.SRC :: Hole Pattern
/*
/***** 8841: Points
/***** 8842: Line
/***** 8843: Grid
/***** 8844: Square
/***** 8845: Circle
/***** 8846: Arc
/****************************************************************************
$INCLUDE SYMBOL.DEF

/* ############################################### Points
O8841 input_error_flag = error_non
/* Pattern Cont. */
error_item = 17
if[#[value 17] eq #0]goto 97
if[#[value 17] lt 1 || #[value 17] gt 2]goto 98
goto 99
/* Data is lacking. */
n97 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+900]
goto 99
/* Input error in menu param. */
n98 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+901]
n99 m99

/* ############################################### Line
O8842 input_error_flag = error_non
/* Space */
error_item = 1
if[#[value 1] eq #0]goto 97
if[#[value 1] lt 1 || #[value 1] gt 2]goto 98
/* Start Point X */
error_item = 2
if[#[value 2] eq #0]goto 97
/* Start Point Y */
error_item = 3
if[#[value 3] eq #0]goto 97
/* Holes Number */
if[#[attribute 5] ne att_not_use]then
error_item = 5
if[#[value 5] eq #0]goto 97
if[#[value 5] le 0]goto 98
endif
/* Pitch Space / Line Length */
if[#[attribute 6] ne att_not_use && #[attribute 7] ne att_not_use]then
error_item = 6
if[#[value 6] eq #0 && #[value 7] eq #0]goto 97
if[#[value 6] eq 0 || #[value 6] lt 0]goto 98
if[#[value 6] eq #0]then
error_item = 7
if[#[value 7] le 0]goto 98

-302-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

endif
endif
/* Pattern Cont. */
error_item = 22
if[#[value 22] eq #0]goto 97
if[#[value 22] lt 1 || #[value 22] gt 2]goto 98
goto 99
/* Data is lacking. */
n97 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+900]
goto 99
/* Input error in menu param. */
n98 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+901]
n99 m99

/* ############################################### Grid
O8843 input_error_flag = error_non
/* Start Point X */
error_item = 1
if[#[value 1] eq #0]goto 97
/* Start Point Y */
error_item = 2
if[#[value 2] eq #0]goto 97
/* U-Length */
error_item = 3
if[#[value 3] eq #0]goto 97
if[#[value 3] le 0]goto 98
/* V-Length */
error_item = 4
if[#[value 4] eq #0]goto 97
if[#[value 4] le 0]goto 98
/* U-Number */
error_item = 5
if[#[value 5] eq #0]goto 97
if[#[value 5] le 0]goto 98
/* V-Number */
error_item = 6
if[#[value 6] eq #0]goto 97
if[#[value 6] le 0]goto 98
/* Pattern Cont. */
error_item = 13
if[#[value 13] eq #0]goto 97
if[#[value 13] lt 1 || #[value 13] gt 2]goto 98
goto 99
/* Data is lacking. */
n97 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+900]
goto 99
/* Input error in menu param. */
n98 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+901]
n99 m99

/* ############################################### Square

-303-

6. USER PROGRAMS FOR HOLE PATTERN MENU

6. USER PROGRAMS FOR HOLE PATTERN MENU

SAMPLE PROGRAM

O8844 input_error_flag = error_non


/* Start Point X */
error_item = 1
if[#[value 1] eq #0]goto 97
/* Start Point Y */
error_item = 2
if[#[value 2] eq #0]goto 97
/* U-Length */
error_item = 3
if[#[value 3] eq #0]goto 97
if[#[value 3] le 0]goto 98
/* V-Length */
error_item = 4
if[#[value 4] eq #0]goto 97
if[#[value 4] le 0]goto 98
/* U-Number */
error_item = 5
if[#[value 5] eq #0]goto 97
if[#[value 5] le 0]goto 98
/* V-Number */
error_item = 6
if[#[value 6] eq #0]goto 97
if[#[value 6] le 0]goto 98
/* Pattern Cont. */
error_item = 13
if[#[value 13] eq #0]goto 97
if[#[value 13] lt 1 || #[value 13] gt 2]goto 98
goto 99
/* Data is lacking. */
n97 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+900]
goto 99
/* Input error in menu param. */
n98 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+901]
n99 m99

/* ############################################### Circle
O8845 input_error_flag = error_non
/* Center Point X */
error_item = 1
if[#[value 1] eq #0]goto 97
/* Center Point Y */
error_item = 2
if[#[value 2] eq #0]goto 97
/* Radius */
error_item = 3
if[#[value 3] eq #0]goto 97
if[#[value 3] le 0]goto 98
/* Hole Number */
error_item = 5
if[#[value 5] eq #0]goto 97
if[#[value 5] le 0]goto 98
/* Pattern Cont. */
error_item = 10
if[#[value 10] eq #0]goto 97
if[#[value 10] lt 1 || #[value 10] gt 2]goto 98
goto 99
/* Data is lacking. */
n97 input_error_flag = error_on
call fig_language

-304-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

color red C white L0


G243X1Y24 P[#1+900]
goto 99
/* Input error in menu param. */
n98 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+901]
n99 m99

/* ############################################### Arc
O8846 input_error_flag = error_non
/* Pattern form */
error_item = 1
if[#[value 1] eq #0]goto 97
if[#[value 1] lt 1 || #[value 1] gt 2]goto 98
/* Center Point X */
error_item = 2
if[#[value 2] eq #0]goto 97
/* Center Point Y */
error_item = 3
if[#[value 3] eq #0]goto 97
/* Radius */
error_item = 4
if[#[value 4] eq #0]goto 97
if[#[value 4] le 0]goto 98
/* Pitch Angle */
if[#[attribute 6] ne att_not_use]then
error_item = 6
if[#[value 6] eq #0]goto 97
if[#[value 6] le 0]goto 98
endif
/* Hole Number */
if[#[attribute 7] ne att_not_use]then
error_item = 7
if[#[value 7] eq #0]goto 97
if[#[value 7] le 0]goto 98
endif
/* Pattern Cont. */
error_item = 22
if[#[value 22] eq #0]goto 97
if[#[value 22] lt 1 || #[value 22] gt 2]goto 98
goto 99
/* Data is lacking. */
n97 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+900]
goto 99
/* Input error in menu param. */
n98 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+901]
n99 m99

-305-

6. USER PROGRAMS FOR HOLE PATTERN MENU

7. USER PROGRAMS FOR FACING MENU

SAMPLE PROGRAM

B-63423EN/02

USER PROGRAMS FOR FACING MENU

-306-

SAMPLE PROGRAM

B-63423EN/02

7.1

COMMENTS DEFINITION

/****************************************************************************
/*
/* STRING5.SRC :: Face
/*
/***** 7601: Softkey
/***** 7611: Square
/***** 7622: Circle
/****************************************************************************

O7601 ;############################################### Softkye


N0001("20 01 C010 20")('SQUARE');
N0002("20 01 C018 20")('CIRCLE');
M99

O7611 ;############################################### Square


N9999('SQUARE FACE');
N9998('SQUARE FACE(DETAIL SET)');
N0001('MACH. PROCESS');
N0002('CLEARANCE');
N0003('END POINT Z');
N0004('REMOVAL DEPTH');
N0005('REMOVAL PITCH');
N0006('FINISHING ALW.');
N0007('FEED RATE');
N0008('CUTTING WIDTH%');
N0009('CUT DIRECTION');
N0011('CENTER POINT X');
N0012('CENTER POINT Y');
N0013('U-LENGTH');
N0014('V-LENGTH');
N0015('INCLINE ANGLE');
N0016('START POINT SEL.');
N0017('APPROACH GAP');
N0018('ESCAPE GAP');
N0019('U-WIDTH');
N0020('V-WIDTH');
N0100('15');
N0101("20 01 C010 20")('ROUGH ');
N0102("20 01 C018 20")('FINISH');
N0151('1');
N0152('2');
N0900('16');
N0901("20 01 C010 20")('UNIDIR');
N0902("20 01 C018 20")('BIDIR ');
N0903("20 01 C020 20")(' RING ');
N0951('1');
N0952('2');
N0953('3');
N1600('18');
N1601("20 01 C010 20")(' [1] ');
N1602("20 01 C010 20")(' [2] ');
N1603("20 01 C010 20")(' [3] ');
N1604("20 01 C010 20")(' [4] ');
N1651('1');
N1652('2');
N1653('3');
N1654('4');

-307-

7. USER PROGRAMS FOR FACING MENU

7. USER PROGRAMS FOR FACING MENU

SAMPLE PROGRAM

M99

O7621 ;############################################### Circle


N9999('CIRCLE FACE');
N9998('CIRCLE FACE(DETAIL SET)');
N0001('MACH. PROCESS');
N0002('CLEARANCE');
N0003('END POINT Z');
N0004('REMOVAL DEPTH');
N0005('REMOVAL PITCH');
N0006('FINISHING ALW.');
N0007('FEED RATE');
N0008('CUTTING WIDTH%');
N0009('CUT DIRECTION');
N0011('CENTER POINT X');
N0012('CENTER POINT Y');
N0013('RADIUS');
N0014('START POINT SEL.');
N0015('APPROACH GAP');
N0016('ESCAPE GAP');
N0017('RING WIDTH');
N0100('15');
N0101("20 01 C010 20")('ROUGH ');
N0102("20 01 C018 20")('FINISH');
N0151('1');
N0152('2');
N0900('17');
N0901("20 01 C010 20")('UNIDIR');
N0902("20 01 C018 20")('BIDIR ');
N0903("20 01 C020 20")(' RING ');
N0951('1');
N0952('2');
N0953('3');
N1400('18');
N1401("20 01 C010 20")(' [1]
N1402("20 01 C010 20")(' [2]
N1403("20 01 C010 20")(' [3]
N1404("20 01 C010 20")(' [4]
N1451('1');
N1452('2');
N1453('3');
N1454('4');
M99

');
');
');
');

-308-

B-63423EN/02

B-63423EN/02

7.2

SAMPLE PROGRAM

DATA ATTRIBUTE

/****************************************************************************
/*
/* PROC5.SRC :: Face
/*
/***** 8461: Square
/***** 8462: Circle
/****************************************************************************
$INCLUDE SYMBOL.DEF
O8461 ;############################################### Square
#[address 0] = 210
#[address 1] = add_P
#[attribute 1] = att_character
#[value 1] = 1
#[address 2] = add_L
#[attribute 2] = att_decimal + att_detail
#[value 2] = 3
#[address 3] = add_Z
#[attribute 3] = att_decimal
#[value 3] = #0
#[address 4] = add_B
#[attribute 4] = att_decimal
#[value 4] = #0
#[address 5] = add_J
#[attribute 5] = att_decimal
#[value 5] = #0
#[address 6] = add_H
#[attribute 6] = att_decimal
#[value 6] = 0
#[address 7] = add_F
#[attribute 7] = att_decimal
#[value 7] = #0
#[address 8] = add_C
#[attribute 8] = att_decimal
#[value 8] = 70
#[address 9] = add_W
#[attribute 9] = att_character + att_detail
#[value 9] = 1
#[address 10] = add_W ;DUMMY
#[attribute 10] = att_new_page
#[value 10] = #0 ;DUMMY
#[address 11] = add_X
#[attribute 11] = att_decimal
#[value 11] = #0
#[address 12] = add_Y
#[attribute 12] = att_decimal
#[value 12] = #0
#[address 13] = add_U
#[attribute 13] = att_decimal
#[value 13] = #0
#[address 14] = add_V
#[attribute 14] = att_decimal
#[value 14] = #0
#[address 15] = add_A
#[attribute 15] = att_decimal + att_detail
#[value 15] = 0
#[address 16] = add_E
#[attribute 16] = att_character + att_detail
#[value 16] = 1
#[address 17] = add_M
#[attribute 17] = att_decimal + att_detail
#[value 17] = 5

-309-

7. USER PROGRAMS FOR FACING MENU

7. USER PROGRAMS FOR FACING MENU

SAMPLE PROGRAM

#[address 18] = add_N


#[attribute 18] = att_decimal + att_detail
#[value 18] = 5
#[address 19] = add_Q
#[attribute 19] = att_not_use
#[value 19] = #0
#[address 20] = add_R
#[attribute 20] = att_not_use
#[value 20] = #0
#[address 21] = add_end
previous_cursor = 1
/* Previous cursor position clear
m99

O8462 ;############################################### Circle


#[address 0] = 211
#[address 1] = add_P
#[attribute 1] = att_character
#[value 1] = 1
#[address 2] = add_L
#[attribute 2] = att_decimal + att_detail
#[value 2] = 3
#[address 3] = add_Z
#[attribute 3] = att_decimal
#[value 3] = #0
#[address 4] = add_B
#[attribute 4] = att_decimal
#[value 4] = #0
#[address 5] = add_J
#[attribute 5] = att_decimal
#[value 5] = #0
#[address 6] = add_H
#[attribute 6] = att_decimal
#[value 6] = 0
#[address 7] = add_F
#[attribute 7] = att_decimal
#[value 7] = #0
#[address 8] = add_C
#[attribute 8] = att_decimal
#[value 8] = 70
#[address 9] = add_W
#[attribute 9] = att_character + att_detail
#[value 9] = 1
#[address 10] = add_W ;DUMMY
#[attribute 10] = att_new_page
#[value 10] = #0 ;DUMMY
#[address 11] = add_X
#[attribute 11] = att_decimal
#[value 11] = #0
#[address 12] = add_Y
#[attribute 12] = att_decimal
#[value 12] = #0
#[address 13] = add_R
#[attribute 13] = att_decimal
#[value 13] = #0
#[address 14] = add_E
#[attribute 14] = att_character + att_detail
#[value 14] = 1
#[address 15] = add_M
#[attribute 15] = att_decimal + att_detail
#[value 15] = 5
#[address 16] = add_N
#[attribute 16] = att_decimal + att_detail
#[value 16] = 5
#[address 17] = add_Q
#[attribute 17] = att_not_use

-310-

B-63423EN/02

B-63423EN/02

#[value 17] = #0
#[address 18] = add_end
previous_cursor = 1
m99

SAMPLE PROGRAM

/* Previous cursor position clear

-311-

7. USER PROGRAMS FOR FACING MENU

7. USER PROGRAMS FOR FACING MENU

7.3

SAMPLE PROGRAM

GUIDANCE DRAWING FIGURE

/****************************************************************************
/*
/* FIG5.SRC :: Face
/*
/***** 8661: Square
/***** 8662: Circle
/****************************************************************************
$INCLUDE SYMBOL.DEF

O8661 ;############################################### Square


if[#[value 9] eq 3]then #1=6124
else #1=6123
/*** Guide Picture Setting ***/
if[guide_frequency ne secont_tine]goto 90
if[cursor le 8]then
if[cursor eq 2]then
call #1
else
if[previous_cursor gt 8 || previous_cursor eq 2]then
call fig_clear
endif
call 6122
endif
else
if[cursor eq 15]then
call fig_clear
call 6121
else
if[previous_cursor eq 15]then
call fig_clear
endif
if[previous_cursor lt 9 && previous_cursor ne 2]then
call fig_clear
endif
call #1
endif
endif
previous_cursor = cursor
n90
/*** Attribution Setting ***/
if[#[value 1] eq 1]then
/* Rough
#[attribute 4] = att_decimal
#[attribute 5] = att_decimal
#[attribute 6] = att_decimal
else
/* Finish
#[attribute 4] = att_not_use
#[attribute 5] = att_not_use
#[attribute 6] = att_not_use
endif
if[#[value 9] eq 3]then
/* Ring
#[attribute 19] = att_decimal + att_detail
#[attribute 20] = att_decimal + att_detail
else
/* Uni Dir or Bi Dir
#[attribute 19] = att_not_use
#[attribute 20] = att_not_use
endif
m99

O8662 ;############################################### Circle

-312-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

if[#[value 9] eq 3]then #1=6126


else #1=6125
/*** Guide Picture Setting ***/
if[guide_frequency ne secont_tine]goto 90
if[cursor le 8]then
if[cursor eq 2]then
call #1
else
if[previous_cursor gt 8 || previous_cursor eq 2]then
call fig_clear
endif
call 6122
endif
else
if[previous_cursor le 9 && previous_cursor ne 2]then
call fig_clear
endif
if[previous_cursor eq 9]then
call fig_clear
endif
call #1
endif
previous_cursor = cursor
n90
/*** Attribution Setting ***/
if[#[value 1] eq 1]then
/* Rough
#[attribute 4] = att_decimal
#[attribute 5] = att_decimal
#[attribute 6] = att_decimal
else
/* Finish
#[attribute 4] = att_not_use
#[attribute 5] = att_not_use
#[attribute 6] = att_not_use
endif
if[#[value 9] eq 3]then
/* Ring
#[attribute 17] = att_decimal + att_detail
else
/* Uni Dir or Bi Dir
#[attribute 17] = att_not_use
endif
m99

/****************************************************************************
/*
/* FIGSUB5.SRC :: Face
/*
/***** 6121: Angle
/***** 6122: Prepare
/***** 6123: Square Uni/Bi Dir
/***** 6124: Square Ring
/***** 6125: Circle Uni/Bi Dir
/***** 6126: Circle Ring
/****************************************************************************
$INCLUDE SYMBOL.DEF

O6121 ;############################################### Angle


/* blue for Work
color blue
G242X[24-shift_grap_X]Y[21+shift_grap_Y]
G01X[119-shift_grap_X]Y[68+shift_grap_Y]
G01X[88-shift_grap_X]Y[131+shift_grap_Y]
G01X[-7-shift_grap_X]Y[84+shift_grap_Y]
G01X[24-shift_grap_X]Y[21+shift_grap_Y]
#1=45-shift_char_X
/* for (X,Y)

-313-

7. USER PROGRAMS FOR FACING MENU

7. USER PROGRAMS FOR FACING MENU

SAMPLE PROGRAM

#2=11-shift_char_Y
#3=5
call fig_character
#1=51-shift_char_X
/* for A
#2=10-shift_char_Y
#3=1
call fig_character
G206P0X[24-shift_grap_X]Y[68+shift_grap_Y]
/* Edge Line
color purple
G242X[24-shift_grap_X]Y[20+shift_grap_Y]
G01X[120-shift_grap_X]Y[68+shift_grap_Y]
G01X[88-shift_grap_X]Y[132+shift_grap_Y]
G01X[-8-shift_grap_X]Y[84+shift_grap_Y]
G01X[24-shift_grap_X]Y[20+shift_grap_Y]
/* green Line
color green
G242X[120-shift_grap_X]Y[108+shift_grap_Y]
G01X[-8-shift_grap_X]Y[44+shift_grap_Y]
G242X[56-shift_grap_X]Y[76+shift_grap_Y]
G01X[100-shift_grap_X]Y[76+shift_grap_Y]
G242X[88-shift_grap_X]Y[76+shift_grap_Y]
G03X[84.6217-shift_grap_X]Y[90.3108+shift_grap_Y]I[56-shift_grap_X]J[76+shift_grap_Y]
#1=-24-shift_grap_X
#2=4+shift_grap_Y
#3=136-shift_grap_X
#4=4+shift_grap_Y
#5=0
call fig_line
#1=-24-shift_grap_X
#2=4+shift_grap_Y
#3=-24-shift_grap_X
#4=132+shift_grap_Y
#5=0
call fig_line
/* yellow Cross Mark
color yellow
#1=56-shift_grap_X
#2=76+shift_grap_Y
call fig_mark
/* Characters
color -white C blue L1
G243X[51-shift_char_X]Y[10-shift_char_Y](A)
color white C blue L0
G243X[45-shift_char_X]Y[11-shift_char_Y]('(X,Y)')
cursor_off
m99

O6122 ;############################################### Prepare


/* blue for Work
color blue
G242X[-15-shift_grap_X]Y[41+shift_grap_Y]
G01X[111-shift_grap_X]Y[41+shift_grap_Y]
G01X[111-shift_grap_X]Y[63+shift_grap_Y]
G01X[-15-shift_grap_X]Y[63+shift_grap_Y]
G01X[-15-shift_grap_X]Y[41+shift_grap_Y]
G206P0X[0-shift_grap_X]Y[50+shift_grap_Y]
/* blue green for Finish
color sky_blue
G242X[-15-shift_grap_X]Y[65+shift_grap_Y]

-314-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

G01X[111-shift_grap_X]Y[65+shift_grap_Y]
G01X[111-shift_grap_X]Y[71+shift_grap_Y]
G01X[-15-shift_grap_X]Y[71+shift_grap_Y]
G01X[-15-shift_grap_X]Y[65+shift_grap_Y]
G206P0X[0-shift_grap_X]Y[67+shift_grap_Y]
/* white for Removal
color white
G242X[-15-shift_grap_X]Y[73+shift_grap_Y]
G01X[111-shift_grap_X]Y[73+shift_grap_Y]
G01X[111-shift_grap_X]Y[87+shift_grap_Y]
G01X[33-shift_grap_X]Y[87+shift_grap_Y]
G01X[33-shift_grap_X]Y[79+shift_grap_Y]
G01X[-15-shift_grap_X]Y[79+shift_grap_Y]
G01X[-15-shift_grap_X]Y[73+shift_grap_Y]
G206P0X[0-shift_grap_X]Y[75+shift_grap_Y]
/* Tool
color green
G242X[-23-shift_grap_X]Y[81+shift_grap_Y]
G01X[31-shift_grap_X]Y[81+shift_grap_Y]
G01X[27-shift_grap_X]Y[95+shift_grap_Y]
G01X[-19-shift_grap_X]Y[95+shift_grap_Y]
G01X[-23-shift_grap_X]Y[81+shift_grap_Y]
G206P0X[0-shift_grap_X]Y[88+shift_grap_Y]
G242X[-3-shift_grap_X]Y[96+shift_grap_Y]
G01X[-3-shift_grap_X]Y[112+shift_grap_Y]
G02X[4-shift_grap_X]Y[112+shift_grap_Y]I[0-shift_grap_X]J[112-4+shift_grap_Y]
G02X[11-shift_grap_X]Y[112+shift_grap_Y]I[8-shift_grap_X]J[112-4+shift_grap_Y]
G01X[11-shift_grap_X]Y[96+shift_grap_Y]
G206P0X[0-shift_grap_X]Y[100+shift_grap_Y]
/* Edge Line
color sky_blue
G242X[-16-shift_grap_X]Y[63+shift_grap_Y]
G01X[-16-shift_grap_X]Y[40+shift_grap_Y]
G01X[112-shift_grap_X]Y[40+shift_grap_Y]
G01X[112-shift_grap_X]Y[63+shift_grap_Y]
color purple
G242X[-16-shift_grap_X]Y[64+shift_grap_Y]
G01X[112-shift_grap_X]Y[64+shift_grap_Y]
G01X[112-shift_grap_X]Y[88+shift_grap_Y]
G01X[32-shift_grap_X]Y[88+shift_grap_Y]
G01X[32-shift_grap_X]Y[80+shift_grap_Y]
G01X[-16-shift_grap_X]Y[80+shift_grap_Y]
G01X[-16-shift_grap_X]Y[65+shift_grap_Y]
G242X[-15-shift_grap_X]Y[72+shift_grap_Y]
G01X[111-shift_grap_X]Y[72+shift_grap_Y]
G242X[-24-shift_grap_X]Y[80+shift_grap_Y]
/* for Tool
G01X[-17-shift_grap_X]Y[80+shift_grap_Y]
G242X[32-shift_grap_X]Y[80+shift_grap_Y]
G01X[28-shift_grap_X]Y[96+shift_grap_Y]
G01X[-20-shift_grap_X]Y[96+shift_grap_Y]
G01X[-24-shift_grap_X]Y[80+shift_grap_Y]
G242X[-4-shift_grap_X]Y[97+shift_grap_Y]
G01X[-4-shift_grap_X]Y[112+shift_grap_Y]
G242X[12-shift_grap_X]Y[97+shift_grap_Y]
G01X[12-shift_grap_X]Y[112+shift_grap_Y]
G242X[-4-shift_grap_X]Y[112+shift_grap_Y]
G02X[4-shift_grap_X]Y[112+shift_grap_Y]I[0-shift_grap_X]J[112-4+shift_grap_Y]
G03X[12-shift_grap_X]Y[112+shift_grap_Y]I[8-shift_grap_X]J[112+4+shift_grap_Y]
G03X[4-shift_grap_X]Y[112+shift_grap_Y]I[8-shift_grap_X]J[112-4+shift_grap_Y]
/* red for Path
color red
G242X[33-shift_grap_X]Y[80+shift_grap_Y]
G01X[111-shift_grap_X]Y[80+shift_grap_Y]

-315-

7. USER PROGRAMS FOR FACING MENU

7. USER PROGRAMS FOR FACING MENU

/* green Line
color green
G242X[-17-shift_grap_X]Y[72+shift_grap_Y]
G01X[-24-shift_grap_X]Y[72+shift_grap_Y]
G242X[-17-shift_grap_X]Y[64+shift_grap_Y]
G01X[-24-shift_grap_X]Y[64+shift_grap_Y]
#1=-20-shift_grap_X
#2=73+shift_grap_Y
#3=#1
#4=79+shift_grap_Y
#5=1
call fig_line
#1=-20-shift_grap_X
#2=63+shift_grap_Y
#3=#1
#4=57+shift_grap_Y
#5=1
call fig_line
G242X[113-shift_grap_X]Y[88+shift_grap_Y]
G01X[136-shift_grap_X]Y[88+shift_grap_Y]
G242X[113-shift_grap_X]Y[64+shift_grap_Y]
G01X[136-shift_grap_X]Y[64+shift_grap_Y]
#1=132-shift_grap_X
#2=87+shift_grap_Y
#3=#1
#4=65+shift_grap_Y
#5=2
call fig_line
G242X[113-shift_grap_X]Y[80+shift_grap_Y]
G01X[120-shift_grap_X]Y[80+shift_grap_Y]
#1=116-shift_grap_X
#2=89+shift_grap_Y
#3=#1
#4=99+shift_grap_Y
#5=1
call fig_line
#1=116-shift_grap_X
#2=79+shift_grap_Y
#3=#1
#4=69+shift_grap_Y
#5=1
call fig_line

SAMPLE PROGRAM

/* for H

/* for B

/* for J

/* Characters
#1=3
call fig_cursor
G243X[57-shift_char_X]Y[11-shift_char_Y](Z)
#1=4
call fig_cursor
G243X[57-shift_char_X]Y[10-shift_char_Y](B)
#1=5
call fig_cursor
G243X[55-shift_char_X]Y[10-shift_char_Y](J)
#1=6
call fig_cursor
G243X[36-shift_char_X]Y[11-shift_char_Y](H)
cursor_off
m99

O6123 ;############################################### Square Uni/Bi Dir


/* blue for Work
color blue
G242X[9-shift_grap_X]Y[25+shift_grap_Y]
G01X[95-shift_grap_X]Y[25+shift_grap_Y]

-316-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

G01X[95-shift_grap_X]Y[119+shift_grap_Y]
G01X[9-shift_grap_X]Y[119+shift_grap_Y]
G01X[9-shift_grap_X]Y[25+shift_grap_Y]
#1=44-shift_char_X
#2=11-shift_char_Y
#3=5
call fig_character
G206P0X[50-shift_grap_X]Y[50+shift_grap_Y]
/* green for Tool
color green
G242X[-1-shift_grap_X]Y[104+shift_grap_Y]
G02X[-1-shift_grap_X]Y[104+shift_grap_Y]I[-16-shift_grap_X]J[104+shift_grap_Y]Q4
G206P0X[-16-shift_grap_X]Y[104+shift_grap_Y]
G242X[105-shift_grap_X]Y[40+shift_grap_Y]
G02X[105-shift_grap_X]Y[40+shift_grap_Y]I[120-shift_grap_X]J[40+shift_grap_Y]Q4
G206X[120-shift_grap_X]Y[40+shift_grap_Y]
/* Edge Line
color sky_blue
/* for Work(blue green)
G242X[8-shift_grap_X]Y[24+shift_grap_Y]
G01X[96-shift_grap_X]Y[24+shift_grap_Y]
G01X[96-shift_grap_X]Y[120+shift_grap_Y]
G01X[8-shift_grap_X]Y[120+shift_grap_Y]
G01X[8-shift_grap_X]Y[24+shift_grap_Y]
color purple
/* for Tools(purple)
G242X[0-shift_grap_X]Y[104+shift_grap_Y]
G02X[0-shift_grap_X]Y[104+shift_grap_Y]I[-16-shift_grap_X]J[104+shift_grap_Y]Q4
G242X[104-shift_grap_X]Y[40+shift_grap_Y]
G02X[104-shift_grap_X]Y[40+shift_grap_Y]I[120-shift_grap_X]J[40+shift_grap_Y]Q4
/* red for Path
color red
G242X[120-shift_grap_X]Y[40+shift_grap_Y]
G01X[-16-shift_grap_X]Y[40+shift_grap_Y]
dot_line
if[#[value 9] eq 1]then
G01X[120-shift_grap_X]Y[72+shift_grap_Y]
solid_line
G01X[-16-shift_grap_X]Y[72+shift_grap_Y]
else
G01X[-16-shift_grap_X]Y[72+shift_grap_Y]
solid_line
G01X[120-shift_grap_X]Y[72+shift_grap_Y]
endif
solid_line
G01X[120-shift_grap_X]Y[104+shift_grap_Y]
solid_line
G01X[-16-shift_grap_X]Y[104+shift_grap_Y]
if[#[value 9] eq 1]then ;Direction of Cutting
#1=16-shift_grap_X
#2=40+shift_grap_Y
#3=18-shift_grap_X
#4=40+shift_grap_Y
#5=1
call fig_line
#1=16-shift_grap_X
#2=72+shift_grap_Y
#3=18-shift_grap_X
#4=72+shift_grap_Y
#5=1
call fig_line
#1=16-shift_grap_X
#2=104+shift_grap_Y
#3=18-shift_grap_X
#4=104+shift_grap_Y
#5=1

-317-

7. USER PROGRAMS FOR FACING MENU

7. USER PROGRAMS FOR FACING MENU


call fig_line
else
#1=16-shift_grap_X
#2=40+shift_grap_Y
#3=18-shift_grap_X
#4=40+shift_grap_Y
#5=1
call fig_line
#1=25-shift_grap_X
#2=72+shift_grap_Y
#3=23-shift_grap_X
#4=72+shift_grap_Y
#5=1
call fig_line
#1=16-shift_grap_X
#2=104+shift_grap_Y
#3=18-shift_grap_X
#4=104+shift_grap_Y
#5=1
call fig_line
endif
#1=105-shift_grap_X
#2=16+shift_grap_Y
#3=115-shift_grap_X
#4=16+shift_grap_Y
#5=1
call fig_line
#1=105-shift_grap_X
#2=112+shift_grap_Y
#3=115-shift_grap_X
#4=112+shift_grap_Y
#5=1
call fig_line
#1=-1-shift_grap_X
#2=32+shift_grap_Y
#3=-11-shift_grap_X
#4=32+shift_grap_Y
#5=1
call fig_line
#1=-1-shift_grap_X
#2=128+shift_grap_Y
#3=-11-shift_grap_X
#4=128+shift_grap_Y
#5=1
call fig_line

SAMPLE PROGRAM

/* (1)

/* (2)

/* (3)

/* (4)

/* green Line
color green
G242X[0-shift_grap_X]Y[104+shift_grap_Y]
G01X[0-shift_grap_X]Y[152+shift_grap_Y]
G242X[8-shift_grap_X]Y[121+shift_grap_Y]
G01X[8-shift_grap_X]Y[152+shift_grap_Y]
#1=-1-shift_grap_X
#2=143+shift_grap_Y
#3=-11-shift_grap_X
#4=#2
#5=1
call fig_line
#1=9-shift_grap_X
#2=143+shift_grap_Y
#3=19-shift_grap_X
#4=#2
#5=1
call fig_line
G242X[96-shift_grap_X]Y[121+shift_grap_Y]
G01X[96-shift_grap_X]Y[136+shift_grap_Y]
#1=9-shift_grap_X

/* for N

/* for U

-318-

B-63423EN/02

SAMPLE PROGRAM

B-63423EN/02

#2=135+shift_grap_Y
#3=95-shift_grap_X
#4=#2
#5=2
call fig_line
G242X[97-shift_grap_X]Y[120+shift_grap_Y]
G01X[144-shift_grap_X]Y[120+shift_grap_Y]
G242X[97-shift_grap_X]Y[24+shift_grap_Y]
G01X[144-shift_grap_X]Y[24+shift_grap_Y]
#1=140-shift_grap_X
#2=119+shift_grap_Y
#3=#1
#4=25+shift_grap_Y
#5=2
call fig_line
G242X[96-shift_grap_X]Y[23+shift_grap_Y]
G01X[96-shift_grap_X]Y[-8+shift_grap_Y]
G242X[104-shift_grap_X]Y[40+shift_grap_Y]
G01X[104-shift_grap_X]Y[-8+shift_grap_Y]
#1=95-shift_grap_X
#2=0+shift_grap_Y
#3=85-shift_grap_X
#4=#2
#5=1
call fig_line
#1=105-shift_grap_X
#2=0+shift_grap_Y
#3=115-shift_grap_X
#4=#2
#5=1
call fig_line
/* yellow Cross Mark
color yellow
#1=52-shift_grap_X
#2=72+shift_grap_Y
call fig_mark

/* for V

/* for M

/* Center

/* Characters
if[cursor eq 11]then
color -white C blue L1
else
color white C blue L0
endif
G243X[45-shift_char_X]Y[11-shift_char_Y](X)
if[cursor eq 12]then
color -white C blue L1
else
color white C blue L0
endif
G243X[47-shift_char_X]Y[11-shift_char_Y](Y)
#1=13
call fig_cursor
G243X[46-shift_char_X]Y[6-shift_char_Y](U)
#1=14
call fig_cursor
G243X[58-shift_char_X]Y[10-shift_char_Y](V)
;call fig_cursor
cursor_off
G243X[54-shift_char_X]Y[14-shift_char_Y]('(1)')
G243X[54-shift_char_X]Y[8-shift_char_Y]('(2)')
G243X[36-shift_char_X]Y[13-shift_char_Y]('(3)')
G243X[36-shift_char_X]Y[7-shift_char_Y]('(4)')
#1=17
call fig_cursor
G243X[52-shift_char_X]Y[16-shift_char_Y](M)

-319-

7. USER PROGRAMS FOR FACING MENU

7. USER PROGRAMS FOR FACING MENU

SAMPLE PROGRAM

#1=18
call fig_cursor
G243X[40-shift_char_X]Y[5-shift_char_Y](N)
color white C blue L0
G243X[44-shift_char_X]Y[11-shift_char_Y]('(')
G243X[46-shift_char_X]Y[11-shift_char_Y](',')
G243X[48-shift_char_X]Y[11-shift_char_Y](')')
cursor_off
m99

O6124 ;############################################### Square Ring


/* blue for Work
color blue
G242X[1-shift_grap_X]Y[25+shift_grap_Y]
/* Outer Square
G01X[95-shift_grap_X]Y[25+shift_grap_Y]
G01X[95-shift_grap_X]Y[119+shift_grap_Y]
G01X[1-shift_grap_X]Y[119+shift_grap_Y]
G01X[1-shift_grap_X]Y[25+shift_grap_Y]
G242X[31-shift_grap_X]Y[55+shift_grap_Y]
/* Inner Square
G01X[65-shift_grap_X]Y[55+shift_grap_Y]
G01X[65-shift_grap_X]Y[89+shift_grap_Y]
G01X[31-shift_grap_X]Y[89+shift_grap_Y]
G01X[31-shift_grap_X]Y[55+shift_grap_Y]
G242X[72-shift_grap_X]Y[57+shift_grap_Y]
/* Tool
G02X[72-shift_grap_X]Y[57+shift_grap_Y]I[72-shift_grap_X]J[48+shift_grap_Y]Q4
#1=48-shift_char_X
/* for '('
#2=11-shift_char_Y
#3=1
call fig_character
G206P0X[10-shift_grap_X]Y[40+shift_grap_Y]
/* green for Tool
color green
G242X[72-shift_grap_X]Y[55+shift_grap_Y]
/* Start Tool
G02X[72-shift_grap_X]Y[55+shift_grap_Y]I[72-shift_grap_X]J[48+shift_grap_Y]Q4
G206P0X[72-shift_grap_X]Y[48+shift_grap_Y]
G242X[112-shift_grap_X]Y[39+shift_grap_Y]
/* End Tool
G02X[112-shift_grap_X]Y[39+shift_grap_Y]I[112-shift_grap_X]J[32+shift_grap_Y]Q4
G206P0X[112-shift_grap_X]Y[32+shift_grap_Y]
/* Edge Line
color sky_blue
/* for Work(blue green)
G242X[0-shift_grap_X]Y[24 +shift_grap_Y]
/* Outer Square
G01X[96-shift_grap_X]Y[24+shift_grap_Y]
G01X[96-shift_grap_X]Y[120+shift_grap_Y]
G01X[0-shift_grap_X]Y[120+shift_grap_Y]
G01X[0-shift_grap_X]Y[24+shift_grap_Y]
G242X[32-shift_grap_X]Y[56+shift_grap_Y]
/* Inner Square
G01X[64-shift_grap_X]Y[56+shift_grap_Y]
G01X[64-shift_grap_X]Y[88+shift_grap_Y]
G01X[32-shift_grap_X]Y[88+shift_grap_Y]
G01X[32-shift_grap_X]Y[56+shift_grap_Y]
color purple
/* for Tools(purple)
G242X[72-shift_grap_X]Y[56+shift_grap_Y]
/* Start Tool
G02X[72-shift_grap_X]Y[56+shift_grap_Y]I[72-shift_grap_X]J[48+shift_grap_Y]Q4
G242X[112-shift_grap_X]Y[40+shift_grap_Y]
/* End Tool
G02X[112-shift_grap_X]Y[40+shift_grap_Y]I[112-shift_grap_X]J[32+shift_grap_Y]Q4
/* red for Path
color red
G242X[95-shift_grap_X]Y[32+shift_grap_Y]
G01X[8-shift_grap_X]Y[32+shift_grap_Y]
G01X[8-shift_grap_X]Y[112+shift_grap_Y]
G01X[88-shift_grap_X]Y[112+shift_grap_Y]

-320-

B-63423EN/02

SAMPLE PROGRAM

B-63423EN/02

G01X[88-shift_grap_X]Y[40+shift_grap_Y]
G01X[16-shift_grap_X]Y[40+shift_grap_Y]
G01X[16-shift_grap_X]Y[104+shift_grap_Y]
G01X[80-shift_grap_X]Y[104+shift_grap_Y]
G01X[80-shift_grap_X]Y[48+shift_grap_Y]
G01X[24-shift_grap_X]Y[48+shift_grap_Y]
G01X[24-shift_grap_X]Y[96+shift_grap_Y]
G01X[72-shift_grap_X]Y[96+shift_grap_Y]
G01X[72-shift_grap_X]Y[49+shift_grap_Y]
#1=25-shift_grap_X
;Direction of Cutting
#2=32+shift_grap_Y
#3=26-shift_grap_X
#4=32+shift_grap_Y
#5=1
call fig_line
#1=25-shift_grap_X
#2=40+shift_grap_Y
#3=26-shift_grap_X
#4=40+shift_grap_Y
#5=1
call fig_line
#1=25-shift_grap_X
#2=48+shift_grap_Y
#3=26-shift_grap_X
#4=48+shift_grap_Y
#5=1
call fig_line
#1=113-shift_grap_X
/* (1)
#2=16+shift_grap_Y
#3=123-shift_grap_X
#4=16+shift_grap_Y
#5=1
call fig_line
#1=97-shift_grap_X
/* (2)
#2=112+shift_grap_Y
#3=107-shift_grap_X
#4=112+shift_grap_Y
#5=1
call fig_line
/* (3)
#1=-1-shift_grap_X
#2=32+shift_grap_Y
#3=-11-shift_grap_X
#4=32+shift_grap_Y
#5=1
call fig_line
#1=-1-shift_grap_X
/* (4)
#2=112+shift_grap_Y
#3=-11-shift_grap_X
#4=112+shift_grap_Y
#5=1
call fig_line
/* green Line
color green
G242X[0-shift_grap_X]Y[121+shift_grap_Y]
G01X[0-shift_grap_X]Y[136+shift_grap_Y]
G242X[96-shift_grap_X]Y[121+shift_grap_Y]
G01X[96-shift_grap_X]Y[136+shift_grap_Y]
#1=1-shift_grap_X
#2=131+shift_grap_Y
#3=95-shift_grap_X
#4=131+shift_grap_Y
#5=2
call fig_line
G242X[97-shift_grap_X]Y[24+shift_grap_Y]
G01X[128-shift_grap_X]Y[24+shift_grap_Y]
G242X[97-shift_grap_X]Y[120+shift_grap_Y]

/* for U

/* for V

-321-

7. USER PROGRAMS FOR FACING MENU

7. USER PROGRAMS FOR FACING MENU


G01X[128-shift_grap_X]Y[120+shift_grap_Y]
#1=123-shift_grap_X
#2=25+shift_grap_Y
#3=123-shift_grap_X
#4=119+shift_grap_Y
#5=2
call fig_line
G242X[96-shift_grap_X]Y[23+shift_grap_Y]
G01X[96-shift_grap_X]Y[8+shift_grap_Y]
G242X[104-shift_grap_X]Y[32+shift_grap_Y]
G01X[104-shift_grap_X]Y[8+shift_grap_Y]
#1=95-shift_grap_X
#2=18+shift_grap_Y
#3=85-shift_grap_X
#4=18+shift_grap_Y
#5=1
call fig_line
#1=105-shift_grap_X
#2=18+shift_grap_Y
#3=115-shift_grap_X
#4=18+shift_grap_Y
#5=1
call fig_line
G242X[65-shift_grap_X]Y[56+shift_grap_Y]
G01X[104-shift_grap_X]Y[56+shift_grap_Y]
G242X[73-shift_grap_X]Y[48+shift_grap_Y]
G01X[104-shift_grap_X]Y[48+shift_grap_Y]
#1=100-shift_grap_X
#2=47+shift_grap_Y
#3=100-shift_grap_X
#4=37+shift_grap_Y
#5=1
call fig_line
#1=100-shift_grap_X
#2=57+shift_grap_Y
#3=100-shift_grap_X
#4=67+shift_grap_Y
#5=1
call fig_line
G242X[64-shift_grap_X]Y[23+shift_grap_Y]
G01X[64-shift_grap_X]Y[8+shift_grap_Y]
#1=63-shift_grap_X
#2=10+shift_grap_Y
#3=95-shift_grap_X
#4=10+shift_grap_Y
#5=2
call fig_line
G242X[65-shift_grap_X]Y[88+shift_grap_Y]
G01X[104-shift_grap_X]Y[88+shift_grap_Y]
#1=100-shift_grap_X
#2=89+shift_grap_Y
#3=100-shift_grap_X
#4=119+shift_grap_Y
#5=2
call fig_line
/* yellow Cross Mark
color yellow
#1=48-shift_grap_X
#2=72+shift_grap_Y
call fig_mark

SAMPLE PROGRAM

/* for M

/* for N

/* for Q

/* for R

/* Center

/* Characters
#1=11
call fig_cursor
G243X[45-shift_char_X]Y[11-shift_char_Y](X)
#1=12

-322-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

7. USER PROGRAMS FOR FACING MENU

call fig_cursor
G243X[47-shift_char_X]Y[11-shift_char_Y](Y)
#1=13
call fig_cursor
G243X[46-shift_char_X]Y[6-shift_char_Y](U)
#1=14
call fig_cursor
G243X[56-shift_char_X]Y[10-shift_char_Y](V)
#1=17
call fig_cursor
G243X[52-shift_char_X]Y[15-shift_char_Y](M)
#1=18
call fig_cursor
G243X[53-shift_char_X]Y[12-shift_char_Y](N)
#1=19
call fig_cursor
G243X[49-shift_char_X]Y[15-shift_char_Y](Q)
#1=20
call fig_cursor
G243X[53-shift_char_X]Y[9-shift_char_Y](R)
color white C blue L0
G243X[48-shift_char_X]Y[11-shift_char_Y](')')
cursor_off
G243X[44-shift_char_X]Y[11-shift_char_Y]('(')
G243X[46-shift_char_X]Y[11-shift_char_Y](',')
G243X[55-shift_char_X]Y[14-shift_char_Y]('(1)')
G243X[53-shift_char_X]Y[8-shift_char_Y]('(2)')
G243X[36-shift_char_X]Y[13-shift_char_Y]('(3)')
G243X[36-shift_char_X]Y[8-shift_char_Y]('(4)')
m99

O6125 ;############################################### Circle Uni/Bi Dir


/* blue for Work
color blue
G242X[56-shift_grap_X]Y[25+shift_grap_Y]
G02X[56-shift_grap_X]Y[25+shift_grap_Y]I[56-shift_grap_X]J[72+shift_grap_Y]Q4
#1=44-shift_char_X
/* for (X,Y)
#2=11-shift_char_Y
#3=5
call fig_character
#1=48-shift_char_X
/* for R
#2=9-shift_char_Y
#3=1
call fig_character
G206P0X[56-shift_grap_X]Y[40+shift_grap_Y]
/* green for Tool
color green
G242X[115.777-shift_grap_X]Y[47+shift_grap_Y] /* Start Tool
G02X[115.777-shift_grap_X]Y[47+shift_grap_Y]I[115.777-shift_grap_X]J[40+shift_grap_Y]Q4
G206P0X[115.777-shift_grap_X]Y[40+shift_grap_Y]
G242X[-3.777-shift_grap_X]Y[111+shift_grap_Y] /* End Tool
G02X[-3.777-shift_grap_X]Y[111+shift_grap_Y]I[-3.777-shift_grap_X]J[104+shift_grap_Y]Q4
G206P0X[-3.777-shift_grap_X]Y[104+shift_grap_Y]
/* Edge Line
color sky_blue
/* Work(blue green)
G242X[56-shift_grap_X]Y[24+shift_grap_Y]
G02X[56-shift_grap_X]Y[24+shift_grap_Y]I[56-shift_grap_X]J[72+shift_grap_Y]Q4
color purple
/* Tools(purple)
G242X[115.777-shift_grap_X]Y[48+shift_grap_Y] /* Start Tool
G02X[115.777-shift_grap_X]Y[48+shift_grap_Y]I[115.777-shift_grap_X]J[40+shift_grap_Y]Q4
G242X[-3.777-shift_grap_X]Y[112+shift_grap_Y] /* End Tool
G02X[-3.777-shift_grap_X]Y[112+shift_grap_Y]I[-3.777-shift_grap_X]J[104+shift_grap_Y]Q4

-323-

7. USER PROGRAMS FOR FACING MENU

SAMPLE PROGRAM

/* red for Path


color red
G242X[115.777-shift_grap_X]Y[40+shift_grap_Y]
G01X[-3.777-shift_grap_X]Y[40+shift_grap_Y]
dot_line
if[#[value 9] eq 1]then
G01X[128-shift_grap_X]Y[72+shift_grap_Y]
solid_line
G01X[-16-shift_grap_X]Y[72+shift_grap_Y]
else
G01X[-16-shift_grap_X]Y[72+shift_grap_Y]
solid_line
G01X[128-shift_grap_X]Y[72+shift_grap_Y]
endif
dot_line
G01X[115.777-shift_grap_X]Y[104+shift_grap_Y]
solid_line
G01X[-3.777-shift_grap_X]Y[104+shift_grap_Y]
if[#[value 9] eq 1]then
/* Arrows for Cutting Direction
#1=48-shift_grap_X
#2=40+shift_grap_Y
#3=49-shift_grap_X
#4=#2
#5=1
call fig_line
#1=48-shift_grap_X
#2=72+shift_grap_Y
#3=49-shift_grap_X
#4=#2
#5=1
call fig_line
#1=48-shift_grap_X
#2=104+shift_grap_Y
#3=49-shift_grap_X
#4=#2
#5=1
call fig_line
else
#1=48-shift_grap_X
#2=40+shift_grap_Y
#3=49-shift_grap_X
#4=#2
#5=1
call fig_line
#1=48-shift_grap_X
#2=104+shift_grap_Y
#3=49-shift_grap_X
#4=#2
#5=1
call fig_line
#1=54-shift_grap_X
#2=72+shift_grap_Y
#3=53-shift_grap_X
#4=#2
#5=1
call fig_line
endif
#1=112-shift_grap_X
/* (1)
#2=29+shift_grap_Y
#3=122-shift_grap_X
#4=#2
#5=1
call fig_line
#1=112-shift_grap_X
/* (2)
#2=115+shift_grap_Y
#3=122-shift_grap_X

-324-

B-63423EN/02

SAMPLE PROGRAM

B-63423EN/02

#4=#2
#5=1
call fig_line
#1=0-shift_grap_X
#2=29+shift_grap_Y
#3=-10-shift_grap_X
#4=#2
#5=1
call fig_line
#1=0-shift_grap_X
#2=115+shift_grap_Y
#3=-10-shift_grap_X
#4=#2
#5=1
call fig_line

/* (3)

/* (4)

/* green Line
color green
G242X[98.318-shift_grap_X]Y[49.4362+shift_grap_Y] /* Approach
G01X[84.1594-shift_grap_X]Y[22.8975+shift_grap_Y]
G242X[108.724-shift_grap_X]Y[43.7756+shift_grap_Y]
G01X[94.5654-shift_grap_X]Y[17.3269+shift_grap_Y]
G242X[13.682-shift_grap_X]Y[94.6538+shift_grap_Y] /* Escape
G01X[27.8406-shift_grap_X]Y[121.1025+shift_grap_Y]
G242X[3.276-shift_grap_X]Y[100.2244+shift_grap_Y]
G01X[17.4346-shift_grap_X]Y[126.6731+shift_grap_Y]
#1=56-shift_grap_X
/* Radius
#2=72+shift_grap_Y
#3=89.9411-shift_grap_X
#4=105.9411+shift_grap_Y
#5=0
call fig_line
/* yellow Cross Mark
color yellow
#1=56-shift_grap_X
#2=72+shift_grap_Y
call fig_mark

/* Center

/* Characters
if[cursor eq 11]then
color -white C blue L1
else
color white C blue L0
endif
G243X[45-shift_char_X]Y[11-shift_char_Y](X)
if[cursor eq 12]then
color -white C blue L1
else
color white C blue L0
endif
G243X[47-shift_char_X]Y[11-shift_char_Y](Y)
if[cursor eq 13]then
color -white C blue L1
else
color white C blue L0
endif
G243X[48-shift_char_X]Y[9-shift_char_Y](R)
#1=15
call fig_cursor
G243X[50-shift_char_X]Y[14-shift_char_Y](M)
#1=16
call fig_cursor
G243X[42-shift_char_X]Y[7-shift_char_Y](N)
color white C blue L0
G243X[44-shift_char_X]Y[11-shift_char_Y]('(')

-325-

7. USER PROGRAMS FOR FACING MENU

7. USER PROGRAMS FOR FACING MENU

SAMPLE PROGRAM

G243X[46-shift_char_X]Y[11-shift_char_Y](',')
G243X[48-shift_char_X]Y[11-shift_char_Y](')')
cursor_off
G243X[55-shift_char_X]Y[13-shift_char_Y]('(1)')
G243X[55-shift_char_X]Y[8-shift_char_Y]('(2)')
G243X[36-shift_char_X]Y[13-shift_char_Y]('(3)')
G243X[36-shift_char_X]Y[8-shift_char_Y]('(4)')
m99

O6126 ;############################################### Circle Ring


/* blue for Work
color blue
G242X[9-shift_grap_X]Y[88+shift_grap_Y]
G02X[9-shift_grap_X]Y[88+shift_grap_Y]I[60-shift_grap_X]J[88+shift_grap_Y]Q4
G242X[39-shift_grap_X]Y[88+shift_grap_Y]
G02X[39-shift_grap_X]Y[88+shift_grap_Y]I[60-shift_grap_X]J[88+shift_grap_Y]Q4
#1=43-shift_char_X
/* for Q
#2=9-shift_char_Y
#3=1
call fig_character
#1=49-shift_char_X
/* for R
#2=8-shift_char_Y
#3=1
call fig_character
G206P0X[30-shift_grap_X]Y[70+shift_grap_Y]
/* green for Tool
color green
G242X[105-shift_grap_X]Y[44+shift_grap_Y]
/* Start Tool
G02X[105-shift_grap_X]Y[44+shift_grap_Y]I[112-shift_grap_X]J[44+shift_grap_Y]Q4
G206P0X[112-shift_grap_X]Y[44+shift_grap_Y]
G242X[41-shift_grap_X]Y[60+shift_grap_Y]
/* End Tool
G02X[41-shift_grap_X]Y[60+shift_grap_Y]I[48-shift_grap_X]J[60+shift_grap_Y]Q4
G206P0X[48-shift_grap_X]Y[60+shift_grap_Y]
/* Edge Line
color sky_blue
/* for Work(blue green)
G242X[8-shift_grap_X]Y[88+shift_grap_Y]
G02X[8-shift_grap_X]Y[88+shift_grap_Y]I[60-shift_grap_X]J[88+shift_grap_Y]Q4
G242X[40-shift_grap_X]Y[88+shift_grap_Y]
G02X[40-shift_grap_X]Y[88+shift_grap_Y]I[60-shift_grap_X]J[88+shift_grap_Y]Q4
color purple
/* for Work(purple)
G242X[104-shift_grap_X]Y[44+shift_grap_Y]
/* Start Tool
G02X[104-shift_grap_X]Y[44+shift_grap_Y]I[112-shift_grap_X]J[44+shift_grap_Y]Q4
G242X[40-shift_grap_X]Y[60+shift_grap_Y]
/* End Tool
G02X[40-shift_grap_X]Y[60+shift_grap_Y]I[48-shift_grap_X]J[60+shift_grap_Y]Q4
/* red for Path
color red
G242X[60-shift_grap_X]Y[44+shift_grap_Y]
G02X[60-shift_grap_X]Y[44+shift_grap_Y]I[60-shift_grap_X]J[88+shift_grap_Y]Q4
G242X[60-shift_grap_X]Y[60+shift_grap_Y]
G02X[60-shift_grap_X]Y[60+shift_grap_Y]I[60-shift_grap_X]J[88+shift_grap_Y]Q4
G242X[112-shift_grap_X]Y[44+shift_grap_Y]
G01X[61-shift_grap_X]Y[44+shift_grap_Y]
G242X[59-shift_grap_X]Y[60+shift_grap_Y]
G01X[48-shift_grap_X]Y[60+shift_grap_Y]
#1=60-shift_grap_X
#2=44+shift_grap_Y
#3=61-shift_grap_X
#4=#2
#5=1
call fig_line
#1=48-shift_grap_X
#2=60+shift_grap_Y

-326-

B-63423EN/02

SAMPLE PROGRAM

B-63423EN/02

#3=49-shift_grap_X
#4=#2
#5=1
call fig_line
#1=112-shift_grap_X
#2=32+shift_grap_Y
#3=122-shift_grap_X
#4=#2
#5=1
call fig_line
#1=112-shift_grap_X
#2=144+shift_grap_Y
#3=122-shift_grap_X
#4=#2
#5=1
call fig_line
#1=8-shift_grap_X
#2=32+shift_grap_Y
#3=-2-shift_grap_X
#4=#2
#5=1
call fig_line
#1=8-shift_grap_X
#2=144+shift_grap_Y
#3=-2-shift_grap_X
#4=#2
#5=1
call fig_line

/* (1)

/* (2)

/* (3)

/* (4)

/* green Line
color green
G242X[99.6961-shift_grap_X]Y[54.411+shift_grap_Y] /* for M
G01X[119.3783-shift_grap_X]Y[77.3126+shift_grap_Y]
G242X[105.8929-shift_grap_X]Y[49.1675+shift_grap_Y]
G01X[125.2712-shift_grap_X]Y[72.0691+shift_grap_Y]
G242X[60-shift_grap_X]Y[59+shift_grap_Y]
/* for N
G01X[60-shift_grap_X]Y[24+shift_grap_Y]
G242X[48-shift_grap_X]Y[59+shift_grap_Y]
G01X[48-shift_grap_X]Y[24+shift_grap_Y]
#1=9-shift_grap_X
/* for Q
#2=88+shift_grap_Y
#3=39-shift_grap_X
#4=#2
#5=2
call fig_line
#1=61-shift_grap_X
/* for R
#2=89+shift_grap_Y
#3=96.7696-shift_grap_X
#4=124.7696+shift_grap_Y
#5=0
call fig_line
/* yellow Cross Mark
color yellow
#1=60-shift_grap_X
#2=88+shift_grap_Y
call fig_mark

/* Center

/* Characters
if[cursor eq 13]then
color -white C blue L1
else
color white C blue L0
endif
G243X[49-shift_char_X]Y[8-shift_char_Y](R)
if[cursor eq 17]then
color -white C blue L1

-327-

7. USER PROGRAMS FOR FACING MENU

7. USER PROGRAMS FOR FACING MENU

SAMPLE PROGRAM

else
color white C blue L0
endif
G243X[43-shift_char_X]Y[9-shift_char_Y](Q)
#1=11
call fig_cursor
G243X[46-shift_char_X]Y[10-shift_char_Y](X)
#1=12
call fig_cursor
G243X[48-shift_char_X]Y[10-shift_char_Y](Y)
#1=15
call fig_cursor
G243X[55-shift_char_X]Y[10-shift_char_Y](M)
#1=16
call fig_cursor
G243X[46-shift_char_X]Y[14-shift_char_Y](N)
cursor_off
G243X[45-shift_char_X]Y[10-shift_char_Y]('(')
G243X[47-shift_char_X]Y[10-shift_char_Y](',')
G243X[49-shift_char_X]Y[10-shift_char_Y](')')
G243X[55-shift_char_X]Y[13-shift_char_Y]('(1)')
G243X[55-shift_char_X]Y[6-shift_char_Y]('(2)')
G243X[37-shift_char_X]Y[13-shift_char_Y]('(3)')
G243X[37-shift_char_X]Y[6-shift_char_Y]('(4)')
m99

-328-

B-63423EN/02

B-63423EN/02

7.4

SAMPLE PROGRAM

INPUTTED DATA CHECKING

/****************************************************************************
/*
/* CHECK5.SRC :: Face
/*
/***** 8861: Square
/***** 8862: Circle
/****************************************************************************
$INCLUDE SYMBOL.DEF

/* ############################################### Square
O8861 input_error_flag = error_non
/* Mach. Process */
error_item = 1
if[#[value 1] eq #0]goto 97
if[#[value 1] lt 1 || #[value 1] gt 2]goto 98
/* Clearance */
error_item = 2
if[#[value 2] eq #0]goto 97
if[#[value 2] le 0]goto 98
/* End Point Z */
error_item = 3
if[#[value 3] eq #0]goto 97
/* Removal Depth */
if[#[attribute 4] ne att_not_use]then
error_item = 4
if[#[value 4] eq #0]goto 97
if[#[value 4] le 0]goto 98
endif
/* Removal Pitch */
if[#[attribute 5] ne att_not_use]then
error_item = 5
if[#[value 5] lt 0]goto 98
endif
/* Finishing Alw. */
if[#[attribute 6] ne att_not_use]then
error_item = 6
if[#[value 6] lt 0]goto 98
endif
/* Feed Rate */
error_item = 7
if[#[value 7] eq #0]goto 97
if[#[value 7] le 0]goto 98
/* Cutting Width% */
error_item = 8
if[#[value 8] eq #0]goto 97
if[#[value 8] le 0]goto 98
/* Cut Direction */
error_item = 9
if[#[value 9] eq #0]goto 97
if[#[value 9] lt 1 || #[value 9] gt 3]goto 98
/* Center Point X */
error_item =11
if[#[value 11] eq #0]goto 97
/* Center Point Y */
error_item =12
if[#[value 12] eq #0]goto 97
/* U-Length */
error_item = 13
if[#[value 13] eq #0]goto 97
if[#[value 13] le 0]goto 98
/* V-Length */

-329-

7. USER PROGRAMS FOR FACING MENU

7. USER PROGRAMS FOR FACING MENU

SAMPLE PROGRAM

error_item = 14
if[#[value 14] eq #0]goto 97
if[#[value 14] le 0]goto 98
/* Start Point Sel. */
error_item = 16
if[#[value 16] eq #0]goto 97
if[#[value 16] lt 1 || #[value 16] gt 4]goto 98
/* Approach Gap */
error_item = 17
if[#[value 17] eq #0]goto 97
if[#[value 17] le 0]goto 98
/* Escape Gap */
error_item = 18
if[#[value 18] eq #0]goto 97
if[#[value 18] le 0]goto 98
/* U-Width */
if[#[attribute 19] ne att_not_use]then
error_item = 19
if[#[value 19] eq #0]goto 97
if[#[value 19] le 0]goto 98
endif
/* V-Width */
if[#[attribute 20] ne att_not_use]then
error_item = 20
if[#[value 20] eq #0]goto 97
if[#[value 20] le 0]goto 98
endif
goto 99
/* Data is lacking. */
n97 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+900]
goto 99
/* Input error in menu param. */
n98 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+901]
n99 m99

/* ############################################### Circle
O8862 input_error_flag = error_non
/* Mach. Process */
error_item = 1
if[#[value 1] eq #0]goto 97
if[#[value 1] lt 1 || #[value 1] gt 2]goto 98
/* Clearance */
error_item = 2
if[#[value 2] eq #0]goto 97
if[#[value 2] le 0]goto 98
/* End Point Z */
error_item = 3
if[#[value 3] eq #0]goto 97
/* Removal Depth */
if[#[attribute 4] ne att_not_use]then
error_item = 4
if[#[value 4] eq #0]goto 97
if[#[value 4] le 0]goto 98
endif
/* Removal Pitch */
if[#[attribute 5] ne att_not_use]then
error_item = 5
if[#[value 5] lt 0]goto 98
endif

-330-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

/* Finishing Alw. */
if[#[attribute 6] ne att_not_use]then
error_item = 6
if[#[value 6] lt 0]goto 98
endif
/* Feed Rate */
error_item = 7
if[#[value 7] eq #0]goto 97
if[#[value 7] le 0]goto 98
/* Cutting Width% */
error_item = 8
if[#[value 8] eq #0]goto 97
if[#[value 8] le 0]goto 98
/* Cut Direction */
error_item = 9
if[#[value 9] eq #0]goto 97
if[#[value 9] lt 1 || #[value 9] gt 3]goto 98
/* Center Point X */
error_item =11
if[#[value 11] eq #0]goto 97
/* Center Point Y */
error_item =12
if[#[value 12] eq #0]goto 97
/* Radius */
error_item = 13
if[#[value 13] eq #0]goto 97
if[#[value 13] le 0]goto 98
/* Start Point Sel. */
error_item = 14
if[#[value 14] eq #0]goto 97
if[#[value 14] lt 1 || #[value 14] gt 4]goto 98
/* Approach Gap */
error_item = 15
if[#[value 15] eq #0]goto 97
if[#[value 15] le 0]goto 98
/* Escape Gap */
error_item = 16
if[#[value 16] eq #0]goto 97
if[#[value 16] le 0]goto 98
/* Ring-Width */
if[#[attribute 17] ne att_not_use]then
error_item = 17
if[#[value 17] eq #0]goto 97
if[#[value 17] le 0]goto 98
endif
goto 99
/* Data is lacking. */
n97 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+900]
goto 99
/* Input error in menu param. */
n98 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+901]
n99 m99

-331-

7. USER PROGRAMS FOR FACING MENU

8. USER PROGRAMS FOR SIDE CUTTING MENU

SAMPLE PROGRAM

B-63423EN/02

USER PROGRAMS FOR SIDE CUTTING


MENU

-332-

SAMPLE PROGRAM

B-63423EN/02

8.1

COMMENTS DEFINITION

/****************************************************************************
/*
/* STRING6.SRC :: Side
(ENGLISH)
/*
/***** 7701: Softkey
/***** 7711: Square
/***** 7721: Circle
/***** 7731: Track
/***** 7741: One Side
/***** 7751: Contour
/****************************************************************************

O7701 ;############################################### Softkye


N0001("20 01 C010 20")('SQUARE');
N0002("20 01 C018 20")('CIRCLE');
N0003("20 01 C020 20")('TRACK ');
N0004("20 01 C028 20")('ONE SD');
N0005("20 01 C030 20")('CONTR ');
M99

O7711 ;############################################### Square


N9999('SQUARE SIDE');
N9998('SQUARE SIDE(DETAIL SET)');
N0001('MACH. PROCESS');
N0002('CLEARANCE');
N0003('END POINT Z');
N0004('SIDE REMOVAL');
N0005('SIDE PITCH');
N0006('SIDE FINISH');
N0007('BOTTOM REMOVAL');
N0008('BOTTOM PITCH');
N0009('BOTTOM FINISH');
N0011('TAPER ANGLE');
N0012('CHAMFER REMOVAL');
N0013('TOOL SMALL DIA.');
N0014('CHAMFER ANGLE');
N0015('TOOL OUT DEPTH');
N0016('TOOL CORNER-R');
N0017('FEED RATE');
N0018('Z-CUT FEED RATE');
N0020('MACH. SHAPE');
N0021('CENTER POINT X');
N0022('CENTER POINT Y');
N0023('U-LENGTH');
N0024('V-LENGTH');
N0025('CUT DIRECTION');
N0026('CORNER TYPE');
N0027('CORNER R/C');
N0028('INCLINE ANGLE');
N0029('APPROACH GAP');
N0030('APPROACH/ESCAPE');
N0031('START POINT SEL.');
N0032('START POINT SEL.');
N0100('19');
N0101("20 01 C010 20")('ROUGH ');
N0102("20 01 C018 20")('B-FIN ');
N0103("20 01 C020 20")('S-FIN ');
N0104("20 01 C028 20")('CHAMF ');
N0151('1');

-333-

8. USER PROGRAMS FOR SIDE CUTTING MENU

8. USER PROGRAMS FOR SIDE CUTTING MENU

SAMPLE PROGRAM

N0152('2');
N0153('3');
N0154('4');
N2000('20');
N2001("20 01 C010 20")('OUTSID');
N2002("20 01 C018 20")('INSIDE');
N2051('1');
N2052('2');
N2500('21');
N2501("20 01 C010 20")('DOWNCT');
N2502("20 01 C018 20")('UPCUT ');
N2551('1');
N2552('2');
N2600('22');
N2601("20 01 C010 20")(' R ');
N2602("20 01 C018 20")(' C ');
N2651('1');
N2652('2');
N3100('18');
N3101("20 01 C028 20")(' [1] ');
N3102("20 01 C030 20")(' [2] ');
N3151('1');
N3152('2');
N3200('18');
N3201("20 01 C038 20")(' [1] ');
N3202("20 01 C040 20")(' [2] ');
N3251('1');
N3252('2');
M99

O7721 ;############################################### Circle


N9999('CIRCLE SIDE');
N9998('CIRCLE SIDE(DETAIL SET)');
N0001('MACH. PROCESS');
N0002('CLEARANCE');
N0003('END POINT Z');
N0004('SIDE REMOVAL');
N0005('SIDE PITCH');
N0006('SIDE FINISH');
N0007('BOTTOM REMOVAL');
N0008('BOTTOM PITCH');
N0009('BOTTOM FINISH');
N0011('TAPER ANGLE');
N0012('CHAMFER REMOVAL');
N0013('TOOL SMALL DIA.');
N0014('CHAMFER ANGLE');
N0015('TOOL OUT DEPTH');
N0016('TOOL CORNER-R');
N0017('FEED RATE');
N0018('Z-CUT FEED RATE');
N0020('MACH. SHAPE');
N0021('CENTER POINT X');
N0022('CENTER POINT Y');
N0023('RADIUS');
N0024('CUT DIRECTION');
N0025('APPROACH GAP');
N0026('APPROACH/ESCAPE');
N0027('START POINT SEL.');
N0028('START POINT SEL.');

-334-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

N0100('19');
N0101("20 01 C010 20")('ROUGH ');
N0102("20 01 C018 20")('B-FIN ');
N0103("20 01 C020 20")('S-FIN ');
N0104("20 01 C028 20")('CHAMF ');
N0151('1');
N0152('2');
N0153('3');
N0154('4');
N2000('23');
N2001("20 01 C010 20")('OUTSID');
N2002("20 01 C018 20")('INSIDE');
N2051('1');
N2052('2');
N2400('21');
N2401("20 01 C010 20")('DOWNCT');
N2402("20 01 C018 20")('UPCUT ');
N2451('1');
N2452('2');
N2700('18');
N2701("20 01 C028 20")(' [1] ');
N2702("20 01 C030 20")(' [2] ');
N2751('1');
N2752('2');
N2800('18');
N2801("20 01 C038 20")(' [1] ');
N2802("20 01 C040 20")(' [2] ');
N2851('1');
N2852('2');
M99

O7731 ;############################################### Track


N9999('TRACK SIDE');
N9998('TRACK SIDE(DETAIL SET)');
N0001('MACH. PROCESS');
N0002('CLEARANCE');
N0003('END POINT Z');
N0004('SIDE REMOVAL');
N0005('SIDE PITCH');
N0006('SIDE FINISH');
N0007('BOTTOM REMOVAL');
N0008('BOTTOM PITCH');
N0009('BOTTOM FINISH');
N0011('TAPER ANGLE');
N0012('CHAMFER REMOVAL');
N0013('TOOL SMALL DIA.');
N0014('CHAMFER ANGLE');
N0015('TOOL OUT DEPTH');
N0016('TOOL CORNER-R');
N0017('FEED RATE');
N0018('Z-CUT FEED RATE');
N0020('MACH. SHAPE');
N0021('CENTER POINT X');
N0022('CENTER POINT Y');
N0023('CENTER DISTANCE');
N0024('RADIUS');
N0025('CUT DIRECTION');
N0026('INCLINE ANGLE');
N0027('APPROACH GAP');

-335-

8. USER PROGRAMS FOR SIDE CUTTING MENU

8. USER PROGRAMS FOR SIDE CUTTING MENU

SAMPLE PROGRAM

N0028('APPROACH/ESCAPE');
N0029('START POINT SEL.');
N0030('START POINT SEL.');
N0100('19');
N0101("20 01 C010 20")('ROUGH ');
N0102("20 01 C018 20")('B-FIN ');
N0103("20 01 C020 20")('S-FIN ');
N0104("20 01 C028 20")('CHAMF ');
N0151('1');
N0152('2');
N0153('3');
N0154('4');
N2000('24');
N2001("20 01 C010 20")('OUTSID');
N2002("20 01 C018 20")('INSIDE');
N2051('1');
N2052('2');
N2500('21');
N2501("20 01 C010 20")('DOWNCT');
N2502("20 01 C018 20")('UPCUT ');
N2551('1');
N2552('2');
N2900('18');
N2901("20 01 C028 20")(' [1] ');
N2902("20 01 C030 20")(' [2] ');
N2951('1');
N2952('2');
N3000('18');
N3001("20 01 C038 20")(' [1] ');
N3002("20 01 C040 20")(' [2] ');
N3051('1');
N3052('2');
M99

O7741 ;############################################### One Side


N9999('ONE SIDE');
N9998('ONE SIDE(DETAIL SET)');
N0001('MACH. PROCESS');
N0002('CLEARANCE');
N0003('END POINT Z');
N0004('SIDE REMOVAL');
N0005('SIDE PITCH');
N0006('SIDE FINISH');
N0007('BOTTOM REMOVAL');
N0008('BOTTOM PITCH');
N0009('BOTTOM FINISH');
N0011('TAPER ANGLE');
N0012('CHAMFER REMOVAL');
N0013('TOOL SMALL DIA.');
N0014('CHAMFER ANGLE');
N0015('TOOL OUT DEPTH');
N0016('TOOL CORNER-R');
N0017('FEED RATE');
N0020('CENTER POINT X');
N0021('CENTER POINT Y');
N0022('U-LENGTH');
N0023('CUT DIRECTION');
N0024('INCLINE ANGLE');
N0025('APPROACH/ESCAPE');

-336-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

N0026('ESCAPE/APPROACH');
N0100('19');
N0101("20 01 C010 20")('ROUGH ');
N0102("20 01 C018 20")('B-FIN ');
N0103("20 01 C020 20")('S-FIN ');
N0104("20 01 C028 20")('CHAMF ');
N0151('1');
N0152('2');
N0153('3');
N0154('4');
N2300('31');
N2301("20 01 C010 20")('1-DOWN');
N2302("20 01 C018 20")(' 2-UP ');
N2303("20 01 C020 20")(' 3-UP ');
N2304("20 01 C018 20")('4-DOWN');
N2351('1');
N2352('2');
N2353('3');
N2354('4');
M99

O7751 ;############################################### Contour


N9999('CONTOUR SIDE');
N9998('CONTOUR SIDE(DETAIL SET)');
N0001('MACH. PROCESS');
N0002('CLEARANCE');
N0003('END POINT Z');
N0004('SIDE REMOVAL');
N0005('SIDE PITCH');
N0006('SIDE FINISH');
N0007('BOTTOM REMOVAL');
N0008('BOTTOM PITCH');
N0009('BOTTOM FINISH');
N0017('FEED RATE');
N0018('CUTTING WIDTH%');
N0019('Z-CUT FEED RATE');
N0020('CUT DIRECTION');
N0021('APPROACH TYPE');
N0022('APPROACH RADIUS');
N0023('APPROACH ANGLE');
N0024('APPROACH DISTANCE');
N0025('ESCAPE TYPE');
N0026('ESCAPE RADIUS');
N0027('ESCAPE ANGLE');
N0028('ESCAPE DISTANCE');
N0029('COMP. DIRECTION');
N0100('19');
N0101("20 01 C010 20")('ROUGH ');
N0102("20 01 C018 20")('B-FIN ');
N0103("20 01 C020 20")('S-FIN ');
N0151('1');
N0152('2');
N0153('3');
N2000('21');
N2001("20 01 C010 20")('DOWNCT');
N2002("20 01 C018 20")('UPCUT ');
N2051('1');
N2052('2');
N2100('25');
N2101("20 01 C010 20")('CIRCLE');

-337-

8. USER PROGRAMS FOR SIDE CUTTING MENU

8. USER PROGRAMS FOR SIDE CUTTING MENU

SAMPLE PROGRAM

N2102("20 01 C018 20")('TANGNT');


N2103("20 01 C020 20")('VERTCL');
N2151('1');
N2152('2');
N2153('3');
N2500('26');
N2501("20 01 C010 20")('CIRCLE');
N2502("20 01 C018 20")('TANGNT');
N2503("20 01 C020 20")('VERTCL');
N2551('1');
N2552('2');
N2553('3');
N2900('5');
N2901("20 01 C028 20")(' LEFT ');
N2902("20 01 C030 20")(' RIGHT');
N2951('1');
N2952('2');
M99

-338-

B-63423EN/02

B-63423EN/02

8.2

SAMPLE PROGRAM

DATA ATTRIBUTE

/****************************************************************************
/*
/* PROC6.SRC :: Side
/*
/***** 8471: Square
/***** 8472: Circle
/***** 8473: Track
/***** 8474: One Side
/***** 8475: Contour
/****************************************************************************
$INCLUDE SYMBOL.DEF
O8471 ;############################################### Square
#[address 0] = 220
#[address 1] = add_P
#[attribute 1] = att_character
#[value 1] = 1
#[address 2] = add_L
#[attribute 2] = att_decimal + att_detail
#[value 2] = 3
#[address 3] = add_Z
#[attribute 3] = att_decimal
#[value 3] = #0
#[address 4] = add_S
#[attribute 4] = att_decimal
#[value 4] = #0
#[address 5] = add_I
#[attribute 5] = att_decimal
#[value 5] = #0
#[address 6] = add_D
#[attribute 6] = att_decimal
#[value 6] = 0
#[address 7] = add_B
#[attribute 7] = att_decimal
#[value 7] = #0
#[address 8] = add_J
#[attribute 8] = att_decimal
#[value 8] = #0
#[address 9] = add_H
#[attribute 9] = att_decimal
#[value 9] = 0
#[address 10] = add_H ;DUMMY
#[value 10] = #0 ;DUMMY
#[address 11] = add_T
/* not use now
/* #[attribute 11] = att_decimal + att_detail /* not use now
#[attribute 11] = att_not_use
/* not use now
#[value 11] = 0
/* not use now
#[address 12] = add_C
#[attribute 12] = att_not_use
#[value 12] = #0
#[address 13] = add_D
#[attribute 13] = att_not_use
#[value 13] = #0
#[address 14] = add_J
#[attribute 14] = att_not_use
#[value 14] = #0
#[address 15] = add_H
#[attribute 15] = att_not_use
#[value 15] = #0
#[address 16] = add_C
#[attribute 16] = att_not_use
#[value 16] = #0

-339-

8. USER PROGRAMS FOR SIDE CUTTING MENU

8. USER PROGRAMS FOR SIDE CUTTING MENU

SAMPLE PROGRAM

#[address 17] = add_F


#[attribute 17] = att_decimal
#[value 17] = #0
#[address 18] = add_E
#[attribute 18] = att_decimal
#[value 18] = #0
#[attribute 19] = att_not_use
#[address 20] = add_M
#[attribute 20] = att_character
#[value 20] = #0
#[address 21] = add_X
#[attribute 21] = att_decimal
#[value 21] = #0
#[address 22] = add_Y
#[attribute 22] = att_decimal
#[value 22] = #0
#[address 23] = add_U
#[attribute 23] = att_decimal
#[value 23] = #0
#[address 24] = add_V
#[attribute 24] = att_decimal
#[value 24] = #0
#[address 25] = add_W
#[attribute 25] = att_character + att_detail
#[value 25] = 1
#[address 26] = add_Q
#[attribute 26] = att_character + att_detail
#[value 26] = 1
#[address 27] = add_R
#[attribute 27] = att_decimal + att_detail
#[value 27] = 0
#[address 28] = add_A
#[attribute 28] = att_decimal + att_detail
#[value 28] = 0
#[address 29] = add_K
#[attribute 29] = att_decimal + att_detail
#[value 29] = 5
#[address 30] = add_K
#[attribute 30] = att_not_use
#[value 30] = #0
#[address 31] = add_N
#[attribute 31] = att_character + att_detail
#[value 31] = 1
#[address 32] = add_N
#[attribute 32] = att_character + att_detail
#[value 32] = 1
#[address 33] = add_end
previous_cursor = 1
/* Previous cursor position clear
m99

O8472 ;############################################### Circle


#[address 0] = 221
#[address 1] = add_P
#[attribute 1] = att_character
#[value 1] = 1
#[address 2] = add_L
#[attribute 2] = att_decimal + att_detail
#[value 2] = 3
#[address 3] = add_Z
#[attribute 3] = att_decimal
#[value 3] = #0
#[address 4] = add_S
#[attribute 4] = att_decimal
#[value 4] = #0
#[address 5] = add_I

-340-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

#[attribute 5] = att_decimal
#[value 5] = #0
#[address 6] = add_D
#[attribute 6] = att_decimal
#[value 6] = 0
#[address 7] = add_B
#[attribute 7] = att_decimal
#[value 7] = #0
#[address 8] = add_J
#[attribute 8] = att_decimal
#[value 8] = #0
#[address 9] = add_H
#[attribute 9] = att_decimal
#[value 9] = 0
#[address 10] = add_H ;DUMMY
#[attribute 10] = att_new_page
#[value 10] = #0
;DUMMY
#[address 11] = add_T
/* not use now
/* #[attribute 11] = att_decimal + att_detail /* not use now
#[attribute 11] = att_not_use
/* not use now
#[value 11] = 0
/* not use now
#[address 12] = add_C
#[attribute 12] = att_not_use
#[value 12] = #0
#[address 13] = add_D
#[attribute 13] = att_not_use
#[value 13] = #0
#[address 14] = add_J
#[attribute 14] = att_not_use
#[value 14] = #0
#[address 15] = add_H
#[attribute 15] = att_not_use
#[value 15] = #0
#[address 16] = add_C
#[attribute 16] = att_not_use
#[value 16] = #0
#[address 17] = add_F
#[attribute 17] = att_decimal
#[value 17] = #0
#[address 18] = add_E
#[attribute 18] = att_decimal
#[value 18] = #0
#[attribute 19] = att_not_use
#[address 20] = add_M
#[attribute 20] = att_character
#[value 20] = #0
#[address 21] = add_X
#[attribute 21] = att_decimal
#[value 21] = #0
#[address 22] = add_Y
#[attribute 22] = att_decimal
#[value 22] = #0
#[address 23] = add_R
#[attribute 23] = att_decimal
#[value 23] = #0
#[address 24] = add_W
#[attribute 24] = att_character + att_detail
#[value 24] = 1
#[address 25] = add_K
#[attribute 25] = att_decimal + att_detail
#[value 25] = 5
#[address 26] = add_K
#[attribute 26] = att_not_use
#[value 26] = #0
#[address 27] = add_N
#[attribute 27] = att_character + att_detail
#[value 27] = 1

-341-

8. USER PROGRAMS FOR SIDE CUTTING MENU

8. USER PROGRAMS FOR SIDE CUTTING MENU

SAMPLE PROGRAM

#[address 28] = add_N


#[attribute 28] = att_character + att_detail
#[value 28] = 1
#[address 29] = add_end
previous_cursor = 1
/* Previous cursor position clear
m99

O8473 ;############################################### Track


#[address 0] = 222
#[address 1] = add_P
#[attribute 1] = att_character
#[value 1] = 1
#[address 2] = add_L
#[attribute 2] = att_decimal + att_detail
#[value 2] = 3
#[address 3] = add_Z
#[attribute 3] = att_decimal
#[value 3] = #0
#[address 4] = add_S
#[attribute 4] = att_decimal
#[value 4] = #0
#[address 5] = add_I
#[attribute 5] = att_decimal
#[value 5] = #0
#[address 6] = add_D
#[attribute 6] = att_decimal
#[value 6] = 0
#[address 7] = add_B
#[attribute 7] = att_decimal
#[value 7] = #0
#[address 8] = add_J
#[attribute 8] = att_decimal
#[value 8] = #0
#[address 9] = add_H
#[attribute 9] = att_decimal
#[value 9] = 0
#[address 10] = add_H ;DUMMY
#[attribute 10] = att_new_page
#[value 10] = #0 ;DUMMY
#[address 11] = add_T
/* not use now
/* #[attribute 11] = att_decimal + att_detail /* not use now
#[attribute 11] = att_not_use
/* not use now
#[value 11] = 0
/* not use now
#[address 12] = add_C
#[attribute 12] = att_not_use
#[value 12] = #0
#[address 13] = add_D
#[attribute 13] = att_not_use
#[value 13] = #0
#[address 14] = add_J
#[attribute 14] = att_not_use
#[value 14] = #0
#[address 15] = add_H
#[attribute 15] = att_not_use
#[value 15] = #0
#[address 16] = add_C
#[attribute 16] = att_not_use
#[value 16] = #0
#[address 17] = add_F
#[attribute 17] = att_decimal
#[value 17] = #0
#[address 18] = add_E
#[attribute 18] = att_decimal
#[value 18] = #0
#[attribute 19] = att_not_use

-342-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

#[address 20] = add_M


#[attribute 20] = att_character
#[value 20] = #0
#[address 21] = add_X
#[attribute 21] = att_decimal
#[value 21] = #0
#[address 22] = add_Y
#[attribute 22] = att_decimal
#[value 22] = #0
#[address 23] = add_U
#[attribute 23] = att_decimal
#[value 23] = #0
#[address 24] = add_R
#[attribute 24] = att_decimal
#[value 24] = #0
#[address 25] = add_W
#[attribute 25] = att_character + att_detail
#[value 25] = 1
#[address 26] = add_A
#[attribute 26] = att_decimal + att_detail
#[value 26] = 0
#[address 27] = add_K
#[attribute 27] = att_decimal + att_detail
#[value 27] = 5
#[address 28] = add_K
#[attribute 28] = att_not_use
#[value 28] = #0
#[address 29] = add_N
#[attribute 29] = att_character + att_detail
#[value 29] = 1
#[address 30] = add_N
#[attribute 30] = att_character + att_detail
#[value 30] = 1
#[address 31] = add_end
previous_cursor = 1
/* Previous cursor position clear
m99

O8474 ;############################################### One Side


#[address 0] = 223
#[address 1] = add_P
#[attribute 1] = att_character
#[value 1] = 1
#[address 2] = add_L
#[attribute 2] = att_decimal + att_detail
#[value 2] = 3
#[address 3] = add_Z
#[attribute 3] = att_decimal
#[value 3] = #0
#[address 4] = add_S
#[attribute 4] = att_decimal
#[value 4] = #0
#[address 5] = add_I
#[attribute 5] = att_decimal
#[value 5] = #0
#[address 6] = add_D
#[attribute 6] = att_decimal
#[value 6] = 0
#[address 7] = add_B
#[attribute 7] = att_decimal
#[value 7] = #0
#[address 8] = add_J
#[attribute 8] = att_decimal
#[value 8] = #0
#[address 9] = add_H
#[attribute 9] = att_decimal

-343-

8. USER PROGRAMS FOR SIDE CUTTING MENU

8. USER PROGRAMS FOR SIDE CUTTING MENU

SAMPLE PROGRAM

#[value 9] = 0
#[address 10] = add_W ;DUMMY
#[attribute 10] = att_new_page
#[value 10] = #0 ;DUMMY
#[address 11] = add_T
/* not use now
/* #[attribute 11] = att_decimal + att_detail /* not use now
#[attribute 11] = att_not_use
/* not use now
#[value 11] = 0
/* not use now
#[address 12] = add_C
#[attribute 12] = att_not_use
#[value 12] = #0
#[address 13] = add_D
#[attribute 13] = att_not_use
#[value 13] = #0
#[address 14] = add_J
#[attribute 14] = att_not_use
#[value 14] = #0
#[address 15] = add_H
#[attribute 15] = att_not_use
#[value 15] = #0
#[address 16] = add_C
#[attribute 16] = att_not_use
#[value 16] = #0
#[address 17] = add_F
#[attribute 17] = att_decimal
#[value 17] = #0
#[attribute 18] = att_not_use
#[attribute 19] = att_not_use
#[address 20] = add_X
#[attribute 20] = att_decimal
#[value 20] = #0
#[address 21] = add_Y
#[attribute 21] = att_decimal
#[value 21] = #0
#[address 22] = add_U
#[attribute 22] = att_decimal
#[value 22] = #0
#[address 23] = add_W
#[attribute 23] = att_character + att_detail
#[value 23] = 1
#[address 24] = add_A
#[attribute 24] = att_decimal + att_detail
#[value 24] = 0
#[address 25] = add_M
#[attribute 25] = att_decimal + att_detail
#[value 25] = 5
#[address 26] = add_N
#[attribute 26] = att_decimal + att_detail
#[value 26] = 5
#[address 27] = add_end
previous_cursor = 1
/* Previous cursor position clear
m99

O8475 ;############################################### Contour


#[address 0] = 224
#[address 1] = add_P
#[attribute 1] = att_character
#[value 1] = 1
#[address 2] = add_L
#[attribute 2] = att_decimal + att_detail
#[value 2] = 3
#[address 3] = add_Z
#[attribute 3] = att_decimal
#[value 3] = #0
#[address 4] = add_S

-344-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

#[attribute 4] = att_decimal
#[value 4] = #0
#[address 5] = add_I
#[attribute 5] = att_not_use
#[value 5] = #0
#[address 6] = add_D
#[attribute 6] = att_decimal
#[value 6] = 0
#[address 7] = add_B
#[attribute 7] = att_decimal
#[value 7] = #0
#[address 8] = add_J
#[attribute 8] = att_decimal
#[value 8] = #0
#[address 9] = add_H
#[attribute 9] = att_decimal
#[value 9] = 0
#[address 10] = add_H ;DUMMY
#[attribute 10] = att_new_page
#[value 10] = #0 ;DUMMY
#[address 11] = add_T
; not use now
#[attribute 11] = att_not_use
#[value 11] = 0
#[address 12] = add_C
; not use now
#[attribute 12] = att_not_use
#[value 12] = #0
#[address 13] = add_D
; not use now
#[attribute 13] = att_not_use
#[value 13] = #0
#[address 14] = add_J
; not use now
#[attribute 14] = att_not_use
#[value 14] = #0
#[address 15] = add_H
; not use now
#[attribute 15] = att_not_use
#[value 15] = #0
#[address 16] = add_C
; not use now
#[attribute 16] = att_not_use
#[value 16] = #0
#[address 17] = add_F
#[attribute 17] = att_decimal
#[value 17] = #0
#[address 18] = add_C
#[attribute 18] = att_decimal
#[value 18] = 70
#[address 19] = add_E
#[attribute 19] = att_decimal
#[value 19] = #0
#[address 20] = add_W
#[attribute 20] = att_character + att_detail
#[value 20] = 1
#[address 21] = add_A
#[attribute 21] = att_character + att_detail
#[value 21] = 1
#[address 22] = add_M
#[attribute 22] = att_decimal + att_detail
#[value 22] = 5
#[address 23] = add_N
#[attribute 23] = att_decimal + att_detail
#[value 23] = 90
#[address 24] = add_M
#[attribute 24] = att_decimal + att_detail
#[value 24] = 5
#[address 25] = add_R
#[attribute 25] = att_character + att_detail
#[value 25] = 1
#[address 26] = add_X
#[attribute 26] = att_decimal + att_detail

-345-

8. USER PROGRAMS FOR SIDE CUTTING MENU

8. USER PROGRAMS FOR SIDE CUTTING MENU

SAMPLE PROGRAM

#[value 26] = 5
#[address 27] = add_Y
#[attribute 27] = att_decimal + att_detail
#[value 27] = 90
#[address 28] = add_X
#[attribute 28] = att_decimal + att_detail
#[value 28] = 5
#[address 29] = add_U
#[attribute 29] = att_character
#[value 29] = #0
#[address 30] = add_end
previous_cursor = 1
/* Previous cursor position clear
m99

-346-

B-63423EN/02

B-63423EN/02

8.3

SAMPLE PROGRAM

GUIDANCE DRAWING FIGURE

/****************************************************************************
/*
/* FIG6.SRC :: Side
/*
/***** 8671: Square
/***** 8672: Circle
/***** 8673: Track
/***** 8674: One Side
/***** 8675: Contour
/****************************************************************************
$INCLUDE SYMBOL.DEF
O8671 ;############################################### Square
/*** Guide Picture Setting ***/
if[guide_frequency ne secont_tine]goto 90
if[cursor le 18]then
if[cursor eq 11]then
call fig_clear
call 6132
goto 1
endif
if[cursor eq 13]then
call fig_clear
call 6159
goto 1
endif
if[cursor eq 14]then
call fig_clear
call 6160
goto 1
endif
if[cursor eq 15]then
call fig_clear
call 6161
goto 1
endif
if[cursor eq 16]then
call fig_clear
call 6162
goto 1
endif
if[previous_cursor gt 18 || previous_cursor eq 11 || previous_cursor eq 2]then
call fig_clear
endif
if[previous_cursor eq 15]then
call fig_clear
endif
call 6131
else
if[cursor eq 28]then
call fig_clear
call 6121
else
if[previous_cursor eq 28]then
call fig_clear
endif
if[previous_cursor le 18]then
call fig_clear
endif
if[previous_cursor eq 20]then
call fig_clear
endif

-347-

8. USER PROGRAMS FOR SIDE CUTTING MENU

8. USER PROGRAMS FOR SIDE CUTTING MENU

SAMPLE PROGRAM

if[#[value 20] eq 2]then


call 6134
else
call 6133
endif
endif
endif
n1
previous_cursor = cursor
n90
/*** Attribution Setting ***/
if[#[value 1] eq 1]then
/* Rough
#[attribute 4] = att_decimal
#[attribute 5] = att_decimal
#[attribute 6] = att_decimal
#[attribute 8] = att_decimal
#[attribute 9] = att_decimal
#[attribute 10] = att_new_page
#[attribute 12] = att_not_use
#[attribute 13] = att_not_use
#[attribute 14] = att_not_use
#[attribute 15] = att_not_use
if[#[value 11] ne #0 && #[value 11] ne 0]then
#[attribute 16] = att_decimal
else
#[attribute 16] = att_not_use
endif
#[attribute 19] = att_not_use
if[#[value 20] eq 2]then
#[attribute 26] = att_not_use
else
#[attribute 26] = att_character + att_detail
endif
#[attribute 29] = att_decimal + att_detail
#[attribute 30] = att_not_use
endif
if[#[value 1] eq 2]then
/* Bottom Finish
#[attribute 4] = att_decimal
#[attribute 5] = att_decimal
#[attribute 6] = att_decimal
#[attribute 8] = att_not_use
#[attribute 9] = att_decimal
#[attribute 10] = att_new_page
#[attribute 12] = att_not_use
#[attribute 13] = att_not_use
#[attribute 14] = att_not_use
#[attribute 15] = att_not_use
if[#[value 11] ne #0 && #[value 11] ne 0]then
#[attribute 16] = att_decimal
else
#[attribute 16] = att_not_use
endif
#[attribute 19] = att_not_use
if[#[value 20] eq 2]then
#[attribute 26] = att_not_use
else
#[attribute 26] = att_character + att_detail
endif
#[attribute 29] = att_decimal + att_detail
#[attribute 30] = att_not_use
endif
if[#[value 1] eq 3]then
/* Side Finish
#[attribute 4] = att_not_use
#[attribute 5] = att_not_use
#[attribute 6] = att_not_use
#[attribute 8] = att_decimal

-348-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

#[attribute 9] = att_decimal
#[attribute 10] = att_new_page
#[attribute 12] = att_not_use
#[attribute 13] = att_not_use
#[attribute 14] = att_not_use
#[attribute 15] = att_not_use
if[#[value 11] ne #0 && #[value 11] ne 0]then
#[attribute 16] = att_decimal
else
#[attribute 16] = att_not_use
endif
#[attribute 19] = att_not_use
if[#[value 20] eq 2]then
#[attribute 26] = att_not_use
else
#[attribute 26] = att_character + att_detail
endif
#[attribute 29] = att_not_use
#[attribute 30] = att_decimal + att_detail
endif
if[#[value 1] eq 4]then
/* Chamfer
#[attribute 4] = att_not_use
#[attribute 5] = att_not_use
#[attribute 6] = att_not_use
#[attribute 8] = att_not_use
#[attribute 9] = att_not_use
#[attribute 10] = att_not_use
#[attribute 12] = att_decimal
#[attribute 13] = att_decimal
#[attribute 14] = att_decimal
#[attribute 15] = att_decimal
#[attribute 16] = att_not_use
#[attribute 19] = att_not_use
if[#[value 20] eq 2]then
#[attribute 26] = att_not_use
else
#[attribute 26] = att_character + att_detail
endif
#[attribute 29] = att_not_use
#[attribute 30] = att_decimal + att_detail
endif
if[#[value 20] ne 2]then
#[attribute 31] = att_character + att_detail
#[attribute 32] = att_not_use
else
#[attribute 31] = att_not_use
#[attribute 32] = att_character + att_detail
endif
m99

O8672 ;############################################### Circle


/*** Guide Picture Setting ***/
if[guide_frequency ne secont_tine]goto 90
if[cursor le 18]then
if[cursor eq 11]then
call fig_clear
call 6132
goto 1
endif
if[cursor eq 13]then
call fig_clear
call 6159
goto 1
endif
if[cursor eq 14]then

-349-

8. USER PROGRAMS FOR SIDE CUTTING MENU

8. USER PROGRAMS FOR SIDE CUTTING MENU

SAMPLE PROGRAM

call fig_clear
call 6160
goto 1
endif
if[cursor eq 15]then
call fig_clear
call 6161
goto 1
endif
if[cursor eq 16]then
call fig_clear
call 6162
goto 1
endif
if[previous_cursor gt 18 || previous_cursor eq 11 || previous_cursor eq 2]then
call fig_clear
endif
if[previous_cursor eq 15]then
call fig_clear
endif
call 6131
else
if[previous_cursor le 18]then
call fig_clear
endif
if[previous_cursor eq 20]then
call fig_clear
endif
if[#[value 20] eq 2]then
call 6136
else
call 6135
endif
endif
n1
previous_cursor = cursor
n90
/*** Attribution Setting ***/
if[#[value 1] eq 1]then
/* Rough
#[attribute 4] = att_decimal
#[attribute 5] = att_decimal
#[attribute 6] = att_decimal
#[attribute 8] = att_decimal
#[attribute 9] = att_decimal
#[attribute 10] = att_new_page
#[attribute 12] = att_not_use
#[attribute 13] = att_not_use
#[attribute 14] = att_not_use
#[attribute 15] = att_not_use
if[#[value 11] ne #0 && #[value 11] ne 0]then
#[attribute 16] = att_decimal
else
#[attribute 16] = att_not_use
endif
#[attribute 19] = att_not_use
#[attribute 25] = att_decimal + att_detail
#[attribute 26] = att_not_use
endif
if[#[value 1] eq 2]then
/* Bottom Finish
#[attribute 4] = att_decimal
#[attribute 5] = att_decimal
#[attribute 6] = att_decimal
#[attribute 8] = att_not_use
#[attribute 9] = att_decimal
#[attribute 10] = att_new_page
#[attribute 12] = att_not_use

-350-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

#[attribute 13] = att_not_use


#[attribute 14] = att_not_use
#[attribute 15] = att_not_use
if[#[value 11] ne #0 && #[value 11] ne 0]then
#[attribute 16] = att_decimal
else
#[attribute 16] = att_not_use
endif
#[attribute 19] = att_not_use
#[attribute 25] = att_decimal + att_detail
#[attribute 26] = att_not_use
endif
if[#[value 1] eq 3]then
/* Side Finish
#[attribute 4] = att_not_use
#[attribute 5] = att_not_use
#[attribute 6] = att_not_use
#[attribute 8] = att_decimal
#[attribute 9] = att_decimal
#[attribute 10] = att_new_page
#[attribute 12] = att_not_use
#[attribute 13] = att_not_use
#[attribute 14] = att_not_use
#[attribute 15] = att_not_use
if[#[value 11] ne #0 && #[value 11] ne 0]then
#[attribute 16] = att_decimal
else
#[attribute 16] = att_not_use
endif
#[attribute 19] = att_not_use
#[attribute 25] = att_not_use
#[attribute 26] = att_decimal + att_detail
endif
if[#[value 1] eq 4]then
/* Chamfer
#[attribute 4] = att_not_use
#[attribute 5] = att_not_use
#[attribute 6] = att_not_use
#[attribute 8] = att_not_use
#[attribute 9] = att_not_use
#[attribute 10] = att_not_use
#[attribute 12] = att_decimal
#[attribute 13] = att_decimal
#[attribute 14] = att_decimal
#[attribute 15] = att_decimal
#[attribute 16] = att_not_use
#[attribute 19] = att_not_use
#[attribute 25] = att_not_use
#[attribute 26] = att_decimal + att_detail
endif
if[#[value 20] ne 2]then
#[attribute 27] = att_character + att_detail
#[attribute 28] = att_not_use
else
#[attribute 27] = att_not_use
#[attribute 28] = att_character + att_detail
endif
m99

O8673 ;############################################### Track


/*** Guide Picture Setting ***/
if[guide_frequency ne secont_tine]goto 90
if[cursor le 18]then
if[cursor eq 11]then
call fig_clear
call 6132
goto 1

-351-

8. USER PROGRAMS FOR SIDE CUTTING MENU

8. USER PROGRAMS FOR SIDE CUTTING MENU

SAMPLE PROGRAM

endif
if[cursor eq 13]then
call fig_clear
call 6159
goto 1
endif
if[cursor eq 14]then
call fig_clear
call 6160
goto 1
endif
if[cursor eq 15]then
call fig_clear
call 6161
goto 1
endif
if[cursor eq 16]then
call fig_clear
call 6162
goto 1
endif
if[previous_cursor gt 18 || previous_cursor eq 11 || previous_cursor eq 2]then
call fig_clear
endif
if[previous_cursor eq 15]then
call fig_clear
endif
call 6131
else
if[cursor eq 26]then
call fig_clear
call 6121
else
if[previous_cursor eq 26]then
call fig_clear
endif
if[previous_cursor le 18]then
call fig_clear
endif
if[previous_cursor eq 20]then
call fig_clear
endif
if[#[value 20] eq 2]then
call 6138
else
call 6137
endif
endif
endif
n1
previous_cursor = cursor
n90

/*** Attribution Setting ***/


if[#[value 1] eq 1]then
/* Rough
#[attribute 4] = att_decimal
#[attribute 5] = att_decimal
#[attribute 6] = att_decimal
#[attribute 8] = att_decimal
#[attribute 9] = att_decimal
#[attribute 10] = att_new_page
#[attribute 12] = att_not_use
#[attribute 13] = att_not_use
#[attribute 14] = att_not_use
#[attribute 15] = att_not_use
if[#[value 11] ne #0 && #[value 11] ne 0]then

-352-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

#[attribute 16] = att_decimal


else
#[attribute 16] = att_not_use
endif
#[attribute 19] = att_not_use
#[attribute 27] = att_decimal + att_detail
#[attribute 28] = att_not_use
endif
if[#[value 1] eq 2]then
/* Bottom Finish
#[attribute 4] = att_decimal
#[attribute 5] = att_decimal
#[attribute 6] = att_decimal
#[attribute 8] = att_not_use
#[attribute 9] = att_decimal
#[attribute 10] = att_new_page
#[attribute 12] = att_not_use
#[attribute 13] = att_not_use
#[attribute 14] = att_not_use
#[attribute 15] = att_not_use
if[#[value 11] ne #0 && #[value 11] ne 0]then
#[attribute 16] = att_decimal
else
#[attribute 16] = att_not_use
endif
#[attribute 19] = att_not_use
#[attribute 27] = att_decimal + att_detail
#[attribute 28] = att_not_use
endif
if[#[value 1] eq 3]then
/* Side Finish
#[attribute 4] = att_not_use
#[attribute 5] = att_not_use
#[attribute 6] = att_not_use
#[attribute 8] = att_decimal
#[attribute 9] = att_decimal
#[attribute 10] = att_new_page
#[attribute 12] = att_not_use
#[attribute 13] = att_not_use
#[attribute 14] = att_not_use
#[attribute 15] = att_not_use
if[#[value 11] ne #0 && #[value 11] ne 0]then
#[attribute 16] = att_decimal
else
#[attribute 16] = att_not_use
endif
#[attribute 19] = att_not_use
#[attribute 27] = att_not_use
#[attribute 28] = att_decimal + att_detail
endif
if[#[value 1] eq 4]then
/* Chamfer
#[attribute 4] = att_not_use
#[attribute 5] = att_not_use
#[attribute 6] = att_not_use
#[attribute 8] = att_not_use
#[attribute 9] = att_not_use
#[attribute 10] = att_not_use
#[attribute 12] = att_decimal
#[attribute 13] = att_decimal
#[attribute 14] = att_decimal
#[attribute 15] = att_decimal
#[attribute 16] = att_not_use
#[attribute 19] = att_not_use
#[attribute 27] = att_not_use
#[attribute 28] = att_decimal + att_detail
endif
if[#[value 20] ne 2]then
#[attribute 29] = att_character + att_detail
#[attribute 30] = att_not_use

-353-

8. USER PROGRAMS FOR SIDE CUTTING MENU

8. USER PROGRAMS FOR SIDE CUTTING MENU

SAMPLE PROGRAM

else
#[attribute 29] = att_not_use
#[attribute 30] = att_character + att_detail
endif
m99

O8674 ;############################################### One Side


/*** Guide Picture Setting ***/
if[guide_frequency ne secont_tine]goto 90
if[cursor le 18]then
if[cursor eq 11]then
call fig_clear
call 6132
goto 1
endif
if[cursor eq 13]then
call fig_clear
call 6159
goto 1
endif
if[cursor eq 14]then
call fig_clear
call 6160
goto 1
endif
if[cursor eq 15]then
call fig_clear
call 6161
goto 1
endif
if[cursor eq 16]then
call fig_clear
call 6162
goto 1
endif
if[previous_cursor gt 18 || previous_cursor eq 11 || previous_cursor eq 2]then
call fig_clear
endif
if[previous_cursor eq 15]then
call fig_clear
endif
call 6131
else
if[cursor eq 24]then
call fig_clear
call 6121
else
if[previous_cursor le 18 || previous_cursor eq 24]then
call fig_clear
endif
call 6139
endif
endif
n1
previous_cursor = cursor
n90

/*** Attribution Setting ***/


if[#[value 1] eq 1]then
/* Rough
#[attribute 4] = att_decimal
#[attribute 5] = att_decimal
#[attribute 6] = att_decimal
#[attribute 8] = att_decimal
#[attribute 9] = att_decimal

-354-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

#[attribute 10] = att_new_page


#[attribute 12] = att_not_use
#[attribute 13] = att_not_use
#[attribute 14] = att_not_use
#[attribute 15] = att_not_use
if[#[value 11] ne #0 && #[value 11] ne 0]then
#[attribute 16] = att_decimal
else
#[attribute 16] = att_not_use
endif
#[attribute 18] = att_not_use
#[attribute 19] = att_not_use
endif
if[#[value 1] eq 2]then
/* Bottom Finish
#[attribute 4] = att_decimal
#[attribute 5] = att_decimal
#[attribute 6] = att_decimal
#[attribute 8] = att_not_use
#[attribute 9] = att_decimal
#[attribute 10] = att_new_page
#[attribute 12] = att_not_use
#[attribute 13] = att_not_use
#[attribute 14] = att_not_use
#[attribute 15] = att_not_use
if[#[value 11] ne #0 && #[value 11] ne 0]then
#[attribute 16] = att_decimal
else
#[attribute 16] = att_not_use
endif
#[attribute 18] = att_not_use
#[attribute 19] = att_not_use
endif
if[#[value 1] eq 3]then
/* Side Finish
#[attribute 4] = att_not_use
#[attribute 5] = att_not_use
#[attribute 6] = att_not_use
#[attribute 8] = att_decimal
#[attribute 9] = att_decimal
#[attribute 10] = att_new_page
#[attribute 12] = att_not_use
#[attribute 13] = att_not_use
#[attribute 14] = att_not_use
#[attribute 15] = att_not_use
if[#[value 11] ne #0 && #[value 11] ne 0]then
#[attribute 16] = att_decimal
else
#[attribute 16] = att_not_use
endif
#[attribute 18] = att_not_use
#[attribute 19] = att_not_use
endif
if[#[value 1] eq 4]then
/* Chamfer
#[attribute 4] = att_not_use
#[attribute 5] = att_not_use
#[attribute 6] = att_not_use
#[attribute 8] = att_not_use
#[attribute 9] = att_not_use
#[attribute 10] = att_not_use
#[attribute 12] = att_decimal
#[attribute 13] = att_decimal
#[attribute 14] = att_decimal
#[attribute 15] = att_decimal
#[attribute 16] = att_not_use
#[attribute 18] = att_not_use
#[attribute 19] = att_not_use
endif
m99

-355-

8. USER PROGRAMS FOR SIDE CUTTING MENU

8. USER PROGRAMS FOR SIDE CUTTING MENU

SAMPLE PROGRAM

O8675 ;############################################### Contour


/*** Guide Picture Setting ***/
if[guide_frequency ne secont_tine]goto 90
if[cursor le 20]then
if[previous_cursor gt 20 || previous_cursor eq 2]then
call fig_clear
endif
call 6131
endif
if[cursor eq 21 || cursor eq 25]then
call fig_clear
call 6140
endif
if[cursor eq 22 || cursor eq 23]then
if[previous_cursor ne 22 && previous_cursor ne 23]then
call fig_clear
endif
call 6141
endif
if[cursor eq 26 || cursor eq 27]then
if[previous_cursor ne 26 && previous_cursor ne 27]then
call fig_clear
endif
call 6141
endif
if[cursor eq 24]then
call fig_clear
if[#[value 21] eq 3]then
call 6143
else
call 6142
endif
endif
if[cursor eq 28]then
call fig_clear
if[#[value 25] eq 3]then
call 6143
else
call 6142
endif
endif
if[cursor eq 29]then
call fig_clear
call 6144
endif
previous_cursor = cursor
n90
/*** Attribution Setting ***/
if[#[value 1] eq 1]then
/* Rough
#[attribute 4] = att_decimal
#[attribute 6] = att_decimal
#[attribute 8] = att_decimal
#[attribute 18] = att_decimal
endif
if[#[value 1] eq 2]then
/* Bottom Finish
#[attribute 4] = att_decimal
#[attribute 6] = att_decimal
#[attribute 8] = att_not_use
#[attribute 18] = att_decimal
endif
if[#[value 1] eq 3]then
/* Side Finish
#[attribute 4] = att_not_use
#[attribute 6] = att_not_use

-356-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

#[attribute 8] = att_not_use
#[attribute 18] = att_not_use
endif
if[#[value 21] eq 1]then
#[attribute 22] = att_decimal + att_detail
#[attribute 23] = att_decimal + att_detail
#[attribute 24] = att_not_use
else
#[attribute 22] = att_not_use
#[attribute 23] = att_not_use
#[attribute 24] = att_decimal + att_detail
endif
if[#[value 25] eq 1]then
#[attribute 26] = att_decimal + att_detail
#[attribute 27] = att_decimal + att_detail
#[attribute 28] = att_not_use
else
#[attribute 26] = att_not_use
#[attribute 27] = att_not_use
#[attribute 28] = att_decimal + att_detail
endif
m99

/****************************************************************************
/*
/* FIGSUB6.SRC :: Side
/*
/***** 6131: Prepare
/***** 6132: Taper Angle
/***** 6133: Square Outer
/***** 6134: Square Inner
/***** 6135: Circle Outer
/***** 6136: Circle Inner
/***** 6137: Track Outer
/***** 6138: Track Inner
/***** 6139: One Side
/***** 6140: Contour : Approach/Escape Type
/***** 6141: Contour : Approach/Escape Circle
/***** 6142: Contour : Approach/Escape Tangent
/***** 6143: Contour : Approach/Escape Vertical
/***** 6144: Contour : Compensation Direction
/****************************************************************************
$INCLUDE SYMBOL.DEF

O6131 ;############################################### Prepare


/* blue for Work
color blue
G242X[-15-shift_grap_X]Y[17+shift_grap_Y]
G01X[103-shift_grap_X]Y[17+shift_grap_Y]
G01X[103-shift_grap_X]Y[143+shift_grap_Y]
if[#[address 0] ne 224]then
G01X[64-shift_grap_X]Y[143+shift_grap_Y]
G01X[49-shift_grap_X]Y[128+shift_grap_Y]
else
G01X[49-shift_grap_X]Y[143+shift_grap_Y]
endif
G01X[49-shift_grap_X]Y[47+shift_grap_Y]
G01X[-15-shift_grap_X]Y[47+shift_grap_Y]
G01X[-15-shift_grap_X]Y[17+shift_grap_Y]
G206P0X[0-shift_grap_X]Y[30+shift_grap_Y]
/* blue green for Finish
color sky_blue
G242X[-15-shift_grap_X]Y[49+shift_grap_Y]

-357-

8. USER PROGRAMS FOR SIDE CUTTING MENU

8. USER PROGRAMS FOR SIDE CUTTING MENU

SAMPLE PROGRAM

G01X[47-shift_grap_X]Y[49+shift_grap_Y]
G01X[47-shift_grap_X]Y[143+shift_grap_Y]
G01X[41-shift_grap_X]Y[143+shift_grap_Y]
G01X[41-shift_grap_X]Y[55+shift_grap_Y]
G01X[-15-shift_grap_X]Y[55+shift_grap_Y]
G01X[-15-shift_grap_X]Y[49+shift_grap_Y]
G206P0X[0-shift_grap_X]Y[51+shift_grap_Y]
if[#[address 0] ne 224]then
G242X[62-shift_grap_X]Y[143+shift_grap_Y]
G01X[49-shift_grap_X]Y[143+shift_grap_Y]
G01X[49-shift_grap_X]Y[130+shift_grap_Y]
G01X[62-shift_grap_X]Y[143+shift_grap_Y]
G206P0X[50-shift_grap_X]Y[140+shift_grap_Y]
endif
/* white for Removal
color white
G242X[-15-shift_grap_X]Y[57+shift_grap_Y]
G01X[39-shift_grap_X]Y[57+shift_grap_Y]
G01X[39-shift_grap_X]Y[143+shift_grap_Y]
G01X[-15-shift_grap_X]Y[143+shift_grap_Y]
G01X[-15-shift_grap_X]Y[57+shift_grap_Y]
G206P0X[0-shift_grap_X]Y[70+shift_grap_Y]
/* Edge Line
color sky_blue
G242X[-16-shift_grap_X]Y[47+shift_grap_Y]
G01X[-16-shift_grap_X]Y[16+shift_grap_Y]
G01X[104-shift_grap_X]Y[16+shift_grap_Y]
G01X[104-shift_grap_X]Y[144+shift_grap_Y]
if[#[address 0] ne 224]then
G01X[64-shift_grap_X]Y[144+shift_grap_Y]
else
G01X[47-shift_grap_X]Y[144+shift_grap_Y]
endif
color purple
if[#[address 0] ne 224]then
G242X[63-shift_grap_X]Y[144+shift_grap_Y]
else
G242X[48-shift_grap_X]Y[144+shift_grap_Y]
endif
G01X[-16-shift_grap_X]Y[144+shift_grap_Y]
G01X[-16-shift_grap_X]Y[48+shift_grap_Y]
G242X[-15-shift_grap_X]Y[48+shift_grap_Y]
G01X[48-shift_grap_X]Y[48+shift_grap_Y]
G01X[48-shift_grap_X]Y[143+shift_grap_Y]
G242X[-15-shift_grap_X]Y[56+shift_grap_Y]
G01X[40-shift_grap_X]Y[56+shift_grap_Y]
G01X[40-shift_grap_X]Y[143+shift_grap_Y]
if[#[address 0] ne 224]then
G242X[63-shift_grap_X]Y[144+shift_grap_Y]
G01X[48-shift_grap_X]Y[129+shift_grap_Y]
endif
/* red for Path
color red
G242X[-15-shift_grap_X]Y[112+shift_grap_Y]
G01X[39-shift_grap_X]Y[112+shift_grap_Y]
G242X[-15-shift_grap_X]Y[80+shift_grap_Y]
G01X[39-shift_grap_X]Y[80+shift_grap_Y]
/* green Line
color green
if[#[address 0] ne 224]then
G242X[48-shift_grap_X]Y[145+shift_grap_Y] /* for C
G01X[48-shift_grap_X]Y[152+shift_grap_Y]
G242X[63-shift_grap_X]Y[145+shift_grap_Y]

-358-

B-63423EN/02

SAMPLE PROGRAM

B-63423EN/02

G01X[63-shift_grap_X]Y[152+shift_grap_Y]
#1=47-shift_grap_X
#2=148+shift_grap_Y
#3=37-shift_grap_X
#4=#2
#5=1
call fig_line
#1=64-shift_grap_X
#2=148+shift_grap_Y
#3=74-shift_grap_X
#4=#2
#5=1
call fig_line
endif
G242X[105-shift_grap_X]Y[144+shift_grap_Y]
G01X[128-shift_grap_X]Y[144+shift_grap_Y]
G242X[49-shift_grap_X]Y[48+shift_grap_Y]
G01X[128-shift_grap_X]Y[48+shift_grap_Y]
#1=124-shift_grap_X
#2=143+shift_grap_Y
#3=#1
#4=49+shift_grap_Y
#5=2
call fig_line
G242X[41-shift_grap_X]Y[112+shift_grap_Y]
G01X[112-shift_grap_X]Y[112+shift_grap_Y]
#1=108-shift_grap_X
#2=143+shift_grap_Y
#3=#1
#4=113+shift_grap_Y
#5=2
call fig_line
G242X[49-shift_grap_X]Y[56+shift_grap_Y]
G01X[112-shift_grap_X]Y[56+shift_grap_Y]
#1=108-shift_grap_X
#2=57+shift_grap_Y
#3=#1
#4=67+shift_grap_Y
#5=1
call fig_line
#1=108-shift_grap_X
#2=47+shift_grap_Y
#3=#1
#4=37+shift_grap_Y
#5=1
call fig_line
G242X[-16-shift_grap_X]Y[15+shift_grap_Y]
G01X[-16-shift_grap_X]Y[-16+shift_grap_Y]
G242X[48-shift_grap_X]Y[47+shift_grap_Y]
G01X[48-shift_grap_X]Y[-16+shift_grap_Y]
#1=-15-shift_grap_X
#2=-12+shift_grap_Y
#3=47-shift_grap_X
#4=#2
#5=2
call fig_line
G242X[40-shift_grap_X]Y[47+shift_grap_Y]
G01X[40-shift_grap_X]Y[8+shift_grap_Y]
#1=39-shift_grap_X
#2=10+shift_grap_Y
#3=29-shift_grap_X
#4=#2
#5=1
call fig_line
#1=49-shift_grap_X
#2=10+shift_grap_Y
#3=59-shift_grap_X

/* for B

/* for J

/* for H

/* for S

/* for D

-359-

8. USER PROGRAMS FOR SIDE CUTTING MENU

8. USER PROGRAMS FOR SIDE CUTTING MENU

SAMPLE PROGRAM

#4=#2
#5=1
call fig_line
/* Characters
if[#[address 0] ne 224]then
#1=12
call fig_cursor
G243X[46-shift_char_X]Y[5-shift_char_Y](C)
endif
#1=7
call fig_cursor
G243X[56-shift_char_X]Y[9-shift_char_Y](B)
#1=8
call fig_cursor
G243X[54-shift_char_X]Y[7-shift_char_Y](J)
#1=9
call fig_cursor
G243X[54-shift_char_X]Y[11-shift_char_Y](H)
#1=3
call fig_cursor
G243X[56-shift_char_X]Y[12-shift_char_Y](Z)
#1=4
call fig_cursor
G243X[41-shift_char_X]Y[15-shift_char_Y](S)
#1=6
call fig_cursor
G243X[45-shift_char_X]Y[15-shift_char_Y](D)
m99

O6132 ;############################################### Taper Angle


/* blue for Work
color blue
G242X[1-shift_grap_X]Y[9+shift_grap_Y]
G01X[111-shift_grap_X]Y[9+shift_grap_Y]
G01X[111-shift_grap_X]Y[151+shift_grap_Y]
G01X[57-shift_grap_X]Y[151+shift_grap_Y]
G01X[41-shift_grap_X]Y[55+shift_grap_Y]
G01X[1-shift_grap_X]Y[55+shift_grap_Y]
G01X[1-shift_grap_X]Y[9+shift_grap_Y]
#1=46-shift_char_X
#2=12-shift_char_Y
#3=1
call fig_character
G206P0X[60-shift_grap_X]Y[20+shift_grap_Y]
/* blue green for Finish
color green
G242X[1-shift_grap_X]Y[57+shift_grap_Y]
G01X[39-shift_grap_X]Y[57+shift_grap_Y]
G01X[55-shift_grap_X]Y[151+shift_grap_Y]
G01X[45-shift_grap_X]Y[151+shift_grap_Y]
G01X[45-shift_grap_X]Y[119+shift_grap_Y]
G01X[31-shift_grap_X]Y[119+shift_grap_Y]
G01X[31-shift_grap_X]Y[63+shift_grap_Y]
G01X[1-shift_grap_X]Y[63+shift_grap_Y]
G01X[1-shift_grap_X]Y[57+shift_grap_Y]
G206P0X[5-shift_grap_X]Y[60+shift_grap_Y]
/* white for Removal
color white
G242X[1-shift_grap_X]Y[65+shift_grap_Y]
G01X[31-shift_grap_X]Y[65+shift_grap_Y]
G01X[31-shift_grap_X]Y[121+shift_grap_Y]
G01X[43-shift_grap_X]Y[121+shift_grap_Y]

-360-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

8. USER PROGRAMS FOR SIDE CUTTING MENU

G01X[43-shift_grap_X]Y[151+shift_grap_Y]
G01X[1-shift_grap_X]Y[151+shift_grap_Y]
G01X[1-shift_grap_X]Y[65+shift_grap_Y]
G206P0X[10-shift_grap_X]Y[100+shift_grap_Y]
/* purple line
color purple
G242X[0-shift_grap_X]Y[8+shift_grap_Y]
G01X[112-shift_grap_X]Y[8+shift_grap_Y]
G01X[112-shift_grap_X]Y[152+shift_grap_Y]
G01X[0-shift_grap_X]Y[152+shift_grap_Y]
G01X[0-shift_grap_X]Y[8+shift_grap_Y]
G242X[56-shift_grap_X]Y[152+shift_grap_Y]
G01X[40-shift_grap_X]Y[56+shift_grap_Y]
G01X[1-shift_grap_X]Y[56+shift_grap_Y]
G242X[1-shift_grap_X]Y[64+shift_grap_Y]
G01X[32-shift_grap_X]Y[64+shift_grap_Y]
G01X[32-shift_grap_X]Y[120+shift_grap_Y]
G01X[44-shift_grap_X]Y[120+shift_grap_Y]
G01X[44-shift_grap_X]Y[151+shift_grap_Y]
/* green Line
color green
G242X[40-shift_grap_X]Y[56+shift_grap_Y]
G01X[39-shift_grap_X]Y[50+shift_grap_Y]
G242X[56-shift_grap_X]Y[151+shift_grap_Y]
G01X[56-shift_grap_X]Y[50+shift_grap_Y]
G242X[56-shift_grap_X]Y[56+shift_grap_Y]
G02X[40.2178-shift_grap_X]Y[57.3068+shift_grap_Y]I[56-shift_grap_X]J[152+shift_grap_Y]
/* Characters
color -white C blue L1
G243X[46-shift_char_X]Y[12-shift_char_Y](T)
cursor_off
m99

O6133 ;############################################### Square Outer


/* blue for Work
color blue
G242X[8-shift_grap_X]Y[25+shift_grap_Y]
G01X[96-shift_grap_X]Y[25+shift_grap_Y]
G03X[103-shift_grap_X]Y[32+shift_grap_Y]I[96-shift_grap_X]J[32+shift_grap_Y]
G01X[103-shift_grap_X]Y[112+shift_grap_Y]
G03X[96-shift_grap_X]Y[119+shift_grap_Y]I[96-shift_grap_X]J[112+shift_grap_Y]
G01X[8-shift_grap_X]Y[119+shift_grap_Y]
G03X[1-shift_grap_X]Y[112+shift_grap_Y]I[8-shift_grap_X]J[112+shift_grap_Y]
G01X[1-shift_grap_X]Y[32+shift_grap_Y]
G03X[8-shift_grap_X]Y[25+shift_grap_Y]I[8-shift_grap_X]J[32+shift_grap_Y]
#1=44-shift_char_X
/* for (X,Y)
#2=11-shift_char_Y
#3=5
call fig_character
#1=51-shift_char_X
/* for R
#2=9-shift_char_Y
#3=1
call fig_character
G206P0X[60-shift_grap_X]Y[100+shift_grap_Y]
/* green for Tool
color green
if[#[value 1] eq 3 || #[value 1] eq 4]then
G242X[135-shift_grap_X]Y[88+shift_grap_Y] /* Start Tool
G02X[135-shift_grap_X]Y[88+shift_grap_Y]I[128-shift_grap_X]J[88+shift_grap_Y]Q4
G206P0X[128-shift_grap_X]Y[88+shift_grap_Y]
G242X[135-shift_grap_X]Y[56+shift_grap_Y] /* End Tool

-361-

8. USER PROGRAMS FOR SIDE CUTTING MENU

SAMPLE PROGRAM

G02X[135-shift_grap_X]Y[56+shift_grap_Y]I[128-shift_grap_X]J[56+shift_grap_Y]Q4
G206P0X[128-shift_grap_X]Y[56+shift_grap_Y]
else
G242X[135-shift_grap_X]Y[72+shift_grap_Y]
G02X[135-shift_grap_X]Y[72+shift_grap_Y]I[128-shift_grap_X]J[72+shift_grap_Y]Q4
G206P0X[128-shift_grap_X]Y[72+shift_grap_Y]
endif
/* Edge Line
color sky_blue
/* for Work(blue green)
G242X[8-shift_grap_X]Y[24+shift_grap_Y]
G01X[96-shift_grap_X]Y[24+shift_grap_Y]
G03X[104-shift_grap_X]Y[32+shift_grap_Y]I[96-shift_grap_X]J[32+shift_grap_Y]
G01X[104-shift_grap_X]Y[112+shift_grap_Y]
G03X[96-shift_grap_X]Y[120+shift_grap_Y]I[96-shift_grap_X]J[112+shift_grap_Y]
G01X[8-shift_grap_X]Y[120+shift_grap_Y]
G03X[0-shift_grap_X]Y[112+shift_grap_Y]I[8-shift_grap_X]J[112+shift_grap_Y]
G01X[0-shift_grap_X]Y[32+shift_grap_Y]
G03X[8-shift_grap_X]Y[24+shift_grap_Y]I[8-shift_grap_X]J[32+shift_grap_Y]
color purple
/* for Work(purple)
if[#[value 1] eq 3 || #[value 1] eq 4]then
G242X[136-shift_grap_X]Y[88+shift_grap_Y] /* for Start Tool
G02X[136-shift_grap_X]Y[88+shift_grap_Y]I[128-shift_grap_X]J[88+shift_grap_Y]Q4
G242X[136-shift_grap_X]Y[56+shift_grap_Y] /* for End Tool
G02X[136-shift_grap_X]Y[56+shift_grap_Y]I[128-shift_grap_X]J[56+shift_grap_Y]Q4
else
G242X[136-shift_grap_X]Y[72+shift_grap_Y]
G02X[136-shift_grap_X]Y[72+shift_grap_Y]I[128-shift_grap_X]J[72+shift_grap_Y]Q4
endif
/* red for Path
color red
G242X[8-shift_grap_X]Y[16+shift_grap_Y]
G01X[96-shift_grap_X]Y[16+shift_grap_Y]
G03X[112-shift_grap_X]Y[32+shift_grap_Y]I[96-shift_grap_X]J[32+shift_grap_Y]
G01X[112-shift_grap_X]Y[112+shift_grap_Y]
G03X[96-shift_grap_X]Y[128+shift_grap_Y]I[96-shift_grap_X]J[112+shift_grap_Y]
G01X[8-shift_grap_X]Y[128+shift_grap_Y]
G03X[-8-shift_grap_X]Y[112+shift_grap_Y]I[8-shift_grap_X]J[112+shift_grap_Y]
G01X[-8-shift_grap_X]Y[32+shift_grap_Y]
G03X[8-shift_grap_X]Y[16+shift_grap_Y]I[8-shift_grap_X]J[32+shift_grap_Y]
#1=56-shift_grap_X
#2=128+shift_grap_Y
#3=55-shift_grap_X
#4=#2
#5=1
call fig_line
#1=50-shift_grap_X
#2=16+shift_grap_Y
#3=51-shift_grap_X
#4=#2
#5=1
call fig_line
if[#[value 1] eq 3 || #[value 1] eq 4]then
#1=128-shift_grap_X
#2=88+shift_grap_Y
#3=128-shift_grap_X
#4=56+shift_grap_Y
#5=128-shift_grap_X
#6=72+shift_grap_Y
#7=0
call fig_ccw
else
G242X[128-shift_grap_X]Y[72+shift_grap_Y]
G01X[113-shift_grap_X]Y[72+shift_grap_Y]
endif

-362-

B-63423EN/02

SAMPLE PROGRAM

B-63423EN/02

/* green Line
color green
G242X[0-shift_grap_X]Y[113+shift_grap_Y]
G01X[0-shift_grap_X]Y[136+shift_grap_Y]
G242X[104-shift_grap_X]Y[113+shift_grap_Y]
G01X[104-shift_grap_X]Y[136+shift_grap_Y]
#1=1-shift_grap_X
#2=133+shift_grap_Y
#3=103-shift_grap_X
#4=#2
#5=2
call fig_line
G242X[7-shift_grap_X]Y[120+shift_grap_Y]
G01X[-16-shift_grap_X]Y[120+shift_grap_Y]
G242X[7-shift_grap_X]Y[24+shift_grap_Y]
G01X[-16-shift_grap_X]Y[24+shift_grap_Y]
#1=-13-shift_grap_X
#2=119+shift_grap_Y
#3=#1
#4=25+shift_grap_Y
#5=2
call fig_line
#1=92-shift_grap_X
/* for R
#2=104+shift_grap_Y
#3=100-shift_grap_X
#4=116+shift_grap_Y
#5=0
call fig_line
/* yellow Cross Mark
color yellow
#1=52-shift_grap_X
#2=72+shift_grap_Y
call fig_mark

/* for U

/* for V

/* Center

/* Characters
if[cursor eq 21]then
color -white C blue L1
else
color white C blue L0
endif
G243X[45-shift_char_X]Y[11-shift_char_Y](X)
if[cursor eq 22]then
color -white C blue L1
else
color white C blue L0
endif
G243X[47-shift_char_X]Y[11-shift_char_Y](Y)
if[cursor eq 27]then
color -white C blue L1
else
color white C blue L0
endif
G243X[51-shift_char_X]Y[9-shift_char_Y](R)
#1=23
call fig_cursor
G243X[46-shift_char_X]Y[6-shift_char_Y](U)
#1=24
call fig_cursor
G243X[37-shift_char_X]Y[10-shift_char_Y](V)
color white C blue L0
G243X[44-shift_char_X]Y[11-shift_char_Y]('(')
G243X[46-shift_char_X]Y[11-shift_char_Y](',')
G243X[48-shift_char_X]Y[11-shift_char_Y](')')
cursor_off
m99

-363-

8. USER PROGRAMS FOR SIDE CUTTING MENU

8. USER PROGRAMS FOR SIDE CUTTING MENU

SAMPLE PROGRAM

O6134 ;############################################### Square Inner


/* blue for Work
color blue
G242X[-31-shift_grap_X]Y[17+shift_grap_Y]
G01X[135-shift_grap_X]Y[17+shift_grap_Y]
G01X[135-shift_grap_X]Y[127+shift_grap_Y]
G01X[-31-shift_grap_X]Y[127+shift_grap_Y]
G01X[-31-shift_grap_X]Y[17+shift_grap_Y]
G242X[-8-shift_grap_X]Y[31+shift_grap_Y]
G01X[112-shift_grap_X]Y[31+shift_grap_Y]
G03X[121-shift_grap_X]Y[40+shift_grap_Y]I[112-shift_grap_X]J[40+shift_grap_Y]
G01X[121-shift_grap_X]Y[104+shift_grap_Y]
G03X[112-shift_grap_X]Y[113+shift_grap_Y]I[112-shift_grap_X]J[104+shift_grap_Y]
G01X[-8-shift_grap_X]Y[113+shift_grap_Y]
G03X[-17-shift_grap_X]Y[104+shift_grap_Y]I[-8-shift_grap_X]J[104+shift_grap_Y]
G01X[-17-shift_grap_X]Y[40+shift_grap_Y]
G03X[-8-shift_grap_X]Y[31+shift_grap_Y]I[-8-shift_grap_X]J[40+shift_grap_Y]
G206P0X[0-shift_grap_X]Y[24+shift_grap_Y]
/* green for Tool
color green
if[#[value 1] eq 3 || #[value 1] eq 4]then
G242X[1-shift_grap_X]Y[88+shift_grap_Y] /* Start Tool
G02X[1-shift_grap_X]Y[88+shift_grap_Y]I[8-shift_grap_X]J[88+shift_grap_Y]Q4
G206P0X[8-shift_grap_X]Y[88+shift_grap_Y]
G242X[1-shift_grap_X]Y[56+shift_grap_Y] /* End Tool
G02X[1-shift_grap_X]Y[56+shift_grap_Y]I[8-shift_grap_X]J[56+shift_grap_Y]Q4
G206P0X[8-shift_grap_X]Y[56+shift_grap_Y]
else
G242X[1-shift_grap_X]Y[72+shift_grap_Y]
G02X[1-shift_grap_X]Y[72+shift_grap_Y]I[8-shift_grap_X]J[72+shift_grap_Y]Q4
G206P0X[8-shift_grap_X]Y[72+shift_grap_Y]
endif
/* Edge Line
color sky_blue
/* for Work(blue green)
G242X[-32-shift_grap_X]Y[16+shift_grap_Y]
G01X[136-shift_grap_X]Y[16+shift_grap_Y]
G01X[136-shift_grap_X]Y[128+shift_grap_Y]
G01X[-32-shift_grap_X]Y[128+shift_grap_Y]
G01X[-32-shift_grap_X]Y[16+shift_grap_Y]
G242X[-8-shift_grap_X]Y[32+shift_grap_Y]
G01X[112-shift_grap_X]Y[32+shift_grap_Y]
G03X[120-shift_grap_X]Y[40+shift_grap_Y]I[112-shift_grap_X]J[40+shift_grap_Y]
G01X[120-shift_grap_X]Y[104+shift_grap_Y]
G03X[112-shift_grap_X]Y[112+shift_grap_Y]I[112-shift_grap_X]J[104+shift_grap_Y]
G01X[-8-shift_grap_X]Y[112+shift_grap_Y]
G03X[-16-shift_grap_X]Y[104+shift_grap_Y]I[-8-shift_grap_X]J[104+shift_grap_Y]
G01X[-16-shift_grap_X]Y[40+shift_grap_Y]
G03X[-8-shift_grap_X]Y[32+shift_grap_Y]I[-8-shift_grap_X]J[40+shift_grap_Y]
color purple
/* for Tools(purple)
if[#[value 1] eq 3 || #[value 1] eq 4]then
G242X[0-shift_grap_X]Y[88+shift_grap_Y] /* for Start Tool
G02X[0-shift_grap_X]Y[88+shift_grap_Y]I[8-shift_grap_X]J[88+shift_grap_Y]Q4
G242X[0-shift_grap_X]Y[56+shift_grap_Y] /* for End Tool
G02X[0-shift_grap_X]Y[56+shift_grap_Y]I[8-shift_grap_X]J[56+shift_grap_Y]Q4
else
G242X[0-shift_grap_X]Y[72+shift_grap_Y]
G02X[0-shift_grap_X]Y[72+shift_grap_Y]I[8-shift_grap_X]J[72+shift_grap_Y]Q4
endif
/* red for Path
color red
G242X[0-shift_grap_X]Y[40+shift_grap_Y]
G01X[104-shift_grap_X]Y[40+shift_grap_Y]

-364-

B-63423EN/02

SAMPLE PROGRAM

B-63423EN/02

G03X[112-shift_grap_X]Y[48+shift_grap_Y]I[104-shift_grap_X]J[48+shift_grap_Y]
G01X[112-shift_grap_X]Y[96+shift_grap_Y]
G03X[104-shift_grap_X]Y[104+shift_grap_Y]I[104-shift_grap_X]J[96+shift_grap_Y]
G01X[0-shift_grap_X]Y[104+shift_grap_Y]
G03X[-8-shift_grap_X]Y[96+shift_grap_Y]I[0-shift_grap_X]J[96+shift_grap_Y]
G01X[-8-shift_grap_X]Y[48+shift_grap_Y]
G03X[0-shift_grap_X]Y[40+shift_grap_Y]I[0-shift_grap_X]J[48+shift_grap_Y]
#1=48-shift_grap_X
#2=104+shift_grap_Y
#3=49-shift_grap_X
#4=#2
#5=1
call fig_line
if[#[value 1] eq 3 || #[value 1] eq 4]then
#1=8-shift_grap_X
#2=88+shift_grap_Y
#3=8-shift_grap_X
#4=56+shift_grap_Y
#5=8-shift_grap_X
#6=72+shift_grap_Y
#7=0
call fig_ccw
else
G242X[8-shift_grap_X]Y[72+shift_grap_Y]
G01X[-7-shift_grap_X]Y[72+shift_grap_Y]
endif
/* green Line
color green
G242X[-16-shift_grap_X]Y[107+shift_grap_Y]
G01X[-16-shift_grap_X]Y[136+shift_grap_Y]
G242X[120-shift_grap_X]Y[107+shift_grap_Y]
G01X[120-shift_grap_X]Y[136+shift_grap_Y]
#1=-15-shift_grap_X
#2=134+shift_grap_Y
#3=119-shift_grap_X
#4=#2
#5=2
call fig_line
G242X[115-shift_grap_X]Y[112+shift_grap_Y]
G01X[144-shift_grap_X]Y[112+shift_grap_Y]
G242X[115-shift_grap_X]Y[32+shift_grap_Y]
G01X[144-shift_grap_X]Y[32+shift_grap_Y]
#1=141-shift_grap_X
#2=111+shift_grap_Y
#3=#1
#4=33+shift_grap_Y
#5=2
call fig_line
#1=104-shift_grap_X
/* for R
#2=96+shift_grap_Y
#3=116-shift_grap_X
#4=108+shift_grap_Y
#5=0
call fig_line
/* yellow Cross Mark
color yellow
#1=52-shift_grap_X
#2=72+shift_grap_Y
call fig_mark

/* for U

/* for V

/* Center

/* Characters
#1=21
call fig_cursor
G243X[45-shift_char_X]Y[11-shift_char_Y](X)
#1=22

-365-

8. USER PROGRAMS FOR SIDE CUTTING MENU

8. USER PROGRAMS FOR SIDE CUTTING MENU

SAMPLE PROGRAM

call fig_cursor
G243X[47-shift_char_X]Y[11-shift_char_Y](Y)
#1=23
call fig_cursor
G243X[46-shift_char_X]Y[6-shift_char_Y](U)
#1=24
call fig_cursor
G243X[58-shift_char_X]Y[10-shift_char_Y](V)
#1=27
call fig_cursor
G243X[52-shift_char_X]Y[9-shift_char_Y](R)
cursor_off
G243X[44-shift_char_X]Y[11-shift_char_Y]('(')
G243X[46-shift_char_X]Y[11-shift_char_Y](',')
G243X[48-shift_char_X]Y[11-shift_char_Y](')')
m99

O6135 ;############################################### Circle Outer


/* blue for Work
color blue
G242X[95-shift_grap_X]Y[72+shift_grap_Y]
G02X[95-shift_grap_X]Y[72+shift_grap_Y]I[48-shift_grap_X]J[72+shift_grap_Y]Q4
#1=43-shift_char_X
/* for (X,Y)
#2=11-shift_char_Y
#3=5
call fig_character
#1=47-shift_char_X
/* for R
#2=9-shift_char_Y
#3=1
call fig_character
G206P0X[48-shift_grap_X]Y[40+shift_grap_Y]
/* green for Tool
color green
if[#[value 1] eq 3 || #[value 1] eq 4]then
G242X[113-shift_grap_X]Y[88+shift_grap_Y] /* Start Tool
G02X[113-shift_grap_X]Y[88+shift_grap_Y]I[120-shift_grap_X]J[88+shift_grap_Y]Q4
G206P0X[120-shift_grap_X]Y[88+shift_grap_Y]
G242X[113-shift_grap_X]Y[56+shift_grap_Y] /* End Tool
G02X[113-shift_grap_X]Y[56+shift_grap_Y]I[120-shift_grap_X]J[56+shift_grap_Y]Q4
G206P0X[120-shift_grap_X]Y[56+shift_grap_Y]
else
G242X[113-shift_grap_X]Y[72+shift_grap_Y]
G02X[113-shift_grap_X]Y[72+shift_grap_Y]I[120-shift_grap_X]J[72+shift_grap_Y]Q4
G206P0X[120-shift_grap_X]Y[72+shift_grap_Y]
endif
/* Edge Line
color sky_blue
/* for Work(blue green)
G242X[96-shift_grap_X]Y[72+shift_grap_Y]
G02X[96-shift_grap_X]Y[72+shift_grap_Y]I[48-shift_grap_X]J[72+shift_grap_Y]Q4
color purple
/* for Tools(purple)
if[#[value 1] eq 3 || #[value 1] eq 4]then
G242X[112-shift_grap_X]Y[88+shift_grap_Y] /* for Start Tool
G02X[112-shift_grap_X]Y[88+shift_grap_Y]I[120-shift_grap_X]J[88+shift_grap_Y]Q4
G242X[112-shift_grap_X]Y[56+shift_grap_Y] /* for End Tool
G02X[112-shift_grap_X]Y[56+shift_grap_Y]I[120-shift_grap_X]J[56+shift_grap_Y]Q4
else
G242X[112-shift_grap_X]Y[72+shift_grap_Y]
G02X[112-shift_grap_X]Y[72+shift_grap_Y]I[120-shift_grap_X]J[72+shift_grap_Y]Q4
endif
/* red for Path
color red
G242X[104-shift_grap_X]Y[72+shift_grap_Y]

-366-

B-63423EN/02

SAMPLE PROGRAM

B-63423EN/02

G02X[104-shift_grap_X]Y[72+shift_grap_Y]I[48-shift_grap_X]J[72+shift_grap_Y]Q4
#1=48-shift_grap_X
#2=128+shift_grap_Y
#3=47-shift_grap_X
#4=#2
#5=1
call fig_line
if[#[value 1] eq 3 || #[value 1] eq 4]then
#1=120-shift_grap_X
#2=88+shift_grap_Y
#3=120-shift_grap_X
#4=56+shift_grap_Y
#5=120-shift_grap_X
#6=72+shift_grap_Y
#7=0
call fig_ccw
else
G242X[120-shift_grap_X]Y[72+shift_grap_Y]
G01X[105-shift_grap_X]Y[72+shift_grap_Y]
endif
/* green Line
color green
#1=49-shift_grap_X
#2=73+shift_grap_Y
#3=81.9411-shift_grap_X
#4=105.9411+shift_grap_Y
#5=0
call fig_line
/* yellow Cross Mark
color yellow
#1=48-shift_grap_X
#2=72+shift_grap_Y
call fig_mark

/* for R

/* Center

/* Characters
if[cursor eq 21]then
color -white C blue L1
else
color white C blue L0
endif
G243X[44-shift_char_X]Y[11-shift_char_Y](X)
if[cursor eq 22]then
color -white C blue L1
else
color white C blue L0
endif
G243X[46-shift_char_X]Y[11-shift_char_Y](Y)
if[cursor eq 23]then
color -white C blue L1
else
color white C blue L0
endif
G243X[47-shift_char_X]Y[9-shift_char_Y](R)
color white C blue L0
G243X[43-shift_char_X]Y[11-shift_char_Y]('(')
G243X[45-shift_char_X]Y[11-shift_char_Y](',')
G243X[47-shift_char_X]Y[11-shift_char_Y](')')
cursor_off
m99

O6136 ;############################################### Circle Inner


/* blue for Work

-367-

8. USER PROGRAMS FOR SIDE CUTTING MENU

8. USER PROGRAMS FOR SIDE CUTTING MENU

SAMPLE PROGRAM

color blue
G242X[-31-shift_grap_X]Y[-23+shift_grap_Y]
G01X[151-shift_grap_X]Y[-23+shift_grap_Y]
G01X[151-shift_grap_X]Y[167+shift_grap_Y]
G01X[-31-shift_grap_X]Y[167+shift_grap_Y]
G01X[-31-shift_grap_X]Y[-23+shift_grap_Y]
G242X[-17-shift_grap_X]Y[72+shift_grap_Y]
G02X[-17-shift_grap_X]Y[72+shift_grap_Y]I[60-shift_grap_X]J[72+shift_grap_Y]Q4
G206P0X[0-shift_grap_X]Y[0+shift_grap_Y]
/* green for Tool
color green
if[#[value 1] eq 3 || #[value 1] eq 4]then
G242X[1-shift_grap_X]Y[88+shift_grap_Y] /* Start Tool
G02X[1-shift_grap_X]Y[88+shift_grap_Y]I[8-shift_grap_X]J[88+shift_grap_Y]Q4
G206P0X[8-shift_grap_X]Y[88+shift_grap_Y]
G242X[1-shift_grap_X]Y[56+shift_grap_Y] /* End Tool
G02X[1-shift_grap_X]Y[56+shift_grap_Y]I[8-shift_grap_X]J[56+shift_grap_Y]Q4
G206P0X[8-shift_grap_X]Y[56+shift_grap_Y]
else
G242X[1-shift_grap_X]Y[72+shift_grap_Y]
G02X[1-shift_grap_X]Y[72+shift_grap_Y]I[8-shift_grap_X]J[72+shift_grap_Y]Q4
G206P0X[8-shift_grap_X]Y[72+shift_grap_Y]
endif
/* Edge Line
color sky_blue
/* for Work(blue green)
G242X[-16-shift_grap_X]Y[72+shift_grap_Y]
G02X[-16-shift_grap_X]Y[72+shift_grap_Y]I[60-shift_grap_X]J[72+shift_grap_Y]Q4
G242X[-32-shift_grap_X]Y[-24+shift_grap_Y]
G01X[152-shift_grap_X]Y[-24+shift_grap_Y]
G01X[152-shift_grap_X]Y[168+shift_grap_Y]
G01X[-32-shift_grap_X]Y[168+shift_grap_Y]
G01X[-32-shift_grap_X]Y[-24+shift_grap_Y]
color purple
/* for Tools(purple)
if[#[value 1] eq 3 || #[value 1] eq 4]then
G242X[0-shift_grap_X]Y[88+shift_grap_Y] /* for Start Tool
G02X[0-shift_grap_X]Y[88+shift_grap_Y]I[8-shift_grap_X]J[88+shift_grap_Y]Q4
G242X[0-shift_grap_X]Y[56+shift_grap_Y] /* for End Tool
G02X[0-shift_grap_X]Y[56+shift_grap_Y]I[8-shift_grap_X]J[56+shift_grap_Y]Q4
else
G242X[0-shift_grap_X]Y[72+shift_grap_Y]
G02X[0-shift_grap_X]Y[72+shift_grap_Y]I[8-shift_grap_X]J[72+shift_grap_Y]Q4
endif
/* red for Path
color red
G242X[-8-shift_grap_X]Y[72+shift_grap_Y]
G02X[-8-shift_grap_X]Y[72+shift_grap_Y]I[60-shift_grap_X]J[72+shift_grap_Y]Q4
#1=60-shift_grap_X
#2=4+shift_grap_Y
#3=59-shift_grap_X
#4=#2
#5=1
call fig_line
if[#[value 1] eq 3 || #[value 1] eq 4]then
#1=8-shift_grap_X
#2=88+shift_grap_Y
#3=8-shift_grap_X
#4=56+shift_grap_Y
#5=8-shift_grap_X
#6=72+shift_grap_Y
#7=0
call fig_ccw
else
G242X[8-shift_grap_X]Y[72+shift_grap_Y]
G01X[-7-shift_grap_X]Y[72+shift_grap_Y]

-368-

B-63423EN/02

SAMPLE PROGRAM

B-63423EN/02

8. USER PROGRAMS FOR SIDE CUTTING MENU

endif
/* green Line
color green
#1=61-shift_grap_X
#2=73+shift_grap_Y
#3=113.7401-shift_grap_X
#4=125.7401+shift_grap_Y
#5=0
call fig_line
/* yellow Cross Mark
color yellow
#1=60-shift_grap_X
#2=72+shift_grap_Y
call fig_mark

/* for R

/* Center

/* Characters
#1=21
call fig_cursor
G243X[46-shift_char_X]Y[11-shift_char_Y](X)
#1=22
call fig_cursor
G243X[48-shift_char_X]Y[11-shift_char_Y](Y)
#1=23
call fig_cursor
G243X[49-shift_char_X]Y[9-shift_char_Y](R)
cursor_off
G243X[45-shift_char_X]Y[11-shift_char_Y]('(')
G243X[47-shift_char_X]Y[11-shift_char_Y](',')
G243X[49-shift_char_X]Y[11-shift_char_Y](')')
m99

O6137 ;############################################### Track Outer


/* blue for Work
color blue
G242X[8-shift_grap_X]Y[41+shift_grap_Y]
G01X[88-shift_grap_X]Y[41+shift_grap_Y]
G03X[88-shift_grap_X]Y[103+shift_grap_Y]I[88-shift_grap_X]J[72+shift_grap_Y]
G01X[8-shift_grap_X]Y[103+shift_grap_Y]
G03X[8-shift_grap_X]Y[41+shift_grap_Y]I[8-shift_grap_X]J[72+shift_grap_Y]
#1=38-shift_char_X
/* for (X,Y)
#2=11-shift_char_Y
#3=5
call fig_character
#1=46-shift_char_X
/* for Q
#2=11-shift_char_Y
#3=1
call fig_character
#1=51-shift_char_X
/* for R
#2=10-shift_char_Y
#3=1
call fig_character
G206P0X[60-shift_grap_X]Y[50+shift_grap_Y]
/* green for Tool
color green
if[#[value 1] eq 3 || #[value 1] eq 4]then
G242X[137-shift_grap_X]Y[88+shift_grap_Y] /* Start Tool
G02X[137-shift_grap_X]Y[88+shift_grap_Y]I[144-shift_grap_X]J[88+shift_grap_Y]Q4
G206P0X[144-shift_grap_X]Y[88+shift_grap_Y]
G242X[137-shift_grap_X]Y[56+shift_grap_Y] /* End Tool
G02X[137-shift_grap_X]Y[56+shift_grap_Y]I[144-shift_grap_X]J[56+shift_grap_Y]Q4
G206P0X[144-shift_grap_X]Y[56+shift_grap_Y]

-369-

8. USER PROGRAMS FOR SIDE CUTTING MENU

SAMPLE PROGRAM

else
G242X[137-shift_grap_X]Y[72+shift_grap_Y]
G02X[137-shift_grap_X]Y[72+shift_grap_Y]I[144-shift_grap_X]J[72+shift_grap_Y]Q4
G206P0X[144-shift_grap_X]Y[72+shift_grap_Y]
endif
/* Edge Line
color sky_blue
/* for Work(blue green)
G242X[8-shift_grap_X]Y[40+shift_grap_Y]
G01X[88-shift_grap_X]Y[40+shift_grap_Y]
G03X[88-shift_grap_X]Y[104+shift_grap_Y]I[88-shift_grap_X]J[72+shift_grap_Y]
G01X[8-shift_grap_X]Y[104+shift_grap_Y]
G03X[8-shift_grap_X]Y[40+shift_grap_Y]I[8-shift_grap_X]J[72+shift_grap_Y]
color purple
/* for Tools(purple)
if[#[value 1] eq 3 || #[value 1] eq 4]then
G242X[136-shift_grap_X]Y[88+shift_grap_Y] /* for Start Tool
G02X[136-shift_grap_X]Y[88+shift_grap_Y]I[144-shift_grap_X]J[88+shift_grap_Y]Q4
G242X[136-shift_grap_X]Y[56+shift_grap_Y] /* for End Tool
G02X[136-shift_grap_X]Y[56+shift_grap_Y]I[144-shift_grap_X]J[56+shift_grap_Y]Q4
else
G242X[136-shift_grap_X]Y[72+shift_grap_Y]
G02X[136-shift_grap_X]Y[72+shift_grap_Y]I[144-shift_grap_X]J[72+shift_grap_Y]Q4
endif
/* red for Path
color red
G242X[8-shift_grap_X]Y[32+shift_grap_Y]
G01X[88-shift_grap_X]Y[32+shift_grap_Y]
G03X[88-shift_grap_X]Y[112+shift_grap_Y]I[88-shift_grap_X]J[72+shift_grap_Y]
G01X[8-shift_grap_X]Y[112+shift_grap_Y]
G03X[8-shift_grap_X]Y[32+shift_grap_Y]I[8-shift_grap_X]J[72+shift_grap_Y]
#1=40-shift_grap_X
#2=32+shift_grap_Y
#3=41-shift_grap_X
#4=#2
#5=1
call fig_line
#1=46-shift_grap_X
#2=112+shift_grap_Y
#3=45-shift_grap_X
#4=#2
#5=1
call fig_line
if[#[value 1] eq 3 || #[value 1] eq 4]then
#1=144-shift_grap_X
#2=88+shift_grap_Y
#3=144-shift_grap_X
#4=56+shift_grap_Y
#5=144-shift_grap_X
#6=72+shift_grap_Y
#7=0
call fig_ccw
else
G242X[144-shift_grap_X]Y[72+shift_grap_Y]
G01X[129-shift_grap_X]Y[72+shift_grap_Y]
endif
/* green Line
color green
#1=9-shift_grap_X
#2=72+shift_grap_Y
#3=87-shift_grap_X
#4=#2
#5=2
call fig_line
#1=88-shift_grap_X
#2=72+shift_grap_Y

/* for U

/* for R

-370-

B-63423EN/02

SAMPLE PROGRAM

B-63423EN/02

#3=110.6274-shift_grap_X
#4=94.9274+shift_grap_Y
#5=0
call fig_line
/* yellow Cross Mark
color yellow
#1=8-shift_grap_X
#2=72+shift_grap_Y
call fig_mark
#1=88-shift_grap_X
#2=72+shift_grap_Y
call fig_mark

/* Left

/* Right

/* Characters
if[cursor eq 21]then
color -white C blue L1
else
color white C blue L0
endif
G243X[39-shift_char_X]Y[11-shift_char_Y](X)
if[cursor eq 22]then
color -white C blue L1
else
color white C blue L0
endif
G243X[41-shift_char_X]Y[11-shift_char_Y](Y)
if[cursor eq 23]then
color -white C blue L1
else
color white C blue L0
endif
G243X[46-shift_char_X]Y[11-shift_char_Y](U)
if[cursor eq 24]then
color -white C blue L1
else
color white C blue L0
endif
G243X[51-shift_char_X]Y[10-shift_char_Y](R)
color white C blue L0
G243X[38-shift_char_X]Y[11-shift_char_Y]('(')
G243X[40-shift_char_X]Y[11-shift_char_Y](',')
G243X[42-shift_char_X]Y[11-shift_char_Y](')')
cursor_off
m99

O6138 ;############################################### Track Inner


/* blue for Work
color blue
G242X[-31-shift_grap_X]Y[9+shift_grap_Y]
G01X[151-shift_grap_X]Y[9+shift_grap_Y]
G01X[151-shift_grap_X]Y[135+shift_grap_Y]
G01X[-31-shift_grap_X]Y[135+shift_grap_Y]
G01X[-31-shift_grap_X]Y[9+shift_grap_Y]
G242X[24-shift_grap_X]Y[23+shift_grap_Y]
G01X[96-shift_grap_X]Y[23+shift_grap_Y]
G03X[96-shift_grap_X]Y[121+shift_grap_Y]I[96-shift_grap_X]J[72+shift_grap_Y]
G01X[24-shift_grap_X]Y[121+shift_grap_Y]
G03X[24-shift_grap_X]Y[23+shift_grap_Y]I[24-shift_grap_X]J[72+shift_grap_Y]
G206P0X[0-shift_grap_X]Y[24+shift_grap_Y]
/* green for Tool
color green
if[#[value 1] eq 3 || #[value 1] eq 4]then

-371-

8. USER PROGRAMS FOR SIDE CUTTING MENU

8. USER PROGRAMS FOR SIDE CUTTING MENU

SAMPLE PROGRAM

G242X[7-shift_grap_X]Y[88+shift_grap_Y] /* Start Tool


G02X[7-shift_grap_X]Y[88+shift_grap_Y]I[0-shift_grap_X]J[88+shift_grap_Y]Q4
G206P0X[0-shift_grap_X]Y[88+shift_grap_Y]
G242X[7-shift_grap_X]Y[56+shift_grap_Y] /* End Tool
G02X[7-shift_grap_X]Y[56+shift_grap_Y]I[0-shift_grap_X]J[56+shift_grap_Y]Q4
G206P0X[0-shift_grap_X]Y[56+shift_grap_Y]
else
G242X[7-shift_grap_X]Y[72+shift_grap_Y]
G02X[7-shift_grap_X]Y[72+shift_grap_Y]I[0-shift_grap_X]J[72+shift_grap_Y]Q4
G206P0X[0-shift_grap_X]Y[72+shift_grap_Y]
endif
/* Edge Line
color sky_blue
/* for Work(blue green)
G242X[-32-shift_grap_X]Y[8+shift_grap_Y]
G01X[152-shift_grap_X]Y[8+shift_grap_Y]
G01X[152-shift_grap_X]Y[136+shift_grap_Y]
G01X[-32-shift_grap_X]Y[136+shift_grap_Y]
G01X[-32-shift_grap_X]Y[8+shift_grap_Y]
G242X[24-shift_grap_X]Y[24+shift_grap_Y]
G01X[96-shift_grap_X]Y[24+shift_grap_Y]
G03X[96-shift_grap_X]Y[120+shift_grap_Y]I[96-shift_grap_X]J[72+shift_grap_Y]
G01X[24-shift_grap_X]Y[120+shift_grap_Y]
G03X[24-shift_grap_X]Y[24+shift_grap_Y]I[24-shift_grap_X]J[72+shift_grap_Y]
color purple
/* for Tools(purple)
if[#[value 1] eq 3 || #[value 1] eq 4]then
G242X[8-shift_grap_X]Y[88+shift_grap_Y] /* for Start Tool
G02X[8-shift_grap_X]Y[88+shift_grap_Y]I[0-shift_grap_X]J[88+shift_grap_Y]Q4
G242X[8-shift_grap_X]Y[56+shift_grap_Y] /* for End Tool
G02X[8-shift_grap_X]Y[56+shift_grap_Y]I[0-shift_grap_X]J[56+shift_grap_Y]Q4
else
G242X[8-shift_grap_X]Y[72+shift_grap_Y]
G02X[8-shift_grap_X]Y[72+shift_grap_Y]I[0-shift_grap_X]J[72+shift_grap_Y]Q4
endif
/* red for Path
color red
G242X[24-shift_grap_X]Y[32+shift_grap_Y]
G01X[96-shift_grap_X]Y[32+shift_grap_Y]
G03X[96-shift_grap_X]Y[112+shift_grap_Y]I[96-shift_grap_X]J[72+shift_grap_Y]
G01X[24-shift_grap_X]Y[112+shift_grap_Y]
G03X[24-shift_grap_X]Y[32+shift_grap_Y]I[24-shift_grap_X]J[72+shift_grap_Y]
#1=64-shift_grap_X
#2=32+shift_grap_Y
#3=63-shift_grap_X
#4=#2
#5=1
call fig_line
#1=58-shift_grap_X
#2=112+shift_grap_Y
#3=59-shift_grap_X
#4=#2
#5=1
call fig_line
if[#[value 1] eq 3 || #[value 1] eq 4]then
#1=0-shift_grap_X
#2=88+shift_grap_Y
#3=0-shift_grap_X
#4=56+shift_grap_Y
#5=0-shift_grap_X
#6=72+shift_grap_Y
#7=0
call fig_ccw
else
G242X[0-shift_grap_X]Y[72+shift_grap_Y]
G01X[-15-shift_grap_X]Y[72+shift_grap_Y]
endif

-372-

B-63423EN/02

SAMPLE PROGRAM

B-63423EN/02

/* green Line
color green
#1=96-shift_grap_X
#2=72+shift_grap_Y
#3=129.9411-shift_grap_X
#4=105.9411+shift_grap_Y
#5=0
call fig_line
#1=25-shift_grap_X
#2=72+shift_grap_Y
#3=95-shift_grap_X
#4=#2
#5=2
call fig_line
/* yellow Cross Mark
color yellow
#1=24-shift_grap_X
#2=72+shift_grap_Y
call fig_mark
#1=96-shift_grap_X
#2=72+shift_grap_Y
call fig_mark

/* for R

/* for U

/* Left

/* Right

/* Characters
#1=21
call fig_cursor
G243X[42-shift_char_X]Y[11-shift_char_Y](X)
#1=22
call fig_cursor
G243X[44-shift_char_X]Y[11-shift_char_Y](Y)
#1=23
call fig_cursor
G243X[47-shift_char_X]Y[10-shift_char_Y](U)
#1=24
call fig_cursor
G243X[53-shift_char_X]Y[9-shift_char_Y](R)
cursor_off
G243X[41-shift_char_X]Y[11-shift_char_Y]('(')
G243X[43-shift_char_X]Y[11-shift_char_Y](',')
G243X[45-shift_char_X]Y[11-shift_char_Y](')')
m99

O6139 ;############################################### One Side


/* blue for Work
color blue
G242X[1-shift_grap_X]Y[25+shift_grap_Y]
G01X[111-shift_grap_X]Y[25+shift_grap_Y]
G01X[111-shift_grap_X]Y[55+shift_grap_Y]
G01X[1-shift_grap_X]Y[55+shift_grap_Y]
G01X[1-shift_grap_X]Y[25+shift_grap_Y]
#1=45-shift_char_X
/* for (X,Y)(Lower)
#2=13-shift_char_Y
#3=5
call fig_character
G206P0X[20-shift_grap_X]Y[40+shift_grap_Y]
G242X[1-shift_grap_X]Y[73+shift_grap_Y]
G01X[111-shift_grap_X]Y[73+shift_grap_Y]
G01X[111-shift_grap_X]Y[103+shift_grap_Y]
G01X[1-shift_grap_X]Y[103+shift_grap_Y]
G01X[1-shift_grap_X]Y[73+shift_grap_Y]
#1=45-shift_char_X
/* for (X,Y)(Upper)
#2=9-shift_char_Y

-373-

8. USER PROGRAMS FOR SIDE CUTTING MENU

8. USER PROGRAMS FOR SIDE CUTTING MENU

SAMPLE PROGRAM

#3=5
call fig_character
G206P0X[20-shift_grap_X]Y[88+shift_grap_Y]
/* green for Tool
color green
G242X[121-shift_grap_X]Y[16+shift_grap_Y]
/* (1)
G02X[121-shift_grap_X]Y[16+shift_grap_Y]I[128-shift_grap_X]J[16+shift_grap_Y]
G206P0X[128-shift_grap_X]Y[16+shift_grap_Y]
G242X[121-shift_grap_X]Y[112+shift_grap_Y]
/* (2)
G02X[121-shift_grap_X]Y[112+shift_grap_Y]I[128-shift_grap_X]J[112+shift_grap_Y]
G206P0X[128-shift_grap_X]Y[112+shift_grap_Y]
G242X[-9-shift_grap_X]Y[16+shift_grap_Y]
/* (3)
G02X[-9-shift_grap_X]Y[16+shift_grap_Y]I[-16-shift_grap_X]J[16+shift_grap_Y]
G206P0X[-16-shift_grap_X]Y[16+shift_grap_Y]
G242X[-9-shift_grap_X]Y[112+shift_grap_Y]
/* (4)
G02X[-9-shift_grap_X]Y[112+shift_grap_Y]I[-16-shift_grap_X]J[112+shift_grap_Y]
G206P0X[-16-shift_grap_X]Y[112+shift_grap_Y]
/* Edge Line
color sky_blue
/* for Work(blue green)
G242X[0-shift_grap_X]Y[24+shift_grap_Y]
G01X[112-shift_grap_X]Y[24+shift_grap_Y]
G01X[112-shift_grap_X]Y[56+shift_grap_Y]
G01X[0-shift_grap_X]Y[56+shift_grap_Y]
G01X[0-shift_grap_X]Y[24+shift_grap_Y]
G242X[0-shift_grap_X]Y[72+shift_grap_Y]
G01X[112-shift_grap_X]Y[72+shift_grap_Y]
G01X[112-shift_grap_X]Y[104+shift_grap_Y]
G01X[0-shift_grap_X]Y[104+shift_grap_Y]
G01X[0-shift_grap_X]Y[72+shift_grap_Y]
color purple
/* for Tools(purple)
G242X[120-shift_grap_X]Y[16+shift_grap_Y]
/* (1)
G02X[120-shift_grap_X]Y[16+shift_grap_Y]I[128-shift_grap_X]J[16+shift_grap_Y]
G242X[120-shift_grap_X]Y[112+shift_grap_Y]
/* (2)
G02X[120-shift_grap_X]Y[112+shift_grap_Y]I[128-shift_grap_X]J[112+shift_grap_Y]
G242X[-8-shift_grap_X]Y[16+shift_grap_Y]
/* (3)
G02X[-8-shift_grap_X]Y[16+shift_grap_Y]I[-16-shift_grap_X]J[16+shift_grap_Y]
G242X[-8-shift_grap_X]Y[112+shift_grap_Y]
/* (4)
G02X[-8-shift_grap_X]Y[112+shift_grap_Y]I[-16-shift_grap_X]J[112+shift_grap_Y]
/* red for Path
color red
#1=104-shift_grap_X
#2=16+shift_grap_Y
#3=118-shift_grap_X
#4=#2
#5=1
call fig_line
#1=104-shift_grap_X
#2=112+shift_grap_Y
#3=118-shift_grap_X
#4=#2
#5=1
call fig_line
#1=8-shift_grap_X
#2=16+shift_grap_Y
#3=-6-shift_grap_X
#4=#2
#5=1
call fig_line
#1=8-shift_grap_X
#2=112+shift_grap_Y
#3=-6-shift_grap_X
#4=#2
#5=1
call fig_line

-374-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

/* green Line
color green
G242X[0-shift_grap_X]Y[105+shift_grap_Y]
/* for U(Upper)
G01X[0-shift_grap_X]Y[120+shift_grap_Y]
G242X[112-shift_grap_X]Y[105+shift_grap_Y]
G01X[112-shift_grap_X]Y[120+shift_grap_Y]
#1=1-shift_grap_X
#2=118+shift_grap_Y
#3=111-shift_grap_X
#4=#2
#5=2
call fig_line
G242X[0-shift_grap_X]Y[23+shift_grap_Y]
/* for U(Lower)
G01X[0-shift_grap_X]Y[8+shift_grap_Y]
G242X[112-shift_grap_X]Y[23+shift_grap_Y]
G01X[112-shift_grap_X]Y[8+shift_grap_Y]
#1=1-shift_grap_X
#2=10+shift_grap_Y
#3=111-shift_grap_X
#4=#2
#5=2
call fig_line
G242X[120-shift_grap_X]Y[111+shift_grap_Y]
/* for M(Upper)
G01X[120-shift_grap_X]Y[88+shift_grap_Y]
#1=121-shift_grap_X
#2=96+shift_grap_Y
#3=131-shift_grap_X
#4=#2
#5=1
call fig_line
#1=111-shift_grap_X
#2=96+shift_grap_Y
#3=101-shift_grap_X
#4=#2
#5=1
call fig_line
G242X[120-shift_grap_X]Y[17+shift_grap_Y]
/* for M(Lower)
G01X[120-shift_grap_X]Y[40+shift_grap_Y]
#1=121-shift_grap_X
#2=32+shift_grap_Y
#3=131-shift_grap_X
#4=#2
#5=1
call fig_line
#1=111-shift_grap_X
#2=32+shift_grap_Y
#3=101-shift_grap_X
#4=#2
#5=1
call fig_line
G242X[-8-shift_grap_X]Y[111+shift_grap_Y]
/* for N(Upper)
G01X[-8-shift_grap_X]Y[88+shift_grap_Y]
#1=-9-shift_grap_X
#2=96+shift_grap_Y
#3=-19-shift_grap_X
#4=#2
#5=1
call fig_line
#1=1-shift_grap_X
#2=96+shift_grap_Y
#3=11-shift_grap_X
#4=#2
#5=1
call fig_line
G242X[-8-shift_grap_X]Y[17+shift_grap_Y]
/* for N(Lower)
G01X[-8-shift_grap_X]Y[40+shift_grap_Y]

-375-

8. USER PROGRAMS FOR SIDE CUTTING MENU

8. USER PROGRAMS FOR SIDE CUTTING MENU

SAMPLE PROGRAM

#1=-9-shift_grap_X
#2=32+shift_grap_Y
#3=-19-shift_grap_X
#4=#2
#5=1
call fig_line
#1=1-shift_grap_X
#2=32+shift_grap_Y
#3=11-shift_grap_X
#4=#2
#5=1
call fig_line
/* yellow Cross Mark
color yellow
#1=56-shift_grap_X
#2=104+shift_grap_Y
call fig_mark
#1=56-shift_grap_X
#2=24+shift_grap_Y
call fig_mark

/* (X,Y)(Upper)

/* (X,Y)(Lower)

/* Characters
if[cursor eq 20]then
color -white C blue L1
else
color white C blue L0
endif
G243X[46-shift_char_X]Y[9-shift_char_Y](X)
G243X[46-shift_char_X]Y[13-shift_char_Y](X)
if[cursor eq 21]then
color -white C blue L1
else
color white C blue L0
endif
G243X[48-shift_char_X]Y[9-shift_char_Y](Y)
G243X[48-shift_char_X]Y[13-shift_char_Y](Y)

#1=22
call fig_cursor
G243X[46-shift_char_X]Y[7-shift_char_Y](U)
G243X[46-shift_char_X]Y[15-shift_char_Y](U)
#1=25
call fig_cursor
G243X[54-shift_char_X]Y[10-shift_char_Y](M)
G243X[54-shift_char_X]Y[12-shift_char_Y](M)
#1=26
call fig_cursor
G243X[39-shift_char_X]Y[10-shift_char_Y](N)
G243X[39-shift_char_X]Y[12-shift_char_Y](N)

color white C blue L0


G243X[45-shift_char_X]Y[9-shift_char_Y]('(')
G243X[47-shift_char_X]Y[9-shift_char_Y](',')
G243X[49-shift_char_X]Y[9-shift_char_Y](')')
G243X[45-shift_char_X]Y[13-shift_char_Y]('(')
G243X[47-shift_char_X]Y[13-shift_char_Y](',')
G243X[49-shift_char_X]Y[13-shift_char_Y](')')
cursor_off
G243X[54-shift_char_X]Y[15-shift_char_Y]('(1)')
G243X[54-shift_char_X]Y[7-shift_char_Y]('(2)')
G243X[37-shift_char_X]Y[15-shift_char_Y]('(3)')
G243X[37-shift_char_X]Y[7-shift_char_Y]('(4)')
m99

-376-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

8. USER PROGRAMS FOR SIDE CUTTING MENU

O6140 ;############################################### Contour : Approach/Escape Type


if[#[address 0] eq 224]then #19=21
else #19=26
/* blue for Work
color blue
#20=144+shift_grap_Y
G242X[-24-shift_grap_X]Y[#20-23]
G01X[-24-shift_grap_X]Y[#20+23]
G02X[-24-shift_grap_X]Y[#20-23]I[-34-shift_grap_X]J#20
G206P0X[-16-shift_grap_X]Y#20
#20=80+shift_grap_Y
G242X[-24-shift_grap_X]Y[#20-23]
G01X[-24-shift_grap_X]Y[#20+23]
G02X[-24-shift_grap_X]Y[#20-23]I[-34-shift_grap_X]J#20
G206P0X[-16-shift_grap_X]Y#20
#20=16+shift_grap_Y
G242X[-24-shift_grap_X]Y[#20-23]
G01X[-24-shift_grap_X]Y[#20+23]
G02X[-24-shift_grap_X]Y[#20-23]I[-34-shift_grap_X]J#20
G206P0X[-16-shift_grap_X]Y#20
/* Edge Line
color sky_blue
/* for Work(blue green)
#20=144+shift_grap_Y
G242X[-24-shift_grap_X]Y[#20+24]
G02X[-24-shift_grap_X]Y[#20-24]I[-34-shift_grap_X]J#20
#20=80+shift_grap_Y
G242X[-24-shift_grap_X]Y[#20+24]
G02X[-24-shift_grap_X]Y[#20-24]I[-34-shift_grap_X]J#20
#20=16+shift_grap_Y
G242X[-24-shift_grap_X]Y[#20+24]
G02X[-24-shift_grap_X]Y[#20-24]I[-34-shift_grap_X]J#20
/* red for Path
color red
if[cursor eq #19]then
#1=9-shift_grap_X
#2=160+shift_grap_Y
#3=-7-shift_grap_X
#4=144+shift_grap_Y
else
#1=-7-shift_grap_X
#2=144+shift_grap_Y
#3=9-shift_grap_X
#4=128+shift_grap_Y
endif
#5=9-shift_grap_X
#6=144+shift_grap_Y
#7=0
call fig_ccw
if[cursor eq #19]then
#2=104+shift_grap_Y
#4=80+shift_grap_Y
else
#2=80+shift_grap_Y
#4=56+shift_grap_Y
endif
#1=-7-shift_grap_X
#3=#1
#5=0
call fig_line
#1=17-shift_grap_X
#2=16+shift_grap_Y
#3=-7-shift_grap_X

-377-

8. USER PROGRAMS FOR SIDE CUTTING MENU

SAMPLE PROGRAM

#4=#2
if[cursor eq #19]then
#5=0
else
#5=1
endif
call fig_line
/* Characters
#8509 = string_o_number
color white
call fig_language
G243X[43-shift_char_X]Y[6 -shift_char_Y]P[#1+90]
G243X[43-shift_char_X]Y[10-shift_char_Y]P[#1+91]
G243X[43-shift_char_X]Y[14-shift_char_Y]P[#1+92]
m99

O6141 ;############################################### Contour : Approach/Escape Circle


if[#[address 0] eq 224]then #19=22
else #19=27
/* blue for Work
color blue
#20=72+shift_grap_Y
G242X[-8-shift_grap_X]Y[#20-95]
G01X[-8-shift_grap_X]Y[#20+95]
G02X[-8-shift_grap_X]Y[#20-95]I[-136-shift_grap_X]J#20
G206P0X[0-shift_grap_X]Y#20
/* Edge Line
color sky_blue
/* for Work(blue green)
#20=72+shift_grap_Y
G242X[-8-shift_grap_X]Y[#20+96]
G02X[-8-shift_grap_X]Y[#20-96]I[-136-shift_grap_X]J#20
/* red for Path
color red
if[cursor lt [#19+2]]then
#1=105-shift_grap_X
#2=152+shift_grap_Y
#3=25-shift_grap_X
#4=72+shift_grap_Y
else
#1=25-shift_grap_X
#2=72+shift_grap_Y
#3=105-shift_grap_X
#4=-8+shift_grap_Y
endif
#5=105-shift_grap_X
#6=72+shift_grap_Y
#7=0
call fig_ccw
/* green Line
color green
if[cursor lt [#19+2]]then
G242X[105-shift_grap_X]Y[72+shift_grap_Y] /* Radius
G01X[25-shift_grap_X]Y[72+shift_grap_Y]
#1=105-shift_grap_X
#2=72+shift_grap_Y
#3=#1
#4=152+shift_grap_Y
#5=0
call fig_line
G242X[105-shift_grap_X]Y[88+shift_grap_Y] /* for Angle

-378-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

8. USER PROGRAMS FOR SIDE CUTTING MENU

G03X[89-shift_grap_X]Y[72+shift_grap_Y]I[105-shift_grap_X]J[72+shift_grap_Y]
else
G242X[105-shift_grap_X]Y[72+shift_grap_Y] /* Radius
G01X[105-shift_grap_X]Y[-8+shift_grap_Y]
#1=105-shift_grap_X
#2=72+shift_grap_Y
#3=25-shift_grap_X
#4=#2
#5=0
call fig_line
G242X[89-shift_grap_X]Y[72+shift_grap_Y] /* for Angle
G03X[105-shift_grap_X]Y[56+shift_grap_Y]I[105-shift_grap_X]J[72+shift_grap_Y]
endif
/* yellow Cross Mark
color yellow
#1=105-shift_grap_X
#2=72+shift_grap_Y
call fig_mark
/* Characters
if[cursor lt [#19+2]]then
#1=#19
call fig_cursor
G243X[53-shift_char_X]Y[8-shift_char_Y](M)
#1=#19+1
call fig_cursor
G243X[50-shift_char_X]Y[9-shift_char_Y](N)
else
#1=#19+4
call fig_cursor
G243X[47-shift_char_X]Y[10-shift_char_Y](X)
#1=#19+5
call fig_cursor
G243X[50-shift_char_X]Y[12-shift_char_Y](Y)
endif
m99

O6142 ;############################################### Contour : Approach/Escape Tangent


if[#[address 0] eq 224]then #19=23
else #19=28
/* blue for Work
color blue
#20=72+shift_grap_Y
G242X[40-shift_grap_X]Y[#20-95]
G01X[40-shift_grap_X]Y[#20+95]
G02X[40-shift_grap_X]Y[#20-95]I[-88-shift_grap_X]J#20
G206P0X[48-shift_grap_X]Y#20
/* Edge Line
color sky_blue
/* for Work(blue green)
#20=72+shift_grap_Y
G242X[40-shift_grap_X]Y[#20+96]
G02X[40-shift_grap_X]Y[#20-96]I[-88-shift_grap_X]J#20
/* red for Path
color red
if[cursor eq #19]then
#1=73-shift_grap_X
#2=152+shift_grap_Y
#3=#1
#4=73+shift_grap_Y
else
#1=73-shift_grap_X

-379-

8. USER PROGRAMS FOR SIDE CUTTING MENU

SAMPLE PROGRAM

#2=71+shift_grap_Y
#3=#1
#4=-8+shift_grap_Y
endif
#5=0
call fig_line
/* green Line
color green
G242X[73-shift_grap_X]Y[72+shift_grap_Y]
G01X[88-shift_grap_X]Y[72+shift_grap_Y]
if[cursor eq #19]then
G242X[73-shift_grap_X]Y[152+shift_grap_Y]
G01X[88-shift_grap_X]Y[152+shift_grap_Y]
#1=83-shift_grap_X
#2=151+shift_grap_Y
#3=#1
#4=73+shift_grap_Y
else
G242X[73-shift_grap_X]Y[-8+shift_grap_Y]
G01X[88-shift_grap_X]Y[-8+shift_grap_Y]
#1=83-shift_grap_X
#2=71+shift_grap_Y
#3=#1
#4=-7+shift_grap_Y
endif
#5=2
call fig_line
/* Characters
cursor_on
if[cursor eq #19]then
G243X[51-shift_char_X]Y[8-shift_char_Y](M)
else
G243X[51-shift_char_X]Y[13-shift_char_Y](X)
endif
cursor_off
m99

O6143 ;############################################### Contour : Approach/Escape Vertical


if[#[address 0] eq 224]then #19=23
else #19=28
/* blue for Work
color blue
#20=72+shift_grap_Y
G242X[0-shift_grap_X]Y[#20-95]
G01X[0-shift_grap_X]Y[#20+95]
G02X[0-shift_grap_X]Y[#20-95]I[-128-shift_grap_X]J#20
G206P0X[8-shift_grap_X]Y#20
/* Edge Line
color sky_blue
/* for Work(blue green)
#20=72+shift_grap_Y
G242X[0-shift_grap_X]Y[#20+96]
G02X[0-shift_grap_X]Y[#20-96]I[-128-shift_grap_X]J#20
/* red for Path
color red
#1=120-shift_grap_X
#2=72+shift_grap_Y
#3=33-shift_grap_X
#4=#2
if[cursor eq #19]then
#5=0

-380-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

8. USER PROGRAMS FOR SIDE CUTTING MENU

else
#5=1
endif
call fig_line
/* green Line
color green
G242X[33-shift_grap_X]Y[73+shift_grap_Y]
G01X[33-shift_grap_X]Y[88+shift_grap_Y]
G242X[120-shift_grap_X]Y[73+shift_grap_Y]
G01X[120-shift_grap_X]Y[88+shift_grap_Y]
#1=34-shift_grap_X
#2=83+shift_grap_Y
#3=119-shift_grap_X
#4=#2
#5=2
call fig_line
/* Characters
cursor_on
if[cursor eq #19]then
G243X49Y9(M)
else
G243X49Y9(X)
endif
cursor_off
m99
O6144 ;############################################### Contour : Compensation Direction
/* blue for Work
color blue
G242X[ 1-shift_grap_X]Y[64+shift_grap_Y]
G01 X[ 1-shift_grap_X]Y[41+shift_grap_Y]
G01 X[95-shift_grap_X]Y[41+shift_grap_Y]
G01 X[95-shift_grap_X]Y[64+shift_grap_Y]
G01 X[ 1-shift_grap_X]Y[64+shift_grap_Y]
G206P0X[8-shift_grap_X]Y[48+shift_grap_Y]
G242X[ 1-shift_grap_X]Y[ 96+shift_grap_Y]
G01 X[ 1-shift_grap_X]Y[119+shift_grap_Y]
G01 X[95-shift_grap_X]Y[119+shift_grap_Y]
G01 X[95-shift_grap_X]Y[ 96+shift_grap_Y]
G01 X[ 1-shift_grap_X]Y[ 96+shift_grap_Y]
G206P0X[8-shift_grap_X]Y[104+shift_grap_Y]
/* Edge Line
color sky_blue
/* for Work(blue green)
G242X[ 0-shift_grap_X]Y[64+shift_grap_Y]
G01 X[ 0-shift_grap_X]Y[40+shift_grap_Y]
G01 X[96-shift_grap_X]Y[40+shift_grap_Y]
G01 X[96-shift_grap_X]Y[64+shift_grap_Y]
G242X[ 0-shift_grap_X]Y[ 96+shift_grap_Y]
G01 X[ 0-shift_grap_X]Y[120+shift_grap_Y]
G01 X[96-shift_grap_X]Y[120+shift_grap_Y]
G01 X[96-shift_grap_X]Y[ 96+shift_grap_Y]
/* Tools
color green
G242X[32-shift_grap_X]Y[39+shift_grap_Y]
G02 X[32-shift_grap_X]Y[39+shift_grap_Y]I[32-shift_grap_X]J[24+shift_grap_Y]Q4
G206P0X[40-shift_grap_X]Y[24+shift_grap_Y]
color purple
G242X[32-shift_grap_X]Y[39+shift_grap_Y]
G02 X[32-shift_grap_X]Y[39+shift_grap_Y]I[32-shift_grap_X]J[24+shift_grap_Y]Q4
color green

-381-

8. USER PROGRAMS FOR SIDE CUTTING MENU

SAMPLE PROGRAM

G242X[32-shift_grap_X]Y[151+shift_grap_Y]
G02 X[32-shift_grap_X]Y[151+shift_grap_Y]I[32-shift_grap_X]J[136+shift_grap_Y]Q4
G206P0X[40-shift_grap_X]Y[137+shift_grap_Y]
color purple
G242X[32-shift_grap_X]Y[151+shift_grap_Y]
G02 X[32-shift_grap_X]Y[151+shift_grap_Y]I[32-shift_grap_X]J[136+shift_grap_Y]Q4
/* red for Path
color red
#1=32-shift_grap_X
#2=24+shift_grap_Y
#3=80-shift_grap_X
#4=#2
#5=0
call fig_line
#1=32-shift_grap_X
#2=136+shift_grap_Y
#3=80-shift_grap_X
#4=#2
#5=0
call fig_line
/* Characters
color white
call fig_language
G243X[53-shift_char_X]Y[ 8-shift_char_Y]P[#1+121]
G243X[53-shift_char_X]Y[12-shift_char_Y]P[#1+122]
m99

-382-

B-63423EN/02

B-63423EN/02

8.4

SAMPLE PROGRAM

INPUTTED DATA CHECKING

/****************************************************************************
/*
/* CHECK6.SRC :: Side
/*
/***** 8871: Square
/***** 8872: Circle
/***** 8873: Track
/***** 8874: One Side
/***** 8875: Contour
/****************************************************************************
$INCLUDE SYMBOL.DEF

/* ############################################### Square
O8871 input_error_flag = error_non
/* Mach. Process */
error_item = 1
if[#[value 1] eq #0]goto 97
if[#[value 1] lt 1 || #[value 1] gt 4]goto 98
/* Clearance */
error_item = 2
if[#[value 2] eq #0]goto 97
if[#[value 2] le 0]goto 98
/* End Point Z */
error_item = 3
if[#[value 3] eq #0]goto 97
/* Side Removal */
if[#[attribute 4] ne att_not_use]then
error_item = 4
if[#[value 4] lt 0]goto 98
endif
/* Side Pitch */
if[#[attribute 5] ne att_not_use]then
error_item = 5
if[#[value 5] lt 0]goto 98
endif
/* Side Finish */
if[#[attribute 6] ne att_not_use]then
error_item = 6
if[#[value 6] lt 0]goto 98
endif
/* Bottom Removal */
error_item = 7
if[#[value 7] eq #0]goto 97
if[#[value 7] le 0]goto 98
/* Bottom Pitch */
if[#[attribute 8] ne att_not_use]then
error_item = 8
if[#[value 8] lt 0]goto 98
endif
/* Bottom Finish */
if[#[attribute 9] ne att_not_use]then
error_item = 9
if[#[value 9] lt 0]goto 98
endif
/* Taper Angle */
error_item = 11
if[#[value 11] lt 0]goto 98
/* Chamfer Removal */
if[#[attribute 12] ne att_not_use]then
error_item = 12
if[#[value 12] eq #0]goto 97

-383-

8. USER PROGRAMS FOR SIDE CUTTING MENU

8. USER PROGRAMS FOR SIDE CUTTING MENU

SAMPLE PROGRAM

if[#[value 12] le 0]goto 98


endif
/* Tool Small Dia.*/
if[#[attribute 13] ne att_not_use]then
error_item = 13
if[#[value 13] lt 0]goto 98
endif
/* Chamfer Angle */
if[#[attribute 14] ne att_not_use]then
error_item = 14
if[#[value 14] eq 0]goto 98
if[#[value 14] lt 0]goto 98
endif
/* Tool Out Depth */
if[#[attribute 15] ne att_not_use]then
error_item = 15
if[#[value 15] lt 0]goto 98
endif
/* Tool Corner-R */
if[#[attribute 16] ne att_not_use]then
error_item = 16
if[#[value 16] lt 0]goto 98
endif
/* Feed Rate */
error_item = 17
if[#[value 17] eq #0]goto 97
if[#[value 17] le 0]goto 98
/* Z-Cut Feed Rate */
error_item = 18
if[#[value 18] eq #0]goto 97
if[#[value 18] le 0]goto 98
/* Mach. Shape */
error_item = 20
if[#[value 20] eq #0]goto 97
if[#[value 20] lt 1 || #[value 20] gt 2]goto 98
/* Center Point X */
error_item =21
if[#[value 21] eq #0]goto 97
/* Center Point Y */
error_item =22
if[#[value 22] eq #0]goto 97
/* U-Length */
error_item = 23
if[#[value 23] eq #0]goto 97
if[#[value 23] le 0]goto 98
/* V-Length */
error_item = 24
if[#[value 24] eq #0]goto 97
if[#[value 24] le 0]goto 98
/* Cut Direction */
error_item = 25
if[#[value 25] eq #0]goto 97
if[#[value 25] lt 1 || #[value 25] gt 2]goto 98
/* Corner Type */
if[#[attribute 26] ne att_not_use]then
error_item = 26
if[#[value 26] eq #0]goto 97
if[#[value 26] lt 1 || #[value 26] gt 2]goto 98
endif
/* Corner R/C */
error_item = 27
if[#[value 27] lt 0]goto 98
/* Approach Gap */
if[#[attribute 29] ne att_not_use]then
error_item = 29
if[#[value 29] eq #0]goto 97
if[#[value 29] le 0]goto 98

-384-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

endif
/* Approach / Escape */
if[#[attribute 30] ne att_not_use]then
error_item = 30
if[#[value 30] eq 0]goto 98
if[#[value 30] lt 0]goto 98
endif
/* Start Point Sel. */
if[#[attribute 31] ne att_not_use]then
error_item = 31
if[#[value 31] eq #0]goto 97
if[#[value 31] lt 1 || #[value 31] gt 2]goto 98
endif
/* Start Point Sel. */
if[#[attribute 32] ne att_not_use]then
error_item = 32
if[#[value 32] eq #0]goto 97
if[#[value 32] lt 1 || #[value 32] gt 2]goto 98
endif
goto 99
/* Data is lacking. */
n97 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+900]
goto 99
/* Input error in menu param. */
n98 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+901]
n99 m99

/* ############################################### Circle
O8872 input_error_flag = error_non
/* Mach. Process */
error_item = 1
if[#[value 1] eq #0]goto 97
if[#[value 1] lt 1 || #[value 1] gt 4]goto 98
/* Clearance */
error_item = 2
if[#[value 2] eq #0]goto 97
if[#[value 2] le 0]goto 98
/* End Point Z */
error_item = 3
if[#[value 3] eq #0]goto 97
/* Side Removal */
if[#[attribute 4] ne att_not_use]then
error_item = 4
if[#[value 4] lt 0]goto 98
endif
/* Side Pitch */
if[#[attribute 5] ne att_not_use]then
error_item = 5
if[#[value 5] lt 0]goto 98
endif
/* Side Finish */
if[#[attribute 6] ne att_not_use]then
error_item = 6
if[#[value 6] lt 0]goto 98
endif
/* Bottom Removal */
error_item = 7
if[#[value 7] eq #0]goto 97
if[#[value 7] le 0]goto 98

-385-

8. USER PROGRAMS FOR SIDE CUTTING MENU

8. USER PROGRAMS FOR SIDE CUTTING MENU

SAMPLE PROGRAM

/* Bottom Pitch */
if[#[attribute 8] ne att_not_use]then
error_item = 8
if[#[value 8] lt 0]goto 98
endif
/* Bottom Finish */
if[#[attribute 9] ne att_not_use]then
error_item = 9
if[#[value 9] lt 0]goto 98
endif
/* Taper Angle */
error_item = 11
if[#[value 11] lt 0]goto 98
/* Chamfer Removal */
if[#[attribute 12] ne att_not_use]then
error_item = 12
if[#[value 12] eq #0]goto 97
if[#[value 12] le 0]goto 98
endif
/* Tool Small Dia.*/
if[#[attribute 13] ne att_not_use]then
error_item = 13
if[#[value 13] lt 0]goto 98
endif
/* Chamfer Angle */
if[#[attribute 14] ne att_not_use]then
error_item = 14
if[#[value 14] eq 0]goto 98
if[#[value 14] lt 0]goto 98
endif
/* Tool Out Depth */
if[#[attribute 15] ne att_not_use]then
error_item = 15
if[#[value 15] lt 0]goto 98
endif
/* Tool Corner-R */
if[#[attribute 16] ne att_not_use]then
error_item = 16
if[#[value 16] lt 0]goto 98
endif
/* Feed Rate */
error_item = 17
if[#[value 17] eq #0]goto 97
if[#[value 17] le 0]goto 98
/* Z-Cut Feed Rate */
error_item = 18
if[#[value 18] eq #0]goto 97
if[#[value 18] le 0]goto 98
/* Mach. Shape */
error_item = 20
if[#[value 20] eq #0]goto 97
if[#[value 20] lt 1 || #[value 20] gt 2]goto 98
/* Center Point X */
error_item =21
if[#[value 21] eq #0]goto 97
/* Center Point Y */
error_item =22
if[#[value 22] eq #0]goto 97
/* Radius */
error_item = 23
if[#[value 23] eq #0]goto 97
if[#[value 23] le 0]goto 98
/* Cut Direction */
error_item = 24
if[#[value 24] eq #0]goto 97
if[#[value 24] lt 1 || #[value 24] gt 2]goto 98
/* Approach Gap */

-386-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

if[#[attribute 25] ne att_not_use]then


error_item = 25
if[#[value 25] eq #0]goto 97
if[#[value 25] le 0]goto 98
endif
/* Approach / Escape */
if[#[attribute 26] ne att_not_use]then
error_item = 26
if[#[value 26] eq 0]goto 98
if[#[value 26] lt 0]goto 98
endif
/* Start Point Sel. */
if[#[attribute 27] ne att_not_use]then
error_item = 27
if[#[value 27] eq #0]goto 97
if[#[value 27] lt 1 || #[value 27] gt 2]goto 98
endif
/* Start Point Sel. */
if[#[attribute 28] ne att_not_use]then
error_item = 28
if[#[value 28] eq #0]goto 97
if[#[value 28] lt 1 || #[value 28] gt 2]goto 98
endif
goto 99
/* Data is lacking. */
n97 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+900]
goto 99
/* Input error in menu param. */
n98 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+901]
n99 m99

/* ############################################### Track
O8873 input_error_flag = error_non
/* Mach. Process */
error_item = 1
if[#[value 1] eq #0]goto 97
if[#[value 1] lt 1 || #[value 1] gt 4]goto 98
/* Clearance */
error_item = 2
if[#[value 2] eq #0]goto 97
if[#[value 2] le 0]goto 98
/* End Point Z */
error_item = 3
if[#[value 3] eq #0]goto 97
/* Side Removal */
if[#[attribute 4] ne att_not_use]then
error_item = 4
if[#[value 4] lt 0]goto 98
endif
/* Side Pitch */
if[#[attribute 5] ne att_not_use]then
error_item = 5
if[#[value 5] lt 0]goto 98
endif
/* Side Finish */
if[#[attribute 6] ne att_not_use]then
error_item = 6
if[#[value 6] lt 0]goto 98
endif

-387-

8. USER PROGRAMS FOR SIDE CUTTING MENU

8. USER PROGRAMS FOR SIDE CUTTING MENU

SAMPLE PROGRAM

/* Bottom Removal */
error_item = 7
if[#[value 7] eq #0]goto 97
if[#[value 7] le 0]goto 98
/* Bottom Pitch */
if[#[attribute 8] ne att_not_use]then
error_item = 8
if[#[value 8] lt 0]goto 98
endif
/* Bottom Finish */
if[#[attribute 9] ne att_not_use]then
error_item = 9
if[#[value 9] lt 0]goto 98
endif
/* Taper Angle */
error_item = 11
if[#[value 11] lt 0]goto 98
/* Chamfer Removal */
if[#[attribute 12] ne att_not_use]then
error_item = 12
if[#[value 12] eq #0]goto 97
if[#[value 12] le 0]goto 98
endif
/* Tool Small Dia.*/
if[#[attribute 13] ne att_not_use]then
error_item = 13
if[#[value 13] lt 0]goto 98
endif
/* Chamfer Angle */
if[#[attribute 14] ne att_not_use]then
error_item = 14
if[#[value 14] eq 0]goto 98
if[#[value 14] lt 0]goto 98
endif
/* Tool Out Depth */
if[#[attribute 15] ne att_not_use]then
error_item = 15
if[#[value 15] lt 0]goto 98
endif
/* Tool Corner-R */
if[#[attribute 16] ne att_not_use]then
error_item = 16
if[#[value 16] lt 0]goto 98
endif
/* Feed Rate */
error_item = 17
if[#[value 17] eq #0]goto 97
if[#[value 17] le 0]goto 98
/* Z-Cut Feed Rate */
error_item = 18
if[#[value 18] eq #0]goto 97
if[#[value 18] le 0]goto 98
/* Mach. Shape */
error_item = 20
if[#[value 20] eq #0]goto 97
if[#[value 20] lt 1 || #[value 20] gt 2]goto 98
/* Center Point X */
error_item =21
if[#[value 21] eq #0]goto 97
/* Center Point Y */
error_item =22
if[#[value 22] eq #0]goto 97
/* Center Distance */
error_item = 23
if[#[value 23] eq #0]goto 97
if[#[value 23] le 0]goto 98
/* Radius */

-388-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

error_item = 24
if[#[value 24] eq #0]goto 97
if[#[value 24] le 0]goto 98
/* Cut Direction */
error_item = 25
if[#[value 25] eq #0]goto 97
if[#[value 25] lt 1 || #[value 25] gt 2]goto 98
/* Approach Gap */
if[#[attribute 27] ne att_not_use]then
error_item = 27
if[#[value 27] eq #0]goto 97
if[#[value 27] le 0]goto 98
endif
/* Approach / Escape */
if[#[attribute 28] ne att_not_use]then
error_item = 28
if[#[value 28] eq 0]goto 98
if[#[value 28] lt 0]goto 98
endif
/* Start Point Sel. */
if[#[attribute 29] ne att_not_use]then
error_item = 29
if[#[value 29] eq #0]goto 97
if[#[value 29] lt 1 || #[value 29] gt 2]goto 98
endif
/* Start Point Sel. */
if[#[attribute 30] ne att_not_use]then
error_item = 30
if[#[value 30] eq #0]goto 97
if[#[value 30] lt 1 || #[value 30] gt 2]goto 98
endif
goto 99
/* Data is lacking. */
n97 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+900]
goto 99
/* Input error in menu param. */
n98 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+901]
n99 m99

/* ############################################### One Side


O8874 input_error_flag = error_non
/* Mach. Process */
error_item = 1
if[#[value 1] eq #0]goto 97
if[#[value 1] lt 1 || #[value 1] gt 4]goto 98
/* Clearance */
error_item = 2
if[#[value 2] eq #0]goto 97
if[#[value 2] le 0]goto 98
/* End Point Z */
error_item = 3
if[#[value 3] eq #0]goto 97
/* Side Removal */
if[#[attribute 4] ne att_not_use]then
error_item = 4
if[#[value 4] lt 0]goto 98
endif
/* Side Pitch */
if[#[attribute 5] ne att_not_use]then

-389-

8. USER PROGRAMS FOR SIDE CUTTING MENU

8. USER PROGRAMS FOR SIDE CUTTING MENU

SAMPLE PROGRAM

error_item = 5
if[#[value 5] lt 0]goto 98
endif
/* Side Finish */
if[#[attribute 6] ne att_not_use]then
error_item = 6
if[#[value 6] lt 0]goto 98
endif
/* Bottom Removal */
error_item = 7
if[#[value 7] eq #0]goto 97
if[#[value 7] le 0]goto 98
/* Bottom Pitch */
if[#[attribute 8] ne att_not_use]then
error_item = 8
if[#[value 8] lt 0]goto 98
endif
/* Bottom Finish */
if[#[attribute 9] ne att_not_use]then
error_item = 9
if[#[value 9] lt 0]goto 98
endif
/* Taper Angle */
error_item = 11
if[#[value 11] lt 0]goto 98
/* Chamfer Removal */
if[#[attribute 12] ne att_not_use]then
error_item = 12
if[#[value 12] eq #0]goto 97
if[#[value 12] le 0]goto 98
endif
/* Tool Small Dia.*/
if[#[attribute 13] ne att_not_use]then
error_item = 13
if[#[value 13] lt 0]goto 98
endif
/* Chamfer Angle */
if[#[attribute 14] ne att_not_use]then
error_item = 14
if[#[value 14] eq 0]goto 98
if[#[value 14] lt 0]goto 98
endif
/* Tool Out Depth */
if[#[attribute 15] ne att_not_use]then
error_item = 15
if[#[value 15] lt 0]goto 98
endif
/* Tool Corner-R */
if[#[attribute 16] ne att_not_use]then
error_item = 16
if[#[value 16] lt 0]goto 98
endif
/* Feed Rate */
error_item = 17
if[#[value 17] eq #0]goto 97
if[#[value 17] le 0]goto 98
/* Center Point X */
error_item =20
if[#[value 20] eq #0]goto 97
/* Center Point Y */
error_item =21
if[#[value 21] eq #0]goto 97
/* U-Length */
error_item = 22
if[#[value 22] eq #0]goto 97
if[#[value 22] le 0]goto 98
/* Cut Direction */

-390-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

error_item = 23
if[#[value 23] eq #0]goto 97
if[#[value 23] lt 1 || #[value 23] gt 4]goto 98
/* Approach / Escape */
error_item = 25
if[#[value 25] eq #0]goto 97
if[#[value 25] le 0]goto 98
/* Escape / Approach */
error_item = 26
if[#[value 26] eq #0]goto 97
if[#[value 26] le 0]goto 98
goto 99
/* Data is lacking. */
n97 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+900]
goto 99
/* Input error in menu param. */
n98 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+901]
n99 m99

/* ############################################### Contour
O8875 input_error_flag = error_non
/* Mach. Process */
error_item = 1
if[#[value 1] eq #0]goto 97
if[#[value 1] lt 1 || #[value 1] gt 3]goto 98
/* Clearance */
error_item = 2
if[#[value 2] eq #0]goto 97
if[#[value 2] le 0]goto 98
/* End Point Z */
error_item = 3
if[#[value 3] eq #0]goto 97
/* Side Removal */
if[#[attribute 4] ne att_not_use]then
error_item = 4
if[#[value 4] lt 0]goto 98
endif
/* Side Finish */
if[#[attribute 6] ne att_not_use]then
error_item = 6
if[#[value 6] lt 0]goto 98
endif
/* Bottom Removal */
error_item = 7
if[#[value 7] eq #0]goto 97
if[#[value 7] le 0]goto 98
/* Bottom Pitch */
if[#[attribute 8] ne att_not_use]then
error_item = 8
if[#[value 8] lt 0]goto 98
endif
/* Bottom Finish */
error_item = 9
if[#[value 9] lt 0]goto 98
/* Feed Rate */
error_item = 17
if[#[value 17] eq #0]goto 97
if[#[value 17] le 0]goto 98
/* Cutting Width% */

-391-

8. USER PROGRAMS FOR SIDE CUTTING MENU

8. USER PROGRAMS FOR SIDE CUTTING MENU

SAMPLE PROGRAM

if[#[attribute 18] ne att_not_use]then


error_item = 18
if[#[value 18] eq #0]goto 97
if[#[value 18] le 0]goto 98
endif
/* Z-Cut Feed Rate */
error_item = 19
if[#[value 19] eq #0]goto 97
if[#[value 19] le 0]goto 98
/* Cut Direction */
error_item = 20
if[#[value 20] eq #0]goto 97
if[#[value 20] lt 1 || #[value 20] gt 2]goto 98
/* Approach Type */
error_item = 21
if[#[value 21] eq #0]goto 97
if[#[value 21] lt 1 || #[value 21] gt 3]goto 98
/* Approach Radius */
if[#[attribute 22] ne att_not_use]then
error_item = 22
if[#[value 22] eq #0]goto 97
if[#[value 22] le 0]goto 98
endif
/* Approach Angle */
if[#[attribute 23] ne att_not_use]then
error_item = 23
if[#[value 23] eq #0]goto 97
if[#[value 23] le 0]goto 98
endif
/* Approach Distance */
if[#[attribute 24] ne att_not_use]then
error_item = 24
if[#[value 24] eq #0]goto 97
if[#[value 24] le 0]goto 98
endif
/* Escape Type */
error_item = 25
if[#[value 25] eq #0]goto 97
if[#[value 25] lt 1 || #[value 25] gt 3]goto 98
/* Escape Radius */
if[#[attribute 26] ne att_not_use]then
error_item = 26
if[#[value 26] eq #0]goto 97
if[#[value 26] le 0]goto 98
endif
/* Escape Angle */
if[#[attribute 27] ne att_not_use]then
error_item = 27
if[#[value 27] eq #0]goto 97
if[#[value 27] le 0]goto 98
endif
/* Escape Distance */
if[#[attribute 28] ne att_not_use]then
error_item = 28
if[#[value 28] eq #0]goto 97
if[#[value 28] le 0]goto 98
endif
/* Comp. Direction */
error_item = 29
if[#[value 29] eq #0]goto 97
if[#[value 29] lt 1 || #[value 29] gt 2]goto 98
goto 99
/* Data is lacking. */
n97 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+900]

-392-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

goto 99
/* Input error in menu param. */
n98 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+901]
n99 m99

-393-

8. USER PROGRAMS FOR SIDE CUTTING MENU

9. USER PROGRAMS FOR POCKETING MENU

SAMPLE PROGRAM

B-63423EN/02

USER PROGRAMS FOR POCKETING MENU

-394-

SAMPLE PROGRAM

B-63423EN/02

9.1

COMMENTS DEFINITION

/****************************************************************************
/*
/*
STRING7.SRC :: Pocket
(ENGLISH)
/*
/***** 7801: Softkey
/***** 7811: Square
/***** 7821: Circle
/***** 7831: Track
/***** 7841: Groove
/***** 7851: Contour Pocket
/***** 7861: Contour Groove
/****************************************************************************

O7801 ;############################################### Softkye


N0001("20 01 C010 20")('SQUARE');
N0002("20 01 C018 20")('CIRCLE');
N0003("20 01 C020 20")('TRACK ');
N0004("20 01 C028 20")('GROOVE');
N0005("20 01 C030 20")('CONTR ');
N0006("20 01 C038 20")('C-GROV');
M99

O7811 ;############################################### Square


N9999('SQUARE POCKET');
N9998('SQUARE POCKET(DETAIL SET)');
N0001('MACH. PROCESS');
N0002('CLEARANCE');
N0003('END POINT Z');
N0004('REMOVAL DEPTH');
N0005('REMOVAL PITCH');
N0006('BOTTOM FINISH');
N0007('SIDE FINISH');
N0008('CHAMFER REMOVAL');
N0010('FEED RATE');
N0011('CUTTING WIDTH%');
N0012('Z-CUT FEED RATE');
N0013('TOOL SMALL DIA.');
N0014('CHAMFER ANGLE');
N0015('TOOL OUT DEPTH');
N0017('CENTER POINT X');
N0018('CENTER POINT Y');
N0019('U-LENGTH');
N0020('V-LENGTH');
N0021('CUT DIRECTION');
N0022('CORNER-R RADIUS');
N0023('INCLINE ANGLE');
N0024('START POINT SEL.');
N0026('ROUGH MACH. D-CODE');
N0027('CYCLE SELECTION');
N0028('R POINT DISTANCE');
N0029('PITCH DEPTH');
N0030('TRAVEL SPEED');
N0031('DWELL TIME');
N0032('APPROACH/ESCAPE');
N0100('27');
N0101("20 01 C010 20")('ROUGH ');
N0102("20 01 C018 20")('B-FIN ');
N0103("20 01 C020 20")('S-FIN ');
N0104("20 01 C028 20")('CHAMF ');

-395-

9. USER PROGRAMS FOR POCKETING MENU

9. USER PROGRAMS FOR POCKETING MENU

SAMPLE PROGRAM

N0105("20 01 C030 20")(' HOLE ');


N0151('1');
N0152('2');
N0153('3');
N0154('4');
N0155('5');
N2100('21');
N2101("20 01 C010 20")('DOWNCT');
N2102("20 01 C018 20")('UPCUT ');
N2151('1');
N2152('2');
N2400('28');
N2401("20 01 C010 20")(' [1] ');
N2402("20 01 C018 20")(' [2] ');
N2451('1');
N2452('2');
N2700('7');
N2701("20 01 C010 20")(' G81 ');
N2702("20 01 C020 20")(' G83 ');
N2751('1');
N2752('2');
M99

O7821 ;############################################### Circle


N9999('CIRCLE POCKET');
N9998('CIRCLE POCKET(DETAIL SET)');
N0001('MACH. PROCESS');
N0002('CLEARANCE');
N0003('END POINT Z');
N0004('REMOVAL DEPTH');
N0005('REMOVAL PITCH');
N0006('BOTTOM FINISH');
N0007('SIDE FINISH');
N0008('CHAMFER REMOVAL');
N0010('FEED RATE');
N0011('CUTTING WIDTH%');
N0012('Z-CUT FEED RATE');
N0013('TOOL SMALL DIA.');
N0014('CHAMFER ANGLE');
N0015('TOOL OUT DEPTH');
N0017('CENTER POINT X');
N0018('CENTER POINT Y');
N0019('RADIUS');
N0020('CUT DIRECTION');
N0021('START POINT SEL.');
N0023('ROUGH MACH. D-CODE');
N0024('CYCLE SELECTION');
N0025('R POINT DISTANCE');
N0026('PITCH DEPTH');
N0027('TRAVEL SPEED');
N0028('DWELL TIME');
N0029('APPROACH/ESCAPE');
N0100('27');
N0101("20 01 C010 20")('ROUGH ');
N0102("20 01 C018 20")('B-FIN ');
N0103("20 01 C020 20")('S-FIN ');
N0104("20 01 C028 20")('CHAMF ');
N0105("20 01 C030 20")(' HOLE ');
N0151('1');
N0152('2');
N0153('3');

-396-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

N0154('4');
N0155('5');
N2000('21');
N2001("20 01 C010 20")('DOWNCT');
N2002("20 01 C018 20")('UPCUT ');
N2051('1');
N2052('2');
N2100('28');
N2101("20 01 C010 20")(' [1] ');
N2102("20 01 C018 20")(' [2] ');
N2151('1');
N2152('2');
N2400('7');
N2401("20 01 C010 20")(' G81 ');
N2402("20 01 C020 20")(' G83 ');
N2451('1');
N2452('2');
M99

O7831 ;############################################### Track


N9999('TRACK POCKET');
N9998('TRACK POCKET(DETAIL SET)');
N0001('MACH. PROCESS');
N0002('CLEARANCE');
N0003('END POINT Z');
N0004('REMOVAL DEPTH');
N0005('REMOVAL PITCH');
N0006('BOTTOM FINISH');
N0007('SIDE FINISH');
N0008('CHAMFER REMOVAL');
N0010('FEED RATE');
N0011('CUTTING WIDTH%');
N0012('Z-CUT FEED RATE');
N0013('TOOL SMALL DIA.');
N0014('CHAMFER ANGLE');
N0015('TOOL OUT DEPTH');
N0017('CENTER POINT X');
N0018('CENTER POINT Y');
N0019('CENTER DISTANCE');
N0020('RADIUS');
N0021('CUT DIRECTION');
N0022('INCLINE ANGLE');
N0023('START POINT SEL.');
N0025('ROUGH MACH. D-CODE');
N0026('CYCLE SELECTION');
N0027('R POINT DISTANCE');
N0028('PITCH DEPTH');
N0029('TRAVEL SPEED');
N0030('DWELL TIME');
N0031('APPROACH/ESCAPE');
N0100('27');
N0101("20 01 C010 20")('ROUGH ');
N0102("20 01 C018 20")('B-FIN ');
N0103("20 01 C020 20")('S-FIN ');
N0104("20 01 C028 20")('CHAMF ');
N0105("20 01 C030 20")(' HOLE ');
N0151('1');
N0152('2');
N0153('3');
N0154('4');
N0155('5');

-397-

9. USER PROGRAMS FOR POCKETING MENU

9. USER PROGRAMS FOR POCKETING MENU

SAMPLE PROGRAM

N2100('21');
N2101("20 01 C010 20")('DOWNCT');
N2102("20 01 C018 20")('UPCUT ');
N2151('1');
N2152('2');
N2300(' 28');
N2301("20 01 C010 20")(' [1] ');
N2302("20 01 C018 20")(' [2] ');
N2351('1');
N2352('2');
N2600('7');
N2601("20 01 C010 20")(' G81 ');
N2602("20 01 C020 20")(' G83 ');
N2651('1');
N2652('2');
M99

O7841 ;############################################### Groove


N9999('GROOVE');
N9998('GROOVE(DETAIL SET)');
N0001('MACH. PROCESS');
N0002('CLEARANCE');
N0003('END POINT Z');
N0004('REMOVAL DEPTH');
N0005('REMOVAL PITCH');
N0006('BOTTOM FINISH');
N0007('SIDE FINISH');
N0008('CHAMFER REMOVAL');
N0010('FEED RATE');
N0011('CUTTING WIDTH%');
N0012('Z-CUT FEED RATE');
N0013('TOOL SMALL DIA.');
N0014('CHAMFER ANGLE');
N0015('TOOL OUT DEPTH');
N0017('CENTER POINT X');
N0018('CENTER POINT Y');
N0019('U-LENGTH');
N0020('GROOVE WIDTH');
N0021('CUT DIRECTION');
N0022('INCLINE ANGLE');
N0023('START POINT SEL.');
N0024('APPROACH ALW.');
N0025('ESCAPE ALW.');
N0100('27');
N0101("20 01 C010 20")('ROUGH ');
N0102("20 01 C018 20")('B-FIN ');
N0103("20 01 C020 20")('S-FIN ');
N0104("20 01 C028 20")('CHAMF ');
N0151('1');
N0152('2');
N0153('3');
N0154('4');
N2100('21');
N2101("20 01 C010 20")('DOWNCT');
N2102("20 01 C018 20")('UPCUT ');
N2151('1');
N2152('2');
N2300('18');
N2301("20 01 C030 20")(' [1] ');

-398-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

N2302("20 01 C028 20")(' [2] ');


N2351('1');
N2352('2');
M99

O7851 ;############################################### Contour Pocket


N9999('CONTOUR POCKET');
N9998('CONTOUR POCKET(DETAIL SET)');
N0001('MACH. PROCESS');
N0002('CLEARANCE');
N0003('END POINT Z');
N0004('REMOVAL DEPTH');
N0005('REMOVAL PITCH');
N0006('BOTTOM FINISH');
N0007('SIDE FINISH');
N0010('FEED RATE');
N0011('CUTTING WIDTH%');
N0012('Z-CUT FEED RATE');
N0013('CUT DIRECTION');
N0014('CUT METHOD');
N0019('ROUGH MACH. D-CODE');
N0020('CYCLE SELECTION');
N0021('R POINT DISTANCE');
N0022('PITCH DEPTH');
N0023(' TRAVEL SPEED');
N0024('DWELL TIME');
N0025('APPROACH TYPE');
N0026('APPROACH RADIUS');
N0027('APPROACH ANGLE');
N0028('APPROACH DISTANCE');
N0029('ESCAPE TYPE');
N0030('ESCAPE RADIUS');
N0031('ESCAPE ANGLE');
N0032('ESCAPE DISTANCE');
N0033('COMP. DIRECTION');
N0100('27');
N0101("20 01 C010 20")('ROUGH ');
N0102("20 01 C018 20")('B-FIN ');
N0103("20 01 C020 20")('S-FIN ');
N0104("20 01 C030 20")(' HOLE ');
N0151('1');
N0152('2');
N0153('3');
N0154('5');
N1300('21');
N1301("20 01 C010 20")('DOWNCT');
N1302("20 01 C018 20")('UPCUT ');
N1351('1');
N1352('2');
N1400('28');
N1401("20 01 C010 20")('INSIDE');
N1402("20 01 C018 20")('OUTSID');
N1451('1');
N1452('2');
N2000('7');
N2001("20 01 C010 20")(' G81 ');
N2002("20 01 C020 20")(' G83 ');
N2051('1');
N2052('2');
N2500('25');

-399-

9. USER PROGRAMS FOR POCKETING MENU

9. USER PROGRAMS FOR POCKETING MENU

SAMPLE PROGRAM

N2501("20 01 C010 20")('CIRCLE');


N2502("20 01 C018 20")('TANGNT');
N2503("20 01 C020 20")('VERTCL');
N2551('1');
N2552('2');
N2553('3');
N2900('26');
N2901("20 01 C010 20")('CIRCLE');
N2902("20 01 C018 20")('TANGNT');
N2903("20 01 C020 20")('VERTCL');
N2951('1');
N2952('2');
N2953('3');
N3300('5');
N3301("20 01 C028 20")(' LEFT ');
N3302("20 01 C030 20")(' RIGHT');
N3351('1');
N3352('2');
M99

O7861 ;############################################### Contour Groove


N9999('CONTOUR GROOVE');
N9998('CONTOUR GROOVE(DETAIL SET)');
N0001('MACH. PROCESS');
N0002('CLEARANCE');
N0003('END POINT Z');
N0004('REMOVAL DEPTH');
N0005('REMOVAL PITCH');
N0006('BOTTOM FINISH');
N0007('SIDE FINISH');
N0010('FEED RATE');
N0011('CUTTING WIDTH%');
N0012('Z-CUT FEED RATE');
N0013('CUT DIRECTION');
N0014('GROOVE WIDTH');
N0019('ROUGH MACH. D-CODE');
N0020('CYCLE SELECTION');
N0021('R POINT DISTANCE');
N0022('PITCH DEPTH');
N0023(' TRAVEL SPEED');
N0024('DWELL TIME');
N0025('APPROACH TYPE');
N0026('APPROACH RADIUS');
N0027('APPROACH ANGLE');
N0028('APPROACH DISTANCE');
N0029('ESCAPE TYPE');
N0030('ESCAPE RADIUS');
N0031('ESCAPE ANGLE');
N0032('ESCAPE DISTANCE');
N0033('COMP. DIRECTION');
N0100('27');
N0101("20 01 C010 20")('ROUGH ');
N0102("20 01 C018 20")('B-FIN ');
N0103("20 01 C020 20")('S-FIN ');
N0104("20 01 C030 20")(' HOLE ');
N0151('1');
N0152('2');
N0153('3');
N0154('5');
N1300('21');
N1301("20 01 C010 20")('DOWNCT');
N1302("20 01 C018 20")('UPCUT ');

-400-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

N1351('1');
N1352('2');
N2000('7');
N2001("20 01 C010 20")(' G81 ');
N2002("20 01 C020 20")(' G83 ');
N2051('1');
N2052('2');
N2500('25');
N2501("20 01 C010 20")('CIRCLE');
N2502("20 01 C018 20")('TANGNT');
N2503("20 01 C020 20")('VERTCL');
N2551('1');
N2552('2');
N2553('3');
N2900('26');
N2901("20 01 C010 20")('CIRCLE');
N2902("20 01 C018 20")('TANGNT');
N2903("20 01 C020 20")('VERTCL');
N2951('1');
N2952('2');
N2953('3');
N3300('5');
N3301("20 01 C028 20")(' LEFT ');
N3302("20 01 C030 20")(' RIGHT');
N3351('1');
N3352('2');
M99

-401-

9. USER PROGRAMS FOR POCKETING MENU

9. USER PROGRAMS FOR POCKETING MENU

9.2

SAMPLE PROGRAM

DATA ATTRIBUTE

/****************************************************************************
/*
/*
PROC7.SRC :: Pocket
/*
/***** 8481: Square
/***** 8482: Circle
/***** 8483: Track
/***** 8484: Groove
/***** 8485: Contour Pocket
/***** 8486: Contour Groove
/****************************************************************************
$INCLUDE SYMBOL.DEF
O8481 ;############################################### Square
#[address 0] = 230
#[address 1] = add_P
#[attribute 1] = att_character
#[value 1] = 1
#[address 2] = add_L
#[attribute 2] = att_decimal + att_detail
#[value 2] = 3
#[address 3] = add_Z
#[attribute 3] = att_decimal
#[value 3] = #0
#[address 4] = add_B
#[attribute 4] = att_decimal
#[value 4] = #0
#[address 5] = add_J
#[attribute 5] = att_decimal
#[value 5] = #0
#[address 6] = add_H
#[attribute 6] = att_decimal
#[value 6] = 0
#[address 7] = add_D
#[attribute 7] = att_decimal
#[value 7] = 0
#[address 8] = add_C
#[attribute 8] = att_not_use
#[value 8] = #0
#[address 9] = add_C ;DUMMY
#[attribute 9] = att_new_page
#[value 9] = #0 ;DUMMY
#[address 10] = add_F
#[attribute 10] = att_decimal
#[value 10] = #0
#[address 11] = add_C
#[attribute 11] = att_decimal
#[value 11] = 70
#[address 12] = add_E
#[attribute 12] = att_decimal
#[value 12] = #0
#[address 13] = add_D
#[attribute 13] = att_not_use
#[value 13] = #0
#[address 14] = add_J
#[attribute 14] = att_not_use
#[value 14] = #0
#[address 15] = add_H
#[attribute 15] = att_not_use
#[value 15] = #0
#[attribute 16] = att_not_use
#[address 17] = add_X

-402-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

#[attribute 17] = att_decimal


#[value 17] = #0
#[address 18] = add_Y
#[attribute 18] = att_decimal
#[value 18] = #0
#[address 19] = add_U
#[attribute 19] = att_decimal
#[value 19] = #0
#[address 20] = add_V
#[attribute 20] = att_decimal
#[value 20] = #0
#[address 21] = add_W
#[attribute 21] = att_character + att_detail
#[value 21] = 1
#[address 22] = add_R
#[attribute 22] = att_decimal + att_detail
#[value 22] = 0
#[address 23] = add_A
#[attribute 23] = att_decimal + att_detail
#[value 23] = 0
#[address 24] = add_N
#[attribute 24] = att_not_use
#[value 24] = #0
#[attribute 25] = att_not_use
#[address 26] = add_L
#[attribute 26] = att_not_use
#[value 26] = #0
#[address 27] = add_S
#[attribute 27] = att_not_use
#[value 27] = 1
#[address 28] = add_I
#[attribute 28] = att_not_use
#[value 28] = #0
#[address 29] = add_Q
#[attribute 29] = att_not_use
#[value 29] = #0
#[address 30] = add_C
#[attribute 30] = att_not_use
#[value 30] = #0
#[address 31] = add_E
#[attribute 31] = att_not_use
#[value 31] = #0
#[address 32] = add_K
#[attribute 32] = att_not_use
#[value 32] = #0
#[address 33] = add_end
previous_cursor = 1
/* Previous cursor position clear
m99

O8482 ;############################################### Circle


#[address 0] = 231
#[address 1] = add_P
#[attribute 1] = att_character
#[value 1] = 1
#[address 2] = add_L
#[attribute 2] = att_decimal + att_detail
#[value 2] = 3
#[address 3] = add_Z
#[attribute 3] = att_decimal
#[value 3] = #0
#[address 4] = add_B
#[attribute 4] = att_decimal
#[value 4] = #0
#[address 5] = add_J
#[attribute 5] = att_decimal

-403-

9. USER PROGRAMS FOR POCKETING MENU

9. USER PROGRAMS FOR POCKETING MENU

SAMPLE PROGRAM

#[value 5] = #0
#[address 6] = add_H
#[attribute 6] = att_decimal
#[value 6] = 0
#[address 7] = add_D
#[attribute 7] = att_decimal
#[value 7] = 0
#[address 8] = add_C
#[attribute 8] = att_not_use
#[value 8] = #0
#[address 9] = add_C ;DUMMY
#[attribute 9] = att_new_page
#[value 9] = #0 ;DUMMY
#[address 10] = add_F
#[attribute 10] = att_decimal
#[value 10] = #0
#[address 11] = add_C
#[attribute 11] = att_decimal
#[value 11] = 70
#[address 12] = add_E
#[attribute 12] = att_decimal
#[value 12] = #0
#[address 13] = add_D
#[attribute 13] = att_not_use
#[value 13] = #0
#[address 14] = add_J
#[attribute 14] = att_not_use
#[value 14] = #0
#[address 15] = add_H
#[attribute 15] = att_not_use
#[value 15] = #0
#[attribute 16] = att_not_use
#[address 17] = add_X
#[attribute 17] = att_decimal
#[value 17] = #0
#[address 18] = add_Y
#[attribute 18] = att_decimal
#[value 18] = #0
#[address 19] = add_R
#[attribute 19] = att_decimal
#[value 19] = #0
#[address 20] = add_W
#[attribute 20] = att_character + att_detail
#[value 20] = 1
#[address 21] = add_N
#[attribute 21] = att_not_use
#[value 21] = #0
#[attribute 22] = att_not_use
#[address 23] = add_L
#[attribute 23] = att_not_use
#[value 23] = #0
#[address 24] = add_S
#[attribute 24] = att_not_use
#[value 24] = 1
#[address 25] = add_I
#[attribute 25] = att_not_use
#[value 25] = #0
#[address 26] = add_Q
#[attribute 26] = att_not_use
#[value 26] = #0
#[address 27] = add_C
#[attribute 27] = att_not_use
#[value 27] = #0
#[address 28] = add_E
#[attribute 28] = att_not_use
#[value 28] = #0
#[address 29] = add_K

-404-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

#[attribute 29] = att_not_use


#[value 29] = #0
#[address 30] = add_end
previous_cursor = 1
/* Previous cursor position clear
m99

O8483 ;############################################### Track


#[address 0] = 232
#[address 1] = add_P
#[attribute 1] = att_character
#[value 1] = 1
#[address 2] = add_L
#[attribute 2] = att_decimal + att_detail
#[value 2] = 3
#[address 3] = add_Z
#[attribute 3] = att_decimal
#[value 3] = #0
#[address 4] = add_B
#[attribute 4] = att_decimal
#[value 4] = #0
#[address 5] = add_J
#[attribute 5] = att_decimal
#[value 5] = #0
#[address 6] = add_H
#[attribute 6] = att_decimal
#[value 6] = 0
#[address 7] = add_D
#[attribute 7] = att_decimal
#[value 7] = 0
#[address 8] = add_C
#[attribute 8] = att_not_use
#[value 8] = #0
#[address 9] = add_C ;DUMMY
#[attribute 9] = att_new_page
#[value 9] = #0 ;DUMMY
#[address 10] = add_F
#[attribute 10] = att_decimal
#[value 10] = #0
#[address 11] = add_C
#[attribute 11] = att_decimal
#[value 11] = 70
#[address 12] = add_E
#[attribute 12] = att_decimal
#[value 12] = #0
#[address 13] = add_D
#[attribute 13] = att_not_use
#[value 13] = #0
#[address 14] = add_J
#[attribute 14] = att_not_use
#[value 14] = #0
#[address 15] = add_H
#[attribute 15] = att_not_use
#[value 15] = #0
#[attribute 16] = att_not_use
#[address 17] = add_X
#[attribute 17] = att_decimal
#[value 17] = #0
#[address 18] = add_Y
#[attribute 18] = att_decimal
#[value 18] = #0
#[address 19] = add_U
#[attribute 19] = att_decimal
#[value 19] = #0
#[address 20] = add_R
#[attribute 20] = att_decimal

-405-

9. USER PROGRAMS FOR POCKETING MENU

9. USER PROGRAMS FOR POCKETING MENU

SAMPLE PROGRAM

#[value 20] = #0
#[address 21] = add_W
#[attribute 21] = att_character + att_detail
#[value 21] = 1
#[address 22] = add_A
#[attribute 22] = att_decimal + att_detail
#[value 22] = 0
#[address 23] = add_N
#[attribute 23] = att_not_use
#[value 23] = #0
#[attribute 24] = att_not_use
#[address 25] = add_L
#[attribute 25] = att_not_use
#[value 25] = #0
#[address 26] = add_S
#[attribute 26] = att_not_use
#[value 26] = 1
#[address 27] = add_I
#[attribute 27] = att_not_use
#[value 27] = #0
#[address 28] = add_Q
#[attribute 28] = att_not_use
#[value 28] = #0
#[address 29] = add_C
#[attribute 29] = att_not_use
#[value 29] = #0
#[address 30] = add_E
#[attribute 30] = att_not_use
#[value 30] = #0
#[address 31] = add_K
#[attribute 31] = att_not_use
#[value 31] = #0
#[address 32] = add_end
previous_cursor = 1
/* Previous cursor position clear
m99

O8484 ;############################################### Groove


#[address 0] = 233
#[address 1] = add_P
#[attribute 1] = att_character
#[value 1] = 1
#[address 2] = add_L
#[attribute 2] = att_decimal + att_detail
#[value 2] = 3
#[address 3] = add_Z
#[attribute 3] = att_decimal
#[value 3] = #0
#[address 4] = add_B
#[attribute 4] = att_decimal
#[value 4] = #0
#[address 5] = add_J
#[attribute 5] = att_decimal
#[value 5] = #0
#[address 6] = add_H
#[attribute 6] = att_decimal
#[value 6] = 0
#[address 7] = add_D
#[attribute 7] = att_decimal
#[value 7] = 0
#[address 8] = add_C
#[attribute 8] = att_not_use
#[value 8] = #0
#[address 9] = add_C ;DUMMY
#[attribute 9] = att_new_page
#[value 9] = #0 ;DUMMY

-406-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

#[address 10] = add_F


#[attribute 10] = att_decimal
#[value 10] = #0
#[address 11] = add_C
#[attribute 11] = att_decimal
#[value 11] = 70
#[address 12] = add_E
#[attribute 12] = att_decimal
#[value 12] = #0
#[address 13] = add_D
#[attribute 13] = att_not_use
#[value 13] = #0
#[address 14] = add_J
#[attribute 14] = att_not_use
#[value 14] = #0
#[address 15] = add_H
#[attribute 15] = att_not_use
#[value 15] = #0
#[attribute 16] = att_not_use
#[address 17] = add_X
#[attribute 17] = att_decimal
#[value 17] = #0
#[address 18] = add_Y
#[attribute 18] = att_decimal
#[value 18] = #0
#[address 19] = add_U
#[attribute 19] = att_decimal
#[value 19] = #0
#[address 20] = add_V
#[attribute 20] = att_decimal
#[value 20] = #0
#[address 21] = add_W
#[attribute 21] = att_character + att_detail
#[value 21] = 1
#[address 22] = add_A
#[attribute 22] = att_decimal + att_detail
#[value 22] = 0
#[address 23] = add_N
#[attribute 23] = att_character + att_detail
#[value 23] = 1
#[address 24] = add_K
#[attribute 24] = att_decimal + att_detail
#[value 24] = 5
#[address 25] = add_M
#[attribute 25] = att_decimal + att_detail
#[value 25] = 5
#[address 26] = add_end
previous_cursor = 1
/* Previous cursor position clear
m99

O8485 ;############################################### Contour Pocket


#[address 0] = 234
#[address 1] = add_P
#[attribute 1] = att_character
#[value 1] = 1
#[address 2] = add_L
#[attribute 2] = att_decimal + att_detail
#[value 2] = 3
#[address 3] = add_Z
#[attribute 3] = att_decimal
#[value 3] = #0
#[address 4] = add_B
#[attribute 4] = att_decimal
#[value 4] = #0

-407-

9. USER PROGRAMS FOR POCKETING MENU

9. USER PROGRAMS FOR POCKETING MENU

SAMPLE PROGRAM

#[address 5] = add_J
#[attribute 5] = att_decimal
#[value 5] = #0
#[address 6] = add_H
#[attribute 6] = att_decimal
#[value 6] = 0
#[address 7] = add_D
#[attribute 7] = att_decimal
#[value 7] = 0
#[address 8] = add_C
#[attribute 8] = att_not_use
#[value 8] = #0
#[address 9] = add_C ;DUMMY
#[attribute 9] = att_new_page
#[value 9] = #0 ;DUMMY
#[address 10] = add_F
#[attribute 10] = att_decimal
#[value 10] = #0
#[address 11] = add_C
; Not use now
#[attribute 11] = att_decimal
; Not use now
#[value 11] = 70
; Not use now
#[address 12] = add_E
#[attribute 12] = att_decimal
#[value 12] = #0
#[address 13] = add_W
#[attribute 13] = att_character + att_detail
#[value 13] = 1
#[address 14] = add_K
#[attribute 14] = att_character + att_detail
#[value 14] = 1
#[address 15] = add_D
; Not use now
#[attribute 15] = att_not_use
; Not use now
#[value 15] = #0
; Not use now
#[address 16] = add_J
; Not use now
#[attribute 16] = att_not_use
; Not use now
#[value 16] = #0
; Not use now
#[address 17] = add_H
; Not use now
#[attribute 17] = att_not_use
; Not use now
#[value 17] = #0
; Not use now
#[attribute 18] = att_not_use
#[address 19] = add_A
#[attribute 19] = att_not_use
#[value 19] = #0
#[address 20] = add_S
#[attribute 20] = att_not_use
#[value 20] = 1
#[address 21] = add_I
#[attribute 21] = att_not_use
#[value 21] = #0
#[address 22] = add_Q
#[attribute 22] = att_not_use
#[value 22] = #0
#[address 23] = add_C
#[attribute 23] = att_not_use
#[value 23] = #0
#[address 24] = add_E
#[attribute 24] = att_not_use
#[value 24] = #0
#[address 25] = add_A
#[attribute 25] = att_not_use
#[value 25] = 1
#[address 26] = add_M
#[attribute 26] = att_not_use
#[value 26] = 5
#[address 27] = add_N
#[attribute 27] = att_not_use
#[value 27] = 90

-408-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

#[address 28] = add_M


#[attribute 28] = att_not_use
#[value 28] = 5
#[address 29] = add_R
#[attribute 29] = att_not_use
#[value 29] = 1
#[address 30] = add_X
#[attribute 30] = att_not_use
#[value 30] = 5
#[address 31] = add_Y
#[attribute 31] = att_not_use
#[value 31] = 90
#[address 32] = add_X
#[attribute 32] = att_not_use
#[value 32] = 5
#[address 33] = add_U
#[attribute 33] = att_not_use
#[value 33] = #0
#[address 34] = add_end
previous_cursor = 1
/* Previous cursor position clear
m99

O8486 ;############################################### Contour Groove


#[address 0] = 235
#[address 1] = add_P
#[attribute 1] = att_character
#[value 1] = 1
#[address 2] = add_L
#[attribute 2] = att_decimal + att_detail
#[value 2] = 3
#[address 3] = add_Z
#[attribute 3] = att_decimal
#[value 3] = #0
#[address 4] = add_B
#[attribute 4] = att_decimal
#[value 4] = #0
#[address 5] = add_J
#[attribute 5] = att_decimal
#[value 5] = #0
#[address 6] = add_H
#[attribute 6] = att_decimal
#[value 6] = 0
#[address 7] = add_D
#[attribute 7] = att_decimal
#[value 7] = 0
#[address 8] = add_C
#[attribute 8] = att_not_use
#[value 8] = #0
#[address 9] = add_C ;DUMMY
#[attribute 9] = att_new_page
#[value 9] = #0 ;DUMMY
#[address 10] = add_F
#[attribute 10] = att_decimal
#[value 10] = #0
#[address 11] = add_C
; Not use now
#[attribute 11] = att_decimal
; Not use now
#[value 11] = 70
; Not use now
#[address 12] = add_E
#[attribute 12] = att_decimal
#[value 12] = #0
#[address 13] = add_W
#[attribute 13] = att_character + att_detail
#[value 13] = 1
#[address 14] = add_V
#[attribute 14] = att_decimal

-409-

9. USER PROGRAMS FOR POCKETING MENU

9. USER PROGRAMS FOR POCKETING MENU

SAMPLE PROGRAM

#[value 14] = #0
#[address 15] = add_B
; Not use now
#[attribute 15] = att_not_use
; Not use now
#[value 15] = #0
; Not use now
#[address 16] = add_J
; Not use now
#[attribute 16] = att_not_use
; Not use now
#[value 16] = #0
; Not use now
#[address 17] = add_Z
; Not use now
#[attribute 17] = att_not_use
; Not use now
#[value 17] = #0
; Not use now
#[attribute 18] = att_not_use
#[address 19] = add_A
#[attribute 19] = att_not_use
#[value 19] = #0
#[address 20] = add_S
#[attribute 20] = att_not_use
#[value 20] = 1
#[address 21] = add_I
#[attribute 21] = att_not_use
#[value 21] = #0
#[address 22] = add_Q
#[attribute 22] = att_not_use
#[value 22] = #0
#[address 23] = add_C
#[attribute 23] = att_not_use
#[value 23] = #0
#[address 24] = add_E
#[attribute 24] = att_not_use
#[value 24] = #0
#[address 25] = add_A
#[attribute 25] = att_not_use
#[value 25] = 1
#[address 26] = add_M
#[attribute 26] = att_not_use
#[value 26] = 5
#[address 27] = add_N
#[attribute 27] = att_not_use
#[value 27] = 90
#[address 28] = add_M
#[attribute 28] = att_not_use
#[value 28] = 5
#[address 29] = add_R
#[attribute 29] = att_not_use
#[value 29] = 1
#[address 30] = add_X
#[attribute 30] = att_not_use
#[value 30] = 5
#[address 31] = add_Y
#[attribute 31] = att_not_use
#[value 31] = 90
#[address 32] = add_X
#[attribute 32] = att_not_use
#[value 32] = 5
#[address 33] = add_U
#[attribute 33] = att_not_use
#[value 33] = #0
#[address 34] = add_end
previous_cursor = 1
/* Previous cursor position clear
m99

-410-

B-63423EN/02

B-63423EN/02

9.3

SAMPLE PROGRAM

GUIDANCE DRAWING FIGURE

/****************************************************************************
/*
/* FIG7.SRC :: Pocket
/*
/***** 8681: Square
/***** 8682: Circle
/***** 8683: Track
/***** 8684: Groove
/***** 8685: Contour Pocket
/***** 8686: Contour Groove
/****************************************************************************
$INCLUDE SYMBOL.DEF
O8681 ;############################################### Square
/*** Guide Picture Setting ***/
if[guide_frequency ne secont_tine]goto 90
if[cursor le 12]then
if[cursor eq 2]then
call fig_clear
call 6152
else
if[previous_cursor gt 12 || previous_cursor eq 2]then
call fig_clear
endif
call 6151
endif
goto 1
endif
if[cursor eq 13]then
call fig_clear
call 6159
goto 1
endif
if[cursor eq 14]then
call fig_clear
call 6160
goto 1
endif
if[cursor eq 15]then
call fig_clear
call 6161
goto 1
endif
if[cursor le 24 || cursor eq 32]then
if[cursor eq 23]then
call fig_clear
call 6121
goto 1
endif
if[previous_cursor le 15 || previous_cursor gt 24 || previous_cursor eq 23]then
if[previous_cursor ne 2 || previous_cursor eq 23]then
call fig_clear
endif
endif
call 6152
else
if[previous_cursor eq 1 || previous_cursor lt 28]then
call fig_clear
endif
cursor = cursor - 25
if[#[value 27] eq 2]then
call 6158

-411-

9. USER PROGRAMS FOR POCKETING MENU

9. USER PROGRAMS FOR POCKETING MENU

SAMPLE PROGRAM

else
call 6157
endif
cursor = cursor + 25
endif
n1
previous_cursor = cursor
n90
/*** Attribution Setting ***/
if[#[value 1] eq 1]then
#[attribute 5] = att_decimal
#[attribute 6] = att_decimal
#[attribute 7] = att_decimal
#[attribute 8] = att_not_use
#[attribute 9] = att_new_page
#[attribute 10] = att_decimal
#[attribute 11] = att_decimal
#[attribute 12] = att_decimal
#[attribute 13] = att_not_use
#[attribute 14] = att_not_use
#[attribute 15] = att_not_use
#[attribute 16] = att_not_use
#[attribute 21] = att_character + att_detail
#[attribute 27] = att_not_use
#[attribute 29] = att_not_use
#[attribute 32] = att_not_use
endif
if[#[value 1] eq 2]then
#[attribute 5] = att_not_use
#[attribute 6] = att_decimal
#[attribute 7] = att_decimal
#[attribute 8] = att_not_use
#[attribute 9] = att_not_use
#[attribute 10] = att_decimal
#[attribute 11] = att_decimal
#[attribute 12] = att_decimal
#[attribute 13] = att_not_use
#[attribute 14] = att_not_use
#[attribute 15] = att_not_use
#[attribute 16] = att_new_page
#[attribute 21] = att_character + att_detail
#[attribute 27] = att_not_use
#[attribute 29] = att_not_use
#[attribute 32] = att_not_use
endif
if[#[value 1] eq 3]then
#[attribute 5] = att_decimal
#[attribute 6] = att_decimal
#[attribute 7] = att_not_use
#[attribute 8] = att_not_use
#[attribute 9] = att_not_use
#[attribute 10] = att_decimal
#[attribute 11] = att_not_use
#[attribute 12] = att_decimal
#[attribute 13] = att_not_use
#[attribute 14] = att_not_use
#[attribute 15] = att_not_use
#[attribute 16] = att_new_page
#[attribute 21] = att_character + att_detail
#[attribute 27] = att_not_use
#[attribute 29] = att_not_use
#[attribute 32] = att_decimal + att_detail
endif
if[#[value 1] eq 4]then
#[attribute 5] = att_not_use
#[attribute 6] = att_not_use

-412-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

#[attribute 7] = att_not_use
#[attribute 8] = att_decimal
#[attribute 9] = att_not_use
#[attribute 10] = att_decimal
#[attribute 11] = att_not_use
#[attribute 12] = att_decimal
#[attribute 13] = att_decimal
#[attribute 14] = att_decimal
#[attribute 15] = att_decimal
#[attribute 16] = att_not_use
#[attribute 21] = att_character + att_detail
#[attribute 27] = att_not_use
#[attribute 29] = att_not_use
#[attribute 32] = att_decimal + att_detail
endif
if[#[value 1] eq 5]then
#[attribute 5] = att_not_use
#[attribute 6] = att_not_use
#[attribute 7] = att_not_use
#[attribute 8] = att_not_use
#[attribute 9] = att_not_use
#[attribute 10] = att_decimal
#[attribute 11] = att_not_use
#[attribute 12] = att_not_use
#[attribute 13] = att_not_use
#[attribute 14] = att_not_use
#[attribute 15] = att_not_use
#[attribute 16] = att_new_page
#[attribute 21] = att_not_use
#[attribute 27] = att_character
if[#[value 27] eq 1]then
#[attribute 29] = att_not_use
else
#[attribute 29] = att_decimal
endif
#[attribute 32] = att_not_use
endif
m99

O8682 ;############################################### Circle


/*** Guide Picture Setting ***/
if[guide_frequency ne secont_tine]goto 90
if[cursor le 12]then
if[cursor eq 2]then
call fig_clear
call 6153
else
if[previous_cursor gt 12 || previous_cursor eq 2]then
call fig_clear
endif
call 6151
endif
goto 1
endif
if[cursor eq 13]then
call fig_clear
call 6159
goto 1
endif
if[cursor eq 14]then
call fig_clear
call 6160
goto 1
endif
if[cursor eq 15]then

-413-

9. USER PROGRAMS FOR POCKETING MENU

9. USER PROGRAMS FOR POCKETING MENU

SAMPLE PROGRAM

call fig_clear
call 6161
goto 1
endif
if[cursor le 21 || cursor eq 29]then
if[previous_cursor lt 17 || previous_cursor gt 21 || previous_cursor eq 20]then
if[previous_cursor ne 2 && previous_cursor ne 20 && previous_cursor ne 29]then
call fig_clear
endif
endif
call 6153
else
if[previous_cursor eq 1 || previous_cursor lt 25]then
call fig_clear
endif
cursor = cursor - 22
if[#[value 24] eq 2]then
call 6158
else
call 6157
endif
cursor = cursor + 22
endif
n1
previous_cursor = cursor
n90
/*** Attribution Setting ***/
if[#[value 1] eq 1]then
#[attribute 5] = att_decimal
#[attribute 6] = att_decimal
#[attribute 7] = att_decimal
#[attribute 8] = att_not_use
#[attribute 9] = att_new_page
#[attribute 10] = att_decimal
#[attribute 11] = att_decimal
#[attribute 12] = att_decimal
#[attribute 13] = att_not_use
#[attribute 14] = att_not_use
#[attribute 15] = att_not_use
#[attribute 16] = att_not_use
#[attribute 20] = att_character + att_detail
#[attribute 24] = att_not_use
#[attribute 26] = att_not_use
#[attribute 29] = att_not_use
endif
if[#[value 1] eq 2]then
#[attribute 5] = att_not_use
#[attribute 6] = att_decimal
#[attribute 7] = att_decimal
#[attribute 8] = att_not_use
#[attribute 9] = att_not_use
#[attribute 10] = att_decimal
#[attribute 11] = att_decimal
#[attribute 12] = att_decimal
#[attribute 13] = att_not_use
#[attribute 14] = att_not_use
#[attribute 15] = att_not_use
#[attribute 16] = att_new_page
#[attribute 20] = att_character + att_detail
#[attribute 24] = att_not_use
#[attribute 26] = att_not_use
#[attribute 29] = att_not_use
endif
if[#[value 1] eq 3]then
#[attribute 5] = att_decimal
#[attribute 6] = att_decimal

-414-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

#[attribute 7] = att_not_use
#[attribute 8] = att_not_use
#[attribute 9] = att_not_use
#[attribute 10] = att_decimal
#[attribute 11] = att_not_use
#[attribute 12] = att_decimal
#[attribute 13] = att_not_use
#[attribute 14] = att_not_use
#[attribute 15] = att_not_use
#[attribute 16] = att_new_page
#[attribute 20] = att_character + att_detail
#[attribute 24] = att_not_use
#[attribute 26] = att_not_use
#[attribute 29] = att_decimal + att_detail
endif
if[#[value 1] eq 4]then
#[attribute 5] = att_not_use
#[attribute 6] = att_not_use
#[attribute 7] = att_not_use
#[attribute 8] = att_decimal
#[attribute 9] = att_not_use
#[attribute 10] = att_decimal
#[attribute 11] = att_not_use
#[attribute 12] = att_decimal
#[attribute 13] = att_decimal
#[attribute 14] = att_decimal
#[attribute 15] = att_decimal
#[attribute 16] = att_not_use
#[attribute 20] = att_character + att_detail
#[attribute 24] = att_not_use
#[attribute 26] = att_not_use
#[attribute 29] = att_decimal + att_detail
endif
if[#[value 1] eq 5]then
#[attribute 5] = att_not_use
#[attribute 6] = att_not_use
#[attribute 7] = att_not_use
#[attribute 8] = att_not_use
#[attribute 9] = att_not_use
#[attribute 10] = att_decimal
#[attribute 11] = att_not_use
#[attribute 12] = att_not_use
#[attribute 13] = att_not_use
#[attribute 14] = att_not_use
#[attribute 15] = att_not_use
#[attribute 16] = att_new_page
#[attribute 20] = att_not_use
#[attribute 24] = att_character
if[#[value 24] eq 1]then
#[attribute 26] = att_not_use
else
#[attribute 26] = att_decimal
endif
#[attribute 29] = att_not_use
endif
m99

O8683 ;############################################### Track


/*** Guide Picture Setting ***/
if[guide_frequency ne secont_tine]goto 90
if[cursor le 12]then
if[cursor eq 2]then
call fig_clear
call 6154
else

-415-

9. USER PROGRAMS FOR POCKETING MENU

9. USER PROGRAMS FOR POCKETING MENU

SAMPLE PROGRAM

if[previous_cursor gt 12 || previous_cursor eq 2]then


call fig_clear
endif
call 6151
endif
goto 1
endif
if[cursor eq 13]then
call fig_clear
call 6159
goto 1
endif
if[cursor eq 14]then
call fig_clear
call 6160
goto 1
endif
if[cursor eq 15]then
call fig_clear
call 6161
goto 1
endif
if[cursor le 24 || cursor eq 31]then
if[cursor eq 22]then
call fig_clear
call 6121
goto 1
endif
if[previous_cursor lt 17 || previous_cursor gt 23 || previous_cursor eq 22]then
if[previous_cursor ne 2 || previous_cursor eq 22]then
call fig_clear
endif
endif
call 6154
else
if[previous_cursor eq 1 || previous_cursor lt 27]then
call fig_clear
endif
cursor = cursor - 24
if[#[value 26] eq 2]then
call 6158
else
call 6157
endif
cursor = cursor + 24
endif
n1
previous_cursor = cursor
n90
/*** Attribution Setting ***/
if[#[value 1] eq 1]then
#[attribute 5] = att_decimal
#[attribute 6] = att_decimal
#[attribute 7] = att_decimal
#[attribute 8] = att_not_use
#[attribute 9] = att_new_page
#[attribute 10] = att_decimal
#[attribute 11] = att_decimal
#[attribute 12] = att_decimal
#[attribute 13] = att_not_use
#[attribute 14] = att_not_use
#[attribute 15] = att_not_use
#[attribute 16] = att_not_use
#[attribute 21] = att_character + att_detail
#[attribute 26] = att_not_use
#[attribute 28] = att_not_use

-416-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

#[attribute 31] = att_not_use


endif
if[#[value 1] eq 2]then
#[attribute 5] = att_not_use
#[attribute 6] = att_decimal
#[attribute 7] = att_decimal
#[attribute 8] = att_not_use
#[attribute 9] = att_not_use
#[attribute 10] = att_decimal
#[attribute 11] = att_decimal
#[attribute 12] = att_decimal
#[attribute 13] = att_not_use
#[attribute 14] = att_not_use
#[attribute 15] = att_not_use
#[attribute 16] = att_new_page
#[attribute 21] = att_character + att_detail
#[attribute 26] = att_not_use
#[attribute 28] = att_not_use
#[attribute 31] = att_not_use
endif
if[#[value 1] eq 3]then
#[attribute 5] = att_decimal
#[attribute 6] = att_decimal
#[attribute 7] = att_not_use
#[attribute 8] = att_not_use
#[attribute 9] = att_not_use
#[attribute 10] = att_decimal
#[attribute 11] = att_not_use
#[attribute 12] = att_decimal
#[attribute 13] = att_not_use
#[attribute 14] = att_not_use
#[attribute 15] = att_not_use
#[attribute 16] = att_new_page
#[attribute 21] = att_character + att_detail
#[attribute 26] = att_not_use
#[attribute 28] = att_not_use
#[attribute 31] = att_decimal + att_detail
endif
if[#[value 1] eq 4]then
#[attribute 5] = att_not_use
#[attribute 6] = att_not_use
#[attribute 7] = att_not_use
#[attribute 8] = att_decimal
#[attribute 9] = att_not_use
#[attribute 10] = att_decimal
#[attribute 11] = att_not_use
#[attribute 12] = att_decimal
#[attribute 13] = att_decimal
#[attribute 14] = att_decimal
#[attribute 15] = att_decimal
#[attribute 16] = att_not_use
#[attribute 21] = att_character + att_detail
#[attribute 26] = att_not_use
#[attribute 28] = att_not_use
#[attribute 31] = att_decimal + att_detail
endif
if[#[value 1] eq 5]then
#[attribute 5] = att_not_use
#[attribute 6] = att_not_use
#[attribute 7] = att_not_use
#[attribute 8] = att_not_use
#[attribute 9] = att_not_use
#[attribute 10] = att_decimal
#[attribute 11] = att_not_use
#[attribute 12] = att_not_use
#[attribute 13] = att_not_use
#[attribute 14] = att_not_use

-417-

9. USER PROGRAMS FOR POCKETING MENU

9. USER PROGRAMS FOR POCKETING MENU

SAMPLE PROGRAM

#[attribute 15] = att_not_use


#[attribute 16] = att_new_page
#[attribute 21] = att_not_use
#[attribute 26] = att_character
if[#[value 26] eq 1]then
#[attribute 28] = att_not_use
else
#[attribute 28] = att_decimal
endif
#[attribute 31] = att_not_use
endif
m99

O8684 ;############################################### Groove


/*** Guide Picture Setting ***/
if[guide_frequency ne secont_tine]goto 90
if[cursor le 12]then
if[cursor eq 2]then
call fig_clear
call 6155
else
if[previous_cursor gt 12 || previous_cursor eq 2]then
call fig_clear
endif
call 6151
endif
goto 1
endif
if[cursor eq 13]then
call fig_clear
call 6159
goto 1
endif
if[cursor eq 14]then
call fig_clear
call 6160
goto 1
endif
if[cursor eq 15]then
call fig_clear
call 6161
goto 1
endif
if[cursor eq 22]then
call fig_clear
call 6121
else
if[previous_cursor lt 17 || previous_cursor eq 22]then
if[previous_cursor ne 2]then
call fig_clear
endif
endif
call 6155
endif
n1
previous_cursor = cursor
n90
/*** Attribution Setting ***/
if[#[value 1] eq 1]then
#[attribute 5] = att_decimal
#[attribute 6] = att_decimal
#[attribute 7] = att_decimal
#[attribute 8] = att_not_use
#[attribute 9] = att_new_page

-418-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

#[attribute 10] = att_decimal


#[attribute 11] = att_decimal
#[attribute 12] = att_not_use
#[attribute 13] = att_not_use
#[attribute 14] = att_not_use
#[attribute 15] = att_not_use
#[attribute 16] = att_not_use
endif
if[#[value 1] eq 2]then
#[attribute 5] = att_not_use
#[attribute 6] = att_decimal
#[attribute 7] = att_decimal
#[attribute 8] = att_not_use
#[attribute 9] = att_not_use
#[attribute 10] = att_decimal
#[attribute 11] = att_decimal
#[attribute 12] = att_not_use
#[attribute 13] = att_not_use
#[attribute 14] = att_not_use
#[attribute 15] = att_not_use
#[attribute 16] = att_new_page
endif
if[#[value 1] eq 3]then
#[attribute 5] = att_decimal
#[attribute 6] = att_decimal
#[attribute 7] = att_not_use
#[attribute 8] = att_not_use
#[attribute 9] = att_not_use
#[attribute 10] = att_decimal
#[attribute 11] = att_not_use
#[attribute 12] = att_not_use
#[attribute 13] = att_not_use
#[attribute 14] = att_not_use
#[attribute 15] = att_not_use
#[attribute 16] = att_new_page
endif
if[#[value 1] eq 4]then
#[attribute 5] = att_not_use
#[attribute 6] = att_not_use
#[attribute 7] = att_not_use
#[attribute 8] = att_decimal
#[attribute 9] = att_not_use
#[attribute 10] = att_decimal
#[attribute 11] = att_not_use
#[attribute 12] = att_not_use
#[attribute 13] = att_decimal
#[attribute 14] = att_decimal
#[attribute 15] = att_decimal
#[attribute 16] = att_new_page
endif
m99

O8685 ;############################################### Contour Pocket


/*** Guide Picture Setting ***/
if[guide_frequency ne secont_tine]goto 90
if[cursor le 14]then
if[previous_cursor gt 12 || previous_cursor eq 2]then
call fig_clear
endif
call 6151
goto 1
endif
if[cursor le 24]then
if[previous_cursor lt 21 || previous_cursor eq 33]then
call fig_clear

-419-

9. USER PROGRAMS FOR POCKETING MENU

9. USER PROGRAMS FOR POCKETING MENU

SAMPLE PROGRAM

endif
cursor = cursor - 18
if[#[value 20] eq 2]then
call 6158
else
call 6157
endif
cursor = cursor + 18
goto 1
endif
if[cursor eq 25 || cursor eq 29]then
call fig_clear
call 6140
endif
if[cursor eq 26 || cursor eq 27]then
if[previous_cursor ne 26 && previous_cursor ne 27]then
call fig_clear
endif
call 6141
endif
if[cursor eq 30 || cursor eq 31]then
if[previous_cursor ne 30 && previous_cursor ne 31]then
call fig_clear
endif
call 6141
endif
if[cursor eq 28]then
call fig_clear
if[#[value 25] eq 3]then
call 6143
else
call 6142
endif
endif
if[cursor eq 32]then
call fig_clear
if[#[value 29] eq 3]then
call 6143
else
call 6142
endif
endif
if[cursor eq 33]then
call fig_clear
call 6144
endif
n1
previous_cursor = cursor
n90
/*** Attribution Setting ***/
if[#[value 1] eq 1]then
#[attribute 5] = att_decimal
#[attribute 6] = att_decimal
#[attribute 7] = att_decimal
#[attribute 9] = att_new_page
#[attribute 10] = att_decimal
#[attribute 11] = att_decimal
#[attribute 12] = att_decimal
#[attribute 14] = att_character + att_detail
#[attribute 18] = att_not_use
#[attribute 19] = att_not_use
#[attribute 20] = att_not_use
#[attribute 22] = att_not_use
#[attribute 25] = att_not_use
#[attribute 26] = att_not_use
#[attribute 27] = att_not_use

-420-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

#[attribute 28] = att_not_use


#[attribute 29] = att_not_use
#[attribute 30] = att_not_use
#[attribute 31] = att_not_use
#[attribute 32] = att_not_use
endif
if[#[value 1] eq 2]then
#[attribute 5] = att_not_use
#[attribute 6] = att_decimal
#[attribute 7] = att_decimal
#[attribute 9] = att_not_use
#[attribute 10] = att_decimal
#[attribute 11] = att_decimal
#[attribute 12] = att_decimal
#[attribute 14] = att_character + att_detail
#[attribute 18] = att_not_use
#[attribute 19] = att_not_use
#[attribute 20] = att_not_use
#[attribute 22] = att_not_use
#[attribute 25] = att_not_use
#[attribute 26] = att_not_use
#[attribute 27] = att_not_use
#[attribute 28] = att_not_use
#[attribute 29] = att_not_use
#[attribute 30] = att_not_use
#[attribute 31] = att_not_use
#[attribute 32] = att_not_use
endif
if[#[value 1] eq 3]then
#[attribute 5] = att_not_use
#[attribute 6] = att_decimal
#[attribute 7] = att_not_use
#[attribute 9] = att_not_use
#[attribute 10] = att_decimal
#[attribute 11] = att_not_use
#[attribute 12] = att_decimal
#[attribute 14] = att_not_use
#[attribute 18] = att_not_use
#[attribute 19] = att_not_use
#[attribute 20] = att_not_use
#[attribute 22] = att_not_use
#[attribute 25] = att_character + att_detail
if[#[value 25] eq 1]then
#[attribute 26] = att_decimal + att_detail
#[attribute 27] = att_decimal + att_detail
#[attribute 28] = att_not_use
else
#[attribute 26] = att_not_use
#[attribute 27] = att_not_use
#[attribute 28] = att_decimal + att_detail
endif
#[attribute 29] = att_character + att_detail
if[#[value 29] eq 1]then
#[attribute 30] = att_decimal + att_detail
#[attribute 31] = att_decimal + att_detail
#[attribute 32] = att_not_use
else
#[attribute 30] = att_not_use
#[attribute 31] = att_not_use
#[attribute 32] = att_decimal + att_detail
endif
endif
if[#[value 1] eq 4]then
endif
if[#[value 1] eq 5]then
#[attribute 5] = att_not_use
#[attribute 6] = att_not_use

-421-

9. USER PROGRAMS FOR POCKETING MENU

9. USER PROGRAMS FOR POCKETING MENU

SAMPLE PROGRAM

#[attribute 7] = att_decimal
#[attribute 9] = att_not_use
#[attribute 10] = att_decimal
#[attribute 11] = att_decimal
#[attribute 12] = att_not_use
#[attribute 14] = att_character + att_detail
#[attribute 18] = att_new_page
#[attribute 19] = att_integer
#[attribute 20] = att_character
if[#[value 20] eq 1]then
#[attribute 22] = att_not_use
else
#[attribute 22] = att_decimal
endif
#[attribute 25] = att_not_use
#[attribute 26] = att_not_use
#[attribute 27] = att_not_use
#[attribute 28] = att_not_use
#[attribute 29] = att_not_use
#[attribute 30] = att_not_use
#[attribute 31] = att_not_use
#[attribute 32] = att_not_use
endif
m99

O8686 ;############################################### Contour Groove


/*** Guide Picture Setting ***/
if[guide_frequency ne secont_tine]goto 90
if[cursor le 14]then
if[previous_cursor gt 12 || previous_cursor eq 2]then
call fig_clear
endif
call 6156
goto 1
endif
if[cursor le 24]then
if[previous_cursor lt 21 || previous_cursor eq 33]then
call fig_clear
endif
cursor = cursor - 18
if[#[value 20] eq 2]then
call 6158
else
call 6157
endif
cursor = cursor + 18
goto 1
endif
if[cursor eq 25 || cursor eq 29]then
call fig_clear
call 6140
endif
if[cursor eq 26 || cursor eq 27]then
if[previous_cursor ne 26 && previous_cursor ne 27]then
call fig_clear
endif
call 6141
endif
if[cursor eq 30 || cursor eq 31]then
if[previous_cursor ne 30 && previous_cursor ne 31]then
call fig_clear
endif
call 6141
endif
if[cursor eq 28]then

-422-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

call fig_clear
if[#[value 25] eq 3]then
call 6143
else
call 6142
endif
endif
if[cursor eq 32]then
call fig_clear
if[#[value 29] eq 3]then
call 6143
else
call 6142
endif
endif
if[cursor eq 33]then
call fig_clear
call 6144
endif
n1
previous_cursor = cursor
n90
/*** Attribution Setting ***/
if[#[value 1] eq 1]then
#[attribute 5] = att_decimal
#[attribute 6] = att_decimal
#[attribute 7] = att_decimal
#[attribute 9] = att_new_page
#[attribute 10] = att_decimal
#[attribute 11] = att_decimal
#[attribute 12] = att_decimal
#[attribute 18] = att_not_use
#[attribute 19] = att_not_use
#[attribute 20] = att_not_use
#[attribute 22] = att_not_use
#[attribute 25] = att_not_use
#[attribute 26] = att_not_use
#[attribute 27] = att_not_use
#[attribute 28] = att_not_use
#[attribute 29] = att_not_use
#[attribute 30] = att_not_use
#[attribute 31] = att_not_use
#[attribute 32] = att_not_use
endif
if[#[value 1] eq 2]then
#[attribute 5] = att_not_use
#[attribute 6] = att_decimal
#[attribute 7] = att_decimal
#[attribute 9] = att_not_use
#[attribute 10] = att_decimal
#[attribute 11] = att_decimal
#[attribute 12] = att_decimal
#[attribute 18] = att_not_use
#[attribute 19] = att_not_use
#[attribute 20] = att_not_use
#[attribute 22] = att_not_use
#[attribute 25] = att_not_use
#[attribute 26] = att_not_use
#[attribute 27] = att_not_use
#[attribute 28] = att_not_use
#[attribute 29] = att_not_use
#[attribute 30] = att_not_use
#[attribute 31] = att_not_use
#[attribute 32] = att_not_use
endif
if[#[value 1] eq 3]then

-423-

9. USER PROGRAMS FOR POCKETING MENU

9. USER PROGRAMS FOR POCKETING MENU

SAMPLE PROGRAM

#[attribute 5] = att_not_use
#[attribute 6] = att_decimal
#[attribute 7] = att_not_use
#[attribute 9] = att_not_use
#[attribute 10] = att_decimal
#[attribute 11] = att_not_use
#[attribute 12] = att_decimal
#[attribute 18] = att_not_use
#[attribute 19] = att_not_use
#[attribute 20] = att_not_use
#[attribute 22] = att_not_use
#[attribute 25] = att_character + att_detail
if[#[value 25] eq 1]then
#[attribute 26] = att_decimal + att_detail
#[attribute 27] = att_decimal + att_detail
#[attribute 28] = att_not_use
else
#[attribute 26] = att_not_use
#[attribute 27] = att_not_use
#[attribute 28] = att_decimal + att_detail
endif
#[attribute 29] = att_character + att_detail
if[#[value 29] eq 1]then
#[attribute 30] = att_decimal + att_detail
#[attribute 31] = att_decimal + att_detail
#[attribute 32] = att_not_use
else
#[attribute 30] = att_not_use
#[attribute 31] = att_not_use
#[attribute 32] = att_decimal + att_detail
endif
endif
if[#[value 1] eq 4]then
endif
if[#[value 1] eq 5]then
#[attribute 5] = att_not_use
#[attribute 6] = att_not_use
#[attribute 7] = att_decimal
#[attribute 9] = att_not_use
#[attribute 10] = att_decimal
#[attribute 11] = att_decimal
#[attribute 12] = att_not_use
#[attribute 18] = att_new_page
#[attribute 19] = att_integer
#[attribute 20] = att_character
if[#[value 20] eq 1]then
#[attribute 22] = att_not_use
else
#[attribute 22] = att_decimal
endif
#[attribute 25] = att_not_use
#[attribute 26] = att_not_use
#[attribute 27] = att_not_use
#[attribute 28] = att_not_use
#[attribute 29] = att_not_use
#[attribute 30] = att_not_use
#[attribute 31] = att_not_use
#[attribute 32] = att_not_use
endif
m99

-424-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

/****************************************************************************
/*
/* FIGSUB7.SRC :: Pocket
/*
/***** 6151: Prepare
/***** 6152: Square
/***** 6153: Circle
/***** 6154: Track
/***** 6155: Groove
/***** 6156: Contour Groove
/***** 6157: G81 for Hole
/***** 6158: G83 for Hole
/***** 6159: Tool Small Dia.
/***** 6160: Chamfer Angle
/***** 6161: Tool Out Depth
/***** 6162: Tool Corner R
/****************************************************************************
$INCLUDE SYMBOL.DEF

O6151 ;############################################### Prepare


/* blue for Work
color blue
G242X[-23-shift_grap_X]Y[1+shift_grap_Y]
G01X[111-shift_grap_X]Y[1+shift_grap_Y]
G01X[111-shift_grap_X]Y[111+shift_grap_Y]
if[#[address 0] ne 234 && #[address 0] ne 235]then
G01X[98-shift_grap_X]Y[111+shift_grap_Y]
G01X[89-shift_grap_X]Y[102+shift_grap_Y]
else
G01X[89-shift_grap_X]Y[111+shift_grap_Y]
endif
G01X[89-shift_grap_X]Y[47+shift_grap_Y]
G01X[-1-shift_grap_X]Y[47+shift_grap_Y]
if[#[address 0] ne 234 && #[address 0] ne 235]then
G01X[-1-shift_grap_X]Y[102+shift_grap_Y]
G01X[-10-shift_grap_X]Y[111+shift_grap_Y]
else
G01X[-1-shift_grap_X]Y[111+shift_grap_Y]
endif
G01X[-23-shift_grap_X]Y[111+shift_grap_Y]
G01X[-23-shift_grap_X]Y[1+shift_grap_Y]
#1=50-shift_char_X
/* for H
#2=13-shift_char_Y
#3=1
call fig_character
G206P0X[0-shift_grap_X]Y[8+shift_grap_Y]
/* blue green for Finish
color sky_blue
if[#[address 0] ne 234 && #[address 0] ne 235]then
G242X[-9-shift_grap_X]Y[111+shift_grap_Y]
else
G242X[1-shift_grap_X]Y[111+shift_grap_Y]
endif
G01X[1-shift_grap_X]Y[102+shift_grap_Y]
G01X[1-shift_grap_X]Y[49+shift_grap_Y]
G01X[87-shift_grap_X]Y[49+shift_grap_Y]
if[#[address 0] ne 234 && #[address 0] ne 235]then
G01X[87-shift_grap_X]Y[102+shift_grap_Y]
G01X[97-shift_grap_X]Y[111+shift_grap_Y]
else
G01X[87-shift_grap_X]Y[111+shift_grap_Y]
endif
G01X[81-shift_grap_X]Y[111+shift_grap_Y]
G01X[81-shift_grap_X]Y[55+shift_grap_Y]

-425-

9. USER PROGRAMS FOR POCKETING MENU

9. USER PROGRAMS FOR POCKETING MENU

SAMPLE PROGRAM

G01X[7-shift_grap_X]Y[55+shift_grap_Y]
G01X[7-shift_grap_X]Y[111+shift_grap_Y]
if[#[address 0] ne 234 && #[address 0] ne 235]then
G01X[-9-shift_grap_X]Y[111+shift_grap_Y]
else
G01X[1-shift_grap_X]Y[111+shift_grap_Y]
endif
G206P0X[8-shift_grap_X]Y[50+shift_grap_Y]
/* white for Removal
color white
G242X[9-shift_grap_X]Y[111+shift_grap_Y]
G01X[9-shift_grap_X]Y[57+shift_grap_Y]
G01X[79-shift_grap_X]Y[57+shift_grap_Y]
G01X[79-shift_grap_X]Y[111+shift_grap_Y]
G01X[9-shift_grap_X]Y[111+shift_grap_Y]
G206P0X[50-shift_grap_X]Y[80+shift_grap_Y]
/* Edge Line
color sky_blue
/* blue green
if[#[address 0] ne 234 && #[address 0] ne 235]then
G242X[-11-shift_grap_X]Y[112+shift_grap_Y]
else
G242X[0-shift_grap_X]Y[112+shift_grap_Y]
endif
G01X[-24-shift_grap_X]Y[112+shift_grap_Y]
G01X[-24-shift_grap_X]Y[0+shift_grap_Y]
G01X[112-shift_grap_X]Y[0+shift_grap_Y]
G01X[112-shift_grap_X]Y[112+shift_grap_Y]
if[#[address 0] ne 234 && #[address 0] ne 235]then
G01X[99-shift_grap_X]Y[112+shift_grap_Y]
else
G01X[89-shift_grap_X]Y[112+shift_grap_Y]
endif
color purple
/* purple
G242X[0-shift_grap_X]Y[111+shift_grap_Y]
G01X[0-shift_grap_X]Y[48+shift_grap_Y]
G01X[88-shift_grap_X]Y[48+shift_grap_Y]
G01X[88-shift_grap_X]Y[111+shift_grap_Y]
G242X[8-shift_grap_X]Y[111+shift_grap_Y]
G01X[8-shift_grap_X]Y[56+shift_grap_Y]
G01X[80-shift_grap_X]Y[56+shift_grap_Y]
G01X[80-shift_grap_X]Y[111+shift_grap_Y]
if[#[address 0] ne 234 && #[address 0] ne 235]then
G242X[97-shift_grap_X]Y[112+shift_grap_Y] /* Upper
G01X[-9-shift_grap_X]Y[112+shift_grap_Y]
else
G242X[88-shift_grap_X]Y[112+shift_grap_Y] /* Upper
G01X[0-shift_grap_X]Y[112+shift_grap_Y]
endif
if[#[address 0] ne 234 && #[address 0] ne 235]then
G242X[-10-shift_grap_X]Y[112+shift_grap_Y] /* Slant
G01X[0-shift_grap_X]Y[102+shift_grap_Y]
G242X[98-shift_grap_X]Y[112+shift_grap_Y]
G01X[88-shift_grap_X]Y[102+shift_grap_Y]
endif
/* red for Path
color red
G242X[9-shift_grap_X]Y[93+shift_grap_Y]
G01X[79-shift_grap_X]Y[93+shift_grap_Y]
G242X[9-shift_grap_X]Y[74+shift_grap_Y]
G01X[79-shift_grap_X]Y[74+shift_grap_Y]
/* green Line
color green
if[#[address 0] ne 234 && #[address 0] ne 235]then

-426-

B-63423EN/02

SAMPLE PROGRAM

B-63423EN/02

G242X[88-shift_grap_X]Y[113+shift_grap_Y]
G01X[88-shift_grap_X]Y[120+shift_grap_Y]
G242X[98-shift_grap_X]Y[113+shift_grap_Y]
G01X[98-shift_grap_X]Y[120+shift_grap_Y]
#1=87-shift_grap_X
#2=117+shift_grap_Y
#3=77-shift_grap_X
#4=#2
#5=1
call fig_line
#1=99-shift_grap_X
#2=117+shift_grap_Y
#3=109-shift_grap_X
#4=#2
#5=1
call fig_line
endif
G242X[113-shift_grap_X]Y[112+shift_grap_Y]
G01X[136-shift_grap_X]Y[112+shift_grap_Y]
G242X[89-shift_grap_X]Y[48+shift_grap_Y]
G01X[136-shift_grap_X]Y[48+shift_grap_Y]
#1=134-shift_grap_X
#2=111+shift_grap_Y
#3=#1
#4=49+shift_grap_Y
#5=2
call fig_line
G242X[81-shift_grap_X]Y[93+shift_grap_Y]
G01X[120-shift_grap_X]Y[93+shift_grap_Y]
#1=116-shift_grap_X
#2=111+shift_grap_Y
#3=#1
#4=94+shift_grap_Y
#5=2
call fig_line
G242X[81-shift_grap_X]Y[56+shift_grap_Y]
G01X[120-shift_grap_X]Y[56+shift_grap_Y]
#1=116-shift_grap_X
#2=57+shift_grap_Y
#3=#1
#4=67+shift_grap_Y
#5=1
call fig_line
#1=116-shift_grap_X
#2=47+shift_grap_Y
#3=#1
#4=37+shift_grap_Y
#5=1
call fig_line
G242X[80-shift_grap_X]Y[55+shift_grap_Y]
G01X[80-shift_grap_X]Y[40+shift_grap_Y]
G242X[88-shift_grap_X]Y[47+shift_grap_Y]
G01X[88-shift_grap_X]Y[40+shift_grap_Y]
#1=89-shift_grap_X
#2=42+shift_grap_Y
#3=99-shift_grap_X
#4=#2
#5=1
call fig_line
#1=79-shift_grap_X
#2=42+shift_grap_Y
#3=69-shift_grap_X
#4=#2
#5=1
call fig_line

/* for C

/* for B

/* for J

/* for D

/* for H

/* Characters

-427-

9. USER PROGRAMS FOR POCKETING MENU

9. USER PROGRAMS FOR POCKETING MENU

SAMPLE PROGRAM

if[#[address 0] ne 234 && #[address 0] ne 235]then


#1=8
call fig_cursor
G243X[51-shift_char_X]Y[7-shift_char_Y](C)
endif
#1=4
call fig_cursor
G243X[57-shift_char_X]Y[10-shift_char_Y](B)
#1=5
call fig_cursor
G243X[55-shift_char_X]Y[9-shift_char_Y](J)
#1=6
call fig_cursor
G243X[55-shift_char_X]Y[11-shift_char_Y](H)
#1=3
call fig_cursor
G243X[57-shift_char_X]Y[12-shift_char_Y](Z)
if[cursor eq 7]then
color -white C blue L1
else
color white C blue L0
endif
G243X[50-shift_char_X]Y[13-shift_char_Y](D)
cursor_off
m99

O6152 ;############################################### Square


/* blue for Work
color blue
G242X[-23-shift_grap_X]Y[17+shift_grap_Y]
/* Outer
G01X[127-shift_grap_X]Y[17+shift_grap_Y]
G01X[127-shift_grap_X]Y[127+shift_grap_Y]
G01X[-23-shift_grap_X]Y[127+shift_grap_Y]
G01X[-23-shift_grap_X]Y[17+shift_grap_Y]
G242X[-8-shift_grap_X]Y[31+shift_grap_Y]
/* Inner
G01X[104-shift_grap_X]Y[31+shift_grap_Y]
G03X[113-shift_grap_X]Y[40+shift_grap_Y]I[104-shift_grap_X]J[40+shift_grap_Y]
G01X[113-shift_grap_X]Y[104+shift_grap_Y]
G03X[104-shift_grap_X]Y[113+shift_grap_Y]I[104-shift_grap_X]J[104+shift_grap_Y]
G01X[-8-shift_grap_X]Y[113+shift_grap_Y]
G03X[-17-shift_grap_X]Y[104+shift_grap_Y]I[-8-shift_grap_X]J[104+shift_grap_Y]
G01X[-17-shift_grap_X]Y[40+shift_grap_Y]
G03X[-8-shift_grap_X]Y[31+shift_grap_Y]I[-8-shift_grap_X]J[40+shift_grap_Y]
G206P0X[0-shift_grap_X]Y[24+shift_grap_Y]
/* green for Tool
color green
if[#[value 1] eq 3 || #[value 1] eq 4]then
G242X[1-shift_grap_X]Y[88 +shift_grap_Y] /* Start Tool
G02X[1-shift_grap_X]Y[88+shift_grap_Y]I[8-shift_grap_X]J[88+shift_grap_Y]Q4
G206P0X[8-shift_grap_X]Y[88+shift_grap_Y]
G242X[1-shift_grap_X]Y[56 +shift_grap_Y] /* End Tool
G02X[1-shift_grap_X]Y[56+shift_grap_Y]I[8-shift_grap_X]J[56+shift_grap_Y]Q4
G206P0X[8-shift_grap_X]Y[56+shift_grap_Y]
else
G242X[9-shift_grap_X]Y[72+shift_grap_Y] /* Start Tool
G02X[9-shift_grap_X]Y[72+shift_grap_Y]I[16-shift_grap_X]J[72+shift_grap_Y]Q4
G206P0X[16-shift_grap_X]Y[72+shift_grap_Y]
G242X[111-shift_grap_X]Y[72+shift_grap_Y] /* End Tool
G02X[111-shift_grap_X]Y[72+shift_grap_Y]I[104-shift_grap_X]J[72+shift_grap_Y]Q4
G206P0X[104-shift_grap_X]Y[72+shift_grap_Y]
endif
/* Edge Line
color sky_blue

/* for Work(blue green)

-428-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

G242X[-24-shift_grap_X]Y[16+shift_grap_Y]
G01X[128-shift_grap_X]Y[16+shift_grap_Y]
G01X[128-shift_grap_X]Y[128+shift_grap_Y]
G01X[-24-shift_grap_X]Y[128+shift_grap_Y]
G01X[-24-shift_grap_X]Y[16+shift_grap_Y]
G242X[-8-shift_grap_X]Y[32+shift_grap_Y]
G01X[104-shift_grap_X]Y[32+shift_grap_Y]
G03X[112-shift_grap_X]Y[40+shift_grap_Y]I[104-shift_grap_X]J[40+shift_grap_Y]
G01X[112-shift_grap_X]Y[104+shift_grap_Y]
G03X[104-shift_grap_X]Y[112+shift_grap_Y]I[104-shift_grap_X]J[104+shift_grap_Y]
G01X[-8-shift_grap_X]Y[112+shift_grap_Y]
G03X[-16-shift_grap_X]Y[104+shift_grap_Y]I[-8-shift_grap_X]J[104+shift_grap_Y]
G01X[-16-shift_grap_X]Y[40+shift_grap_Y]
G03X[-8-shift_grap_X]Y[32+shift_grap_Y]I[-8-shift_grap_X]J[40+shift_grap_Y]
color purple
/* for Tools(purple)
if[#[value 1] eq 3 || #[value 1] eq 4]then
G242X[0-shift_grap_X]Y[88+shift_grap_Y] /* Start Tool
G02X[0-shift_grap_X]Y[88+shift_grap_Y]I[8-shift_grap_X]J[88+shift_grap_Y]Q4
G242X[0-shift_grap_X]Y[56+shift_grap_Y] /* End Tool
G02X[0-shift_grap_X]Y[56+shift_grap_Y]I[8-shift_grap_X]J[56+shift_grap_Y]Q4
else
G242X[8-shift_grap_X]Y[72+shift_grap_Y] /* Start Tool
G02X[8-shift_grap_X]Y[72+shift_grap_Y]I[16-shift_grap_X]J[72+shift_grap_Y]Q4
G242X[112-shift_grap_X]Y[72+shift_grap_Y] /* End Tool
G02X[112-shift_grap_X]Y[72+shift_grap_Y]I[104-shift_grap_X]J[72+shift_grap_Y]Q4
endif
/* red for Path
color red
G242X[-4-shift_grap_X]Y[40+shift_grap_Y]
G01X[100-shift_grap_X]Y[40+shift_grap_Y]
G03X[104-shift_grap_X]Y[44+shift_grap_Y]I[100-shift_grap_X]J[44+shift_grap_Y]
G01X[104-shift_grap_X]Y[100+shift_grap_Y]
G03X[100-shift_grap_X]Y[104+shift_grap_Y]I[100-shift_grap_X]J[100+shift_grap_Y]
G01X[-4-shift_grap_X]Y[104+shift_grap_Y]
G03X[-8-shift_grap_X]Y[100+shift_grap_Y]I[-4-shift_grap_X]J[100+shift_grap_Y]
G01X[-8-shift_grap_X]Y[44+shift_grap_Y]
G03X[-4-shift_grap_X]Y[40+shift_grap_Y]I[-4-shift_grap_X]J[44+shift_grap_Y]
if[#[value 1] eq 3 || #[value 1] eq 4]then
#1=8-shift_grap_X
#2=88+shift_grap_Y
#3=8-shift_grap_X
#4=56+shift_grap_Y
#5=8-shift_grap_X
#6=72+shift_grap_Y
#7=0
call fig_ccw
else
G242X[12-shift_grap_X]Y[56+shift_grap_Y]
G01X[84-shift_grap_X]Y[56+shift_grap_Y]
G03X[88-shift_grap_X]Y[60+shift_grap_Y]I[84-shift_grap_X]J[60+shift_grap_Y]
G01X[88-shift_grap_X]Y[84+shift_grap_Y]
G03X[84-shift_grap_X]Y[88+shift_grap_Y]I[84-shift_grap_X]J[84+shift_grap_Y]
G01X[12-shift_grap_X]Y[88+shift_grap_Y]
G03X[8-shift_grap_X]Y[84+shift_grap_Y]I[12-shift_grap_X]J[84+shift_grap_Y]
G01X[8-shift_grap_X]Y[60+shift_grap_Y]
G03X[12-shift_grap_X]Y[56+shift_grap_Y]I[12-shift_grap_X]J[60+shift_grap_Y]
G242X[16-shift_grap_X]Y[72+shift_grap_Y]
G01X[103-shift_grap_X]Y[72+shift_grap_Y]
endif
/* green Line
color green
G242X[-16-shift_grap_X]Y[105+shift_grap_Y]
G01X[-16-shift_grap_X]Y[136+shift_grap_Y]
G242X[112-shift_grap_X]Y[105+shift_grap_Y]
G01X[112-shift_grap_X]Y[136+shift_grap_Y]

/* for U

-429-

9. USER PROGRAMS FOR POCKETING MENU

9. USER PROGRAMS FOR POCKETING MENU


#1=-15-shift_grap_X
#2=133+shift_grap_Y
#3=111-shift_grap_X
#4=#2
#5=2
call fig_line
G242X[105-shift_grap_X]Y[112+shift_grap_Y]
G01X[136-shift_grap_X]Y[112+shift_grap_Y]
G242X[105-shift_grap_X]Y[32+shift_grap_Y]
G01X[136-shift_grap_X]Y[32+shift_grap_Y]
#1=133-shift_grap_X
#2=111+shift_grap_Y
#3=#1
#4=33+shift_grap_Y
#5=2
call fig_line
G242X[96-shift_grap_X]Y[96+shift_grap_Y]
G01X[108-shift_grap_X]Y[108+shift_grap_Y]
/* yellow Cross Mark
color yellow
#1=48-shift_grap_X
#2=72+shift_grap_Y
call fig_mark

SAMPLE PROGRAM

/* for V

/* for R

/* (X,Y)

/* Characters
#1=17
call fig_cursor
G243X[45-shift_char_X]Y[11-shift_char_Y](X)
#1=18
call fig_cursor
G243X[47-shift_char_X]Y[11-shift_char_Y](Y)
#1=19
call fig_cursor
G243X[46-shift_char_X]Y[6-shift_char_Y](U)
#1=20
call fig_cursor
G243X[57-shift_char_X]Y[10-shift_char_Y](V)
#1=22
call fig_cursor
G243X[51-shift_char_X]Y[9-shift_char_Y](R)
cursor_off
G243X[44-shift_char_X]Y[11-shift_char_Y]('(')
G243X[46-shift_char_X]Y[11-shift_char_Y](',')
G243X[48-shift_char_X]Y[11-shift_char_Y](')')
m99

O6153 ;############################################### Circle


/* blue for Work
color blue
G242X[-23-shift_grap_X]Y[72+shift_grap_Y]
G02X[-23-shift_grap_X]Y[72+shift_grap_Y]I[56-shift_grap_X]J[72+shift_grap_Y]Q4
G242X[-1-shift_grap_X]Y[72+shift_grap_Y]
G02X[-1-shift_grap_X]Y[72+shift_grap_Y]I[56-shift_grap_X]J[72+shift_grap_Y]Q4
G206P0X[56-shift_grap_X]Y[0+shift_grap_Y]
/* green for Tool
color green
if[#[value 1] eq 3 || #[value 1] eq 4]then
G242X[17-shift_grap_X]Y[88+shift_grap_Y]
/* Start Tool
G02X[17-shift_grap_X]Y[88+shift_grap_Y]I[24-shift_grap_X]J[88+shift_grap_Y]Q4
G206P0X[24-shift_grap_X]Y[88+shift_grap_Y]
G242X[17-shift_grap_X]Y[56+shift_grap_Y]
/* End Tool
G02X[17-shift_grap_X]Y[56+shift_grap_Y]I[24-shift_grap_X]J[56+shift_grap_Y]Q4
G206P0X[24-shift_grap_X]Y[56+shift_grap_Y]

-430-

B-63423EN/02

SAMPLE PROGRAM

B-63423EN/02

else
G242X[49-shift_grap_X]Y[72+shift_grap_Y]
/* Start Tool
G02X[49-shift_grap_X]Y[72+shift_grap_Y]I[56-shift_grap_X]J[72+shift_grap_Y]Q4
G206P0X[56-shift_grap_X]Y[72+shift_grap_Y]
G242X[97-shift_grap_X]Y[72+shift_grap_Y]
/* End Tool
G02X[97-shift_grap_X]Y[72+shift_grap_Y]I[104-shift_grap_X]J[72+shift_grap_Y]Q4
G206P0X[104-shift_grap_X]Y[72+shift_grap_Y]
endif
/* Edge Line
color sky_blue
/* for Work(blue green)
G242X[-24-shift_grap_X]Y[72+shift_grap_Y]
G02X[-24-shift_grap_X]Y[72+shift_grap_Y]I[56-shift_grap_X]J[72+shift_grap_Y]Q4
G242X[0-shift_grap_X]Y[72+shift_grap_Y]
G02X[0-shift_grap_X]Y[72+shift_grap_Y]I[56-shift_grap_X]J[72+shift_grap_Y]Q4
color purple
/* for Tools(purple)
if[#[value 1] eq 3 || #[value 1] eq 4]then
G242X[16-shift_grap_X]Y[88+shift_grap_Y]
/* Start Tool
G02X[16-shift_grap_X]Y[88+shift_grap_Y]I[24-shift_grap_X]J[88+shift_grap_Y]Q4
G242X[16-shift_grap_X]Y[56+shift_grap_Y]
/* End Tool
G02X[16-shift_grap_X]Y[56+shift_grap_Y]I[24-shift_grap_X]J[56+shift_grap_Y]Q4
else
G242X[48-shift_grap_X]Y[72+shift_grap_Y]
/* Start Tool
G02X[48-shift_grap_X]Y[72+shift_grap_Y]I[56-shift_grap_X]J[72+shift_grap_Y]Q4
G242X[96-shift_grap_X]Y[72+shift_grap_Y]
/* End Tool
G02X[96-shift_grap_X]Y[72+shift_grap_Y]I[104-shift_grap_X]J[72+shift_grap_Y]Q4
endif
/* red for Path
color red
G242X[8-shift_grap_X]Y[72+shift_grap_Y]
G02X[8-shift_grap_X]Y[72+shift_grap_Y]I[56-shift_grap_X]J[72+shift_grap_Y]Q4
if[#[value 1] eq 3 || #[value 1] eq 4]then
#1=24-shift_grap_X
#2=88+shift_grap_Y
#3=24-shift_grap_X
#4=56+shift_grap_Y
#5=24-shift_grap_X
#6=72+shift_grap_Y
#7=0
call fig_ccw
else
G242X[24-shift_grap_X]Y[72+shift_grap_Y]
G02X[24-shift_grap_X]Y[72+shift_grap_Y]I[56-shift_grap_X]J[72+shift_grap_Y]Q4
G242X[40-shift_grap_X]Y[72+shift_grap_Y]
G02X[40-shift_grap_X]Y[72+shift_grap_Y]I[56-shift_grap_X]J[72+shift_grap_Y]Q4
G242X[57-shift_grap_X]Y[72+shift_grap_Y]
G01X[103-shift_grap_X]Y[72+shift_grap_Y]
endif
/* green Line
color green
#1=56-shift_grap_X
#2=72+shift_grap_Y
#3=16.402-shift_grap_X
#4=32.402+shift_grap_Y
#5=0
call fig_line

/* for R

/* yellow Cross Mark


color yellow
#1=56-shift_grap_X
#2=72+shift_grap_Y
call fig_mark
/* Characters
#1=17

-431-

9. USER PROGRAMS FOR POCKETING MENU

9. USER PROGRAMS FOR POCKETING MENU

SAMPLE PROGRAM

call fig_cursor
G243X[46-shift_char_X]Y[11-shift_char_Y](X)
#1=18
call fig_cursor
G243X[48-shift_char_X]Y[11-shift_char_Y](Y)
#1=19
call fig_cursor
G243X[45-shift_char_X]Y[12-shift_char_Y](R)
cursor_off
G243X[45-shift_char_X]Y[11-shift_char_Y]('(')
G243X[47-shift_char_X]Y[11-shift_char_Y](',')
G243X[49-shift_char_X]Y[11-shift_char_Y](')')
m99

O6154 ;############################################### Track


/* blue for Work
color blue
G242X[-31-shift_grap_X]Y[9+shift_grap_Y]
G01X[151-shift_grap_X]Y[9+shift_grap_Y]
G01X[151-shift_grap_X]Y[135+shift_grap_Y]
G01X[-31-shift_grap_X]Y[135+shift_grap_Y]
G01X[-31-shift_grap_X]Y[9+shift_grap_Y]
G242X[24-shift_grap_X]Y[31+shift_grap_Y]
G01X[96-shift_grap_X]Y[31+shift_grap_Y]
G03X[96-shift_grap_X]Y[113+shift_grap_Y]I[96-shift_grap_X]J[72+shift_grap_Y]
G01X[24-shift_grap_X]Y[113+shift_grap_Y]
G03X[24-shift_grap_X]Y[31+shift_grap_Y]I[24-shift_grap_X]J[72+shift_grap_Y]
G206P0X[0-shift_grap_X]Y[24+shift_grap_Y]
/* green for Tool
color green
if[#[value 1] eq 3 || #[value 1] eq 4]then
G242X[1-shift_grap_X]Y[88+shift_grap_Y] /* Start Tool
G02X[1-shift_grap_X]Y[88+shift_grap_Y]I[8-shift_grap_X]J[88+shift_grap_Y]Q4
G206P0X[8-shift_grap_X]Y[88+shift_grap_Y]
G242X[1-shift_grap_X]Y[56+shift_grap_Y] /* End Tool
G02X[1-shift_grap_X]Y[56+shift_grap_Y]I[8-shift_grap_X]J[56+shift_grap_Y]Q4
G206P0X[8-shift_grap_X]Y[56+shift_grap_Y]
else
G242X[17-shift_grap_X]Y[72+shift_grap_Y] /* Start Tool
G02X[17-shift_grap_X]Y[72+shift_grap_Y]I[24-shift_grap_X]J[72+shift_grap_Y]Q4
G206P0X[24-shift_grap_X]Y[72+shift_grap_Y]
G242X[121-shift_grap_X]Y[72+shift_grap_Y] /* End Tool
G02X[121-shift_grap_X]Y[72+shift_grap_Y]I[128-shift_grap_X]J[72+shift_grap_Y]Q4
G206P0X[128-shift_grap_X]Y[72+shift_grap_Y]
endif
/* Edge Line
color sky_blue
/* for Work(blue green)
G242X[-32-shift_grap_X]Y[8+shift_grap_Y]
G01X[152-shift_grap_X]Y[8+shift_grap_Y]
G01X[152-shift_grap_X]Y[136+shift_grap_Y]
G01X[-32-shift_grap_X]Y[136+shift_grap_Y]
G01X[-32-shift_grap_X]Y[8+shift_grap_Y]
G242X[24-shift_grap_X]Y[32+shift_grap_Y]
G01X[96-shift_grap_X]Y[32+shift_grap_Y]
G03X[96-shift_grap_X]Y[112+shift_grap_Y]I[96-shift_grap_X]J[72+shift_grap_Y]
G01X[24-shift_grap_X]Y[112+shift_grap_Y]
G03X[24-shift_grap_X]Y[32+shift_grap_Y]I[24-shift_grap_X]J[72+shift_grap_Y]
color purple
/* for Tools(purple)
if[#[value 1] eq 3 || #[value 1] eq 4]then
G242X[0-shift_grap_X]Y[88+shift_grap_Y] /* Start Tool
G02X[0-shift_grap_X]Y[88+shift_grap_Y]I[8-shift_grap_X]J[88+shift_grap_Y]Q4
G242X[0-shift_grap_X]Y[56+shift_grap_Y] /* End Tool
G02X[0-shift_grap_X]Y[56+shift_grap_Y]I[8-shift_grap_X]J[56+shift_grap_Y]Q4

-432-

B-63423EN/02

SAMPLE PROGRAM

B-63423EN/02

else
G242X[16-shift_grap_X]Y[72+shift_grap_Y] /* Start Tool
G02X[16-shift_grap_X]Y[72+shift_grap_Y]I[24-shift_grap_X]J[72+shift_grap_Y]Q4
G242X[120-shift_grap_X]Y[72+shift_grap_Y] /* End Tool
G02X[120-shift_grap_X]Y[72+shift_grap_Y]I[128-shift_grap_X]J[72+shift_grap_Y]Q4
endif
/* red for Path
color red
G242X[24-shift_grap_X]Y[40+shift_grap_Y]
G01X[96-shift_grap_X]Y[40+shift_grap_Y]
G03X[96-shift_grap_X]Y[104+shift_grap_Y]I[96-shift_grap_X]J[72+shift_grap_Y]
G01X[24-shift_grap_X]Y[104+shift_grap_Y]
G03X[24-shift_grap_X]Y[40+shift_grap_Y]I[24-shift_grap_X]J[72+shift_grap_Y]
if[#[value 1] eq 3 || #[value 1] eq 4]then
#1=8-shift_grap_X
#2=88+shift_grap_Y
#3=8-shift_grap_X
#4=56+shift_grap_Y
#5=8-shift_grap_X
#6=72+shift_grap_Y
#7=0
call fig_ccw
else
G242X[24-shift_grap_X]Y[56+shift_grap_Y]
G01X[96-shift_grap_X]Y[56+shift_grap_Y]
G03X[96-shift_grap_X]Y[88+shift_grap_Y]I[96-shift_grap_X]J[72+shift_grap_Y]
G01X[24-shift_grap_X]Y[88+shift_grap_Y]
G03X[24-shift_grap_X]Y[56+shift_grap_Y]I[24-shift_grap_X]J[72+shift_grap_Y]
G242X[25-shift_grap_X]Y[72+shift_grap_Y]
G01X[127-shift_grap_X]Y[72+shift_grap_Y]
endif
/* green Line
color green
#1=97-shift_grap_X
/* for R
#2=73+shift_grap_Y
#3=124.2843-shift_grap_X
#4=100.2843+shift_grap_Y
#5=0
call fig_line
G242X[24-shift_grap_X]Y[73+shift_grap_Y]
G01X[24-shift_grap_X]Y[152+shift_grap_Y]
G242X[96-shift_grap_X]Y[73+shift_grap_Y]
G01X[96-shift_grap_X]Y[152+shift_grap_Y]
#1=25-shift_grap_X
#2=148+shift_grap_Y
#3=95-shift_grap_X
#4=#2
#5=2
call fig_line

/* for U

/* yellow Cross Mark


color yellow
#1=24-shift_grap_X
#2=72+shift_grap_Y
call fig_mark
/* Characters
#1=17
call fig_cursor
G243X[42-shift_char_X]Y[10-shift_char_Y](X)
#1=18
call fig_cursor
G243X[44-shift_char_X]Y[10-shift_char_Y](Y)
#1=19
call fig_cursor

-433-

9. USER PROGRAMS FOR POCKETING MENU

9. USER PROGRAMS FOR POCKETING MENU

SAMPLE PROGRAM

G243X[47-shift_char_X]Y[5-shift_char_Y](U)
#1=20
call fig_cursor
G243X[53-shift_char_X]Y[9-shift_char_Y](R)
cursor_off
G243X[41-shift_char_X]Y[10-shift_char_Y]('(')
G243X[43-shift_char_X]Y[10-shift_char_Y](',')
G243X[45-shift_char_X]Y[10-shift_char_Y](')')
m99

O6155 ;############################################### Groove


/* blue for Work
color blue
G242X[9-shift_grap_X]Y[25+shift_grap_Y]
G01X[87-shift_grap_X]Y[25+shift_grap_Y]
G01X[87-shift_grap_X]Y[47+shift_grap_Y]
G01X[9-shift_grap_X]Y[47+shift_grap_Y]
G01X[9-shift_grap_X]Y[25+shift_grap_Y]
G206P0X[48-shift_grap_X]Y[30+shift_grap_Y]
G242X[9-shift_grap_X]Y[97+shift_grap_Y]
G01X[87-shift_grap_X]Y[97+shift_grap_Y]
G01X[87-shift_grap_X]Y[119+shift_grap_Y]
G01X[9-shift_grap_X]Y[119+shift_grap_Y]
G01X[9-shift_grap_X]Y[97+shift_grap_Y]
G206P0X[48-shift_grap_X]Y[100+shift_grap_Y]
/* green for Tool
color green
G242X[-1-shift_grap_X]Y[80+shift_grap_Y]
/* (1)
G02X[-1-shift_grap_X]Y[80+shift_grap_Y]I[-8-shift_grap_X]J[80+shift_grap_Y]
G206P0X[-8-shift_grap_X]Y[80+shift_grap_Y]
G242X[97-shift_grap_X]Y[80+shift_grap_Y]
/* (2)
G02X[97-shift_grap_X]Y[80+shift_grap_Y]I[104-shift_grap_X]J[80+shift_grap_Y]
G206P0X[104-shift_grap_X]Y[80+shift_grap_Y]
/* Edge Line
color sky_blue
/* for Work(blue green)
G242X[8-shift_grap_X]Y[24+shift_grap_Y]
G01X[88-shift_grap_X]Y[24+shift_grap_Y]
G01X[88-shift_grap_X]Y[48+shift_grap_Y]
G01X[8-shift_grap_X]Y[48+shift_grap_Y]
G01X[8-shift_grap_X]Y[24+shift_grap_Y]
G242X[8-shift_grap_X]Y[96+shift_grap_Y]
G01X[88-shift_grap_X]Y[96+shift_grap_Y]
G01X[88-shift_grap_X]Y[120+shift_grap_Y]
G01X[8-shift_grap_X]Y[120+shift_grap_Y]
G01X[8-shift_grap_X]Y[96+shift_grap_Y]
G242X[8-shift_grap_X]Y[49+shift_grap_Y]
G01X[8-shift_grap_X]Y[95+shift_grap_Y]
G242X[88-shift_grap_X]Y[49+shift_grap_Y]
G01X[88-shift_grap_X]Y[95+shift_grap_Y]
color purple /* for Tools(purple)
G242X[0-shift_grap_X]Y[80+shift_grap_Y]
/* (1)
G02X[0-shift_grap_X]Y[80+shift_grap_Y]I[-8-shift_grap_X]J[80+shift_grap_Y]
G242X[96-shift_grap_X]Y[80+shift_grap_Y]
/* (2)
G02X[96-shift_grap_X]Y[80+shift_grap_Y]I[104-shift_grap_X]J[80+shift_grap_Y]
/* red for Path
color red
G242X[-7-shift_grap_X]Y[88+shift_grap_Y]
G01X[103-shift_grap_X]Y[88+shift_grap_Y]
G242X[-7-shift_grap_X]Y[80+shift_grap_Y]
G01X[103-shift_grap_X]Y[80+shift_grap_Y]
G242X[-7-shift_grap_X]Y[64+shift_grap_Y]

-434-

B-63423EN/02

SAMPLE PROGRAM

B-63423EN/02

G01X[103-shift_grap_X]Y[64+shift_grap_Y]
G242X[-7-shift_grap_X]Y[56+shift_grap_Y]
G01X[103-shift_grap_X]Y[56+shift_grap_Y]
#1=30-shift_grap_X
#2=88+shift_grap_Y
#3=29-shift_grap_X
#4=#2
#5=1
call fig_line
#1=30-shift_grap_X
#2=80+shift_grap_Y
#3=29-shift_grap_X
#4=#2
#5=1
call fig_line
#1=24-shift_grap_X
#2=64+shift_grap_Y
#3=25-shift_grap_X
#4=#2
#5=1
call fig_line
#1=24-shift_grap_X
#2=56+shift_grap_Y
#3=25-shift_grap_X
#4=#2
#5=1
call fig_line
G244P1
G242X[-8-shift_grap_X]Y[88+shift_grap_Y]
G01X[-8-shift_grap_X]Y[56+shift_grap_Y]
G242X[104-shift_grap_X]Y[88+shift_grap_Y]
G01X[104-shift_grap_X]Y[56+shift_grap_Y]
G244P0
/* green Line
color green
G242X[8-shift_grap_X]Y[121+shift_grap_Y]
G01X[8-shift_grap_X]Y[136+shift_grap_Y]
G242X[88-shift_grap_X]Y[121+shift_grap_Y]
G01X[88-shift_grap_X]Y[136+shift_grap_Y]
#1=9-shift_grap_X
#2=132+shift_grap_Y
#3=87-shift_grap_X
#4=#2
#5=2
call fig_line
G242X[0-shift_grap_X]Y[83+shift_grap_Y]
G01X[0-shift_grap_X]Y[104+shift_grap_Y]
#1=9-shift_grap_X
#2=100+shift_grap_Y
#3=19-shift_grap_X
#4=#2
#5=1
call fig_line
#1=-1-shift_grap_X
#2=100+shift_grap_Y
#3=-11-shift_grap_X
#4=#2
#5=1
call fig_line
G242X[96-shift_grap_X]Y[83+shift_grap_Y]
G01X[96-shift_grap_X]Y[104+shift_grap_Y]
#1=97-shift_grap_X
#2=100+shift_grap_Y
#3=107-shift_grap_X
#4=#2
#5=1

/* for U

/* for K

/* for M

-435-

9. USER PROGRAMS FOR POCKETING MENU

9. USER PROGRAMS FOR POCKETING MENU

SAMPLE PROGRAM

call fig_line
#1=87-shift_grap_X
#2=100+shift_grap_Y
#3=77-shift_grap_X
#4=#2
#5=1
call fig_line
G242X[89-shift_grap_X]Y[48+shift_grap_Y]
/* for V
G01X[120-shift_grap_X]Y[48+shift_grap_Y]
G242X[89-shift_grap_X]Y[96+shift_grap_Y]
G01X[120-shift_grap_X]Y[96+shift_grap_Y]
#1=116-shift_grap_X
#2=95+shift_grap_Y
#3=#1
#4=49+shift_grap_Y
#5=2
call fig_line
#1=-9-shift_grap_X
/* for (1)
#2=64+shift_grap_Y
#3=-19-shift_grap_X
#4=#2
#5=1
call fig_line
#1=120-shift_grap_X
/* for (2)
#2=64+shift_grap_Y
#3=130-shift_grap_X
#4=#2
#5=1
call fig_line
/* yellow Cross Mark
color yellow
#1=48-shift_grap_X
#2=72+shift_grap_Y
call fig_mark
/* Characters
#1=17
call fig_cursor
G243X[45-shift_char_X]Y[11-shift_char_Y](X)
#1=18
call fig_cursor
G243X[47-shift_char_X]Y[11-shift_char_Y](Y)
#1=19
call fig_cursor
G243X[45-shift_char_X]Y[6-shift_char_Y](U)
#1=20
call fig_cursor
G243X[55-shift_char_X]Y[10-shift_char_Y](V)
#1=24
call fig_cursor
G243X[39-shift_char_X]Y[8-shift_char_Y](K)
#1=25
call fig_cursor
G243X[52-shift_char_X]Y[8-shift_char_Y](M)
cursor_off
G243X[44-shift_char_X]Y[11-shift_char_Y]('(')
G243X[46-shift_char_X]Y[11-shift_char_Y](',')
G243X[48-shift_char_X]Y[11-shift_char_Y](')')
G243X[35-shift_char_X]Y[11-shift_char_Y]('(1)')
G243X[56-shift_char_X]Y[11-shift_char_Y]('(2)')
m99

O6156 ;############################################### Groove


/* blue for Work

-436-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

color blue
G242X[-23-shift_grap_X]Y[9+shift_grap_Y]
G01X[111-shift_grap_X]Y[9+shift_grap_Y]
G01X[111-shift_grap_X]Y[103+shift_grap_Y]
G01X[97-shift_grap_X]Y[103+shift_grap_Y]
G01X[97-shift_grap_X]Y[39+shift_grap_Y]
G01X[23-shift_grap_X]Y[39+shift_grap_Y]
G01X[23-shift_grap_X]Y[103+shift_grap_Y]
G01X[-23-shift_grap_X]Y[103+shift_grap_Y]
G01X[-23-shift_grap_X]Y[9+shift_grap_Y]
G206P0X[0-shift_grap_X]Y[50+shift_grap_Y]
/* blue green for Finish
color sky_blue
G242X[25-shift_grap_X]Y[103+shift_grap_Y]
G01X[25-shift_grap_X]Y[41+shift_grap_Y]
G01X[95-shift_grap_X]Y[41+shift_grap_Y]
G01X[95-shift_grap_X]Y[103+shift_grap_Y]
G01X[89-shift_grap_X]Y[103+shift_grap_Y]
G01X[89-shift_grap_X]Y[47+shift_grap_Y]
G01X[31-shift_grap_X]Y[47+shift_grap_Y]
G01X[31-shift_grap_X]Y[103+shift_grap_Y]
G01X[25-shift_grap_X]Y[103+shift_grap_Y]
G206P0X[28-shift_grap_X]Y[44+shift_grap_Y]
/* white for Removal
color white
G242X[33-shift_grap_X]Y[103+shift_grap_Y]
G01X[33-shift_grap_X]Y[49+shift_grap_Y]
G01X[87-shift_grap_X]Y[49+shift_grap_Y]
G01X[87-shift_grap_X]Y[103+shift_grap_Y]
G01X[33-shift_grap_X]Y[103+shift_grap_Y]
G206P0X[50-shift_grap_X]Y[75+shift_grap_Y]
/* Edge Line
color sky_blue
/* blue green
G242X[23-shift_grap_X]Y[104+shift_grap_Y]
G01X[-24-shift_grap_X]Y[104+shift_grap_Y]
G01X[-24-shift_grap_X]Y[8+shift_grap_Y]
G01X[112-shift_grap_X]Y[8+shift_grap_Y]
G01X[112-shift_grap_X]Y[104+shift_grap_Y]
G01X[97-shift_grap_X]Y[104+shift_grap_Y]
color purple
/* purple
G242X[24-shift_grap_X]Y[104+shift_grap_Y]
G01X[24-shift_grap_X]Y[40+shift_grap_Y]
G01X[96-shift_grap_X]Y[40+shift_grap_Y]
G01X[96-shift_grap_X]Y[104+shift_grap_Y]
G01X[24-shift_grap_X]Y[104+shift_grap_Y]
G242X[32-shift_grap_X]Y[103+shift_grap_Y]
G01X[32-shift_grap_X]Y[48+shift_grap_Y]
G01X[88-shift_grap_X]Y[48+shift_grap_Y]
G01X[88-shift_grap_X]Y[103+shift_grap_Y]
/* red for Path
color red
G242X[33-shift_grap_X]Y[88+shift_grap_Y]
G01X[87-shift_grap_X]Y[88+shift_grap_Y]
G242X[33-shift_grap_X]Y[72+shift_grap_Y]
G01X[87-shift_grap_X]Y[72+shift_grap_Y]
G242X[33-shift_grap_X]Y[56+shift_grap_Y]
G01X[87-shift_grap_X]Y[56+shift_grap_Y]
/* green Line
color green
G242X[24-shift_grap_X]Y[105+shift_grap_Y]
G01X[24-shift_grap_X]Y[136+shift_grap_Y]
G242X[96-shift_grap_X]Y[105+shift_grap_Y]

/* for V

-437-

9. USER PROGRAMS FOR POCKETING MENU

9. USER PROGRAMS FOR POCKETING MENU


G01X[96-shift_grap_X]Y[136+shift_grap_Y]
#1=25-shift_grap_X
#2=128+shift_grap_Y
#3=95-shift_grap_X
#4=#2
#5=2
call fig_line
G242X[88-shift_grap_X]Y[105+shift_grap_Y]
G01X[88-shift_grap_X]Y[120+shift_grap_Y]
#1=87-shift_grap_X
#2=112+shift_grap_Y
#3=77-shift_grap_X
#4=#2
#5=1
call fig_line
#1=97-shift_grap_X
#2=112+shift_grap_Y
#3=107-shift_grap_X
#4=#2
#5=1
call fig_line
G242X[113-shift_grap_X]Y[104+shift_grap_Y]
G01X[144-shift_grap_X]Y[104+shift_grap_Y]
G242X[97-shift_grap_X]Y[40+shift_grap_Y]
G01X[144-shift_grap_X]Y[40+shift_grap_Y]
#1=136-shift_grap_X
#2=103+shift_grap_Y
#3=#1
#4=41+shift_grap_Y
#5=2
call fig_line
G242X[89-shift_grap_X]Y[88+shift_grap_Y]
G01X[120-shift_grap_X]Y[88+shift_grap_Y]
#1=117-shift_grap_X
#2=103+shift_grap_Y
#3=#1
#4=89+shift_grap_Y
#5=2
call fig_line
G242X[89-shift_grap_X]Y[48+shift_grap_Y]
G01X[120-shift_grap_X]Y[48+shift_grap_Y]
#1=117-shift_grap_X
#2=49+shift_grap_Y
#3=#1
#4=59+shift_grap_Y
#5=1
call fig_line
#1=117-shift_grap_X
#2=39+shift_grap_Y
#3=#1
#4=29+shift_grap_Y
#5=1
call fig_line

SAMPLE PROGRAM

/* for D

/* for B

/* for J

/* for H

/* Characters
#1=3
call fig_cursor
G243X[58-shift_char_X]Y[12-shift_char_Y](Z)
#1=4
call fig_cursor
G243X[58-shift_char_X]Y[10-shift_char_Y](B)
#1=5
call fig_cursor
G243X[55-shift_char_X]Y[9-shift_char_Y](J)
#1=6
call fig_cursor
G243X[55-shift_char_X]Y[12-shift_char_Y](H)

-438-

B-63423EN/02

SAMPLE PROGRAM

B-63423EN/02

#1=7
call fig_cursor
G243X[49-shift_char_X]Y[8-shift_char_Y](D)
#1=14
call fig_cursor
G243X[47-shift_char_X]Y[6-shift_char_Y](V)
cursor_off
m99

O6157 ;############################################### G81 for Hole


/* Work
color blue
/* blue for Inner
G242X[-23-shift_grap_X]Y[-23+shift_grap_Y]
G01X[143-shift_grap_X]Y[-23+shift_grap_Y]
G01X[143-shift_grap_X]Y[71+shift_grap_Y]
G01X[-23-shift_grap_X]Y[71+shift_grap_Y]
G01X[-23-shift_grap_X]Y[-23+shift_grap_Y]
G206P0X[0-shift_grap_X]Y[0+shift_grap_Y]
color sky_blue
/* blue green for Edge
G242X[-24-shift_grap_X]Y[-24+shift_grap_Y]
G01X[144-shift_grap_X]Y[-24+shift_grap_Y]
G01X[144-shift_grap_X]Y[72+shift_grap_Y]
G01X[-24-shift_grap_X]Y[72+shift_grap_Y]
G01X[-24-shift_grap_X]Y[-24+shift_grap_Y]
/* Tool
#20=24-shift_grap_X
#21=123+shift_grap_Y
color green
G242X[#20]Y[#21+1]
G01X[#20-7]Y[#21+5]
G01X[#20-7]Y[#21+20]
G01X[#20+7]Y[#21+20]
G01X[#20+7]Y[#21+5]
G01X[#20]Y[#21+1]
G206P0X[#20]Y[#21+5]
color purple
G242X[#20]Y[#21]
G01X[#20-8]Y[#21+5]
G01X[#20-8]Y[#21+21]
G01X[#20+8]Y[#21+21]
G01X[#20+8]Y[#21+5]
G01X[#20]Y[#21]

/* X coordinate of Top of Tool


/* Y coordinate of Top of Tool
/* green for Inner

/* purple for Edge

/* Circle for Point


color red
G242X[24-shift_grap_X]Y[122+shift_grap_Y]
G02X[24-shift_grap_X]Y[122+shift_grap_Y]I[24-shift_grap_X]J[120+shift_grap_Y]Q4
G206P0X[24-shift_grap_X]Y[120+shift_grap_Y]
G242X[56-shift_grap_X]Y[122+shift_grap_Y]
G02X[56-shift_grap_X]Y[122+shift_grap_Y]I[56-shift_grap_X]J[120+shift_grap_Y]Q4
G206P0X[56-shift_grap_X]Y[120+shift_grap_Y]
G242X[56-shift_grap_X]Y[90+shift_grap_Y]
G02X[56-shift_grap_X]Y[90+shift_grap_Y]I[56-shift_grap_X]J[88+shift_grap_Y]Q4
G206P0X[56-shift_grap_X]Y[88+shift_grap_Y]
G242X[56-shift_grap_X]Y[10+shift_grap_Y]
G02X[56-shift_grap_X]Y[10+shift_grap_Y]I[56-shift_grap_X]J[8+shift_grap_Y]Q4
G206P0X[56-shift_grap_X]Y[8+shift_grap_Y]
G242X[72-shift_grap_X]Y[10+shift_grap_Y]
G02X[72-shift_grap_X]Y[10+shift_grap_Y]I[72-shift_grap_X]J[8+shift_grap_Y]Q4
G206P0X[72-shift_grap_X]Y[8+shift_grap_Y]
G242X[72-shift_grap_X]Y[90+shift_grap_Y]
G02X[72-shift_grap_X]Y[90+shift_grap_Y]I[72-shift_grap_X]J[88+shift_grap_Y]Q4
G206P0X[72-shift_grap_X]Y[88+shift_grap_Y]

-439-

9. USER PROGRAMS FOR POCKETING MENU

9. USER PROGRAMS FOR POCKETING MENU

SAMPLE PROGRAM

/* red for Path


color red
dot_line
#1=27-shift_grap_X
#2=120+shift_grap_Y
#3=53-shift_grap_X
#4=#2
#5=0
call fig_line
#1=56-shift_grap_X
#2=117+shift_grap_Y
#3=#1
#4=91+shift_grap_Y
#5=0
call fig_line
solid_line
#1=56-shift_grap_X
#2=85+shift_grap_Y
#3=#1
#4=11+shift_grap_Y
#5=0
call fig_line
dot_line
#1=72-shift_grap_X
#2=11+shift_grap_Y
#3=#1
#4=85+shift_grap_Y
#5=0
call fig_line
solid_line
m99

O6158 ;############################################### G83 for Hole


/* Work
color blue
/* blue for Inner
G242X[-31-shift_grap_X]Y[-31+shift_grap_Y]
G01X[151-shift_grap_X]Y[-31+shift_grap_Y]
G01X[151-shift_grap_X]Y[103+shift_grap_Y]
G01X[-31-shift_grap_X]Y[103+shift_grap_Y]
G01X[-31-shift_grap_X]Y[-31+shift_grap_Y]
#1=41-shift_char_X
/* for Q
#2=9-shift_char_Y
#3=1
call fig_character
#2=12-shift_char_Y
call fig_character
#2=15-shift_char_Y
call fig_character
G206P0X[0-shift_grap_X]Y[0+shift_grap_Y]
color sky_blue
/* blue green for Edge
G242X[-32-shift_grap_X]Y[-32+shift_grap_Y]
G01X[152-shift_grap_X]Y[-32+shift_grap_Y]
G01X[152-shift_grap_X]Y[104+shift_grap_Y]
G01X[-32-shift_grap_X]Y[104+shift_grap_Y]
G01X[-32-shift_grap_X]Y[-32+shift_grap_Y]
/* Tool
#20=16-shift_grap_X
#21=147+shift_grap_Y
color green
G242X[#20]Y[#21+1]
G01X[#20-7]Y[#21+5]
G01X[#20-7]Y[#21+20]
G01X[#20+7]Y[#21+20]
G01X[#20+7]Y[#21+5]

/* X coordinate of Top of Tool


/* Y coordinate of Top of Tool
/* green for Inner

-440-

B-63423EN/02

SAMPLE PROGRAM

B-63423EN/02

G01X[#20]Y[#21+1]
G206P0X[#20]Y[#21+5]
color purple
G242X[#20]Y[#21]
G01X[#20-8]Y[#21+5]
G01X[#20-8]Y[#21+21]
G01X[#20+8]Y[#21+21]
G01X[#20+8]Y[#21+5]
G01X[#20]Y[#21]

/* purple for Edge

/* Circle for Point


color red
G242X[16-shift_grap_X]Y[146+shift_grap_Y]
G02X[16-shift_grap_X]Y[146+shift_grap_Y]I[16-shift_grap_X]J[144+shift_grap_Y]Q4
G206P0X[16-shift_grap_X]Y[144+shift_grap_Y]
G242X[40-shift_grap_X]Y[146+shift_grap_Y]
G02X[40-shift_grap_X]Y[146+shift_grap_Y]I[40-shift_grap_X]J[144+shift_grap_Y]Q4
G206P0X[40-shift_grap_X]Y[144+shift_grap_Y]
G242X[40-shift_grap_X]Y[122+shift_grap_Y]
G02X[40-shift_grap_X]Y[122+shift_grap_Y]I[40-shift_grap_X]J[120+shift_grap_Y]Q4
G206P0X[40-shift_grap_X]Y[120+shift_grap_Y]
G242X[40-shift_grap_X]Y[74+shift_grap_Y]
G02X[40-shift_grap_X]Y[74+shift_grap_Y]I[40-shift_grap_X]J[72+shift_grap_Y]Q4
G206P0X[40-shift_grap_X]Y[72+shift_grap_Y]
G242X[72-shift_grap_X]Y[26+shift_grap_Y]
G02X[72-shift_grap_X]Y[26+shift_grap_Y]I[72-shift_grap_X]J[24+shift_grap_Y]Q4
G206P0X[72-shift_grap_X]Y[24+shift_grap_Y]
G242X[104-shift_grap_X]Y[-22+shift_grap_Y]
G02X[104-shift_grap_X]Y[-22+shift_grap_Y]I[104-shift_grap_X]J[-24+shift_grap_Y]Q4
G206P0X[104-shift_grap_X]Y[-24+shift_grap_Y]
/* red for Path
color red
dot_line
#1=19-shift_grap_X
#2=144+shift_grap_Y
#3=37-shift_grap_X
#4=#2
#5=0
call fig_line
#1=40-shift_grap_X
#2=141+shift_grap_Y
#3=#1
#4=123+shift_grap_Y
#5=0
call fig_line
solid_line
#1=40-shift_grap_X
#2=117+shift_grap_Y
#3=#1
#4=75+shift_grap_Y
#5=0
call fig_line
dot_line
#1=56-shift_grap_X
#2=73+shift_grap_Y
#3=#1
#4=119+shift_grap_Y
#5=0
call fig_line
G242X[72-shift_grap_X]Y[119+shift_grap_Y]
G01X[72-shift_grap_X]Y[88+shift_grap_Y]
solid_line
#1=72-shift_grap_X
#2=87+shift_grap_Y
#3=#1
#4=27+shift_grap_Y

-441-

9. USER PROGRAMS FOR POCKETING MENU

9. USER PROGRAMS FOR POCKETING MENU

SAMPLE PROGRAM

#5=0
call fig_line
dot_line
#1=88-shift_grap_X
#2=25+shift_grap_Y
#3=#1
#4=119+shift_grap_Y
#5=0
call fig_line
G242X[104-shift_grap_X]Y[119+shift_grap_Y]
G01X[104-shift_grap_X]Y[88+shift_grap_Y]
solid_line
#1=104-shift_grap_X
#2=87+shift_grap_Y
#3=#1
#4=-21+shift_grap_Y
#5=0
call fig_line
dot_line
#1=128-shift_grap_X
#2=-23+shift_grap_Y
#3=#1
#4=119+shift_grap_Y
#5=0
call fig_line
solid_line
/* green Line
color green
G242X[16-shift_grap_X]Y[120+shift_grap_Y]
G01X[37-shift_grap_X]Y[120+shift_grap_Y]
G242X[43-shift_grap_X]Y[120+shift_grap_Y]
G01X[112-shift_grap_X]Y[120+shift_grap_Y]
G242X[16-shift_grap_X]Y[72+shift_grap_Y]
G01X[37-shift_grap_X]Y[72+shift_grap_Y]
G242X[43-shift_grap_X]Y[72+shift_grap_Y]
G01X[64-shift_grap_X]Y[72+shift_grap_Y]
G242X[16-shift_grap_X]Y[24+shift_grap_Y]
G01X[69-shift_grap_X]Y[24+shift_grap_Y]
G242X[75-shift_grap_X]Y[24+shift_grap_Y]
G01X[96-shift_grap_X]Y[24+shift_grap_Y]
G242X[16-shift_grap_X]Y[-24+shift_grap_Y]
G01X[101-shift_grap_X]Y[-24+shift_grap_Y]
G242X[107-shift_grap_X]Y[-24+shift_grap_Y]
G01X[136-shift_grap_X]Y[-24+shift_grap_Y]
#1=24-shift_grap_X
#2=119+shift_grap_Y
#3=#1
#4=73+shift_grap_Y
#5=2
call fig_line
#1=24-shift_grap_X
#2=71+shift_grap_Y
#3=#1
#4=25+shift_grap_Y
#5=2
call fig_line
#1=24-shift_grap_X
#2=23+shift_grap_Y
#3=#1
#4=-23+shift_grap_Y
#5=2
call fig_line
G242X[113-shift_grap_X]Y[120+shift_grap_Y]
G01X[136-shift_grap_X]Y[120+shift_grap_Y]

/* for Q

/* Characters

-442-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

if[cursor eq 4]then
color -white C blue L1
else
color white C blue L0
endif
G243X[41-shift_char_X]Y[12-shift_char_Y](Q)
color white C blue L0
G243X[41-shift_char_X]Y[9-shift_char_Y](Q)
G243X[41-shift_char_X]Y[15-shift_char_Y](Q)
cursor_off
m99

O6159 ;############################################### Tool Small Dia.


/* green for Tool
color green
#20 =16-shift_grap_X
/* Left Up Point X
#21 =136+shift_grap_Y
/* Left Up Point Y
G242X[#20+1]Y[#21-1]
G01X[#20+88-1]Y[#21-1]
G01X[#20+88-1]Y[#21-48]
G01X[#20+56]Y[#21-80+1]
G01X[#20+32]Y[#21-80+1]
G01X[#20+1]Y[#21-48]
G01X[#20+1]Y[#21-1]
G206P0X[#20+10]Y[#21-10]
color purple
/* for Tool Edge
G242X[#20]Y[#21]
G01X[#20+88]Y[#21]
G01X[#20+88]Y[#21-48]
G01X[#20+56]Y[#21-80]
G01X[#20+32]Y[#21-80]
G01X[#20]Y[#21-48]
G01X[#20]Y[#21]
/* green Line
color green
G242X[48-shift_grap_X]Y[55+shift_grap_Y]
G01X[48-shift_grap_X]Y[40+shift_grap_Y]
G242X[72-shift_grap_X]Y[55+shift_grap_Y]
G01X[72-shift_grap_X]Y[40+shift_grap_Y]
#1=49-shift_grap_X
#2=45+shift_grap_Y
#3=71-shift_grap_X
#4=#2
#5=2
call fig_line
/* Characters
cursor_on
G243X[47-shift_char_X]Y[13-shift_char_Y](D)
cursor_off
m99

O6160 ;############################################### Chamfer Angle


/* green for Tool
color green
#20 =16-shift_grap_X
/* Left Up Point X
#21 =136+shift_grap_Y
/* Left Up Point Y
G242X[#20+1]Y[#21-1]
G01X[#20+88-1]Y[#21-1]
G01X[#20+88-1]Y[#21-48]
G01X[#20+56]Y[#21-80+1]
G01X[#20+32]Y[#21-80+1]

-443-

9. USER PROGRAMS FOR POCKETING MENU

9. USER PROGRAMS FOR POCKETING MENU


G01X[#20+1]Y[#21-48]
G01X[#20+1]Y[#21-1]
#1=47-shift_char_X
#2=9-shift_char_Y
#3=1
call fig_character
G206P0X[#20+10]Y[#21-10]
color purple
#20 =16-shift_grap_X
#21 =136+shift_grap_Y
G242X[#20]Y[#21]
G01X[#20+88]Y[#21]
G01X[#20+88]Y[#21-48]
G01X[#20+56]Y[#21-80]
G01X[#20+32]Y[#21-80]
G01X[#20]Y[#21-48]
G01X[#20]Y[#21]

SAMPLE PROGRAM

/* for J

/* for Tool Edge


/* Left Up Point X
/* Left Up Point Y

/* Glue Line
color blue
#1=32-shift_grap_X
#2=72+shift_grap_Y
#3=88-shift_grap_X
#4=72+shift_grap_Y
#5=60-shift_grap_X
#6=44+shift_grap_Y
#7=2
call fig_cw
/* Characters
color -white C green L1
G243X[47-shift_char_X]Y[9-shift_char_Y](J)
cursor_off
m99

O6161 ;############################################### Tool Out Depth


/* green for Tool
color green
#20 =-8-shift_grap_X
/* Left Up Point X
#21 =136+shift_grap_Y
/* Left Up Point Y
G242X[#20+1]Y[#21-1]
G01X[#20+88-1]Y[#21-1]
G01X[#20+88-1]Y[#21-48]
G01X[#20+56]Y[#21-80+1]
G01X[#20+32]Y[#21-80+1]
G01X[#20+1]Y[#21-48]
G01X[#20+1]Y[#21-1]
G206P0X[#20+10]Y[#21-10]
color purple
/* for Tool Edge
G242X[#20]Y[#21]
G01X[#20+88]Y[#21]
G01X[#20+88]Y[#21-48]
G01X[#20+56]Y[#21-80]
G01X[#20+32]Y[#21-80]
G01X[#20]Y[#21-48]
G01X[#20]Y[#21]
/* blue for Work
color blue
G242X[57-shift_grap_X]Y[-24+shift_grap_Y]
G01X[152-shift_grap_X]Y[-24+shift_grap_Y]
G01X[152-shift_grap_X]Y[79+shift_grap_Y]
G01X[72-shift_grap_X]Y[79+shift_grap_Y]
G01X[57-shift_grap_X]Y[64+shift_grap_Y]
G01X[57-shift_grap_X]Y[-24+shift_grap_Y]

-444-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

#1=51-shift_char_X
/* for Z
#2=11-shift_char_Y
#3=1
call fig_character
G206P0X[80-shift_grap_X]Y[0+shift_grap_Y]
/* blue green for Work Edge
color sky_blue
G242X[56-shift_grap_X]Y[-24+shift_grap_Y]
G01X[56-shift_grap_X]Y[64+shift_grap_Y]
G01X[72-shift_grap_X]Y[80+shift_grap_Y]
G01X[152-shift_grap_X]Y[80+shift_grap_Y]
;green Line
color green
G242X[57-shift_grap_X]Y[64+shift_grap_Y]
G01X[86-shift_grap_X]Y[64+shift_grap_Y]
G242X[49-shift_grap_X]Y[56+shift_grap_Y]
G01X[86-shift_grap_X]Y[56+shift_grap_Y]
#1=80-shift_grap_X
#2=65+shift_grap_Y
#3=#1
#4=75+shift_grap_Y
#5=1
call fig_line
#1=80-shift_grap_X
#2=55+shift_grap_Y
#3=#1
#4=45+shift_grap_Y
#5=1
call fig_line
/* Characters
color -white C blue L1
G243X[51-shift_char_X]Y[11-shift_char_Y](H)
cursor_off
m99

O6162 ;############################################### Tool Corner R


/* green for Tool
color green
G242X[17-shift_grap_X]Y[135+shift_grap_Y]
G01X[17-shift_grap_X]Y[64+shift_grap_Y]
G03X[40-shift_grap_X]Y[41+shift_grap_Y]I[40-shift_grap_X]J[64+shift_grap_Y]
G01X[80-shift_grap_X]Y[41+shift_grap_Y]
G03X[103-shift_grap_X]Y[64+shift_grap_Y]I[80-shift_grap_X]J[64+shift_grap_Y]
G01X[103-shift_grap_X]Y[135+shift_grap_Y]
G01X[17-shift_grap_X]Y[135+shift_grap_Y]
G206P0X[50-shift_grap_X]Y[100+shift_grap_Y]
/* purple for Tool Edge
color purple
G242X[16-shift_grap_X]Y[136+shift_grap_Y]
G01X[16-shift_grap_X]Y[64+shift_grap_Y]
G03X[40-shift_grap_X]Y[40+shift_grap_Y]I[40-shift_grap_X]J[64+shift_grap_Y]
G01X[80-shift_grap_X]Y[40+shift_grap_Y]
G03X[104-shift_grap_X]Y[64+shift_grap_Y]I[80-shift_grap_X]J[64+shift_grap_Y]
G01X[104-shift_grap_X]Y[136+shift_grap_Y]
G01X[16-shift_grap_X]Y[136+shift_grap_Y]
/* green Line
color green
#1=9-shift_grap_X
#2=32+shift_grap_Y
#3=20-shift_grap_X
#4=45+shift_grap_Y

-445-

9. USER PROGRAMS FOR POCKETING MENU

9. USER PROGRAMS FOR POCKETING MENU

SAMPLE PROGRAM

#5=0
call fig_line
/* Characters
cursor_on
G243X[40-shift_char_X]Y[13-shift_char_Y](C)
cursor_off
m99

-446-

B-63423EN/02

B-63423EN/02

9.4

SAMPLE PROGRAM

INPUTTED DATA CHECKING

/****************************************************************************
/*
/* CHECK7.SRC :: Pocket
/*
/***** 8881: Square
/***** 8882: Circle
/***** 8883: Track
/***** 8884: Groove
/***** 8885: Contour Pocket
/***** 8886: Contour Groove
/****************************************************************************
$INCLUDE SYMBOL.DEF

/* ############################################### Square
O8881 input_error_flag = error_non
/* Mach. Process */
error_item = 1
if[#[value 1] eq #0]goto 97
if[#[value 1] lt 1 || #[value 1] gt 5]goto 98
/* Clearance */
error_item = 2
if[#[value 2] eq #0]goto 97
if[#[value 2] le 0]goto 98
/* End Point Z */
error_item = 3
if[#[value 3] eq #0]goto 97
/* Removal Depth */
error_item = 4
if[#[value 4] eq #0]goto 97
if[#[value 4] le 0]goto 98
/* Removal Pitch */
if[#[attribute 5] ne att_not_use]then
error_item = 5
if[#[value 5] lt 0]goto 98
endif
/* Bottom Finish */
if[#[attribute 6] ne att_not_use]then
error_item = 6
if[#[value 6] lt 0]goto 98
endif
/* Side Finish */
if[#[attribute 7] ne att_not_use]then
error_item = 7
if[#[value 7] lt 0]goto 98
endif
/* Chamfer Removal */
if[#[attribute 8] ne att_not_use]then
error_item = 8
if[#[value 8] eq #0]goto 97
if[#[value 8] le 0]goto 98
endif
/* Feed Rate */
error_item = 10
if[#[value 10] eq #0]goto 97
if[#[value 10] le 0]goto 98
/* Cutting Width% */
if[#[attribute 11] ne att_not_use]then
error_item = 11
if[#[value 11] eq #0]goto 97
if[#[value 11] le 0]goto 98
endif

-447-

9. USER PROGRAMS FOR POCKETING MENU

9. USER PROGRAMS FOR POCKETING MENU

SAMPLE PROGRAM

/* Z-Cut Feed Rate */


if[#[attribute 12] ne att_not_use]then
error_item = 12
if[#[value 12] eq #0]goto 97
if[#[value 12] le 0]goto 98
endif
/* Tool Small Dia.*/
if[#[attribute 13] ne att_not_use]then
error_item = 13
if[#[value 13] lt 0]goto 98
endif
/* Chamfer Angle */
if[#[attribute 14] ne att_not_use]then
error_item = 14
if[#[value 14] eq 0]goto 98
if[#[value 14] lt 0]goto 98
endif
/* Tool Out Depth */
if[#[attribute 15] ne att_not_use]then
error_item = 15
if[#[value 15] lt 0]goto 98
endif
/* Center Point X */
error_item =17
if[#[value 17] eq #0]goto 97
/* Center Point Y */
error_item =18
if[#[value 18] eq #0]goto 97
/* U-Length */
error_item = 19
if[#[value 19] eq #0]goto 97
if[#[value 19] le 0]goto 98
/* V-Length */
error_item = 20
if[#[value 20] eq #0]goto 97
if[#[value 20] le 0]goto 98
/* Cut Direction */
if[#[attribute 21] ne att_not_use]then
error_item = 21
if[#[value 21] eq #0]goto 97
if[#[value 21] lt 1 || #[value 21] gt 2]goto 98
endif
/* Corner-R Radius */
error_item = 22
if[#[value 22] lt 0]goto 98
/* Cycle Selection */
if[#[attribute 27] ne att_not_use]then
error_item = 27
if[#[value 27] eq #0]goto 97
if[#[value 27] lt 1 || #[value 27] gt 2]goto 98
endif
/* Pitch Depth */
if[#[attribute 29] ne att_not_use]then
error_item = 29
if[#[value 29] eq #0]goto 97
if[#[value 29] le 0]goto 98
endif
/* Approach / Escape */
if[#[attribute 32] ne att_not_use]then
error_item = 32
if[#[value 32] eq 0]goto 98
if[#[value 32] lt 0]goto 98
endif
goto 99
/* Data is lacking. */
n97 input_error_flag = error_on
call fig_language

-448-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

color red C white L0


G243X1Y24 P[#1+900]
goto 99
/* Input error in menu param. */
n98 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+901]
n99 m99

/* ############################################### Circle
O8882 input_error_flag = error_non
/* Mach. Process */
error_item = 1
if[#[value 1] eq #0]goto 97
if[#[value 1] lt 1 || #[value 1] gt 5]goto 98
/* Clearance */
error_item = 2
if[#[value 2] eq #0]goto 97
if[#[value 2] le 0]goto 98
/* End Point Z */
error_item = 3
if[#[value 3] eq #0]goto 97
/* Removal Depth */
error_item = 4
if[#[value 4] eq #0]goto 97
if[#[value 4] le 0]goto 98
/* Removal Pitch */
if[#[attribute 5] ne att_not_use]then
error_item = 5
if[#[value 5] lt 0]goto 98
endif
/* Bottom Finish */
if[#[attribute 6] ne att_not_use]then
error_item = 6
if[#[value 6] lt 0]goto 98
endif
/* Side Finish */
if[#[attribute 7] ne att_not_use]then
error_item = 7
if[#[value 7] lt 0]goto 98
endif
/* Chamfer Removal */
if[#[attribute 8] ne att_not_use]then
error_item = 8
if[#[value 8] eq #0]goto 97
if[#[value 8] le 0]goto 98
endif
/* Feed Rate */
error_item = 10
if[#[value 10] eq #0]goto 97
if[#[value 10] le 0]goto 98
/* Cutting Width% */
if[#[attribute 11] ne att_not_use]then
error_item = 11
if[#[value 11] eq #0]goto 97
if[#[value 11] le 0]goto 98
endif
/* Z-Cut Feed Rate */
if[#[attribute 12] ne att_not_use]then
error_item = 12
if[#[value 12] eq #0]goto 97
if[#[value 12] le 0]goto 98
endif
/* Tool Small Dia.*/

-449-

9. USER PROGRAMS FOR POCKETING MENU

9. USER PROGRAMS FOR POCKETING MENU

SAMPLE PROGRAM

if[#[attribute 13] ne att_not_use]then


error_item = 13
if[#[value 13] lt 0]goto 98
endif
/* Chamfer Angle */
if[#[attribute 14] ne att_not_use]then
error_item = 14
if[#[value 14] eq 0]goto 98
if[#[value 14] lt 0]goto 98
endif
/* Tool Out Depth */
if[#[attribute 15] ne att_not_use]then
error_item = 15
if[#[value 15] lt 0]goto 98
endif
/* Center Point X */
error_item =17
if[#[value 17] eq #0]goto 97
/* Center Point Y */
error_item =18
if[#[value 18] eq #0]goto 97
/* Radius */
error_item = 19
if[#[value 19] eq #0]goto 97
if[#[value 19] le 0]goto 98
/* Cut Direction */
if[#[attribute 20] ne att_not_use]then
error_item = 20
if[#[value 20] eq #0]goto 97
if[#[value 20] lt 1 || #[value 20] gt 2]goto 98
endif
/* Cycle Selection */
if[#[attribute 24] ne att_not_use]then
error_item = 24
if[#[value 24] eq #0]goto 97
if[#[value 24] lt 1 || #[value 24] gt 2]goto 98
endif
/* Pitch Depth */
if[#[attribute 26] ne att_not_use]then
error_item = 26
if[#[value 26] eq #0]goto 97
if[#[value 26] le 0]goto 98
endif
/* Approach / Escape */
if[#[attribute 29] ne att_not_use]then
error_item = 29
if[#[value 29] eq 0]goto 98
if[#[value 29] lt 0]goto 98
endif
goto 99
/* Data is lacking. */
n97 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+900]
goto 99
/* Input error in menu param. */
n98 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+901]
n99 m99

/* ############################################### Track
O8883 input_error_flag = error_non

-450-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

/* Mach. Process */
error_item = 1
if[#[value 1] eq #0]goto 97
if[#[value 1] lt 1 || #[value 1] gt 5]goto 98
/* Clearance */
error_item = 2
if[#[value 2] eq #0]goto 97
if[#[value 2] le 0]goto 98
/* End Point Z */
error_item = 3
if[#[value 3] eq #0]goto 97
/* Removal Depth */
error_item = 4
if[#[value 4] eq #0]goto 97
if[#[value 4] le 0]goto 98
/* Removal Pitch */
if[#[attribute 5] ne att_not_use]then
error_item = 5
if[#[value 5] lt 0]goto 98
endif
/* Bottom Finish */
if[#[attribute 6] ne att_not_use]then
error_item = 6
if[#[value 6] lt 0]goto 98
endif
/* Side Finish */
if[#[attribute 7] ne att_not_use]then
error_item = 7
if[#[value 7] lt 0]goto 98
endif
/* Chamfer Removal */
if[#[attribute 8] ne att_not_use]then
error_item = 8
if[#[value 8] eq #0]goto 97
if[#[value 8] le 0]goto 98
endif
/* Feed Rate */
error_item = 10
if[#[value 10] eq #0]goto 97
if[#[value 10] le 0]goto 98
/* Cutting Width% */
if[#[attribute 11] ne att_not_use]then
error_item = 11
if[#[value 11] eq #0]goto 97
if[#[value 11] le 0]goto 98
endif
/* Z-Cut Feed Rate */
if[#[attribute 12] ne att_not_use]then
error_item = 12
if[#[value 12] eq #0]goto 97
if[#[value 12] le 0]goto 98
endif
/* Tool Small Dia.*/
if[#[attribute 13] ne att_not_use]then
error_item = 13
if[#[value 13] lt 0]goto 98
endif
/* Chamfer Angle */
if[#[attribute 14] ne att_not_use]then
error_item = 14
if[#[value 14] eq 0]goto 98
if[#[value 14] lt 0]goto 98
endif
/* Tool Out Depth */
if[#[attribute 15] ne att_not_use]then
error_item = 15
if[#[value 15] lt 0]goto 98

-451-

9. USER PROGRAMS FOR POCKETING MENU

9. USER PROGRAMS FOR POCKETING MENU

SAMPLE PROGRAM

endif
/* Center Point X */
error_item =17
if[#[value 17] eq #0]goto 97
/* Center Point Y */
error_item =18
if[#[value 18] eq #0]goto 97
/* Center Distance */
error_item = 19
if[#[value 19] eq #0]goto 97
if[#[value 19] le 0]goto 98
/* Radius */
error_item = 20
if[#[value 20] eq #0]goto 97
if[#[value 20] le 0]goto 98
/* Cut Direction */
if[#[attribute 21] ne att_not_use]then
error_item = 21
if[#[value 21] eq #0]goto 97
if[#[value 21] lt 1 || #[value 21] gt 2]goto 98
endif
/* Cycle Selection */
if[#[attribute 26] ne att_not_use]then
error_item = 26
if[#[value 26] eq #0]goto 97
if[#[value 26] lt 1 || #[value 26] gt 2]goto 98
endif
/* Pitch Depth */
if[#[attribute 28] ne att_not_use]then
error_item = 28
if[#[value 28] eq #0]goto 97
if[#[value 28] le 0]goto 98
endif
/* Approach / Escape */
if[#[attribute 31] ne att_not_use]then
error_item = 31
if[#[value 31] eq 0]goto 98
if[#[value 31] lt 0]goto 98
endif
goto 99
/* Data is lacking. */
n97 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+900]
goto 99
/* Input error in menu param. */
n98 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+901]
n99 m99

/* ############################################### Groove
O8884 input_error_flag = error_non
/* Mach. Process */
error_item = 1
if[#[value 1] eq #0]goto 97
if[#[value 1] lt 1 || #[value 1] gt 4]goto 98
/* Clearance */
error_item = 2
if[#[value 2] eq #0]goto 97
if[#[value 2] le 0]goto 98
/* End Point Z */
error_item = 3

-452-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

if[#[value 3] eq #0]goto 97
/* Removal Depth */
error_item = 4
if[#[value 4] eq #0]goto 97
if[#[value 4] le 0]goto 98
/* Removal Pitch */
if[#[attribute 5] ne att_not_use]then
error_item = 5
if[#[value 5] lt 0]goto 98
endif
/* Bottom Finish */
if[#[attribute 6] ne att_not_use]then
error_item = 6
if[#[value 6] lt 0]goto 98
endif
/* Side Finish */
if[#[attribute 7] ne att_not_use]then
error_item = 7
if[#[value 7] lt 0]goto 98
endif
/* Chamfer Removal */
if[#[attribute 8] ne att_not_use]then
error_item = 8
if[#[value 8] eq #0]goto 97
if[#[value 8] le 0]goto 98
endif
/* Feed Rate */
error_item = 10
if[#[value 10] eq #0]goto 97
if[#[value 10] le 0]goto 98
/* Cutting Width% */
if[#[attribute 11] ne att_not_use]then
error_item = 11
if[#[value 11] eq #0]goto 97
if[#[value 11] le 0]goto 98
endif
/* Tool Small Dia.*/
if[#[attribute 13] ne att_not_use]then
error_item = 13
if[#[value 13] lt 0]goto 98
endif
/* Chamfer Angle */
if[#[attribute 14] ne att_not_use]then
error_item = 14
if[#[value 14] eq 0]goto 98
if[#[value 14] lt 0]goto 98
endif
/* Tool Out Depth */
if[#[attribute 15] ne att_not_use]then
error_item = 15
if[#[value 15] lt 0]goto 98
endif
/* Center Point X */
error_item =17
if[#[value 17] eq #0]goto 97
/* Center Point Y */
error_item =18
if[#[value 18] eq #0]goto 97
/* U-Length */
error_item = 19
if[#[value 19] eq #0]goto 97
if[#[value 19] le 0]goto 98
/* Groove Width */
error_item = 20
if[#[value 20] eq #0]goto 97
if[#[value 20] le 0]goto 98
/* Cut Direction */

-453-

9. USER PROGRAMS FOR POCKETING MENU

9. USER PROGRAMS FOR POCKETING MENU

SAMPLE PROGRAM

error_item = 21
if[#[value 21] eq #0]goto 97
if[#[value 21] lt 1 || #[value 21] gt 2]goto 98
/* Start Point Sel. */
if[#[attribute 23] ne att_not_use]then
error_item = 23
if[#[value 23] eq #0]goto 97
if[#[value 23] lt 1 || #[value 23] gt 2]goto 98
endif
/* Approach Alw */
error_item = 24
if[#[value 24] eq #0]goto 97
if[#[value 24] le 0]goto 98
/* Escape Alw */
error_item = 25
if[#[value 25] eq #0]goto 97
if[#[value 25] le 0]goto 98
goto 99
/* Data is lacking. */
n97 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+900]
goto 99
/* Input error in menu param. */
n98 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+901]
n99 m99

/* ############################################### Contour Pocket


O8885 input_error_flag = error_non
/* Mach. Process */
error_item = 1
if[#[value 1] eq #0]goto 97
if[#[value 1] lt 1 || #[value 1] gt 5]goto 98
/* Clearance */
error_item = 2
if[#[value 2] eq #0]goto 97
if[#[value 2] le 0]goto 98
/* End Point Z */
error_item = 3
if[#[value 3] eq #0]goto 97
/* Removal Depth */
error_item = 4
if[#[value 4] eq #0]goto 97
if[#[value 4] le 0]goto 98
/* Removal Pitch */
if[#[attribute 5] ne att_not_use]then
error_item = 5
if[#[value 5] lt 0]goto 98
endif
/* Bottom Finish */
if[#[attribute 6] ne att_not_use]then
error_item = 6
if[#[value 6] lt 0]goto 98
endif
/* Side Finish */
if[#[attribute 7] ne att_not_use]then
error_item = 7
if[#[value 7] lt 0]goto 98
endif
/* Feed Rate */
error_item = 10

-454-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

if[#[value 10] eq #0]goto 97


if[#[value 10] le 0]goto 98
/* Cutting Width% */
if[#[attribute 11] ne att_not_use]then
error_item = 11
if[#[value 11] eq #0]goto 97
if[#[value 11] le 0]goto 98
endif
/* Z-Cut Feed Rate */
if[#[attribute 12] ne att_not_use]then
error_item = 12
if[#[value 12] eq #0]goto 97
if[#[value 12] le 0]goto 98
endif
/* Cut Direction */
error_item = 13
if[#[value 13] eq #0]goto 97
if[#[value 13] lt 1 || #[value 13] gt 2]goto 98
/* Cut Method */
if[#[attribute 14] ne att_not_use]then
error_item = 14
if[#[value 14] eq #0]goto 97
if[#[value 14] lt 1 || #[value 14] gt 2]goto 98
endif
/* Rough mach. D-Code */
if[#[attribute 19] ne att_not_use]then
error_item = 19
if[#[value 19] eq #0]goto 97
if[#[value 19] le 0]goto 98
endif
/* Cycle Selection */
if[#[attribute 20] ne att_not_use]then
error_item = 20
if[#[value 20] eq #0]goto 97
if[#[value 20] lt 1 || #[value 20] gt 2]goto 98
endif
/* Pitch Depth */
if[#[attribute 22] ne att_not_use]then
error_item = 22
if[#[value 22] eq #0]goto 97
if[#[value 22] le 0]goto 98
endif
/* Approach Type */
if[#[attribute 25] ne att_not_use]then
error_item = 25
if[#[value 25] eq #0]goto 97
if[#[value 25] lt 1 || #[value 25] gt 3]goto 98
endif
/* Approach Radius */
if[#[attribute 26] ne att_not_use]then
error_item = 26
if[#[value 26] eq #0]goto 97
if[#[value 26] le 0]goto 98
endif
/* Approach Angle */
if[#[attribute 27] ne att_not_use]then
error_item = 27
if[#[value 27] eq #0]goto 97
if[#[value 27] le 0]goto 98
endif
/* Approach Distance */
if[#[attribute 28] ne att_not_use]then
error_item = 28
if[#[value 28] eq #0]goto 97
if[#[value 28] le 0]goto 98
endif
/* Escape Type */

-455-

9. USER PROGRAMS FOR POCKETING MENU

9. USER PROGRAMS FOR POCKETING MENU

SAMPLE PROGRAM

if[#[attribute 29] ne att_not_use]then


error_item = 29
if[#[value 29] eq #0]goto 97
if[#[value 29] lt 1 || #[value 29] gt 3]goto 98
endif
/* Escape Radius */
if[#[attribute 30] ne att_not_use]then
error_item = 30
if[#[value 30] eq #0]goto 97
if[#[value 30] le 0]goto 98
endif
/* Escape Angle */
if[#[attribute 31] ne att_not_use]then
error_item = 31
if[#[value 31] eq #0]goto 97
if[#[value 31] le 0]goto 98
endif
/* Escape Distance */
if[#[attribute 32] ne att_not_use]then
error_item = 32
if[#[value 32] eq #0]goto 97
if[#[value 32] le 0]goto 98
endif
/* Comp. Direction */
if[#[attribute 33] ne att_not_use]then
error_item = 33
if[#[value 33] eq #0]goto 97
if[#[value 33] lt 1 || #[value 33] gt 2]goto 98
endif
goto 99
/* Data is lacking. */
n97 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+900]
goto 99
/* Input error in menu param. */
n98 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+901]
n99 m99

/* ############################################### Contour Groove


O8886 input_error_flag = error_non
/* Mach. Process */
error_item = 1
if[#[value 1] eq #0]goto 97
if[#[value 1] lt 1 || #[value 1] gt 5]goto 98
/* Clearance */
error_item = 2
if[#[value 2] eq #0]goto 97
if[#[value 2] le 0]goto 98
/* End Point Z */
error_item = 3
if[#[value 3] eq #0]goto 97
/* Removal Depth */
error_item = 4
if[#[value 4] eq #0]goto 97
if[#[value 4] le 0]goto 98
/* Removal Pitch */
if[#[attribute 5] ne att_not_use]then
error_item = 5
if[#[value 5] lt 0]goto 98
endif

-456-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

/* Bottom Finish */
if[#[attribute 6] ne att_not_use]then
error_item = 6
if[#[value 6] lt 0]goto 98
endif
/* Side Finish */
if[#[attribute 7] ne att_not_use]then
error_item = 7
if[#[value 7] lt 0]goto 98
endif
/* Feed Rate */
error_item = 10
if[#[value 10] eq #0]goto 97
if[#[value 10] le 0]goto 98
/* Cutting Width% */
if[#[attribute 11] ne att_not_use]then
error_item = 11
if[#[value 11] eq #0]goto 97
if[#[value 11] le 0]goto 98
endif
/* Z-Cut Feed Rate */
if[#[attribute 12] ne att_not_use]then
error_item = 12
if[#[value 12] eq #0]goto 97
if[#[value 12] le 0]goto 98
endif
/* Cut Direction */
error_item = 13
if[#[value 13] eq #0]goto 97
if[#[value 13] lt 1 || #[value 13] gt 2]goto 98
/* Groove Width */
error_item = 14
if[#[value 14] eq #0]goto 97
if[#[value 14] le 0]goto 98
/* Rough mach. D-Code */
if[#[attribute 19] ne att_not_use]then
error_item = 19
if[#[value 19] eq #0]goto 97
if[#[value 19] le 0]goto 98
endif
/* Cycle Selection */
if[#[attribute 20] ne att_not_use]then
error_item = 20
if[#[value 20] eq #0]goto 97
if[#[value 20] lt 1 || #[value 20] gt 2]goto 98
endif
/* Pitch Depth */
if[#[attribute 22] ne att_not_use]then
error_item = 22
if[#[value 22] eq #0]goto 97
if[#[value 22] le 0]goto 98
endif
/* Approach Type */
if[#[attribute 25] ne att_not_use]then
error_item = 25
if[#[value 25] eq #0]goto 97
if[#[value 25] lt 1 || #[value 25] gt 3]goto 98
endif
/* Approach Radius */
if[#[attribute 26] ne att_not_use]then
error_item = 26
if[#[value 26] eq #0]goto 97
if[#[value 26] le 0]goto 98
endif
/* Approach Angle */
if[#[attribute 27] ne att_not_use]then
error_item = 27

-457-

9. USER PROGRAMS FOR POCKETING MENU

9. USER PROGRAMS FOR POCKETING MENU

SAMPLE PROGRAM

if[#[value 27] eq #0]goto 97


if[#[value 27] le 0]goto 98
endif
/* Approach Distance */
if[#[attribute 28] ne att_not_use]then
error_item = 28
if[#[value 28] eq #0]goto 97
if[#[value 28] le 0]goto 98
endif
/* Escape Type */
if[#[attribute 29] ne att_not_use]then
error_item = 29
if[#[value 29] eq #0]goto 97
if[#[value 29] lt 1 || #[value 29] gt 3]goto 98
endif
/* Escape Radius */
if[#[attribute 30] ne att_not_use]then
error_item = 30
if[#[value 30] eq #0]goto 97
if[#[value 30] le 0]goto 98
endif
/* Escape Angle */
if[#[attribute 31] ne att_not_use]then
error_item = 31
if[#[value 31] eq #0]goto 97
if[#[value 31] le 0]goto 98
endif
/* Escape Distance */
if[#[attribute 32] ne att_not_use]then
error_item = 32
if[#[value 32] eq #0]goto 97
if[#[value 32] le 0]goto 98
endif
/* Comp. Direction */
if[#[attribute 33] ne att_not_use]then
error_item = 33
if[#[value 33] eq #0]goto 97
if[#[value 33] lt 1 || #[value 33] gt 2]goto 98
endif
goto 99
/* Data is lacking. */
n97 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+900]
goto 99
/* Input error in menu param. */
n98 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+901]
n99 m99

-458-

B-63423EN/02

B-63423EN/02

10

SAMPLE PROGRAM 10. USER PROGRAMS FOR CALIBRATION CYCLE MENU

USER PROGRAMS FOR CALIBRATION


CYCLE MENU

-459-

10. USER PROGRAMS FOR CALIBRATION CYCLE MENU SAMPLE PROGRAM

10.1

COMMENTS DEFINITION

/****************************************************************************
/*
/*
STRING28.SRC :: Calibration Cycles
/*
/***** 6201: Soft-keys
/***** 6211: Meaurement of Probe Length (G170)
/***** 6221: Measurement of Stylus Ball Diameter (G171)
/***** 6231: Measurement(A) of Stylus X Offset (G172)
/***** 6241: Measurement(B) of Stylus X Offset (G173)
/****************************************************************************
O6201 ;############################################### Soft-keys
N0001("20 01 C010 20")('PROBE ');
N0002("20 01 C018 20")(' DIA. ');
N0003("20 01 C020 20")('OFST A');
N0004("20 01 C028 20")('OFST B');
M99
O6211 ;############################################### Meaurement of Probe Length (G170)
N9999('MEASUREMENT OF PROBE LENGTH');
/*
N0001('DISTANCE FOR MOVE');
N0002('DIST. GAUGE-TABLE');
N0003('RING GAUGE HEIGHT');
N0004('FEEDRATE FOR MOVE');
M99
O6221 ;############################################### Measurement of Stylus Ball Diameter (G171)
N9999('MEASUREMENT OF STYLUS BALL DIAMETER');
/*
N0001('DISTANCE FOR MOVE');
N0002('RING GAUGE RADIUS');
N0003('FEEDRATE FOR MOVE');
M99
O6231 ;############################################### Measurement(A) of Stylus X Offset (G172)
N9999('MEASUREMENT(A) OF STYLUS X OFFSET');
/*
N0001('DISTANCE FOR MOVE');
N0002('RING GAUGE RADIUS');
N0003('FEEDRATE FOR MOVE');
M99
O6241 ;############################################### Measurement(B) of Stylus X Offset (G173)
N9999('MEASUREMENT(B) OF STYLUS X OFFSET');
/*
N0001('CENTER POINT X')
N0002('CENTER POINT Y')
N0003('DISTANCE FOR MOVE');
N0004('RING GAUGE RADIUS');
N0005('FEEDRATE FOR MOVE');
M99
/****************************************************************************
/*
/*
STRING28.SRC :: Calibration Cycles
/*
/***** 6202: Soft-keys
/***** 6212: Measurement of Probe Length (G170)
/***** 6222: Measurement of Stylus Ball Diameter (G171)
/***** 6232: Measurement (A) of Stylus X Offset (G172)
/***** 6242: Measurement (B) of Stylus X Offset (G173)

-460-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM 10. USER PROGRAMS FOR CALIBRATION CYCLE MENU

/****************************************************************************
O6202 ;############################################### Soft-keys
N0001("20 01 C010 20")('PROBE ');
N0002("20 01 C018 20")(' DIA. ');
N0003("20 01 C020 20")('OFST A');
N0004("20 01 C028 20")('OFST B');
M99
O6212 ;############################################### Measurement of Probe Length (G170)
N9999('MEASUREMENT OF PROBE LENGTH');
/*
N0001('DISTANCE FOR MOVE');
N0002('DIST. GAUGE-TABLE');
N0003('RING GAUGE HEIGHT');
N0004('FEEDRATE FOR MOVE ');
M99
O6222 ;############################################### Measurement of Stylus Ball Diameter (G171)
N9999('MEASUREMENT OF STYLUS BALL DIAMETER');
/*
N0001('DISTANCE FOR MOVE');
N0002('RING GAUGE HEIGHT');
N0003('FEEDRATE FOR MOVE');
M99
O6232 ;############################################### Measurement (A) of Stylus X Offset (G172)
N9999('MEASUREMENT (A) OF STYLUS X OFFSET');
/*
N0001('DISTANCE FOR MOVE');
N0002('RING GAUGE HEIGHT');
N0003(''FEEDRATE FOR MOVE');
M99
O6242 ;############################################### Measurement (B) of Stylus X Offset (G173)
N9999('MEASUREMENT (B) OF STYLUS X OFFSET');
/*
N0001('CENTER POINT X')
N0002('CENTER POINT Y')
N0003('DISTANCE FOR MOVE');
N0004('RING GAUGE HEIGHT');
N0005('FEEDRATE FOR MOVE');
M99

-461-

10. USER PROGRAMS FOR CALIBRATION CYCLE MENU SAMPLE PROGRAM

10.2

DATA ATTRIBUTE

/****************************************************************************
/*
/* PROC8.SRC :: Calibration Cycles
/*
/***** 6511: Meaurement of Probe Length (G170)
/***** 6512: Measurement of Stylus Ball Diameter (G171)
/***** 6513: Measurement(A) of Stylus X Offset (G172)
/***** 6514: Measurement(B) of Stylus X Offset (G173)
/****************************************************************************
$INCLUDE SYMBOL.DEF
O6511 ;############################################### Meaurement of Probe Length (G170)
/* Cycle G Code */
#[address 0] = 170
/* Distance for Move */
#[address 1] = add_Z
#[attribute 1] = att_decimal
#[value 1] = #0
/* Dist. Gauge-Table */
#[address 2] = add_D
#[attribute 2] = att_decimal
#[value 2] = #0
/* Ring Gauge Height */
#[address 3] = add_H
#[attribute 3] = att_decimal
#[value 3] = #0
/* Feedrate for Move */
#[address 4] = add_F
#[attribute 4] = att_decimal
#[value 4] = #0
/* End */
#[address 5] = add_end
previous_cursor = 1
/* Previous cursor position clear
guidance_write_flag = flag_on /* Guidance Write
m99
O6512 ;############################################### Measurement of Stylus Ball Diameter (G171)
/* Cycle G Code */
#[address 0] = 171
/* Distance for Move */
#[address 1] = add_Z
#[attribute 1] = att_decimal
#[value 1] = #0
/* Ring Gauge Radius */
#[address 2] = add_R
#[attribute 2] = att_decimal
#[value 2] = #0
/* Feedrate for Move */
#[address 3] = add_F
#[attribute 3] = att_decimal
#[value 3] = #0
/* End */
#[address 4] = add_end
previous_cursor = 1
/* Previous cursor position clear
guidance_write_flag = flag_on /* Guidance Write
m99
O6513 ;############################################### Measurement(A) of Stylus X Offset (G172)
/* Cycle G Code */
#[address 0] = 172
/* Distance for Move */
#[address 1] = add_Z

-462-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM 10. USER PROGRAMS FOR CALIBRATION CYCLE MENU

#[attribute 1] = att_decimal
#[value 1] = #0
/* Ring Gauge Radius */
#[address 2] = add_R
#[attribute 2] = att_decimal
#[value 2] = #0
/* Feedrate for Move */
#[address 3] = add_F
#[attribute 3] = att_decimal
#[value 3] = #0
/* End */
#[address 4] = add_end
previous_cursor = 1
/* Previous cursor position clear
guidance_write_flag = flag_on /* Guidance Write
m99
O6514 ;############################################### Measurement(B) of Stylus X Offset (G173)
/* Cycle G Code */
#[address 0] = 173
/* Center Point X */
#[address 1] = add_X
#[attribute 1] = att_decimal
#[value 1] = #0
/* Center Point Y */
#[address 2] = add_Y
#[attribute 2] = att_decimal
#[value 2] = #0
/* Distance for Move */
#[address 3] = add_Z
#[attribute 3] = att_decimal
#[value 3] = #0
/* Ring Gauge Radius */
#[address 4] = add_R
#[attribute 4] = att_decimal
#[value 4] = #0
/* Feedrate for Move */
#[address 5] = add_F
#[attribute 5] = att_decimal
#[value 5] = #0
/* End */
#[address 6] = add_end
previous_cursor = 1
/* Previous cursor position clear
guidance_write_flag = flag_on /* Guidance Write
m99

-463-

10. USER PROGRAMS FOR CALIBRATION CYCLE MENU SAMPLE PROGRAM

10.3

GUIDANCE DRAWING FIGURE

/****************************************************************************
/*
/* FIG8.SRC :: Calibration Cycles
/*
/***** 6551: Meaurement of Probe Length (G170)
/***** 6552: Measurement of Stylus Ball Diameter (G171)
/***** 6553: Measurement(A) of Stylus X Offset (G172)
/***** 6554: Measurement(B) of Stylus X Offset (G173)
/****************************************************************************
$INCLUDE SYMBOL.DEF
O6551 ;############################################### Meaurement of Probe Length (G170)
/*** Guide Picture Setting ***/
if[guide_frequency eq second_time]then
call 6171
guidance_write_flag = flag_off
previous_cursor = cursor
endif
/*** Attribution Setting ***/
m99
O6552 ;############################################### Measurement of Stylus Ball Diameter (G171)
/*** Guide Picture Setting ***/
if[guide_frequency eq second_time]then
if[cursor eq 1]then
call fig_clear
guidance_write_flag = flag_on
call 6172
endif
if[cursor eq 2 || cursor eq 3]then
if[previous_cursor eq 1]then
call fig_clear
guidance_write_flag = flag_on
endif
call 6173
guidance_write_flag = flag_off
endif
previous_cursor = cursor
endif
/*** Attribution Setting ***/
m99
O6553 ;############################################### Measurement(A) of Stylus X Offset (G172)
/*** Guide Picture Setting ***/
if[guide_frequency eq second_time]then
if[cursor eq 1]then
call fig_clear
guidance_write_flag = flag_on
call 6172
endif
if[cursor eq 2 || cursor eq 3]then
if[previous_cursor eq 1]then
call fig_clear
guidance_write_flag = flag_on
endif
call 6173
guidance_write_flag = flag_off
endif
previous_cursor = cursor
endif

-464-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM 10. USER PROGRAMS FOR CALIBRATION CYCLE MENU

/*** Attribution Setting ***/


m99
O6554 ;############################################### Measurement(B) of Stylus X Offset (G173)
/*** Guide Picture Setting ***/
if[guide_frequency eq second_time]then
if[cursor eq 3]then
call fig_clear
guidance_write_flag = flag_on
call 6172
guidance_write_flag = flag_off
else
if[previous_cursor eq 3]then
call fig_clear
guidance_write_flag = flag_on
endif
call 6173
guidance_write_flag = flag_off
endif
previous_cursor = cursor
endif
/*** Attribution Setting ***/
m99

/****************************************************************************
/*
/* FIGSUB8.SRC :: Calibration Cycles
/*
/***** 6171: Meaurement of Probe Length (G170)Sub1
/***** 6172: Measurement of Stylus Ball Diameter (G171)Sub1
/***** 6173: Measurement of Stylus Ball Diameter (G171)Sub2
/****************************************************************************
$INCLUDE SYMBOL.DEF
O6171 ;############################################### Measurement of Probe Length (G170)Sub1
if[guidance_write_flag eq flag_off] goto 100
solid_line
color green
G242X0Y200
G01X0Y168
G01X64Y168
G01X64Y200
G01X0Y200
G206P0X4Y196
/*
color purple
G242X0Y200
G01X0Y168
G01X64Y168
G01X64Y200
G01X0Y200
/*
color green
G242X16Y168
G01X16Y152
G01X48Y152
G01X48Y168
G01X16Y168
G206P0X20Y164
/*
color purple
G242X16Y168
G01X16Y152

-465-

10. USER PROGRAMS FOR CALIBRATION CYCLE MENU SAMPLE PROGRAM


G01X48Y152
G01X48Y168
G01X16Y168
/*
color purple
G242X24Y168
G02I32
G242X32Y176
G01X32Y160
G206P0X28Y172
G206P0X36Y164
/*
color green
G242X28Y152
G01X28Y104
G01X36Y104
G01X36Y152
G01X28Y152
G206P0X32Y148
/*
color purple
G242X28Y104
G01X28Y152
G01X36Y152
G01X36Y104
/*
color green
G242X24Y96
G02I32
G206P0X32Y96
/*
color green
G242X52Y80
G01X52Y72
G01X60Y72
G01X60Y80
G01X52Y80
G206P0X56Y76
/*
color purple
G242X52Y80
G01X52Y72
G242X60Y80
G01X60Y72
/*
color green
G242X48Y64
G02I56
G206P0X56Y64
/*
color blue
G242X-16Y40
G01X-16Y24
G01X80Y24
G01X80Y40
G01X-16Y40
G206P0X-12Y36
/*
color sky_blue
G242X-16Y40
G01X-16Y24
G01X80Y24
G01X80Y40
G01X-16Y40
/*
color green
G242X-32Y24

-466-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM 10. USER PROGRAMS FOR CALIBRATION CYCLE MENU

G01X-32Y8
G01X96Y8
G01X96Y24
G01X-32Y24
G206P0X-28Y20
/*
color purple
G242X-32Y24
G01X96Y24
/*
color red
#1=32
#2=88
#3=#1
#4=32
#5=0
call fig_line
/*
#1=56
#2=56
#3=#1
#4=32
#5=0
call fig_line
/*
dot_line
#1=52
#2=32
#3=#1
#4=56
#5=0
call fig_line
/*
solid_line
color green
G242X72Y168
G01X136Y168
/*
G242X24Y88
G01X120Y88
/*
G242X48Y56
G01X64Y56
/*
G242X88Y40
G01X120Y40
/*
G242X24Y32
G01X64Y32
/*
G242X104Y24
G01X136Y24
/*
#1=128
#2=168
#3=#1
#4=24
#5=2
call fig_line
/*
#1=112
#2=88
#3=#1
#4=24
#5=2
call fig_line
/*

-467-

10. USER PROGRAMS FOR CALIBRATION CYCLE MENU SAMPLE PROGRAM


#1=112
#2=40
#3=#1
#4=24
#5=2
call fig_line
/*
solid_line
color purple
G242X24Y96
G02I32
/*
color purple
G242X48Y64
G02I56
/*
n100
color white
cursor_off
#1=1
call fig_cursor
G243X54Y11(Z)
#1=2
call fig_cursor
G243X56Y09(D)
#1=3
call fig_cursor
G243X54Y13(H)
#1=4
call fig_cursor
G243X47Y12(F)
m99
O6172 ;############################################### Measurement of Stylus Ball Diameter (G171)Sub1
if[guidance_write_flag eq flag_off] goto 100
solid_line
color green
G242X16Y200
G01X16Y168
G01X80Y168
G01X80Y200
G01X16Y200
G206P0X20Y196
/*
color purple
G242X16Y200
G01X16Y168
G01X80Y168
G01X80Y200
G01X16Y200
/*
color green
G242X32Y168
G01X32Y152
G01X64Y152
G01X64Y168
G01X32Y168
G206P0X36Y164
/*
color purple
G242X32Y168
G01X32Y152
G01X64Y152
G01X64Y168
G01X32Y168
/*
color purple

-468-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM 10. USER PROGRAMS FOR CALIBRATION CYCLE MENU

G242X40Y168
G02I48
G242X48Y176
G01X48Y160
G206P0X44Y172
G206P0X52Y164
/*
color green
G242X44Y152
G01X44Y104
G01X52Y104
G01X52Y152
G01X44Y152
G206P0X48Y148
/*
color purple
G242X44Y104
G01X44Y152
G01X52Y152
G01X52Y104
/*
color green
G242X40Y96
G02I48
G206P0X48Y96
/*
color blue
G242X0Y40
G01X0Y24
G01X96Y24
G01X96Y40
G01X0Y40
G206P0X4Y36
/*
color sky_blue
G242X0Y40
G01X0Y24
G01X96Y24
G01X96Y40
G01X0Y40
dot_line
G242X16Y39
G01X16Y24
G242X80Y39
G01X80Y24
/*
color green
solid_line
G242X-32Y24
G01X-32Y8
G01X128Y8
G01X128Y24
G01X-32Y24
G206P0X-28Y20
/*
color purple
G242X-32Y24
G01X128Y24
/*
color red
dot_line
#1=48
#2=88
#3=#1
#4=32
#5=0
call fig_line

-469-

10. USER PROGRAMS FOR CALIBRATION CYCLE MENU SAMPLE PROGRAM


/*
#1=24
#2=32
#3=72
#4=#2
#5=2
call fig_line
/*
solid_line
#1=8
#2=32
#3=24
#4=#2
#5=1
call fig_line
/*
#1=72
#2=32
#3=88
#4=#2
#5=0
call fig_line
/*
color green
G242X40Y88
G01X120Y88
/*
G242X104Y32
G01X120Y32
/*
#1=112
#2=88
#3=#1
#4=32
#5=2
call fig_line
/*
solid_line
color purple
G242X40Y96
G02I48
/*
n100
color white
cursor_off
if[#[address 0] ne 173]then #1=1
else #1=3
call fig_cursor
G243X54Y11(Z)
m99
O6173 ;############################################### Measurement of Stylus Ball Diameter (G171)Sub1
if[guidance_write_flag eq flag_off] goto 100
solid_line
color blue
G242X-28Y104
G02I52
G242X-12Y104
G02I52
G206P0X-24Y104
/*
color sky_blue
G242X-28Y104
G02I52
G242X-12Y104
G02I52
/*

-470-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM 10. USER PROGRAMS FOR CALIBRATION CYCLE MENU

color green
G242X88Y120
G02I96
G206P0X92Y120
/*
color purple
G242X88Y120
G02I96
/*
solid_line
color red
#1=52
#2=144
#3=#1
#4=176
#5=0
call fig_line
/*
#1=12
#2=104
#3=-20
#4=#2
#5=0
call fig_line
/*
#1=52
#2=64
#3=#1
#4=32
#5=0
call fig_line
/*
#1=92
#2=104
#3=124
#4=#2
#5=0
call fig_line
/*
#1=96
#2=120
#3=124
#4=#2
#5=0
call fig_line
/*
dot_line
#1=52
#2=144
#3=#1
#4=64
#5=2
call fig_line
/*
#1=12
#2=104
#3=92
#4=#2
#5=2
call fig_line
/*
#1=52
#2=120
#3=96
#4=#2
#5=0
call fig_line

-471-

10. USER PROGRAMS FOR CALIBRATION CYCLE MENU SAMPLE PROGRAM


/*
solid_line
color green
G242X124Y128
G01X124Y96
/*
#1=52
#2=104
#3=7
#4=149
#5=0
call fig_line
/*
one_dot_line
color purple
G242X96Y132
G01X96Y108
/*
n100
color white
cursor_off
if[#[address 0] ne 173]then #1=2
else #1=4
call fig_cursor
G243X43Y6(R)
if[#[address 0] eq 171 || #[address 0] eq 172]then #1=3
if[#[address 0] eq 173]then #1=5
call fig_cursor
G243X53Y7(F)
cursor_off
if[#[address 0] eq 173]then
G243X44Y9('(')
G243X46Y9(',')
G243X48Y9(')')
#1=1
call fig_cursor
G243X45Y9(X)
#1=2
call fig_cursor
G243X47Y9(Y)
endif
m99

-472-

B-63423EN/02

B-63423EN/02

10.4

SAMPLE PROGRAM 10. USER PROGRAMS FOR CALIBRATION CYCLE MENU

INPUTTED DATA CHECKING

/****************************************************************************
/*
/* CHECK8.SRC :: Calibration Cycles
/*
/***** 6611: Meaurement of Probe Length (G170)
/***** 6612: Measurement of Stylus Ball Diameter (G171)
/***** 6613: Measurement(A) of Stylus X Offset (G172)
/***** 6614: Measurement(B) of Stylus X Offset (G173)
/****************************************************************************
$INCLUDE SYMBOL.DEF
O6611 ;############################################### Meaurement of Probe Length (G170)
input_error_flag = error_non
/* Distance for Move */
error_item = 1
if[#[value 1] eq #0]goto 97
if[#[value 1] le 0]goto 98
/* Dist. Gauge-Table */
error_item = 2
if[#[value 2] eq #0]goto 97
if[#[value 2] le 0]goto 98
/* Ring Gauge Height */
error_item = 3
if[#[value 3] eq #0]goto 97
if[#[value 3] le 0]goto 98
/* Feedrate for Move */
error_item = 4
if[#[value 4] eq #0]goto 97
if[#[value 4] le 0]goto 98
goto 99
/* Data is lacking. */
n97 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+900]
goto 99
/* Input error in menu param. */
n98 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+901]
n99 m99

O6612 ;############################################### Measurement of Stylus Ball Diameter (G171)


input_error_flag = error_non
/* Distance for Move */
error_item = 1
if[#[value 1] eq #0]goto 97
if[#[value 1] le 0]goto 98
/* Ring Gauge Radius */
error_item = 2
if[#[value 2] eq #0]goto 97
if[#[value 2] le 0]goto 98
/* Feedrate for Move */
error_item = 3
if[#[value 3] eq #0]goto 97
if[#[value 3] le 0]goto 98
goto 99
/* Data is lacking. */
n97 input_error_flag = error_on
call fig_language

-473-

10. USER PROGRAMS FOR CALIBRATION CYCLE MENU SAMPLE PROGRAM


color red C white L0
G243X1Y24 P[#1+900]
goto 99
/* Input error in menu param. */
n98 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+901]
n99 m99
O6613 ;############################################### Measurement(A) of Stylus X Offset (G172)
input_error_flag = error_non
/* Distance for Move */
error_item = 1
if[#[value 1] eq #0]goto 97
if[#[value 1] le 0]goto 98
/* Ring Gauge Radius */
error_item = 2
if[#[value 2] eq #0]goto 97
if[#[value 2] le 0]goto 98
/* Feedrate for Move */
error_item = 3
if[#[value 3] eq #0]goto 97
if[#[value 3] le 0]goto 98
goto 99
/* Data is lacking. */
n97 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+900]
goto 99
/* Input error in menu param. */
n98 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+901]
n99 m99
O6614 ;############################################### Measurement(B) of Stylus X Offset (G173)
input_error_flag = error_non
/* Center Point X */
error_item = 1
if[#[value 1] eq #0]goto 97
/* Center Point Y */
error_item = 2
if[#[value 2] eq #0]goto 97
/* Distance for Move */
error_item = 3
if[#[value 3] eq #0]goto 97
if[#[value 3] le 0]goto 98
/* Ring Gauge Radius */
error_item = 4
if[#[value 4] eq #0]goto 97
if[#[value 4] le 0]goto 98
/* Feedrate for Move */
error_item = 5
if[#[value 5] eq #0]goto 97
if[#[value 5] le 0]goto 98
goto 99
/* Data is lacking. */
n97 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+900]
goto 99
/* Input error in menu param. */
n98 input_error_flag = error_on

-474-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM 10. USER PROGRAMS FOR CALIBRATION CYCLE MENU

call fig_language
color red C white L0
G243X1Y24 P[#1+901]
n99 m99

-475-

11. USER PROGRAMS FOR MEASURING CYCLE MENU

11

SAMPLE PROGRAM

B-63423EN/02

USER PROGRAMS FOR MEASURING


CYCLE MENU

-476-

SAMPLE PROGRAM

B-63423EN/02

11.1

11. USER PROGRAMS FOR MEASURING CYCLE MENU

COMMENTS DEFINITION

/****************************************************************************
/*
/*
STRING19.SRC :: Measuring Cycles
/*
/***** 6301: Soft-keys
/***** 6311: Measurement of X/Y/Z Single Surface (G180)
/***** 6321: Measurement of Web Width (G181)
/***** 6331: Measurement of Groove Width (G182)
/***** 6341: Measurement of Outside Circle (G183)
/***** 6351: Measurement of Inside Circle (G184)
/***** 6361: Measurement of Outside Rectangular (G185)
/***** 6371: Measurement of Inside Rectangular (G186)
/***** 6381: Measurement of Outside Corner (G187)
/***** 6391: Measurement of Inside Corner (G188)
/***** 6401: Measurement of Bolt-Hole-Circle (G189)
/***** 6411: Measurement of 4 Holes Center(G190)
/***** 6421: Measurement of Work Piece Angle (G191)
/***** 6431: Measurement of 2 Holes Angle (G192)
/****************************************************************************
O6301 ;############################################### Soft-keys
N0001("20 01 C010 20")(' FACE ');
N0002("20 01 C018 20")(' WEB ');
N0003("20 01 C020 20")('GROOVE');
N0004("20 01 C028 20")('CIRCLE');
N0005("20 01 C030 20")('CIRCLE');
N0006("20 01 C038 20")(' RECT.');
N0007("20 01 C040 20")(' RECT.');
N0008("20 01 C048 20")('CORNER');
N0009("20 01 C050 20")('CORNER');
N0010("20 01 C010 20")('3-HOLE');
N0011("20 01 C018 20")('4-HOLE');
N0012("20 01 C020 20")('ANGLE ');
N0013("20 01 C028 20")('ANGLE ');
M99
O6311 ;############################################### Measurement of X/Y/Z Single Surface (G180)
N9999('MEASUREMENT OF X/Y/Z SINGLE SURFACE');
/*
N0001('MEASURE POSITION');
N0002('WORK CO-ORD.VALUE');
N0003('DISTANCE FOR MOVE');
N0004('FEEDRATE FOR MOVE');
N0005('WORK CO-ORD.SYSTEM');
N0006('WORK CO-ORD.SYSTEM');
N0100('34');
N0101("20 01 C018 20")('X AXIS');
N0102("20 01 C010 20")('Y AXIS');
N0103("20 01 C020 20")('Z AXIS');
N0151('1');
N0152('2');
N0153('3');
/*
N0500('1');
N0501("20 01 C010 20")(' G54 ');
N0502("20 01 C010 20")(' G55 ');
N0503("20 01 C010 20")(' G56 ');
N0504("20 01 C010 20")(' G57 ');
N0505("20 01 C010 20")(' G58 ');
N0506("20 01 C010 20")(' G59 ');
N0551('1');

-477-

11. USER PROGRAMS FOR MEASURING CYCLE MENU

SAMPLE PROGRAM

N0552('2');
N0553('3');
N0554('4');
N0555('5');
N0556('6');
M99
O6321 ;############################################### Measurement of Web Width (G181)
N9999('MEASUREMENT OF WEB WIDTH');
/*
N0001('HEIGHT FOR Z AXIS');
N0002('MEASURE DIRECTION');
N0003('WEB WIDTH');
N0004('FEEDRATE FOR MOVE');
N0005('WORK CO-ORD.SYSTEM');
N0006('WORK CO-ORD.SYSTEM');
/*
N0200('34');
N0201("20 01 C028 20")('X AXIS');
N0202("20 01 C030 20")('Y AXIS');
N0251('1');
N0252('2');
/*
N0500('1');
N0501("20 01 C010 20")(' G54 ');
N0502("20 01 C010 20")(' G55 ');
N0503("20 01 C010 20")(' G56 ');
N0504("20 01 C010 20")(' G57 ');
N0505("20 01 C010 20")(' G58 ');
N0506("20 01 C010 20")(' G59 ');
N0551('1');
N0552('2');
N0553('3');
N0554('4');
N0555('5');
N0556('6');
M99
O6331 ;############################################### Measurement of Groove Width (G182)
N9999('MEASUREMENT OF GROOVE WIDTH');
/*
N0001('HEIGHT FOR Z AXIS');
N0002('MEASURE DIRECTION');
N0003('GROOVE WIDTH');
N0004('FEEDRATE FOR MOVE');
N0005('WORK CO-ORD.SYSTEM');
N0006('WORK CO-ORD.SYSTEM');
/*
N0200('34');
N0201("20 01 C038 20")('X AXIS');
N0202("20 01 C040 20")('Y AXIS');
N0251('1');
N0252('2');
/*
N0500('1');
N0501("20 01 C010 20")(' G54 ');
N0502("20 01 C010 20")(' G55 ');
N0503("20 01 C010 20")(' G56 ');
N0504("20 01 C010 20")(' G57 ');
N0505("20 01 C010 20")(' G58 ');
N0506("20 01 C010 20")(' G59 ');
N0551('1');
N0552('2');
N0553('3');
N0554('4');
N0555('5');
N0556('6');

-478-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

11. USER PROGRAMS FOR MEASURING CYCLE MENU

M99
O6341 ;############################################### Measurement of Outside Circle (G183)
N9999('MEASUREMENT OF OUTSIDE CIRCLE');
/*
N0001('HEIGHT FOR Z AXIS');
N0002('OUTSIDE RADIUS')
N0003('FEEDRATE FOR MOVE');
N0004('WORK CO-ORD.SYSTEM');
N0005('WORK CO-ORD.SYSTEM');
/*
N0400('1');
N0401("20 01 C010 20")(' G54 ');
N0402("20 01 C010 20")(' G55 ');
N0403("20 01 C010 20")(' G56 ');
N0404("20 01 C010 20")(' G57 ');
N0405("20 01 C010 20")(' G58 ');
N0406("20 01 C010 20")(' G59 ');
N0451('1');
N0452('2');
N0453('3');
N0454('4');
N0455('5');
N0456('6');
M99
O6351 ;############################################### Measurement of Inside Circle (G184)
N9999('MEASUREMENT OF INSIDE CIRCLE');
/*
N0001('HEIGHT FOR Z AXIS');
N0002('INSIDE RADIUS')
N0003('FEEDRATE FOR MOVE');
N0004('WORK CO-ORD.SYSTEM');
N0005('WORK CO-ORD.SYSTEM');
/*
N0400('1');
N0401("20 01 C010 20")(' G54 ');
N0402("20 01 C010 20")(' G55 ');
N0403("20 01 C010 20")(' G56 ');
N0404("20 01 C010 20")(' G57 ');
N0405("20 01 C010 20")(' G58 ');
N0406("20 01 C010 20")(' G59 ');
N0451('1');
N0452('2');
N0453('3');
N0454('4');
N0455('5');
N0456('6');
M99
O6361 ;############################################### Measurement of Outside Rectangular (G185)
N9999('MEASUREMENT OF OUTSIDE RECTANGULAR');
/*
N0001('HEIGHT FOR Z AXIS');
N0002('LENGTH FOR X AXIS');
N0003('LENGTH FOR Y AXIS');
N0004('FEEDRATE FOR MOVE');
N0005('WORK CO-ORD.SYSTEM');
N0006('WORK CO-ORD.SYSTEM');
/*
N0500('1');
N0501("20 01 C010 20")(' G54 ');
N0502("20 01 C010 20")(' G55 ');
N0503("20 01 C010 20")(' G56 ');
N0504("20 01 C010 20")(' G57 ');
N0505("20 01 C010 20")(' G58 ');
N0506("20 01 C010 20")(' G59 ');

-479-

11. USER PROGRAMS FOR MEASURING CYCLE MENU

SAMPLE PROGRAM

N0551('1');
N0552('2');
N0553('3');
N0554('4');
N0555('5');
N0556('6');
M99
O6371 ;############################################### Measurement of Inside Rectangular (G186)
N9999('MEASUREMENT OF INSIDE RECTANGULAR');
/*
N0001('HEIGHT FOR Z AXIS');
N0002('LENGTH FOR X AXIS');
N0003('LENGTH FOR Y AXIS');
N0004('FEEDRATE FOR MOVE');
N0005('WORK CO-ORD.SYSTEM');
N0006('WORK CO-ORD.SYSTEM');
/*
N0500('1');
N0501("20 01 C010 20")(' G54 ');
N0502("20 01 C010 20")(' G55 ');
N0503("20 01 C010 20")(' G56 ');
N0504("20 01 C010 20")(' G57 ');
N0505("20 01 C010 20")(' G58 ');
N0506("20 01 C010 20")(' G59 ');
N0551('1');
N0552('2');
N0553('3');
N0554('4');
N0555('5');
N0556('6');
M99
O6381 ;############################################### Measurement of Outside Corner (G187)
N9999('MEASUREMENT OF OUTSIDE CORNER');
/*
N0001('1ST MEASURE POINT X');
N0002('1ST MEASURE POINT Y');
N0003('3RD MEASURE POINT X');
N0004('3RD MEASURE POINT Y');
N0005('DISTANCE FOR X AXIS');
N0006('DISTANCE FOR Y AXIS');
N0007('INCREASE FOR X AXIS');
N0008('INCREASE FOR Y AXIS');
N0009('FEEDRATE FOR MOVE');
N0010('WORK CO-ORD.SYSTEM');
N0011('WORK CO-ORD.SYSTEM');
/*
N1000('1');
N1001("20 01 C010 20")(' G54 ');
N1002("20 01 C010 20")(' G55 ');
N1003("20 01 C010 20")(' G56 ');
N1004("20 01 C010 20")(' G57 ');
N1005("20 01 C010 20")(' G58 ');
N1006("20 01 C010 20")(' G59 ');
N1051('1');
N1052('2');
N1053('3');
N1054('4');
N1055('5');
N1056('6');
M99
O6391 ;############################################### Measurement of Inside Corner (G188)
N9999('MEASUREMENT OF INSIDE CORNER');
/*
N0001('CORNER POSITION');

-480-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

11. USER PROGRAMS FOR MEASURING CYCLE MENU

N0002('1ST MEASURE POINT X');


N0003('1ST MEASURE POINT Y');
N0004('DISTANCE FOR X AXIS');
N0005('DISTANCE FOR Y AXIS');
N0006('INCREASE FOR X AXIS');
N0007('INCREASE FOR Y AXIS');
N0008('FEEDRATE FOR MOVE');
N0009('WORK CO-ORD.SYSTEM');
N0010('WORK CO-ORD.SYSTEM');
/*
N0100('1);
N0101('
')('
')(' 1 ');
N0102('
')('
')(' 2 ');
N0103('
')('
')(' 3 ');
N0104('
')('
')(' 4 ');
N0151('1');
N0152('2');
N0153('3');
N0154('4');
/*
N0900('1');
N0901("20 01 C010 20")(' G54 ');
N0902("20 01 C010 20")(' G55 ');
N0903("20 01 C010 20")(' G56 ');
N0904("20 01 C010 20")(' G57 ');
N0905("20 01 C010 20")(' G58 ');
N0906("20 01 C010 20")(' G59 ');
N0951('1');
N0952('2');
N0953('3');
N0954('4');
N0955('5');
N0956('6');
M99
O6401 ;############################################### Measurement of Bolt-Hole-Circle (G189)
N9999('MEASUREMENT OF BOLT-HOLE-CIRCLE');
/*
N0001('HEIGHT FOR Z AXIS');
N0002('RADIUS');
N0003('HOLE NOMINAL DIA.');
N0004('1ST HOLE ANGLE');
N0005('2ND HOLE ANGLE');
N0006('3RD HOLE ANGLE');
N0007('FEEDRATE FOR MOVE');
N0008('WORK CO-ORD.SYSTEM');
N0009('WORK CO-ORD.SYSTEM');
/*
N0800('1');
N0801("20 01 C010 20")(' G54 ');
N0802("20 01 C010 20")(' G55 ');
N0803("20 01 C010 20")(' G56 ');
N0804("20 01 C010 20")(' G57 ');
N0805("20 01 C010 20")(' G58 ');
N0806("20 01 C010 20")(' G59 ');
N0851('1');
N0852('2');
N0853('3');
N0854('4');
N0855('5');
N0856('6');
M99
O6411 ;############################################### Measurement of 4 Holes Center(G190)
N9999('MEASUREMENT OF 4 HOLES CENTER');
/*
N0001('HEIGHT FOR Z AXIS');

-481-

11. USER PROGRAMS FOR MEASURING CYCLE MENU

SAMPLE PROGRAM

N0002('HOLE NOMINAL DIA.');


N0003('1ST HOLE POINT X');
N0004('1ST HOLE POINT Y');
N0005('2ND HOLE POINT X');
N0006('2ND HOLE POINT Y');
N0007('3RD HOLE POINT X');
N0008('3RD HOLE POINT Y');
N0009('4TH HOLE POINT X');
N0010('4TH HOLE POINT Y');
N0011('FEEDRATE FOR MOVE');
N0012('WORK CO-ORD.SYSTEM');
N0013('WORK CO-ORD.SYSTEM');
/*
N1200('1');
N1201("20 01 C010 20")(' G54 ');
N1202("20 01 C010 20")(' G55 ');
N1203("20 01 C010 20")(' G56 ');
N1204("20 01 C010 20")(' G57 ');
N1205("20 01 C010 20")(' G58 ');
N1206("20 01 C010 20")(' G59 ');
N1251('1');
N1252('2');
N1253('3');
N1254('4');
N1255('5');
N1256('6');
M99
O6421 ;############################################### Measurement of Work Piece Angle (G191)
N9999('MEASUREMENT OF WORK PIECE ANGLE');
/*
N0001('1ST MEASURE POINT X');
N0002('1ST MEASURE POINT Y');
N0003('2ND MEASURE POINT X');
N0004('2ND MEASURE POINT Y');
N0005('DISTANCE FOR MOVE');
N0006('PROBE AXIS FOR MOVE');
N0007('FEEDRATE FOR MOVE');
/*
N0600('35');
N0601("20 01 C010 20")(' +X ');
N0602("20 01 C018 20")(' -X ');
N0603("20 01 C020 20")(' +Y ');
N0604("20 01 C028 20")(' -Y ');
N0651('1');
N0652('2');
N0653('3');
N0654('4');
M99
O6431 ;############################################### Measurement of 2 Holes Angle (G192)
N9999('MEASUREMENT OF 2 HOLES ANGLE');
/*
N0001('HEIGHT FOR Z AXIS');
N0002('HOLE NOMINAL DIA.');
N0003('1ST HOLE POINT X');
N0004('1ST HOLE POINT Y');
N0005('2ND HOLE POINT X');
N0006('2ND HOLE POINT Y');
N0007('FEEDRATE FOR MOVE');
M99
/****************************************************************************
/*
/*
STRING29.SRC :: Measuring cycle
/*
/***** 6302: Soft-keys

-482-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

11. USER PROGRAMS FOR MEASURING CYCLE MENU

/***** 6312: Measurement of X/Y/Z Single Surface (G180)


/***** 6322: Measurement of Web Width (G181)
/***** 6332: Measurement of Groove Width (G182)
/***** 6342: Measurement of Outside Circle (G183)
/***** 6352: Measurement of Inside Circle (G184)
/***** 6362: Measurement of Outside Rectangular (G185)
/***** 6372: Measurement of Inside Rectangular (G186)
/***** 6382: Measurement of Outside Corner (G187)
/***** 6392: Measurement of Inside Corner (G188)
/***** 6402: Measurement of Bolt-Hole-Circle (G189)
/***** 6412: Measurement of 4 Holes Center(G190)
/***** 6422: Measurement of Work Piece Angle (G191)
/***** 6432: Measurement of 2 Holes Angle (G192)
/****************************************************************************
O6302 ;############################################### Soft-keys
N0001("20 01 C010 20")(' FACE ');
N0002("20 01 C018 20")(' WEB ');
N0003("20 01 C020 20")('GROOVE');
N0004("20 01 C028 20")('CIRCLE);
N0005("20 01 C030 20")('CIRCLE);
N0006("20 01 C038 20")('RECT');
N0007("20 01 C040 20")('RECT');
N0008("20 01 C048 20")('CORNER ');
N0009("20 01 C050 20")('CORNER');
N0010("20 01 C010 20")('3-HOLE');
N0011("20 01 C018 20")('4-HOLE');
N0012("20 01 C020 20")('ANGLE ');
N0013("20 01 C028 20")('ANGLE ');
M99
O6312 ;############################################### Measurement of X/Y/Z Single Surface (G180)
N9999('MEASUREMENT OF X/Y/Z SINGLE SURFACE');
/*
N0001('MEASURE POSITION');
N0002('WORK CO-ORD.VALUE');
N0003('DISTANCE FOR MOVE');
N0004('FEEDRATE FOR MOVE');
N0005('WORK CO-ORD.SYSTEM');
N0006('WORK CO-ORD.SYSTEM');
N0100('34');
N0101("20 01 C018 20")('X AXIS');
N0102("20 01 C010 20")('Y AXIS');
N0103("20 01 C020 20")('Z AXIS');
N0151('1');
N0152('2');
N0153('3');
/*
N0500('1');
N0501("20 01 C010 20")(' G54 ');
N0502("20 01 C010 20")(' G55 ');
N0503("20 01 C010 20")(' G56 ');
N0504("20 01 C010 20")(' G57 ');
N0505("20 01 C010 20")(' G58 ');
N0506("20 01 C010 20")(' G59 ');
N0551('1');
N0552('2');
N0553('3');
N0554('4');
N0555('5');
N0556('6');
M99
O6322 ;############################################### Measurement of Web Width (G181)
N9999('MEASUREMENT OF WEB WIDTH');
/*

-483-

11. USER PROGRAMS FOR MEASURING CYCLE MENU

SAMPLE PROGRAM

N0001('HEIGHT FOR Z AXIS');


N0002('MEASURE DIRECTION');
N0003('WEB WIDTH');
N0004('FEEDRATE FOR MOVE');
N0005('WORK CO-ORD.SYSTEM');
N0006('WORK CO-ORD.SYSTEM');
/*
N0200('34');
N0201("20 01 C028 20")('X AXIS');
N0202("20 01 C030 20")('Y AXIS');
N0251('1');
N0252('2');
/*
N0500('1');
N0501("20 01 C010 20")(' G54 ');
N0502("20 01 C010 20")(' G55 ');
N0503("20 01 C010 20")(' G56 ');
N0504("20 01 C010 20")(' G57 ');
N0505("20 01 C010 20")(' G58 ');
N0506("20 01 C010 20")(' G59 ');
N0551('1');
N0552('2');
N0553('3');
N0554('4');
N0555('5');
N0556('6');
M99
O6332 ;############################################### Measurement of Groove Width (G182)
N9999('MEASUREMENT OF GROOVE WIDTH');
/*
N0001('HEIGHT FOR Z AXIS');
N0002('MEASURE DIRECTION');
N0003('GROOVE WIDTH');
N0004('FEEDRATE FOR MOVE');
N0005('WORK CO-ORD.SYSTEM');
N0006('WORK CO-ORD.SYSTEM');
/*
N0200('34');
N0201("20 01 C038 20")('X AXIS');
N0202("20 01 C040 20")('Y AXIS');
N0251('1');
N0252('2');
/*
N0500('1');
N0501("20 01 C010 20")(' G54 ');
N0502("20 01 C010 20")(' G55 ');
N0503("20 01 C010 20")(' G56 ');
N0504("20 01 C010 20")(' G57 ');
N0505("20 01 C010 20")(' G58 ');
N0506("20 01 C010 20")(' G59 ');
N0551('1');
N0552('2');
N0553('3');
N0554('4');
N0555('5');
N0556('6');
M99
O6342 ;############################################### Measurement of Outside Circle (G183)
N9999('MEASUREMENT OF OUTSIDE CIRCLE');
/*
N0001('HEIGHT FOR Z AXIS');
N0002('OUTSIDE RADIUS')
N0003('FEEDRATE FOR MOVE');
N0004('WORK CO-ORD.SYSTEM');
N0005('WORK CO-ORD.SYSTEM');

-484-

B-63423EN/02

SAMPLE PROGRAM

B-63423EN/02

/*
N0400('1');
N0401("20 01 C010 20")(' G54
N0402("20 01 C010 20")(' G55
N0403("20 01 C010 20")(' G56
N0404("20 01 C010 20")(' G57
N0405("20 01 C010 20")(' G58
N0406("20 01 C010 20")(' G59
N0451('1');
N0452('2');
N0453('3');
N0454('4');
N0455('5');
N0456('6');
M99

11. USER PROGRAMS FOR MEASURING CYCLE MENU

');
');
');
');
');
');

O6352 ;############################################### Measurement of Inside Circle (G184)


N9999('MEASUREMENT OF INSIDE CIRCLE');
/*
N0001('HEIGHT FOR Z AXIS');
N0002('INSIDE RADIUS')
N0003('FEEDRATE FOR MOVE');
N0004('WORK CO-ORD.SYSTEM');
N0005('WORK CO-ORD.SYSTEM');
/*
N0400('1');
N0401("20 01 C010 20")(' G54 ');
N0402("20 01 C010 20")(' G55 ');
N0403("20 01 C010 20")(' G56 ');
N0404("20 01 C010 20")(' G57 ');
N0405("20 01 C010 20")(' G58 ');
N0406("20 01 C010 20")(' G59 ');
N0451('1');
N0452('2');
N0453('3');
N0454('4');
N0455('5');
N0456('6');
M99
O6362 ;############################################### Measurement of Outside Rectangular (G185)
N9999('MEASUREMENT OF OUTSIDE RECTANGULAR');
/*
N0001('HEIGHT FOR Z AXIS');
N0002('LENGTH FOR X AXIS');
N0003('LENGTH FOR Y AXIS');
N0004('FEEDRATE FOR MOVE');
N0005('WORK CO-ORD.SYSTEM');
N0006('WORK CO-ORD.SYSTEM');
/*
N0500('1');
N0501("20 01 C010 20")(' G54 ');
N0502("20 01 C010 20")(' G55 ');
N0503("20 01 C010 20")(' G56 ');
N0504("20 01 C010 20")(' G57 ');
N0505("20 01 C010 20")(' G58 ');
N0506("20 01 C010 20")(' G59 ');
N0551('1');
N0552('2');
N0553('3');
N0554('4');
N0555('5');
N0556('6');
M99
O6372 ;############################################### Measurement of Inside Rectangular (G186)
N9999('MEASUREMENT OF INSIDE RECTANGULAR');

-485-

11. USER PROGRAMS FOR MEASURING CYCLE MENU

SAMPLE PROGRAM

/*
N0001('HEIGHT FOR Z AXIS');
N0002('LENGTH FOR X AXIS');
N0003('LENGTH FOR Y AXIS');
N0004('FEEDRATE FOR MOVE');
N0005('WORK CO-ORD.SYSTEM');
N0006('WORK CO-ORD.SYSTEM');
/*
N0500('1');
N0501("20 01 C010 20")(' G54 ');
N0502("20 01 C010 20")(' G55 ');
N0503("20 01 C010 20")(' G56 ');
N0504("20 01 C010 20")(' G57 ');
N0505("20 01 C010 20")(' G58 ');
N0506("20 01 C010 20")(' G59 ');
N0551('1');
N0552('2');
N0553('3');
N0554('4');
N0555('5');
N0556('6');
M99
O6382 ;############################################### Measurement of Outside Corner (G187)
N9999('MEASUREMENT OF OUTSIDE CORNER');
/*
N0001('1ST MEASURE POINT X');
N0002('1ST MEASURE POINT Y');
N0003('3RD MEASURE POINT X');
N0004('3RD MEASURE POINT Y');
N0005('DISTANCE FOR X AXIS');
N0006('DISTANCE FOR Y AXIS');
N0007('INCREASE FOR X AXIS');
N0008('INCREASE FOR Y AXIS');
N0009('FEEDRATE FOR MOVE');
N0010('WORK CO-ORD.SYSTEM');
N0011('WORK CO-ORD.SYSTEM');
/*
N1000('1');
N1001("20 01 C010 20")(' G54 ');
N1002("20 01 C010 20")(' G55 ');
N1003("20 01 C010 20")(' G56 ');
N1004("20 01 C010 20")(' G57 ');
N1005("20 01 C010 20")(' G58 ');
N1006("20 01 C010 20")(' G59 ');
N1051('1');
N1052('2');
N1053('3');
N1054('4');
N1055('5');
N1056('6');
M99
O6392 ;############################################### Measurement of Inside Corner (G188)
N9999('MEASUREMENT OF INSIDE CORNER');
/*
N0001('CORNER POSITION');
N0002('1ST MEASURE POINT X');
N0003('1ST MEASURE POINT Y');
N0004('DISTANCE FOR X AXIS');
N0005('DISTANCE FOR Y AXIS');
N0006('INCREASE FOR X AXIS');
N0007('INCREASE FOR Y AXIS');
N0008('FEEDRATE FOR MOVE');
N0009('WORK CO-ORD.SYSTEM');
N0010('WORK CO-ORD.SYSTEM');
/*

-486-

B-63423EN/02

SAMPLE PROGRAM

B-63423EN/02

N0100('1);
N0101('
')('
')(' 1 ');
N0102('
')('
')(' 2 ');
N0103('
')('
')(' 3 ');
N0104('
')('
')(' 4 ');
N0151('1');
N0152('2');
N0153('3');
N0154('4');
/*
N0900('1');
N0901("20 01 C010 20")(' G54
N0902("20 01 C010 20")(' G55
N0903("20 01 C010 20")(' G56
N0904("20 01 C010 20")(' G57
N0905("20 01 C010 20")(' G58
N0906("20 01 C010 20")(' G59
N0951('1');
N0952('2');
N0953('3');
N0954('4');
N0955('5');
N0956('6');
M99

11. USER PROGRAMS FOR MEASURING CYCLE MENU

');
');
');
');
');
');

O6402 ;############################################### Measurement of Bolt-Hole-Circle (G189)


N9999('MEASUREMENT OF BOLT-HOLE-CIRCLE');
/*
N0001('HEIGHT FOR Z AXIS');
N0002('RADIUS');
N0003('HOLE NOMINAL DIA.');
N0004('1ST HOLE ANGLE');
N0005('2ND HOLE ANGLE');
N0006('3RD HOLE ANGLE');
N0007('FEEDRATE FOR MOVE');
N0008('WORK CO-ORD.SYSTEM');
N0009('WORK CO-ORD.SYSTEM');
/*
N0800('1');
N0801("20 01 C010 20")(' G54 ');
N0802("20 01 C010 20")(' G55 ');
N0803("20 01 C010 20")(' G56 ');
N0804("20 01 C010 20")(' G57 ');
N0805("20 01 C010 20")(' G58 ');
N0806("20 01 C010 20")(' G59 ');
N0851('1');
N0852('2');
N0853('3');
N0854('4');
N0855('5');
N0856('6');
M99
O6412 ;############################################### Measurement of 4 Holes Center(G190)
N9999('MEASUREMENT OF 4 HOLES CENTER');
/*
N0001('HEIGHT FOR Z AXIS');
N0002('HOLE NOMINAL DIA.');
N0003('1ST HOLE POINT X');
N0004('1ST HOLE POINT Y');
N0005('2ND HOLE POINT X');
N0006('2ND HOLE POINT Y');
N0007('3RD HOLE POINT X');
N0008('3RD HOLE POINT Y');
N0009('4TH HOLE POINT X');
N0010('4TH HOLE POINT Y');
N0011('FEEDRATE FOR MOVE');

-487-

11. USER PROGRAMS FOR MEASURING CYCLE MENU

SAMPLE PROGRAM

N0012('WORK CO-ORD.SYSTEM');
N0013('WORK CO-ORD.SYSTEM');
/*
N1200('1');
N1201("20 01 C010 20")(' G54 ');
N1202("20 01 C010 20")(' G55 ');
N1203("20 01 C010 20")(' G56 ');
N1204("20 01 C010 20")(' G57 ');
N1205("20 01 C010 20")(' G58 ');
N1206("20 01 C010 20")(' G59 ');
N1251('1');
N1252('2');
N1253('3');
N1254('4');
N1255('5');
N1256('6');
M99
O6422 ;###############################################Measurement of Work Piece Angle (G191)
N9999('MEASUREMENT OF WORK PIECE ANGLE');
/*
N0001('1ST MEASURE POINT X');
N0002('1ST MEASURE POINT Y');
N0003('2ND MEASURE POINT X');
N0004('2ND MEASURE POINT Y');
N0005('DISTANCE FOR MOVE');
N0006('PROBE AXIS FOR MOVE');
N0007('FEEDRATE FOR MOVE');
/*
N0600('35');
N0601("20 01 C010 20")(' +X ');
N0602("20 01 C018 20")(' -X ');
N0603("20 01 C020 20")(' +Y ');
N0604("20 01 C028 20")(' -Y ');
N0651('1');
N0652('2');
N0653('3');
N0654('4');
M99
O6432 ;############################################### Measurement of 2 Holes Angle (G192)
N9999('MEASUREMENT OF 2 HOLES ANGLE');
/*
N0001('HEIGHT FOR Z AXIS');
N0002('HOLE NOMINAL DIA.');
N0003('1ST HOLE POINT X');
N0004('1ST HOLE POINT Y');
N0005('2ND HOLE POINT X');
N0006('2ND HOLE POINT Y');
N0007('FEEDRATE FOR MOVE');
M99

-488-

B-63423EN/02

B-63423EN/02

11.2

SAMPLE PROGRAM

11. USER PROGRAMS FOR MEASURING CYCLE MENU

DATA ATTRIBUTE

/****************************************************************************
/*
/* PROC9.SRC :: Measuring Cycles
/*
/***** 6521: Measurement of X/Y/Z Single Surface (G180)
/***** 6522: Measurement of Web Width (G181)
/***** 6523: Measurement of Groove Width (G182)
/***** 6524: Measurement of Outside Circle (G183)
/***** 6525: Measurement of Inside Circle (G184)
/***** 6526: Measurement of Outside Rectangular (G185)
/***** 6527: Measurement of Inside Rectangular (G186)
/***** 6528: Measurement of Outside Corner (G187)
/***** 6529: Measurement of Inside Corner (G188)
/***** 6530: Measurement of Bolt-Hole-Circle (G189)
/***** 6531: Measurement of 4 Holes Center(G190)
/***** 6532: Measurement of Work Piece Angle (G191)
/***** 6533: Measurement of 2 Holes Angle (G192)
/****************************************************************************
$INCLUDE SYMBOL.DEF
O6521 ;############################################### Measurement of X/Y/Z Single Surface (G180)
/* Cycle G Code */
#[address 0] = 180
/* Measure Position */
#[address 1] = add_A
#[attribute 1] = att_character
#[value 1] = 1
/* 1:X AXIS,2:Y AXIS,3 Z AXIS
/* Work co-ord. Value */
#[address 2] = add_V
#[attribute 2] = att_decimal
#[value 2] = #0
/* Distance for Move */
#[address 3] = add_D
#[attribute 3] = att_decimal
#[value 3] = #0
/* Feedrate for Move */
#[address 4] = add_F
#[attribute 4] = att_decimal
#[value 4] = #0
/* Work co-ord. System */
#[address 5] = add_W
#[attribute 5] = att_character
#[value 5] = #0
/* 1:G54,2:G55,3:G56,4:G57,5:G58,6:G59
/* Work co-ord. System */
#[address 6] = add_W
#[attribute 6] = att_not_use
#[value 6] = #0
/* End */
#[address 7] = add_end
previous_cursor = 1
/* Previous cursor position clear
guidance_write_flag = flag_on /* Guidance Write
m99
O6522 ;############################################### Measurement of Web Width (G181)
/* Cycle G Code */
#[address 0] = 181
/* Height for Z Axis */
#[address 1] = add_Z
#[attribute 1] = att_decimal
#[value 1] = #0
/* Measure Direction */
#[address 2] = add_D

-489-

11. USER PROGRAMS FOR MEASURING CYCLE MENU


#[attribute 2] = att_character
#[value 2] = 1
/* Web Width */
#[address 3] = add_V
#[attribute 3] = att_decimal
#[value 3] = #0
/* Feedrate for Move */
#[address 4] = add_F
#[attribute 4] = att_decimal
#[value 4] = #0
/* Work co-ord. System */
#[address 5] = add_W
#[attribute 5] = att_character
#[value 5] = #0
/* Work co-ord. System */
#[address 6] = add_W
#[attribute 6] = att_not_use
#[value 6] = #0
/* End */
#[address 7] = add_end
previous_cursor = 1
/* Previous cursor position clear
guidance_write_flag = flag_on /* Guidance Write
m99

SAMPLE PROGRAM

/* 1:X AXIS,2:Y AXIS

/* 1:G54,2:G55,3:G56,4:G57,5:G58,6:G59

O6523 ;############################################### Measurement of Groove Width (G182)


/* Cycle G Code */
#[address 0] = 182
/* Height for Z Axis */
#[address 1] = add_Z
#[attribute 1] = att_decimal
#[value 1] = #0
/* Measure Direction */
#[address 2] = add_D
#[attribute 2] = att_character
#[value 2] = 1
/* 1:X AXIS,2:Y AXIS
/* Groove Width */
#[address 3] = add_V
#[attribute 3] = att_decimal
#[value 3] = #0
/* Feedrate for Move */
#[address 4] = add_F
#[attribute 4] = att_decimal
#[value 4] = #0
/* Work co-ord. System */
#[address 5] = add_W
#[attribute 5] = att_character
#[value 5] = #0
/* 1:G54,2:G55,3:G56,4:G57,5:G58,6:G59
/* Work co-ord. System */
#[address 6] = add_W
#[attribute 6] = att_not_use
#[value 6] = #0
/* End */
#[address 7] = add_end
previous_cursor = 1
/* Previous cursor position clear
guidance_write_flag = flag_on /* Guidance Write
m99
O6524 ;############################################### Measurement of Outside Circle (G183)
/* Cycle G Code */
#[address 0] = 183
/* Height for Z Axis */
#[address 1] = add_Z
#[attribute 1] = att_decimal
#[value 1] = #0
/* Hole Outside Radius */
#[address 2] = add_R
#[attribute 2] = att_decimal

-490-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

#[value 2] = #0
/* Feedrate for Move */
#[address 3] = add_F
#[attribute 3] = att_decimal
#[value 3] = #0
/* Work co-ord. System */
#[address 4] = add_W
#[attribute 4] = att_character
#[value 4] = #0
/* Work co-ord. System */
#[address 5] = add_W
#[attribute 5] = att_not_use
#[value 5] = #0
/* End */
#[address 6] = add_end
previous_cursor = 1
/* Previous cursor position clear
guidance_write_flag = flag_on /* Guidance Write
m99

11. USER PROGRAMS FOR MEASURING CYCLE MENU

/* 1:G54,2:G55,3:G56,4:G57,5:G58,6:G59

O6525 ;############################################### Measurement of Inside Circle (G184)


/* Cycle G Code */
#[address 0] = 184
/* Height for Z Axis */
#[address 1] = add_Z
#[attribute 1] = att_decimal
#[value 1] = #0
/* Hole Inside Radius */
#[address 2] = add_R
#[attribute 2] = att_decimal
#[value 2] = #0
/* Feedrate for Move */
#[address 3] = add_F
#[attribute 3] = att_decimal
#[value 3] = #0
/* Work co-ord. System */
#[address 4] = add_W
#[attribute 4] = att_character
#[value 4] = #0
/* 1:G54,2:G55,3:G56,4:G57,5:G58,6:G59
/* Work co-ord. System */
#[address 5] = add_W
#[attribute 5] = att_not_use
#[value 5] = #0
/* End */
#[address 6] = add_end
previous_cursor = 1
/* Previous cursor position clear
guidance_write_flag = flag_on /* Guidance Write
m99
O6526 ;############################################### Measurement of Outside Rectangular (G185)
/* Cycle G Code */
#[address 0] = 185
/* Height for Z Axis */
#[address 1] = add_Z
#[attribute 1] = att_decimal
#[value 1] = #0
/* Length for X Axis */
#[address 2] = add_U
#[attribute 2] = att_decimal
#[value 2] = #0
/* Length for Y Axis */
#[address 3] = add_V
#[attribute 3] = att_decimal
#[value 3] = #0
/* Feedrate for Move */
#[address 4] = add_F
#[attribute 4] = att_decimal
#[value 4] = #0

-491-

11. USER PROGRAMS FOR MEASURING CYCLE MENU


/* Work co-ord. System */
#[address 5] = add_W
#[attribute 5] = att_character
#[value 5] = #0
/* Work co-ord. System */
#[address 6] = add_W
#[attribute 6] = att_not_use
#[value 6] = #0
/* End */
#[address 7] = add_end
previous_cursor = 1
/* Previous cursor position clear
guidance_write_flag = flag_on /* Guidance Write
m99

SAMPLE PROGRAM

/* 1:G54,2:G55,3:G56,4:G57,5:G58,6:G59

O6527 ;############################################### Measurement of Inside Rectangular (G186)


/* Cycle G Code */
#[address 0] = 186
/* Height for Z Axis */
#[address 1] = add_Z
#[attribute 1] = att_decimal
#[value 1] = #0
/* Length for X Axis */
#[address 2] = add_U
#[attribute 2] = att_decimal
#[value 2] = #0
/* Length for Y Axis */
#[address 3] = add_V
#[attribute 3] = att_decimal
#[value 3] = #0
/* Feedrate for Move */
#[address 4] = add_F
#[attribute 4] = att_decimal
#[value 4] = #0
/* Work co-ord. System */
#[address 5] = add_W
#[attribute 5] = att_character
#[value 5] = #0
/* 1:G54,2:G55,3:G56,4:G57,5:G58,6:G59
/* Work co-ord. System */
#[address 6] = add_W
#[attribute 6] = att_not_use
#[value 6] = #0
/* End */
#[address 7] = add_end
previous_cursor = 1
/* Previous cursor position clear
guidance_write_flag = flag_on /* Guidance Write
m99
O6528 ;############################################### Measurement of Outside Corner (G187)
/* Cycle G Code */
#[address 0] = 187
/* 1st Measure Point X */
#[address 1] = add_A
#[attribute 1] = att_decimal
#[value 1] = #0
/* 1st Measure Point Y */
#[address 2] = add_B
#[attribute 2] = att_decimal
#[value 2] = #0
/* 3rd Measure Point X */
#[address 3] = add_C
#[attribute 3] = att_decimal
#[value 3] = #0
/* 3rd Measure Point Y */
#[address 4] = add_D
#[attribute 4] = att_decimal
#[value 4] = #0
/* Distance for X Axis */

-492-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

#[address 5] = add_U
#[attribute 5] = att_decimal
#[value 5] = #0
/* Distance for Y Axis */
#[address 6] = add_V
#[attribute 6] = att_decimal
#[value 6] = #0
/* Increase for X Axis */
#[address 7] = add_I
#[attribute 7] = att_decimal
#[value 7] = #0
/* Increase for Y Axis */
#[address 8] = add_J
#[attribute 8] = att_decimal
#[value 8] = #0
/* Feedrate for Move */
#[address 9] = add_F
#[attribute 9] = att_decimal
#[value 9] = #0
/* Work co-ord. System */
#[address 10] = add_W
#[attribute 10] = att_character
#[value 10] = #0
/* Work co-ord. System */
#[address 11] = add_W
#[attribute 11] = att_not_use
#[value 11] = #0
/* End */
#[address 12] = add_end
previous_cursor = 1
/* Previous cursor position clear
guidance_write_flag = flag_on /* Guidance Write
m99

11. USER PROGRAMS FOR MEASURING CYCLE MENU

/* 1:G54,2:G55,3:G56,4:G57,5:G58,6:G59

O6529 ;############################################### Measurement of Inside Corner (G188)


/* Cycle G Code */
#[address 0] = 188
/* Corner Position */
#[address 1] = add_C
/* 1:1,2:2,3:3,4:4
#[attribute 1] = att_character
#[value 1] = 1
/* 1st Measure Point X */
#[address 2] = add_A
#[attribute 2] = att_decimal
#[value 2] = #0
/* 1st Measure Point Y */
#[address 3] = add_B
#[attribute 3] = att_decimal
#[value 3] = #0
/* Distance for X Axis */
#[address 4] = add_U
#[attribute 4] = att_decimal
#[value 4] = #0
/* Distance for Y Axis */
#[address 5] = add_V
#[attribute 5] = att_decimal
#[value 5] = #0
/* Increase for X Axis */
#[address 6] = add_I
#[attribute 6] = att_decimal
#[value 6] = #0
/* Increase for Y Axis */
#[address 7] = add_J
#[attribute 7] = att_decimal
#[value 7] = #0
/* Feedrate for Move */
#[address 8] = add_F
#[attribute 8] = att_decimal

-493-

11. USER PROGRAMS FOR MEASURING CYCLE MENU


#[value 8] = #0
/* Work co-ord. System */
#[address 9] = add_W
#[attribute 9] = att_character
#[value 9] = #0
/* Work co-ord. System */
#[address 10] = add_W
#[attribute 10] = att_not_use
#[value 10] = #0
/* End */
#[address 11] = add_end
previous_cursor = 1
/* Previous cursor position clear
guidance_write_flag = flag_on /* Guidance Write
m99

SAMPLE PROGRAM

/* 1:G54,2:G55,3:G56,4:G57,5:G58,6:G59

O6530 ;############################################### Measurement of Bolt-Hole-Circle (G189)


/* Cycle G Code */
#[address 0] = 189
/* Height for Z Axis */
#[address 1] = add_Z
#[attribute 1] = att_decimal
#[value 1] = #0
/* Radius */
#[address 2] = add_R
#[attribute 2] = att_decimal
#[value 2] = #0
/* Hole Nominal Dia. */
#[address 3] = add_D
#[attribute 3] = att_decimal
#[value 3] = #0
/* 1st Hole Angle */
#[address 4] = add_A
#[attribute 4] = att_decimal
#[value 4] = #0
/* 2nd Hole Angle */
#[address 5] = add_B
#[attribute 5] = att_decimal
#[value 5] = #0
/* 3rd Hole Angle */
#[address 6] = add_C
#[attribute 6] = att_decimal
#[value 6] = #0
/* Feedrate for Move */
#[address 7] = add_F
#[attribute 7] = att_decimal
#[value 7] = #0
/* Work co-ord. System */
#[address 8] = add_W
#[attribute 8] = att_character
#[value 8] = #0
/* 1:G54,2:G55,3:G56,4:G57,5:G58,6:G59
/* Work co-ord. System */
#[address 9] = add_W
#[attribute 9] = att_not_use
#[value 9] = #0
/* End */
#[address 10] = add_end
previous_cursor = 1
/* Previous cursor position clear
guidance_write_flag = flag_on /* Guidance Write
m99
O6531 ;############################################### Measurement of 4 Holes Center(G190)
/* Cycle G Code */
#[address 0] = 190
/* Height for Z Axis */
#[address 1] = add_Z
#[attribute 1] = att_decimal
#[value 1] = #0

-494-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

/* Hole Nominal Dia. */


#[address 2] = add_D
#[attribute 2] = att_decimal
#[value 2] = #0
/* 1st Hole Point X */
#[address 3] = add_A
#[attribute 3] = att_decimal
#[value 3] = #0
/* 1st Hole Point Y */
#[address 4] = add_B
#[attribute 4] = att_decimal
#[value 4] = #0
/* 2nd Hole Point X */
#[address 5] = add_C
#[attribute 5] = att_decimal
#[value 5] = #0
/* 2nd Hole Point Y */
#[address 6] = add_E
#[attribute 6] = att_decimal
#[value 6] = #0
/* 3rd Hole Point X */
#[address 7] = add_H
#[attribute 7] = att_decimal
#[value 7] = #0
/* 3rd Hole Point Y */
#[address 8] = add_I
#[attribute 8] = att_decimal
#[value 8] = #0
/* 4th Hole Point X */
#[address 9] = add_J
#[attribute 9] = att_decimal
#[value 9] = #0
/* 4th Hole Point Y */
#[address 10] = add_K
#[attribute 10] = att_decimal
#[value 10] = #0
/* Feedrate for Move */
#[address 11] = add_F
#[attribute 11] = att_decimal
#[value 11] = #0
/* Work co-ord. System */
#[address 12] = add_W
#[attribute 12] = att_character
#[value 12] = #0
/* Work co-ord. System */
#[address 13] = add_W
#[attribute 13] = att_not_use
#[value 13] = #0
/* End */
#[address 14] = add_end
previous_cursor = 1
/* Previous cursor position clear
guidance_write_flag = flag_on /* Guidance Write
m99

11. USER PROGRAMS FOR MEASURING CYCLE MENU

/* 1:G54,2:G55,3:G56,4:G57,5:G58,6:G59

O6532 ;############################################### Measurement of Work Piece Angle (G191)


/* Cycle G Code */
#[address 0] = 191
/* 1st Measure Point X */
#[address 1] = add_A
#[attribute 1] = att_decimal
#[value 1] = #0
/* 1st Measure Point Y */
#[address 2] = add_B
#[attribute 2] = att_decimal
#[value 2] = #0
/* 2nd Measure Point X */
#[address 3] = add_C

-495-

11. USER PROGRAMS FOR MEASURING CYCLE MENU


#[attribute 3] = att_decimal
#[value 3] = #0
/* 2nd Measure Point Y */
#[address 4] = add_I
#[attribute 4] = att_decimal
#[value 4] = #0
/* Distance for Move */
#[address 5] = add_D
#[attribute 5] = att_decimal
#[value 5] = #0
/* Probe Axis for Move */
#[address 6] = add_J
#[attribute 6] = att_character
#[value 6] = 1
/* Feedrate for Move */
#[address 7] = add_F
#[attribute 7] = att_decimal
#[value 7] = #0
/* End */
#[address 8] = add_end
previous_cursor = 1
/* Previous cursor position clear
guidance_write_flag = flag_on /* Guidance Write
m99

SAMPLE PROGRAM

/* 1:+X,2:-X,3:+Y,4:-Y

O6533 ;############################################### Measurement of 2 Holes Angle (G192)


/* Cycle G Code */
#[address 0] = 192
/* Height for Z Axis */
#[address 1] = add_Z
#[attribute 1] = att_decimal
#[value 1] = #0
/* Hole Nominal Dia. */
#[address 2] = add_D
#[attribute 2] = att_decimal
#[value 2] = #0
/* 1st Hole Point X */
#[address 3] = add_A
#[attribute 3] = att_decimal
#[value 3] = #0
/* 1st Hole Point Y */
#[address 4] = add_B
#[attribute 4] = att_decimal
#[value 4] = #0
/* 2nd Hole Point X */
#[address 5] = add_C
#[attribute 5] = att_decimal
#[value 5] = #0
/* 2nd Hole Point Y */
#[address 6] = add_I
#[attribute 6] = att_decimal
#[value 6] = #0
/* Feedrate for Move */
#[address 7] = add_F
#[attribute 7] = att_decimal
#[value 7] = #0
/* End */
#[address 8] = add_end
previous_cursor = 1
/* Previous cursor position clear
guidance_write_flag = flag_on /* Guidance Write
m99

-496-

B-63423EN/02

SAMPLE PROGRAM

B-63423EN/02

11.3

11. USER PROGRAMS FOR MEASURING CYCLE MENU

GUIDANCE DRAWING FIGURE

/****************************************************************************
/*
/* FIG9.SRC :: Measuring Cycles
/*
/***** 6561: Measurement of X/Y/Z Single Surface (G180)
/***** 6562: Measurement of Web Width (G181)
/***** 6563: Measurement of Groove Width (G182)
/***** 6564: Measurement of Outside Circle (G183)
/***** 6565: Measurement of Inside Circle (G184)
/***** 6566: Measurement of Outside Rectangular (G185)
/***** 6567: Measurement of Inside Rectangular (G186)
/***** 6568: Measurement of Outside Corner (G187)
/***** 6569: Measurement of Inside Corner (G188)
/***** 6570: Measurement of Bolt-Hole-Circle (G189)
/***** 6571: Measurement of 4 Holes Center(G190)
/***** 6572: Measurement of Work Piece Angle (G191)
/***** 6573: Measurement of 2 Holes Angle (G192)
/****************************************************************************
$INCLUDE SYMBOL.DEF
O6561 ;############################################### Measurement of X/Y/Z Single Surface (G180)
/*** Guide Picture Setting ***/
if[guide_frequency eq second_time]then
if[cursor lt 5]then
if[previous_cursor gt 4]then
call fig_clear
guidance_write_flag = flag_on
endif
call 6175
guidance_write_flag = flag_off
else
if[previous_cursor lt 5]then
call fig_clear
guidance_write_flag = flag_on
endif
call 6176
guidance_write_flag = flag_off
endif
previous_cursor = cursor
endif
/*** Attribution Setting ***/
if[op9943bit7 eq bit7_on]then
#[attribute 5] = att_not_use
#[attribute 6] = att_character
else
#[attribute 5] = att_character
#[attribute 6] = att_not_use
endif
m99
O6562 ;############################################### Measurement of Web Width (G181)
/*** Guide Picture Setting ***/
if[guide_frequency eq second_time]then
if[cursor eq 1]then
call fig_clear
guidance_write_flag = flag_on
call 6177
guidance_write_flag = flag_off
endif
if[cursor eq 2]then
call fig_clear

-497-

11. USER PROGRAMS FOR MEASURING CYCLE MENU

SAMPLE PROGRAM

guidance_write_flag = flag_on
call 6178
guidance_write_flag = flag_off
endif
if[cursor eq 3 || cursor eq 4]then
if[previous_cursor lt 3 || previous_cursor gt 4]then
call fig_clear
guidance_write_flag = flag_on
endif
if[#[value 2] eq 1]then
call 6179
guidance_write_flag = flag_off
else
call 6180
guidance_write_flag = flag_off
endif
endif
if[cursor eq 5 || cursor eq 6]then
call fig_clear
guidance_write_flag = flag_on
call 6176
guidance_write_flag = flag_off
endif
previous_cursor = cursor
endif
/*** Attribution Setting ***/
if[op9943bit7 eq bit7_on]then
#[attribute 5] = att_not_use
#[attribute 6] = att_character
else
#[attribute 5] = att_character
#[attribute 6] = att_not_use
endif
m99
O6563 ;############################################### Measurement of Groove Width (G182)
/*** Guide Picture Setting ***/
if[guide_frequency eq second_time]then
if[cursor eq 1]then
call fig_clear
guidance_write_flag = flag_on
call 6181
guidance_write_flag = flag_off
endif
if[cursor eq 2]then
call fig_clear
guidance_write_flag = flag_on
call 6182
guidance_write_flag = flag_off
endif
if[cursor eq 3 || cursor eq 4]then
if[previous_cursor lt 3 || previous_cursor gt 4]then
call fig_clear
guidance_write_flag = flag_on
endif
if[#[value 2] eq 1]then
call 6183
guidance_write_flag = flag_off
else
call 6184
guidance_write_flag = flag_off
endif
endif
if[cursor eq 5 || cursor eq 6]then
call fig_clear
guidance_write_flag = flag_on

-498-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

11. USER PROGRAMS FOR MEASURING CYCLE MENU

call 6176
guidance_write_flag = flag_off
endif
previous_cursor = cursor
endif
/*** Attribution Setting ***/
if[op9943bit7 eq bit7_on]then
#[attribute 5] = att_not_use
#[attribute 6] = att_character
else
#[attribute 5] = att_character
#[attribute 6] = att_not_use
endif
m99
O6564 ;############################################### Measurement of Outside Circle (G183)
/*** Guide Picture Setting ***/
if[guide_frequency eq second_time]then
if[cursor eq 1]then
call fig_clear
guidance_write_flag = flag_on
call 6177
guidance_write_flag = flag_off
endif
if[cursor eq 2 || cursor eq 3]then
if[previous_cursor lt 2 || previous_cursor gt 3]then
call fig_clear
guidance_write_flag = flag_on
endif
call 6185
guidance_write_flag = flag_off
endif
if[cursor eq 4 || cursor eq 5]then
call fig_clear
guidance_write_flag = flag_on
call 6176
guidance_write_flag = flag_off
endif
previous_cursor = cursor
endif
/*** Attribution Setting ***/
if[op9943bit7 eq bit7_on]then
#[attribute 4] = att_not_use
#[attribute 5] = att_character
else
#[attribute 4] = att_character
#[attribute 5] = att_not_use
endif
m99
O6565 ;############################################### Measurement of Inside Circle (G184)
/*** Guide Picture Setting ***/
if[guide_frequency eq second_time]then
if[cursor eq 1]then
call fig_clear
guidance_write_flag = flag_on
call 6181
guidance_write_flag = flag_off
endif
if[cursor eq 2 || cursor eq 3]then
if[previous_cursor lt 2 || previous_cursor gt 3]then
call fig_clear
guidance_write_flag = flag_on
endif
call 6186

-499-

11. USER PROGRAMS FOR MEASURING CYCLE MENU

SAMPLE PROGRAM

guidance_write_flag = flag_off
endif
if[cursor eq 4 || cursor eq 5]then
call fig_clear
guidance_write_flag = flag_on
call 6176
guidance_write_flag = flag_off
endif
previous_cursor = cursor
endif
/*** Attribution Setting ***/
if[op9943bit7 eq bit7_on]then
#[attribute 4] = att_not_use
#[attribute 5] = att_character
else
#[attribute 4] = att_character
#[attribute 5] = att_not_use
endif
m99
O6566 ;############################################### Measurement of Outside Rectangular (G185)
/*** Guide Picture Setting ***/
if[guide_frequency eq second_time]then
if[cursor eq 1]then
call fig_clear
guidance_write_flag = flag_on
call 6177
guidance_write_flag = flag_off
endif
if[cursor ge 2 && cursor le 4]then
if[previous_cursor lt 2 || previous_cursor gt 4]then
call fig_clear
guidance_write_flag = flag_on
endif
call 6187
guidance_write_flag = flag_off
endif
if[cursor eq 5 || cursor eq 6]then
call fig_clear
guidance_write_flag = flag_on
call 6176
guidance_write_flag = flag_off
endif
previous_cursor = cursor
endif
/*** Attribution Setting ***/
if[op9943bit7 eq bit7_on]then
#[attribute 5] = att_not_use
#[attribute 6] = att_character
else
#[attribute 5] = att_character
#[attribute 6] = att_not_use
endif
m99
O6567 ;############################################### Measurement of Inside Rectangular (G186)
/*** Guide Picture Setting ***/
if[guide_frequency eq second_time]then
if[cursor eq 1]then
call fig_clear
guidance_write_flag = flag_on
call 6181
guidance_write_flag = flag_off
endif
if[cursor ge 2 && cursor le 4]then

-500-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

11. USER PROGRAMS FOR MEASURING CYCLE MENU

if[previous_cursor lt 2 || previous_cursor gt 4]then


call fig_clear
guidance_write_flag = flag_on
endif
call 6188
guidance_write_flag = flag_off
endif
if[cursor eq 5 || cursor eq 6]then
call fig_clear
guidance_write_flag = flag_on
call 6176
guidance_write_flag = flag_off
endif
previous_cursor = cursor
endif
/*** Attribution Setting ***/
if[op9943bit7 eq bit7_on]then
#[attribute 5] = att_not_use
#[attribute 6] = att_character
else
#[attribute 5] = att_character
#[attribute 6] = att_not_use
endif
m99
O6568 ;############################################### Measurement of Outside Corner (G187)
/*** Guide Picture Setting ***/
if[guide_frequency eq second_time]then
if[cursor ge 1 && cursor le 9]then
if[previous_cursor gt 9]then
call fig_clear
guidance_write_flag = flag_on
endif
call 6189
guidance_write_flag = flag_off
endif
if[cursor eq 10 || cursor eq 11]then
call fig_clear
guidance_write_flag = flag_on
call 6176
guidance_write_flag = flag_off
endif
previous_cursor = cursor
endif
/*** Attribution Setting ***/
if[op9943bit7 eq bit7_on]then
#[attribute 10] = att_not_use
#[attribute 11] = att_character
else
#[attribute 10] = att_character
#[attribute 11] = att_not_use
endif
m99
O6569 ;############################################### Measurement of Inside Corner (G188)
/*** Guide Picture Setting ***/
if[guide_frequency eq second_time]then
if[cursor eq 1]then
call fig_clear
guidance_write_flag = flag_on
call 6188
guidance_write_flag = flag_off
endif
if[cursor ge 2 && cursor le 8]then
if[previous_cursor lt 2 || previous_cursor gt 8]then

-501-

11. USER PROGRAMS FOR MEASURING CYCLE MENU

SAMPLE PROGRAM

call fig_clear
guidance_write_flag = flag_on
endif
call 6190
guidance_write_flag = flag_off
endif
if[cursor eq 9 || cursor eq 10]then
call fig_clear
guidance_write_flag = flag_on
call 6176
guidance_write_flag = flag_off
endif
previous_cursor = cursor
endif
/*** Attribution Setting ***/
if[op9943bit7 eq bit7_on]then
#[attribute 9] = att_not_use
#[attribute 10] = att_character
else
#[attribute 9] = att_character
#[attribute 10] = att_not_use
endif
m99
O6570 ;############################################### Measurement of Bolt-Hole-Circle (G189)
/*** Guide Picture Setting ***/
if[guide_frequency eq second_time]then
if[cursor eq 1]then
call fig_clear
guidance_write_flag = flag_on
call 6191
guidance_write_flag = flag_off
endif
if[cursor ge 2 && cursor le 6]then
if[previous_cursor lt 2 || previous_cursor gt 6]then
call fig_clear
guidance_write_flag = flag_on
endif
call 6192
guidance_write_flag = flag_off
endif
if[cursor eq 7]then
call fig_clear
guidance_write_flag = flag_on
call 6186
guidance_write_flag = flag_off
endif
if[cursor eq 8 || cursor eq 9]then
call fig_clear
guidance_write_flag = flag_on
call 6176
guidance_write_flag = flag_off
endif
previous_cursor = cursor
endif
/*** Attribution Setting ***/
if[op9943bit7 eq bit7_on]then
#[attribute 8] = att_not_use
#[attribute 9] = att_character
else
#[attribute 8] = att_character
#[attribute 9] = att_not_use
endif
m99

-502-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

11. USER PROGRAMS FOR MEASURING CYCLE MENU

O6571 ;############################################### Measurement of 4 Holes Center(G190)


/*** Guide Picture Setting ***/
if[guide_frequency eq second_time]then
if[cursor eq 1]then
call fig_clear
guidance_write_flag = flag_on
call 6193
guidance_write_flag = flag_off
endif
if[cursor ge 2 && cursor le 10]then
if[previous_cursor lt 2 || previous_cursor gt 10]then
call fig_clear
guidance_write_flag = flag_on
endif
call 6194
guidance_write_flag = flag_off
endif
if[cursor eq 11]then
call fig_clear
guidance_write_flag = flag_on
call 6186
guidance_write_flag = flag_off
endif
if[cursor eq 12 || cursor eq 13]then
call fig_clear
guidance_write_flag = flag_on
call 6176
guidance_write_flag = flag_off
endif
previous_cursor = cursor
endif
/*** Attribution Setting ***/
if[op9943bit7 eq bit7_on]then
#[attribute 12] = att_not_use
#[attribute 13] = att_character
else
#[attribute 12] = att_character
#[attribute 13] = att_not_use
endif
m99
O6572 ;############################################### Measurement of Work Piece Angle (G191)
/*** Guide Picture Setting ***/
if[guide_frequency eq second_time]then
call 6195
guidance_write_flag = flag_off
endif
/*** Attribution Setting ***/
m99
O6573 ;############################################### Measurement of 2 Holes Angle (G192)
/*** Guide Picture Setting ***/
if[guide_frequency eq second_time]then
if[cursor eq 1]then
call fig_clear
guidance_write_flag = flag_on
call 6193
guidance_write_flag = flag_off
endif
if[cursor ge 2 && cursor le 6]then
if[previous_cursor lt 2 || previous_cursor gt 6]then
call fig_clear
guidance_write_flag = flag_on
endif

-503-

11. USER PROGRAMS FOR MEASURING CYCLE MENU

SAMPLE PROGRAM

call 6196
guidance_write_flag = flag_off
endif
if[cursor eq 7]then
call fig_clear
guidance_write_flag = flag_on
call 6186
guidance_write_flag = flag_off
endif
previous_cursor = cursor
endif
/*** Attribution Setting ***/
m99
/****************************************************************************
/*
/* FIGSUB9.SRC :: Measuring Cycles
/*
/***** 6175: Measurement of X/Y/Z Single Surface (G180) Sub1
/***** 6176: Measurement of X/Y/Z Single Surface (G180) Sub2
/***** 6177: Measurement of Web Width (G181) Sub1
/***** 6178: Measurement of Web Width (G181) Sub2
/***** 6179: Measurement of Web Width (G181) Sub3
/***** 6180: Measurement of Web Width (G181) Sub4
/***** 6181: Measurement of Groove Width (G182) Sub1
/***** 6182: Measurement of Groove Width (G182) Sub2
/***** 6183: Measurement of Groove Width (G182) Sub3
/***** 6184: Measurement of Groove Width (G182) Sub4
/***** 6185: Measurement of Outside Circle (G183) Sub1
/***** 6186: Measurement of Inside Circle (G184) Sub1
/***** 6187: Measurement of Outside Rectangular (G185) Sub1
/***** 6188: Measurement of Inside Rectangular (G186) Sub1
/***** 6189: Measurement of Outside Corner (G187) Sub1
/***** 6190: Measurement of Inside Corner (G188) Sub1
/***** 6191: Measurement of Bolt-Hole-Circle (G189) Sub1
/***** 6192: Measurement of Bolt-Hole-Circle (G189) Sub2
/***** 6193: Measurement of 4 Holes Center(G190) Sub1
/***** 6194: Measurement of 4 Holes Center(G190) Sub2
/***** 6195: Measurement of Work Piece Angle (G191) Sub1
/***** 6196: Measurement of 2 Holes Angle (G192) Sub1
/*
/****************************************************************************
$INCLUDE SYMBOL.DEF
O6175 ;############################################### Measurement of X/Y/Z Single Surface (G180) Sub1
if[guidance_write_flag eq flag_off] goto 100
solid_line
color blue
G242X32Y152
G01X32Y136
G01X128Y136
G01X128Y152
G01X32Y152
G206P0X36Y148
/*
color sky_blue
G242X32Y136
G01X32Y152
G01X128Y152
G01X128Y136
/*
color blue
G242X32Y120
G01X32Y56
G01X128Y56
G01X128Y120

-504-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

G01X32Y120
G206P0X36Y116
/*
color sky_blue
G242X32Y120
G01X32Y56
G01X128Y56
/*
color green
G242X64Y192
G02I72
G206P0X72Y192
/*
color green
G242X88Y176
G02I96
G206P0X96Y176
/*
color green
G242X0Y104
G02I8
G206P0X8Y104
/*
color purple
G242X0Y104
G02I8
/*
color green
G242X-16Y88
G02I-8
G206P0X-8Y88
/*
color purple
G242X-16Y88
G02I-8
/*
color green
G242X64Y16
G02I72
G206P0X72Y16
/*
color purple
G242X64Y16
G02I72
/*
color green
G242X88Y32
G02I96
G206P0X96Y32
/*
color purple
G242X88Y32
G02I96
/*
color red
solid_line
#1=72
#2=184
#3=#1
#4=144
#5=0
call fig_line
/*
#1=96
#2=168
#3=#1
#4=144

-505-

11. USER PROGRAMS FOR MEASURING CYCLE MENU

11. USER PROGRAMS FOR MEASURING CYCLE MENU

SAMPLE PROGRAM

#5=0
call fig_line
/*
#1=8
#2=104
#3=40
#4=#2
#5=0
call fig_line
/*
#1=-8
#2=88
#3=40
#4=#2
#5=0
call fig_line
/*
#1=72
#2=64
#3=#1
#4=16
#5=1
call fig_line
/*
#1=96
#2=64
#3=#1
#4=32
#5=1
call fig_line
/*
dot_line
#1=92
#2=168
#3=#1
#4=144
#5=1
call fig_line
/*
#1=8
#2=100
#3=40
#4=#2
#5=1
call fig_line
/*
#1=92
#2=64
#3=#1
#4=32
#5=0
call fig_line
/*
color green
solid_line
G242X48Y184
G01X80Y184
/*
G242X88Y168
G01X104Y168
/*
G242X64Y144
G01X104Y144
/*
G242X40Y112
G01X40Y80
/*

-506-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

G242X-8Y76
G01X-8Y64
/*
G242X48Y16
G01X60Y16
/*
G242X64Y64
G01X104Y64
/*
#1=56
#2=184
#3=#1
#4=151
#5=2
call fig_line
/*
#1=-8
#2=72
#3=32
#4=#2
#5=2
call fig_line
/*
#1=55
#2=56
#3=#1
#4=16
#5=2
call fig_line
/*
one_dot_line
color purple
G242X8Y116
G01X8Y92
/*
G242X84Y32
G01X108Y32
/*
G242X-8Y100
G01X-8Y76
/*
G242X60Y16
G01X84Y16
/*
solid_line
color sky_blue
#1=-16
#2=128
#3=#1
#4=152
#5=0
call fig_line
/*
#1=-24
#2=136
#3=0
#4=#2
#5=0
call fig_line
/*
#1=-16
#2=16
#3=#1
#4=40
#5=0
call fig_line
/*

-507-

11. USER PROGRAMS FOR MEASURING CYCLE MENU

11. USER PROGRAMS FOR MEASURING CYCLE MENU

SAMPLE PROGRAM

#1=-24
#2=24
#3=0
#4=#2
#5=0
call fig_line
/*
solid_line
color purple
G242X64Y192
G02I72
/*
G242X88Y176
G02I96
/*
n100
cursor_off
color white
G243X38Y5(Z)
G243X40Y6(X)
G243X41Y6(',')
G243X42Y6(Y)
G243X38Y12(Y)
G243X40Y13(X)
#1=3
if[#[value 1] eq 1]then
call fig_cursor
G243X47Y13(D)
cursor_off
G243X41Y10(D)
G243X47Y4(D)
endif
if[#[value 1] eq 2]then
cursor_off
G243X47Y13(D)
call fig_cursor
G243X41Y10(D)
cursor_off
G243X47Y4(D)
endif
if[#[value 1] eq 3]then
cursor_off
G243X47Y13(D)
G243X41Y10(D)
call fig_cursor
G243X47Y4(D)
endif
if[#[value 1] lt 1 || #[value 1] gt 3]then
cursor_off
G243X47Y13(D)
G243X41Y10(D)
G243X47Y4(D)
endif
#1=4
if[#[value 1] eq 1]then
call fig_cursor
G243X52Y12(F)
cursor_off
G243X43Y08(F)
G243X52Y05(F)
endif
if[#[value 1] eq 2]then
cursor_off
G243X52Y12(F)
call fig_cursor
G243X43Y08(F)
cursor_off

-508-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

11. USER PROGRAMS FOR MEASURING CYCLE MENU

G243X52Y05(F)
endif
if[#[value 1] eq 3]then
cursor_off
G243X52Y12(F)
G243X43Y08(F)
call fig_cursor
G243X52Y05(F)
endif
if[#[value 1] lt 1 || #[value 1] gt 3]then
cursor_off
G243X52Y12(F)
G243X43Y08(F)
G243X52Y05(F)
endif
m99
O6176 ;############################################### Measurement of X/Y/Z Single Surface (G180) Sub2
call fig_language
cursor_off
if[op9943bit7 ne bit7_on]then
call 6051
else
G243X39Y04('G54:W=1')
G243X39Y05('G55:W=2')
G243X39Y06(' : ')
G243X39Y07('G59:W=6')
G243X39Y09('G54.1P1:W=1001')
G243X39Y10('G54.1P1:W=1002')
G243X39Y11('
:
')
G243X39Y12('G54.1P1:W=1048')
endif
m99
O6177 ;############################################### Measurement of Web Width (G181) Sub1
if[guidance_write_flag eq flag_off] goto 100
solid_line
color green
G242X40Y184
G01X40Y148
G01X56Y148
G01X56Y184
G01X40Y184
G206P0X44Y180
/*
color purple
G242X40Y184
G01X40Y149
G242X56Y184
G01X56Y149
/*
color green
G242X32Y136
G02I48
G206P0X48Y136
/*
color purple
G242X32Y136
G02I48
/*
color blue
G242X-32Y56
G01X0Y56
G01X0Y88
G01X96Y88
G01X96Y56
G01X128Y56

-509-

11. USER PROGRAMS FOR MEASURING CYCLE MENU

SAMPLE PROGRAM

G01X128Y40
G01X-32Y40
G01X-32Y56
G206P0X-28Y52
/*
color sky_blue
G242X-32Y56
G01X0Y56
G01X0Y88
G01X96Y88
G01X96Y56
G01X128Y56
/*
color red
solid_line
#1=-16
#2=72
#3=0
#4=#2
#5=0
call fig_line
/*
#1=112
#2=72
#3=96
#4=#2
#5=0
call fig_line
/*
dot_line
#1=-16
#2=120
#3=112
#4=#2
#5=2
call fig_line
/*
#1=-16
#2=120
#3=#1
#4=72
#5=1
call fig_line
/*
#1=112
#2=120
#3=#1
#4=72
#5=0
call fig_line
/*
solid_line
color green
G242X120Y120
G01X136Y120
/*
G242X120Y72
G01X136Y72
/*
#1=128
#2=120
#3=#1
#4=72
#5=2
call fig_line
/*
one_dot_line

-510-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

11. USER PROGRAMS FOR MEASURING CYCLE MENU

color purple
G242X48Y192
G01X48Y32
/*
n100
cursor_off
color white
#1=1
call fig_cursor
G243X56Y9(Z)
m99
O6178 ;############################################### Measurement of Web Width (G181) Sub2
if[guidance_write_flag eq flag_off] goto 100
solid_line
color blue
G242X24Y192
G01X24Y128
G01X80Y128
G01X80Y192
G01X24Y192
G206P0X28Y188
/*
color sky_blue
G242X24Y192
G01X24Y128
G242X80Y192
G01X80Y128
/*
color green
G242X-8Y160
G02I0
G206P0X0Y160
/*
color purple
G242X-8Y160
G02I0
/*
color green
G242X96Y160
G02I104
G206P0X104Y160
/*
color purple
G242X96Y160
G02I104
/*
color blue
G242X16Y88
G01X16Y40
G01X88Y40
G01X88Y88
G01X16Y88
G206P0X20Y84
/*
color sky_blue
G242X16Y88
G01X88Y88
G242X16Y40
G01X88Y40
/*
color green
G242X44Y104
G02I52
G206P0X52Y104
/*
color purple

-511-

11. USER PROGRAMS FOR MEASURING CYCLE MENU

SAMPLE PROGRAM

G242X44Y104
G02I52
/*
color green
G242X44Y24
G02I52
G206P0X52Y24
/*
color purple
G242X44Y24
G02I52
/*
solid_line
color red
#1=0
#2=160
#3=24
#4=#2
#5=0
call fig_line
/*
color red
#1=80
#2=160
#3=104
#4=#2
#5=1
call fig_line
/*
color red
#1=52
#2=104
#3=#1
#4=88
#5=0
call fig_line
/*
color red
#1=52
#2=40
#3=#1
#4=24
#5=1
call fig_line
/*
solid_line
color sky_blue
#1=-16
#2=16
#3=#1
#4=40
#5=0
call fig_line
/*
#1=-24
#2=24
#3=0
#4=#2
#5=0
call fig_line
/*
n100
cursor_off
color white
G243X40Y13(X)
G243X38Y12(Y)
m99

-512-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

11. USER PROGRAMS FOR MEASURING CYCLE MENU

O6179 ;############################################### Measurement of Web Width (G181) Sub3


if[guidance_write_flag eq flag_off] goto 100
solid_line
color blue
G242X8Y176
G01X8Y80
G01X96Y80
G01X96Y176
G01X8Y176
G206P0X12Y172
/*
color sky_blue
G242X8Y176
G01X8Y80
G242X96Y176
G01X96Y80
/*
color green
G242X-24Y136
G02I-16
G206P0X-16Y136
/*
color purple
G242X-24Y136
G02I-16
/*
color green
G242X112Y136
G02I120
G206P0X120Y136
/*
color purple
G242X112Y136
G02I120
/*
solid_line
color red
#1=-16
#2=136
#3=16
#4=#2
#5=0
call fig_line
/*
solid_line
#1=-24
#2=120
#3=16
#4=#2
#5=0
call fig_line
/*
#1=88
#2=136
#3=120
#4=#2
#5=1
call fig_line
/*
solid_line
#1=88
#2=120
#3=128
#4=#2
#5=1
call fig_line
/*

-513-

11. USER PROGRAMS FOR MEASURING CYCLE MENU

SAMPLE PROGRAM

dot_line
#1=-16
#2=132
#3=16
#4=#2
#5=1
call fig_line
/*
#1=88
#2=132
#3=120
#4=#2
#5=0
call fig_line
/*
G242X16Y144
G01X16Y112
/*
G242X88Y144
G01X88Y112
/*
solid_line
G242X8Y72
G01X8Y48
/*
G242X96Y72
G01X96Y48
/*
#1=8
#2=56
#3=96
#4=#2
#5=2
call fig_line
/*
one_dot_line
color purple
G242X52Y184
G01X52Y72
/*
G242X-16Y148
G01X-16Y124
/*
G242X120Y148
G01X120Y124
/*
n100
cursor_off
color white
#1=3
call fig_cursor
G243X46Y11(V)
#1=4
call fig_cursor
G243X39Y6(F)
G243X53Y6(F)
m99
O6180 ;############################################### Measurement of Web Width (G181) Sub4
if[guidance_write_flag eq flag_off] goto 100
solid_line
color blue
G242X-16Y152
G01X-16Y72
G01X112Y72
G01X112Y152
G01X-16Y152

-514-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

G206P0X-12Y148
/*
color sky_blue
G242X-16Y152
G01X112Y152
G242X-16Y72
G01X112Y72
/*
color green
G242X48Y176
G02I56
G206P0X56Y176
/*
color purple
G242X48Y176
G02I56
/*
color green
G242X48Y48
G02I56
G206P0X56Y48
/*
color purple
G242X48Y48
G02I56
/*
solid_line
color red
#1=40
#2=190
#3=#1
#4=144
#5=0
call fig_line
/*
#1=40
#2=80
#3=#1
#4=32
#5=1
call fig_line
/*
#1=56
#2=176
#3=#1
#4=144
#5=0
call fig_line
/*
#1=56
#2=80
#3=#1
#4=48
#5=1
call fig_line
/*
dot_line
#1=52
#2=176
#3=#1
#4=144
#5=1
call fig_line
/*
#1=52
#2=80
#3=#1

-515-

11. USER PROGRAMS FOR MEASURING CYCLE MENU

11. USER PROGRAMS FOR MEASURING CYCLE MENU

SAMPLE PROGRAM

#4=48
#5=0
call fig_line
/*
solid_line
color green
G242X32Y144
G01X64Y144
/*
G242X32Y80
G01X64Y80
/*
G242X120Y152
G01X136Y152
/*
G242X120Y72
G01X136Y72
/*
#1=128
#2=152
#3=#1
#4=72
#5=2
call fig_line
/*
one_dot_line
color purple
G242X-24Y112
G01X120Y112
/*
G242X44Y176
G01X68Y176
/*
G242X44Y48
G01X68Y48
/*
n100
cursor_off
color white
#1=3
call fig_cursor
G243X56Y8(V)
#1=4
call fig_cursor
G243X47Y05(F)
G243X47Y11(F)
m99
O6181 ;############################################### Measurement of Groove Width (G182) Sub1
if[guidance_write_flag eq flag_off] goto 100
solid_line
color green
G242X40Y184
G01X40Y144
G01X56Y144
G01X56Y184
G01X40Y184
G206P0X44Y180
/*
color purple
G242X40Y184
G01X40Y149
G242X56Y184
G01X56Y149
/*
color green
G242X32Y136

-516-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

G02I48
G206P0X48Y136
/*
color blue
G242X-24Y88
G01X0Y88
G01X0Y56
G01X96Y56
G01X96Y88
G01X120Y88
G01X120Y40
G01X-24Y40
G01X-24Y88
G206P0X-20Y84
/*
color sky_blue
G242X-24Y88
G01X0Y88
G01X0Y56
G01X96Y56
G01X96Y88
G01X120Y88
/*
solid_line
color red
#1=-8
#2=72
#3=8
#4=#2
#5=1
call fig_line
/*
#1=88
#2=72
#3=104
#4=#2
#5=0
call fig_line
/*
dot_line
#1=48
#2=120
#3=#1
#4=72
#5=0
call fig_line
/*
#1=8
#2=72
#3=88
#4=#2
#5=2
call fig_line
/*
solid_line
color green
G242X40Y120
G01X136Y120
/*
G242X112Y72
G01X136Y72
/*
#1=128
#2=120
#3=#1
#4=72
#5=2

-517-

11. USER PROGRAMS FOR MEASURING CYCLE MENU

11. USER PROGRAMS FOR MEASURING CYCLE MENU

SAMPLE PROGRAM

call fig_line
/*
one_dot_line
color purple
G242X48Y192
G01X48Y120
/*
G242X48Y72
G01X48Y32
/*
solid_line
color purple
G242X32Y136
G02I48
/*
n100
cursor_off
color white
#1=1
call fig_cursor
G243X56Y9(Z)
m99
O6182 ;############################################### Measurement of Groove Width (G182) Sub2
if[guidance_write_flag eq flag_off] goto 100
solid_line
color blue
G242X-16Y192
G01X-16Y128
G01X8Y128
G01X8Y192
G01X-16Y192
G206P0X-12Y188
/*
color sky_blue
G242X8Y192
G01X8Y128
/*
color blue
G242X96Y192
G01X96Y128
G01X120Y128
G01X120Y192
G01X96Y192
G206P0X100Y188
/*
color sky_blue
G242X96Y192
G01X96Y128
/*
color green
G242X24Y160
G02I32
G206P0X32Y160
/*
color purple
G242X24Y160
G02I32
/*
color green
G242X64Y160
G02I72
G206P0X72Y160
/*
color purple
G242X64Y160
G02I72

-518-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

/*
color blue
G242X8Y96
G01X96Y96
G01X96Y112
G01X8Y112
G01X8Y96
G206P0X12Y108
/*
color sky_blue
G242X8Y96
G01X96Y96
/*
color blue
G242X8Y40
G01X96Y40
G01X96Y24
G01X8Y24
G01X8Y40
G206P0X12Y36
/*
color sky_blue
G242X8Y40
G01X96Y40
/*
color green
G242X44Y80
G02I52
G206P0X52Y80
/*
color purple
G242X44Y80
G02I52
/*
color green
G242X44Y56
G02I52
G206P0X52Y59
/*
color purple
G242X44Y56
G02I52
/*
color red
solid_line
#1=9
#2=160
#3=32
#4=#2
#5=1
call fig_line
/*
#1=72
#2=160
#3=95
#4=#2
#5=0
call fig_line
/*
#1=52
#2=80
#3=#1
#4=95
#5=0
call fig_line
/*
#1=52

-519-

11. USER PROGRAMS FOR MEASURING CYCLE MENU

11. USER PROGRAMS FOR MEASURING CYCLE MENU

SAMPLE PROGRAM

#2=56
#3=#1
#4=41
#5=0
call fig_line
/*
solid_line
color sky_blue
#1=-24
#2=16
#3=#1
#4=40
#5=0
call fig_line
/*
#1=-32
#2=24
#3=-8
#4=#2
#5=0
call fig_line
/*
n100
cursor_off
color white
G243X39Y13(X)
G243X37Y12(Y)
m99
O6183 ;############################################### Measurement of Groove Width (G182) Sub3
if[guidance_write_flag eq flag_off] goto 100
solid_line
color blue
G242X0Y168
G01X0Y64
G01X-24Y64
G01X-24Y168
G01X0Y168
G206P0X-20Y164
/*
color sky_blue
G242X0Y168
G01X0Y64
/*
color blue
G242X104Y168
G01X104Y64
G01X128Y64
G01X128Y168
G01X104Y168
G206P0X108Y164
/*
color sky_blue
G242X104Y168
G01X104Y64
/*
color green
G242X16Y120
G02I24
G206P0X24Y120
/*
color purple
G242X16Y120
G02I24
/*
color green
G242X72Y120

-520-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

G02I80
G206P0X80Y120
/*
color purple
G242X72Y120
G02I80
/*
solid_line
color red
#1=-8
#2=120
#3=24
#4=#2
#5=1
call fig_line
/*
#1=-8
#2=104
#3=32
#4=#2
#5=1
call fig_line
/*
#1=80
#2=120
#3=112
#4=#2
#5=0
call fig_line
/*
#1=72
#2=104
#3=112
#4=#2
#5=0
call fig_line
/*
dot_line
#1=-8
#2=116
#3=24
#4=#2
#5=0
call fig_line
/*
#1=80
#2=116
#3=112
#4=#2
#5=1
call fig_line
/*
solid_line
color green
G242X-8Y128
G01X-8Y96
/*
G242X112Y128
G01X112Y96
/*
solid_line
G242X0Y56
G01X0Y32
/*
G242X104Y56
G01X104Y32
/*

-521-

11. USER PROGRAMS FOR MEASURING CYCLE MENU

11. USER PROGRAMS FOR MEASURING CYCLE MENU

SAMPLE PROGRAM

#1=0
#2=40
#3=104
#4=#2
#5=2
call fig_line
/*
one_dot_line
color purple
G242X52Y176
G01X52Y56
/*
G242X24Y132
G01X24Y108
/*
G242X80Y132
G01X80Y108
/*
n100
cursor_off
color white
#1=3
call fig_cursor
G243X46Y12(V)
#1=4
call fig_cursor
G243X41Y7(F)
G243X51Y7(F)
m99
O6184 ;############################################### Measurement of Groove Width (G182) Sub4
if[guidance_write_flag eq flag_off] goto 100
solid_line
color blue
G242X-16Y152
G01X112Y152
G01X112Y176
G01X-16Y176
G01X-16Y152
G206P0X-12Y156
/*
color sky_blue
G242X-16Y152
G01X112Y152
/*
color blue
G242X-16Y56
G01X112Y56
G01X112Y32
G01X-16Y32
G01X-16Y56
G206P0X-12Y52
/*
color sky_blue
G242X-16Y56
G01X112Y56
/*
color green
G242X56Y128
G02I64
G206P0X64Y128
/*
color purple
G242X56Y128
G02I64
/*
color green

-522-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

G242X56Y80
G02I64
G206P0X64Y80
/*
color purple
G242X56Y80
G02I64
/*
solid_line
color red
#1=40
#2=160
#3=#1
#4=120
#5=1
call fig_line
/*
#1=64
#2=160
#3=#1
#4=128
#5=1
call fig_line
/*
#1=40
#2=88
#3=#1
#4=48
#5=0
call fig_line
/*
#1=64
#2=80
#3=#1
#4=48
#5=0
call fig_line
/*
dot_line
#1=60
#2=160
#3=#1
#4=128
#5=0
call fig_line
/*
#1=60
#2=80
#3=#1
#4=48
#5=1
call fig_line
/*
solid_line
color green
G242X32Y160
G01X72Y160
/*
G242X32Y48
G01X72Y48
/*
G242X120Y152
G01X136Y152
/*
G242X120Y56
G01X136Y56
/*

-523-

11. USER PROGRAMS FOR MEASURING CYCLE MENU

11. USER PROGRAMS FOR MEASURING CYCLE MENU

SAMPLE PROGRAM

#1=128
#2=152
#3=#1
#4=56
#5=2
call fig_line
/*
one_dot_line
color purple
G242X-24Y104
G01X120Y104
/*
G242X52Y128
G01X76Y128
/*
G242X52Y80
G01X76Y80
/*
n100
cursor_off
color white
#1=3
call fig_cursor
G243X56Y8(V)
#1=4
call fig_cursor
G243X48Y06(F)
G243X48Y11(F)
m99
O6185 ;############################################### Measurement of Outside Circle (G183) Sub1
if[guidance_write_flag eq flag_off] goto 100
solid_line
color blue
G242X-8Y104
G02I48
/*
#1=44
#2=6
#3=1
call fig_character
G206P0X48Y104
/*
color sky_blue
G242X-8Y104
G02I48
/*
color green
G242X112Y120
G02I120
G206P0X120Y120
/*
color purple
G242X112Y120
G02I120
/*
color red
solid_line
#1=52
#2=184
#3=#1
#4=152
#5=0
call fig_line
/*
#1=-32
#2=108

-524-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

#3=0
#4=#2
#5=0
call fig_line
/*
#1=52
#2=24
#3=#1
#4=56
#5=0
call fig_line
/*
#1=96
#2=108
#3=128
#4=#2
#5=1
call fig_line
/*
#1=96
#2=120
#3=120
#4=#2
#5=1
call fig_line
/*
dot_line
#1=48
#2=184
#3=#1
#4=24
#5=2
call fig_line
/*
#1=-32
#2=104
#3=128
#4=#2
#5=2
call fig_line
/*
#1=48
#2=116
#3=120
#4=#2
#5=0
call fig_line
/*
color green
solid_line
G242X96Y128
G01X96Y96
/*
#1=48
#2=104
#3=16
#4=150
#5=0
call fig_line
/*
one_dot_line
color purple
G242X120Y132
G01X120Y108
/*
n100
cursor_off

-525-

11. USER PROGRAMS FOR MEASURING CYCLE MENU

11. USER PROGRAMS FOR MEASURING CYCLE MENU

SAMPLE PROGRAM

if[cursor eq 2]then
color -white C blue L1
else
color white C blue L0
endif
G243X44Y6(R)
color white
#1=3
call fig_cursor
G243X53Y7(F)
m99
O6186 ;############################################### Measurement of Inside Circle (G184) Sub1
if[guidance_write_flag eq flag_off] goto 100
solid_line
color blue
G242X-32Y184
G01X-32Y24
G01X136Y24
G01X136Y184
G01X-32Y184
G242X-12Y104
G02I52
G206P0X-28Y180
/*
color sky_blue
G242X-12Y104
G02I52
/*
color green
G242X88Y120
G02I96
G206P0X96Y120
/*
color purple
G242X88Y120
G02I96
/*
solid_line
color red
#1=52
#2=176
#3=#1
#4=144
#5=1
call fig_line
/*
#1=-20
#2=104
#3=12
#4=#2
#5=1
call fig_line
/*
#1=52
#2=64
#3=#1
#4=32
#5=0
call fig_line
/*
#1=92
#2=104
#3=124
#4=104
#5=0
call fig_line

-526-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

11. USER PROGRAMS FOR MEASURING CYCLE MENU

/*
#1=96
#2=120
#3=124
#4=#2
#5=0
call fig_line
/*
dot_line
#1=52
#2=144
#3=#1
#4=64
#5=0
call fig_line
/*
dot_line
#1=12
#2=104
#3=92
#4=#2
#5=2
call fig_line
/*
#1=52
#2=120
#3=96
#4=#2
#5=0
call fig_line
/*
solid_line
color green
G242X124Y124
G01X124Y96
/*
if[#[address 0] eq 184]then
#1=52
#2=104
#3=7
#4=149
#5=0
call fig_line
endif
/*
one_dot_line
color purple
G242X96Y132
G01X96Y108
/*
n100
cursor_off
color white
if[#[address 0] eq 184]then
#1=2
call fig_cursor
G243X43Y6(R)
endif
#1=3
if[#[address 0] eq 189 || #[address 0] eq 192]then #1=7
if[#[address 0] eq 190]then #1=11
call fig_cursor
G243X53Y7(F)
m99
O6187 ;############################################### Measurement of Outside Rectangular (G185) Sub1
if[guidance_write_flag eq flag_off] goto 100

-527-

11. USER PROGRAMS FOR MEASURING CYCLE MENU

SAMPLE PROGRAM

solid_line
color blue
G242X16Y176
G01X16Y64
G01X104Y64
G01X104Y176
G01X16Y176
G206P0X20Y172
/*
color sky_blue
G242X16Y176
G01X16Y64
G01X104Y64
G01X104Y176
G01X16Y176
/*
color green
G242X112Y136
G02I120
G206P0X120Y136
/*
color purple
G242X112Y136
G02I120
/*
solid_line
color red
#1=64
#2=200
#3=#1
#4=168
#5=0
call fig_line
/*
#1=-8
#2=124
#3=24
#4=#2
#5=0
call fig_line
/*
#1=64
#2=40
#3=#1
#4=72
#5=0
call fig_line
/*
#1=96
#2=124
#3=128
#4=#2
#5=1
call fig_line
/*
#1=96
#2=136
#3=120
#4=#2
#5=1
call fig_line
/*
dot_line
#1=60
#2=200
#3=#1
#4=40

-528-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

#5=2
call fig_line
/*
#1=-8
#2=120
#3=128
#4=#2
#5=2
call fig_line
/*
#1=96
#2=132
#3=120
#4=#2
#5=0
call fig_line
/*
solid_line
color green
G242X-24Y176
G01X8Y176
/*
G242X-24Y64
G01X8Y64
/*
G242X16Y56
G01X16Y16
/*
G242X104Y56
G01X104Y16
/*
G242X96Y144
G01X96Y112
/*
#1=-16
#2=174
#3=#1
#4=64
#5=2
call fig_line
/*
#1=16
#2=24
#3=104
#4=#2
#5=2
call fig_line
/*
one_dot_line
color purple
G242X120Y148
G01X120Y124
/*
n100
cursor_off
color white
#1=2
call fig_cursor
G243X47Y13(U)
#1=3
call fig_cursor
G243X38Y7(V)
#1=4
call fig_cursor
G243X53Y6(F)
m99

-529-

11. USER PROGRAMS FOR MEASURING CYCLE MENU

11. USER PROGRAMS FOR MEASURING CYCLE MENU

SAMPLE PROGRAM

O6188 ;############################################### Measurement of Inside Rectangular (G186) Sub1


if[guidance_write_flag eq flag_off] goto 100
solid_line
color blue
G242X-32Y192
G01X-32Y16
G01X136Y16
G01X136Y192
G01X-32Y192
G242X-4Y160
G01X-4Y48
G01X108Y48
G01X108Y160
G01X-4Y160
if[#[address 0] ne 188]then
#1=37
#2=8
#3=1
call fig_character
#1=46
#2=13
#3=1
call fig_character
endif
G206P0X-28Y188
/*
color sky_blue
G242X-4Y160
G01X-4Y48
G01X108Y48
G01X108Y160
G01X-4Y160
/*
if[#[address 0] ne 188]then
/*
color green
G242X80Y120
G02I88
G206P0X88Y120
/*
color purple
G242X80Y120
G02I88
/*
solid_line
color red
#1=52
#2=168
#3=#1
#4=136
#5=1
call fig_line
/*
#1=-12
#2=104
#3=12
#4=#2
#5=1
call fig_line
/*
#1=52
#2=72
#3=#1
#4=40
#5=0
call fig_line
/*

-530-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

#1=84
#2=104
#3=116
#4=#2
#5=0
call fig_line
/*
#1=88
#2=120
#3=116
#4=#2
#5=0
call fig_line
/*
dot_line
#1=52
#2=136
#3=#1
#4=72
#5=2
call fig_line
/*
#1=12
#2=104
#3=84
#4=#2
#5=2
call fig_line
/*
#1=88
#2=116
#3=116
#4=#2
#5=1
call fig_line
/*
solid_line
color green
G242X-32Y160
G01X-12Y160
/*
G242X-32Y48
G01X-12Y48
/*
G242X-4Y32
G01X-4Y16
/*
G242X108Y32
G01X108Y16
/*
G242X116Y128
G01X116Y100
/*
#1=-24
#2=160
#3=#1
#4=48
#5=2
call fig_line
/*
#1=-4
#2=24
#3=108
#4=#2
#5=2
call fig_line
/*

-531-

11. USER PROGRAMS FOR MEASURING CYCLE MENU

11. USER PROGRAMS FOR MEASURING CYCLE MENU

SAMPLE PROGRAM

one_dot_line
color purple
G242X88Y132
G01X88Y108
endif
/*
n100
cursor_off
color white
/*
if[#[address 0] ne 188]then
if[cursor eq 2]then
color -white C blue L1
else
color white C blue L0
endif
G243X46Y13(U)
if[cursor eq 3]then
color -white C blue L1
else
color white C blue L0
endif
G243X37Y8(V)
#1=4
call fig_cursor
G243X52Y7(F)
else
G243X40Y11(1)
G243X51Y11(2)
G243X51Y06(3)
G243X40Y06(4)
endif
m99
O6189 ;############################################### Measurement of Outside Corner (G187) Sub1
if[guidance_write_flag eq flag_off] goto 100
solid_line
color blue
G242X8Y200
G01X8Y80
G01X136Y80
G01X136Y200
G01X8Y200
#1=42
#2=9
#3=6
call fig_character
#1=50
#2=9
#3=1
call fig_character
#1=42
#2=8
#3=6
call fig_character
#1=42
#2=5
#3=1
call fig_character
G206P0X12Y196
/*
color sky_blue
G242X8Y200
G01X8Y80
G01X136Y80
/*
color green

-532-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

G242X-16Y168
G02I-8
G206P0X-8Y168
/*
color purple
G242X-16Y168
G02I-8
/*
color green
G242X-32Y112
G02I-24
G206P0X-24Y112
/*
color purple
G242X-32Y112
G02I-24
/*
color green
G242X16Y32
G02I24
G206P0X24Y32
/*
color purple
G242X16Y32
G02I24
/*
color green
G242X88Y48
G02I96
G206P0X96Y48
/*
color purple
G242X88Y48
G02I96
/*
solid_line
color red
#1=-8
#2=168
#3=16
#4=#2
#5=0
call fig_line
/*
dot_line
#1=-24
#2=152
#3=0
#4=#2
#5=0
call fig_line
solid_line
#1=0
#2=152
#3=16
#4=#2
#5=0
call fig_line
/*
dot_line
#1=-24
#2=112
#3=0
#4=#2
#5=0
call fig_line
solid_line

-533-

11. USER PROGRAMS FOR MEASURING CYCLE MENU

11. USER PROGRAMS FOR MEASURING CYCLE MENU

SAMPLE PROGRAM

#1=0
#2=112
#3=16
#4=#2
#5=0
call fig_line
/*
dot_line
#1=24
#2=32
#3=#1
#4=64
#5=0
call fig_line
solid_line
#1=24
#2=64
#3=#1
#4=88
#5=0
call fig_line
/*
dot_line
#1=80
#2=32
#3=#1
#4=64
#5=0
call fig_line
solid_line
#1=80
#2=64
#3=#1
#4=88
#5=0
call fig_line
/*
#1=96
#2=48
#3=#1
#4=88
#5=0
call fig_line
/*
dot_line
#1=-8
#2=164
#3=16
#4=#2
#5=1
call fig_line
/*
#1=92
#2=48
#3=#1
#4=88
#5=1
call fig_line
/*
solid_line
color green
G242X-24Y192
G01X-24Y144
/*
G242X16Y176
G01X16Y144
/*

-534-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

G242X72Y88
G01X104Y88
/*
G242X72Y32
G01X128Y32
/*
#1=-24
#2=184
#3=7
#4=#2
#5=2
call fig_line
/*
#1=-8
#2=151
#3=#1
#4=113
#5=2
call fig_line
/*
#1=25
#2=56
#3=79
#4=#2
#5=2
call fig_line
/*
#1=120
#2=79
#3=#1
#4=32
#5=2
call fig_line
/*
one_dot_line
color purple
G242X-8Y180
G01X-8Y156
/*
G242X84Y48
G01X108Y48
/*
n100
cursor_off
color white C blue L0
G243X42Y9(1)
G243X43Y9('(')
G243X45Y9(',')
G243X47Y9(')')
G243X50Y9(2)
G243X42Y8(3)
G243X43Y8('(')
G243X45Y8(',')
G243X47Y8(')')
G243X42Y5(4)
if[cursor eq 1]then
color -white C blue L1
else
color white C blue L0
endif
G243X44Y9(A)
if[cursor eq 2]then
color -white C blue L1
else
color white C blue L0
endif
G243X46Y9(B)

-535-

11. USER PROGRAMS FOR MEASURING CYCLE MENU

11. USER PROGRAMS FOR MEASURING CYCLE MENU

SAMPLE PROGRAM

if[cursor eq 3]then
color -white C blue L1
else
color white C blue L0
endif
G243X44Y8(C)
if[cursor eq 4]then
color -white C blue L1
else
color white C blue L0
endif
G243X46Y8(D)
color white
#1=5
call fig_cursor
G243X55Y11(U)
#1=6
call fig_cursor
G243X39Y3(V)
#1=7
call fig_cursor
G243X46Y11(I)
#1=8
call fig_cursor
G243X39Y7(J)
#1=9
call fig_cursor
G243X40Y04(F)
G243X52Y11(F)
m99
O6190 ;############################################### Measurement of Inside Corner (G188) Sub1
if[guidance_write_flag eq flag_off] goto 100
solid_line
color blue
G242X-8Y200
G01X-8Y48
G01X136Y48
G01X136Y23
G01X-32Y23
G01X-32Y200
G01X-8Y200
#1=43
#2=13
#3=6
call fig_character
#1=50
#2=13
#3=1
call fig_character
#1=37
#2=9
#3=1
call fig_character
#1=37
#2=5
#3=1
call fig_character
G206P0X-28Y196
/*
color sky_blue
G242X-8Y200
G01X-8Y48
G01X136Y48
/*
color green
G242X8Y168

-536-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

G02I16
G206P0X16Y168
/*
color purple
G242X8Y168
G02I16
/*
color green
G242X32Y96
G02I40
G206P0X40Y96
/*
color purple
G242X32Y96
G02I40
/*
color green
G242X96Y80
G02I104
G206P0X104Y80
/*
color purple
G242X96Y80
G02I104
/*
solid_line
color red
#1=-16
#2=168
#3=16
#4=#2
#5=1
call fig_line
/*
solid_line
#1=-16
#2=152
#3=8
#4=#2
#5=1
call fig_line
dot_line
#1=8
#2=152
#3=40
#4=#2
#5=1
call fig_line
/*
solid_line
#1=-16
#2=96
#3=8
#4=#2
#5=1
call fig_line
dot_line
#1=8
#2=96
#3=40
#4=#2
#5=1
call fig_line
/*
#1=40
#2=96
#3=#1

-537-

11. USER PROGRAMS FOR MEASURING CYCLE MENU

11. USER PROGRAMS FOR MEASURING CYCLE MENU

SAMPLE PROGRAM

#4=64
#5=0
call fig_line
solid_line
#1=40
#2=64
#3=#1
#4=40
#5=0
call fig_line
/*
dot_line
#1=88
#2=96
#3=#1
#4=64
#5=0
call fig_line
solid_line
#1=88
#2=64
#3=#1
#4=40
#5=0
call fig_line
/*
#1=104
#2=80
#3=#1
#4=40
#5=0
call fig_line
/*
dot_line
#1=-16
#2=164
#3=16
#4=#2
#5=0
call fig_line
/*
#1=100
#2=80
#3=#1
#4=40
#5=1
call fig_line
/*
solid_line
color green
G242X-16Y176
G01X-16Y144
/*
G242X40Y196
G01X40Y144
/*
G242X80Y96
G01X128Y96
/*
G242X80Y40
G01X112Y40
/*
#1=-8
#2=184
#3=40
#4=#2
#5=2

-538-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

call fig_line
/*
#1=16
#2=152
#3=#1
#4=96
#5=2
call fig_line
/*
#1=40
#2=72
#3=88
#4=#2
#5=2
call fig_line
/*
#1=120
#2=96
#3=#1
#4=48
#5=2
call fig_line
/*
one_dot_line
color purple
G242X16Y180
G01X16Y156
/*
G242X92Y80
G01X116Y80
/*
n100
cursor_off
color white C blue L0
G243X43Y13(1)
G243X44Y13('(')
G243X46Y13(',')
G243X48Y13(')')
G243X50Y13(2)
G243X37Y9(3)
G243X37Y5(4)
if[cursor eq 2]then
color -white C blue L1
else
color white C blue L0
endif
G243X45Y13(A)
if[cursor eq 3]then
color -white C blue L1
else
color white C blue L0
endif
G243X47Y13(B)
color white
#1=4
call fig_cursor
G243X55Y10(U)
#1=5
call fig_cursor
G243X42Y3(V)
#1=6
call fig_cursor
G243X48Y10(I)
#1=7
call fig_cursor
G243X42Y7(J)
#1=8

-539-

11. USER PROGRAMS FOR MEASURING CYCLE MENU

11. USER PROGRAMS FOR MEASURING CYCLE MENU

SAMPLE PROGRAM

call fig_cursor
G243X40Y04(F)
G243X53Y11(F)
m99
O6191 ;############################################### Measurement of Bolt-Hole-Circle (G189) Sub1
if[guidance_write_flag eq flag_off] goto 100
solid_line
color green
G242X44Y168
G01X44Y136
G01X52Y136
G01X52Y168
G01X44Y168
G206P0X48Y164
/*
color purple
G242X44Y168
G01X44Y136
G242X52Y168
G01X52Y136
/*
color green
G242X40Y128
G02I48
G206P0X48Y128
/*
color purple
G242X40Y128
G02I48
/*
color blue
G242X-24Y88
G01X-8Y88
G01X-8Y56
G01X16Y56
G01X16Y88
G01X80Y88
G01X80Y56
G01X104Y56
G01X104Y88
G01X120Y88
G01X120Y40
G01X-24Y40
G01X-24Y88
G206P0X-20Y84
/*
color sky_blue
G242X-24Y88
G01X-8Y88
G01X-8Y56
G01X16Y56
G01X16Y88
G01X80Y88
G01X80Y56
G01X104Y56
G01X104Y88
G01X120Y88
/*
solid_line
color red
#1=84
#2=72
#3=100
#4=#2
#5=2
call fig_line

-540-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

11. USER PROGRAMS FOR MEASURING CYCLE MENU

/*
#1=100
#2=72
#3=112
#4=#2
#5=0
call fig_line
/*
dot_line
G242X24Y120
G01X24Y72
/*
#1=24
#2=120
#3=92
#4=#2
#5=2
call fig_line
/*
#1=92
#2=120
#3=#1
#4=72
#5=0
call fig_line
/*
#1=84
#2=72
#3=72
#4=#2
#5=0
call fig_line
/*
solid_line
G242X100Y120
G01X136Y120
/*
G242X124Y72
G01X0136Y72
/*
#1=128
#2=120
#3=#1
#4=72
#5=2
call fig_line
/*
one_dot_line
color purple
G242X48Y176
G01X48Y32
/*
n100
cursor_off
color white
#1=1
call fig_cursor
G243X56Y9(Z)
m99
O6192 ;############################################### Measurement of Bolt-Hole-Circle (G189) Sub2
if[guidance_write_flag eq flag_off] goto 100
solid_line
color blue
G242X-32Y184
G01X-32Y24
G01X136Y24

-541-

11. USER PROGRAMS FOR MEASURING CYCLE MENU

SAMPLE PROGRAM

G01X136Y184
G01X-32Y184
G242X96Y104
G02I112
G242X79Y147
G02I95
G242X36Y164
G02I52
G242X-7Y147
G02I9
G242X-24Y104
G02I-8
G242X-7Y61
G02I9
G242X36Y44
G02I52
G242X79Y61
G02I95
#1=54
#2=5
#3=1
call fig_character
#1=37
#2=7
#3=1
call fig_character
#1=54
#2=11
#3=1
call fig_character
#1=51
#2=8
#3=1
call fig_character
#1=42
#2=8
#3=1
call fig_character
#1=45
#2=10
#3=1
call fig_character
#1=42
#2=9
#3=1
call fig_character
G206P0X-28Y180
/*
color sky_blue
G242X96Y104
G02I112
G242X79Y147
G02I95
G242X36Y164
G02I52
G242X-7Y147
G02I9
G242X-24Y104
G02I-8
G242X-7Y61
G02I9
G242X36Y44
G02I52
G242X79Y61
G02I95
/*
solid_line

-542-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

color green
G242X52Y104
G01X112Y164
/*
G242X52Y104
G01X112Y44
/*
#1=52
#2=104
#3=-2
#4=79
#5=2
call fig_line
/*
#1=101
#2=93
#3=123
#4=115
#5=2
call fig_line
/*
#1=88
#2=104
#3=78
#4=130
#5=52
#6=104
#7=0
call fig_ccw
/*
#1=80
#2=104
#3=24
#4=104
#5=52
#6=104
#7=0
call fig_ccw
/*
#1=72
#2=104
#3=66
#4=90
#5=52
#6=104
#7=0
call fig_ccw
/*
one_dot_line
G242X52Y192
G01X52Y16
/*
G242X-40Y104
G01X144Y104
/*
G242X-8Y104
G02I52
/*
n100
cursor_off
color white C blue L0
G243X54Y05(1)
G243X37Y07(2)
G243X54Y11(3)
if[cursor eq 2]then
color -white C blue L1
else

-543-

11. USER PROGRAMS FOR MEASURING CYCLE MENU

11. USER PROGRAMS FOR MEASURING CYCLE MENU

SAMPLE PROGRAM

color white C blue L0


endif
G243X42Y9(R)
if[cursor eq 4]then
color -white C blue L1
else
color white C blue L0
endif
G243X51Y8(A)
if[cursor eq 5]then
color -white C blue L1
else
color white C blue L0
endif
G243X42Y8(B)
if[cursor eq 6]then
color -white C blue L1
else
color white C blue L0
endif
G243X45Y10(C)
color white
#1=3
call fig_cursor
G243X53Y8(D)
m99
O6193 ;############################################### Measurement of 4 Holes Center(G190) Sub1
if[guidance_write_flag eq flag_off] goto 100
solid_line
color green
G242X88Y168
G01X88Y136
G01X96Y136
G01X96Y168
G01X88Y168
G206P0X92Y164
/*
color purple
G242X88Y168
G01X88Y136
G242X96Y168
G01X96Y136
/*
color green
G242X84Y128
G02I92
G206P0X92Y128
/*
color blue
G242X-24Y88
G01X-8Y88
G01X-8Y56
G01X16Y56
G01X16Y88
G01X80Y88
G01X80Y56
G01X104Y56
G01X104Y88
G01X120Y88
G01X120Y40
G01X-24Y40
G01X-24Y88
G206P0X-20Y84
/*
color sky_blue
G242X-24Y88

-544-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

G01X-8Y88
G01X-8Y56
G01X16Y56
G01X16Y88
G01X80Y88
G01X80Y56
G01X104Y56
G01X104Y88
G01X120Y88
/*
solid_line
color red
#1=-16
#2=72
#3=-4
#4=#2
#5=1
call fig_line
/*
#1=12
#2=72
#3=24
#4=#2
#5=2
call fig_line
/*
#1=72
#2=72
#3=84
#4=#2
#5=1
call fig_line
/*
#1=100
#2=72
#3=112
#4=#2
#5=0
call fig_line
/*
dot_line
#1=92
#2=120
#3=4
#4=#2
#5=0
call fig_line
/*
#1=4
#2=120
#3=#1
#4=72
#5=0
call fig_line
/*
#1=-4
#2=72
#3=12
#4=#2
#5=2
call fig_line
/*
#1=92
#2=120
#3=#1
#4=72
#5=0

-545-

11. USER PROGRAMS FOR MEASURING CYCLE MENU

11. USER PROGRAMS FOR MEASURING CYCLE MENU

SAMPLE PROGRAM

call fig_line
/*
#1=84
#2=72
#3=100
#4=#2
#5=2
call fig_line
/*
solid_line
color green
G242X92Y120
G01X136Y120
/*
G242X120Y72
G01X136Y72
/*
#1=128
#2=120
#3=#1
#4=72
#5=2
call fig_line
/*
solid_line
color purple
G242X84Y128
G02I92
/*
n100
cursor_off
color white
#1=1
call fig_cursor
G243X56Y9(Z)
m99
O6194 ;############################################### Measurement of 4 Holes Center(G190) Sub2
if[guidance_write_flag eq flag_off] goto 100
solid_line
color blue
G242X-32Y184
G01X-32Y24
G01X136Y24
G01X136Y184
G01X-32Y184
G242X-12Y56
G02I4
G242X84Y56
G02I100
G242X84Y152
G02I100
G242X-12Y152
G02I4
#1=37
#2=13
#3=6
call fig_character
#1=50
#2=13
#3=6
call fig_character
#1=50
#2=7
#3=6
call fig_character
#1=37

-546-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

#2=7
#3=6
call fig_character
G206P0X-28Y180
/*
color sky_blue
G242X-12Y56
G02I4
G242X84Y56
G02I100
G242X84Y152
G02I100
G242X-12Y152
G02I4
/*
color green
one_dot_line
G242X52Y192
G01X52Y16
/*
G242X-40Y104
G01X144Y104
/*
G242X-12Y168
G01X114Y40
/*
G242X-12Y40
G01X114Y168
/*
solid_line
#1=89
#2=45
#3=111
#4=67
#5=2
call fig_line
/*
n100
cursor_off
color white C blue L0
G243X37Y13('1(')
G243X40Y13(',')
G243X42Y13(')')
G243X50Y13('2(')
G243X53Y13(',')
G243X55Y13(')')
G243X50Y7('3(')
G243X53Y7(',')
G243X55Y7(')')
G243X37Y7('4(')
G243X40Y7(',')
G243X42Y7(')')
if[cursor eq 3]then
color -white C blue L1
else
color white C blue L0
endif
G243X39Y13(A)
if[cursor eq 4]then
color -white C blue L1
else
color white C blue L0
endif
G243X41Y13(B)
if[cursor eq 5]then
color -white C blue L1
else

-547-

11. USER PROGRAMS FOR MEASURING CYCLE MENU

11. USER PROGRAMS FOR MEASURING CYCLE MENU

SAMPLE PROGRAM

color white C blue L0


endif
G243X52Y13(C)
if[cursor eq 6]then
color -white C blue L1
else
color white C blue L0
endif
G243X54Y13(E)
if[cursor eq 7]then
color -white C blue L1
else
color white C blue L0
endif
G243X52Y7(H)
if[cursor eq 8]then
color -white C blue L1
else
color white C blue L0
endif
G243X54Y7(I)
if[cursor eq 9]then
color -white C blue L1
else
color white C blue L0
endif
G243X39Y7(J)
if[cursor eq 10]then
color -white C blue L1
else
color white C blue L0
endif
G243X41Y7(K)
color white
#1=2
call fig_cursor
G243X52Y11(D)
m99
O6195 ;############################################### Measurement of Work Piece Angle (G191) Sub1
if[guidance_write_flag eq flag_off] goto 100
solid_line
color blue
G242X-24Y144
G01X-8Y88
G01X128Y127
G01X112Y183
G01X-24Y144
#1=40
#2=8
#3=6
call fig_character
#1=47
#2=7
#3=6
call fig_character
G206P0X-20Y140
/*
color sky_blue
G242X-24Y144
G01X-8Y88
G242X-32Y81
G01X128Y127
/*
color green
G242X24Y80
G02I32

-548-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

G206P0X32Y80
/*
color purple
G242X24Y80
G02I32
/*
color green
G242X80Y96
G02I88
G206P0X88Y96
/*
color purple
G242X80Y96
G02I88
/*
solid_line
color red
#1=16
#2=104
#3=#1
#4=88
#5=1
call fig_line
dot_line
#1=16
#2=88
#3=#1
#4=64
#5=1
call fig_line
/*
solid_line
#1=32
#2=104
#3=#1
#4=80
#5=1
call fig_line
/*
#1=72
#2=120
#3=#1
#4=104
#5=1
call fig_line
dot_line
#1=72
#2=104
#3=#1
#4=79
#5=1
call fig_line
/*
solid_line
#1=88
#2=120
#3=#1
#4=96
#5=1
call fig_line
/*
dot_line
#1=28
#2=104
#3=#1
#4=80
#5=0

-549-

11. USER PROGRAMS FOR MEASURING CYCLE MENU

11. USER PROGRAMS FOR MEASURING CYCLE MENU

SAMPLE PROGRAM

call fig_line
/*
#1=84
#2=120
#3=#1
#4=96
#5=0
call fig_line
/*
solid_line
color green
G242X-16Y72
G03X-18Y85R48
/*
G242X-32Y72
G01X0Y72
/*
G242X8Y104
G01X40Y104
/*
G242X64Y120
G01X96Y120
/*
G242X64Y76
G01X112Y90
/*
#1=104
#2=88
#3=#1
#4=120
#5=2
call fig_line
/*
one_dot_line
color purple
G242X20Y80
G01X44Y80
/*
G242X76Y96
G01X100Y96
/*
solid_line
color sky_blue
#1=104
#2=64
#3=#1
#4=32
#5=2
call fig_line
/*
#1=88
#2=48
#3=120
#4=#2
#5=2
call fig_line
/*
n100
cursor_off
color white C blue L0
G243X40Y8('1(')
G243X43Y8(',')
G243X45Y8(')')
G243X47Y7('2(')
G243X50Y7(',')
G243X52Y7(')')
if[cursor eq 1]then

-550-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

11. USER PROGRAMS FOR MEASURING CYCLE MENU

color -white C blue L1


else
color white C blue L0
endif
G243X42Y8(A)
if[cursor eq 2]then
color -white C blue L1
else
color white C blue L0
endif
G243X44Y8(B)
if[cursor eq 3]then
color -white C blue L1
else
color white C blue L0
endif
G243X49Y7(C)
if[cursor eq 4]then
color -white C blue L1
else
color white C blue L0
endif
G243X51Y7(I)
color white
#1=5
call fig_cursor
G243X53Y8(D)
#1=6
call fig_cursor
G243X51Y11(J)
#1=7
call fig_cursor
G243X45Y9(F)
G243X52Y8(F)
cursor_off
G243X49Y12('-X')
G243X55Y12('+X')
G243X53Y11('+Y')
G243X53Y13('-Y')
m99
O6196 ;############################################### Measurement of 2 Holes Angle (G192) Sub1
if[guidance_write_flag eq flag_off] goto 100
solid_line
color blue
G242X-32Y186
G01X-32Y40
G01X136Y40
G01X136Y186
G01X-32Y186
G242X24Y104
G02I40
G242X80Y136
G02I96
#1=43
#2=10
#3=6
call fig_character
#1=50
#2=8
#3=6
call fig_character
G206P0X-28Y164
/*
color sky_blue
G242X24Y104
G02I40

-551-

11. USER PROGRAMS FOR MEASURING CYCLE MENU

SAMPLE PROGRAM

G242X80Y136
G02I96
/*
solid_line
color green
G242X0Y56
G03X-6Y77R40
/*
G242X-24Y56
G01X8Y56
/*
#1=85
#2=125
#3=107
#4=147
#5=2
call fig_line
/*
one_dot_line
G242X-24Y66
G01X128Y154
/*
n100
cursor_off
color white C blue L0
G243X43Y10('1(')
G243X46Y10(',')
G243X48Y10(')')
G243X50Y8('2(')
G243X53Y8(',')
G243X55Y8(')')
if[cursor eq 3]then
color -white C blue L1
else
color white C blue L0
endif
G243X45Y10(A)
if[cursor eq 4]then
color -white C blue L1
else
color white C blue L0
endif
G243X47Y10(B)
if[cursor eq 5]then
color -white C blue L1
else
color white C blue L0
endif
G243X52Y8(C)
if[cursor eq 6]then
color -white C blue L1
else
color white C blue L0
endif
G243X54Y8(I)
color white
#1=2
call fig_cursor
G243X51Y6(D)
m99

-552-

B-63423EN/02

B-63423EN/02

11.4

SAMPLE PROGRAM

11. USER PROGRAMS FOR MEASURING CYCLE MENU

INPUTTED DATA CHECKING

/****************************************************************************
/*
/* CHECK9.SRC :: Measuring Cycles
/*
/***** 6621: Measurement of X/Y/Z Single Surface (G180)
/***** 6622: Measurement of Web Width (G181)
/***** 6623: Measurement of Groove Width (G182)
/***** 6624: Measurement of Outside Circle (G183)
/***** 6625: Measurement of Inside Circle (G184)
/***** 6626: Measurement of Outside Rectangular (G185)
/***** 6627: Measurement of Inside Rectangular (G186)
/***** 6628: Measurement of Outside Corner (G187)
/***** 6629: Measurement of Inside Corner (G188)
/***** 6630: Measurement of Bolt-Hole-Circle (G189)
/***** 6631: Measurement of 4 Holes Center(G190)
/***** 6632: Measurement of Work Piece Angle (G191)
/***** 6633: Measurement of 2 Holes Angle (G192)
/****************************************************************************
$INCLUDE SYMBOL.DEF
O6621 ;############################################### Measurement of X/Y/Z Single Surface (G180)
input_error_flag = error_non
/* Measure Position */
error_item = 1
if[#[value 1] eq #0]goto 97
if[#[value 1] lt 1 || #[value 1] gt 3]goto 98
/* Work co-ord. Value */
error_item = 2
if[#[value 2] eq #0]goto 97
/* Distance for Move */
error_item = 3
if[#[value 3] eq #0]goto 97
if[#[value 1] eq 3]then
if[#[value 3] gt 0]goto 98
endif
/* Feedrate for Move */
error_item = 4
if[#[value 4] eq #0]goto 97
if[#[value 4] le 0]goto 98
/* Work co-ord. System */
if[#[attribute 5] ne att_not_use]then
error_item = 5
if[#[value 5] eq #0]goto 99
if[#[value 5] lt 1 || #[value 5] gt 6]goto 98
endif
/* Work co-ord. System */
if[#[attribute 6] ne att_not_use]then
error_item = 6
if[#[value 6] eq #0]goto 99
if[#[value 6] lt 1 || #[value 6] gt 6]then
if[#[value 6] lt 1001 || #[value 6] gt 1048]goto 98
endif
endif
goto 99
/* Data is lacking. */
n97 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+900]
goto 99
/* Input error in menu param. */
n98 input_error_flag = error_on

-553-

11. USER PROGRAMS FOR MEASURING CYCLE MENU

SAMPLE PROGRAM

call fig_language
color red C white L0
G243X1Y24 P[#1+901]
n99 m99
O6622 ;############################################### Measurement of Web Width (G181)
input_error_flag = error_non
/* Height for Z Axis */
error_item = 1
if[#[value 1] eq #0]goto 97
if[#[value 1] le 0]goto 98
/* Measure Direction */
error_item = 2
if[#[value 2] eq #0]goto 97
if[#[value 2] lt 1 || #[value 2] gt 2]goto 98
/* Web Width */
error_item = 3
if[#[value 3] eq #0]goto 97
if[#[value 3] le 0]goto 98
/* Feedrate for Move */
error_item = 4
if[#[value 4] eq #0]goto 97
if[#[value 4] le 0]goto 98
/* Work co-ord. System */
if[#[attribute 5] ne att_not_use]then
error_item = 5
if[#[value 5] eq #0]goto 99
if[#[value 5] lt 1 || #[value 5] gt 6]goto 98
endif
/* Work co-ord. System */
if[#[attribute 6] ne att_not_use]then
error_item = 6
if[#[value 6] eq #0]goto 99
if[#[value 6] lt 1 || #[value 6] gt 6]then
if[#[value 6] lt 1001 || #[value 6] gt 1048]goto 98
endif
endif
goto 99
/* Data is lacking. */
n97 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+900]
goto 99
/* Input error in menu param. */
n98 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+901]
n99 m99
O6623 ;############################################### Measurement of Groove Width (G182)
input_error_flag = error_non
/* Height for Z Axis */
error_item = 1
if[#[value 1] eq #0]goto 97
if[#[value 1] le 0]goto 98
/* Measure Direction */
error_item = 2
if[#[value 2] eq #0]goto 97
if[#[value 2] lt 1 || #[value 2] gt 2]goto 98
/* Groove Width */
error_item = 3
if[#[value 3] eq #0]goto 97
if[#[value 3] le 0]goto 98
/* Feedrate for Move */
error_item = 4

-554-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

11. USER PROGRAMS FOR MEASURING CYCLE MENU

if[#[value 4] eq #0]goto 97
if[#[value 4] le 0]goto 98
/* Work co-ord. System */
if[#[attribute 5] ne att_not_use]then
error_item = 5
if[#[value 5] eq #0]goto 99
if[#[value 5] lt 1 || #[value 5] gt 6]goto 98
endif
/* Work co-ord. System */
if[#[attribute 6] ne att_not_use]then
error_item = 6
if[#[value 6] eq #0]goto 99
if[#[value 6] lt 1 || #[value 6] gt 6]then
if[#[value 6] lt 1001 || #[value 6] gt 1048]goto 98
endif
endif
goto 99
/* Data is lacking. */
n97 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+900]
goto 99
/* Input error in menu param. */
n98 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+901]
n99 m99
O6624 ;############################################### Measurement of Outside Circle (G183)
input_error_flag = error_non
/* Height for Z Axis */
error_item = 1
if[#[value 1] eq #0]goto 97
if[#[value 1] le 0]goto 98
/* Hole Outside Radius */
error_item = 2
if[#[value 2] eq #0]goto 97
if[#[value 2] le 0]goto 98
/* Feedrate for Move */
error_item = 3
if[#[value 3] eq #0]goto 97
if[#[value 3] le 0]goto 98
/* Work co-ord. System */
if[#[attribute 4] ne att_not_use]then
error_item = 4
if[#[value 4] eq #0]goto 99
if[#[value 4] lt 1 || #[value 4] gt 6]goto 98
endif
/* Work co-ord. System */
if[#[attribute 5] ne att_not_use]then
error_item = 5
if[#[value 5] eq #0]goto 99
if[#[value 5] lt 1 || #[value 5] gt 6]then
if[#[value 5] lt 1001 || #[value 5] gt 1048]goto 98
endif
endif
goto 99
/* Data is lacking. */
n97 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+900]
goto 99
/* Input error in menu param. */
n98 input_error_flag = error_on

-555-

11. USER PROGRAMS FOR MEASURING CYCLE MENU

SAMPLE PROGRAM

call fig_language
color red C white L0
G243X1Y24 P[#1+901]
n99 m99
O6625 ;############################################### Measurement of Inside Circle (G184)
input_error_flag = error_non
/* Height for Z Axis */
error_item = 1
if[#[value 1] eq #0]goto 97
if[#[value 1] le 0]goto 98
/* Hole Inside Radius */
error_item = 2
if[#[value 2] eq #0]goto 97
if[#[value 2] le 0]goto 98
/* Feedrate for Move */
error_item = 3
if[#[value 3] eq #0]goto 97
if[#[value 3] le 0]goto 98
/* Work co-ord. System */
if[#[attribute 4] ne att_not_use]then
error_item = 4
if[#[value 4] eq #0]goto 99
if[#[value 4] lt 1 || #[value 4] gt 6]goto 98
endif
/* Work co-ord. System */
if[#[attribute 5] ne att_not_use]then
error_item = 5
if[#[value 5] eq #0]goto 99
if[#[value 5] lt 1 || #[value 5] gt 6]then
if[#[value 5] lt 1001 || #[value 5] gt 1048]goto 98
endif
endif
goto 99
/* Data is lacking. */
n97 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+900]
goto 99
/* Input error in menu param. */
n98 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+901]
n99 m99
O6626 ;############################################### Measurement of Outside Rectangular (G185)
input_error_flag = error_non
/* Height for Z Axis */
error_item = 1
if[#[value 1] eq #0]goto 97
if[#[value 1] le 0]goto 98
/* Length for X Axis */
error_item = 2
if[#[value 2] eq #0]goto 97
if[#[value 2] le 0]goto 98
/* Length for Y Axis */
error_item = 3
if[#[value 3] eq #0]goto 97
if[#[value 3] le 0]goto 98
/* Feedrate for Move */
error_item = 4
if[#[value 4] eq #0]goto 97
if[#[value 4] le 0]goto 98
/* Work co-ord. System */
if[#[attribute 5] ne att_not_use]then

-556-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

11. USER PROGRAMS FOR MEASURING CYCLE MENU

error_item = 5
if[#[value 5] eq #0]goto 99
if[#[value 5] lt 1 || #[value 5] gt 6]goto 98
endif
/* Work co-ord. System */
if[#[attribute 6] ne att_not_use]then
error_item = 6
if[#[value 6] eq #0]goto 99
if[#[value 6] lt 1 || #[value 6] gt 6]then
if[#[value 6] lt 1001 || #[value 6] gt 1048]goto 98
endif
endif
goto 99
/* Data is lacking. */
n97 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+900]
goto 99
/* Input error in menu param. */
n98 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+901]
n99 m99
O6627 ;############################################### Measurement of Inside Rectangular (G186)
input_error_flag = error_non
/* Height for Z Axis */
error_item = 1
if[#[value 1] eq #0]goto 97
if[#[value 1] le 0]goto 98
/* Length for X Axis */
error_item = 2
if[#[value 2] eq #0]goto 97
if[#[value 2] le 0]goto 98
/* Length for Y Axis */
error_item = 3
if[#[value 3] eq #0]goto 97
if[#[value 3] le 0]goto 98
/* Feedrate for Move */
error_item = 4
if[#[value 4] eq #0]goto 97
if[#[value 4] le 0]goto 98
/* Work co-ord. System */
if[#[attribute 5] ne att_not_use]then
error_item = 5
if[#[value 5] eq #0]goto 99
if[#[value 5] lt 1 || #[value 5] gt 6]goto 98
endif
/* Work co-ord. System */
if[#[attribute 6] ne att_not_use]then
error_item = 6
if[#[value 6] eq #0]goto 99
if[#[value 6] lt 1 || #[value 6] gt 6]then
if[#[value 6] lt 1001 || #[value 6] gt 1048]goto 98
endif
endif
goto 99
/* Data is lacking. */
n97 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+900]
goto 99
/* Input error in menu param. */
n98 input_error_flag = error_on

-557-

11. USER PROGRAMS FOR MEASURING CYCLE MENU

SAMPLE PROGRAM

call fig_language
color red C white L0
G243X1Y24 P[#1+901]
n99 m99
O6628 ;############################################### Measurement of Outside Corner (G187)
input_error_flag = error_non
/* 1st Measure Point X */
error_item = 1
if[#[value 1] eq #0]goto 97
/* 1st Measure Point Y */
error_item = 2
if[#[value 2] eq #0]goto 97
/* 3rd Measure Point X */
error_item = 3
if[#[value 3] eq #0]goto 97
/* 3rd Measure Point Y */
error_item = 4
if[#[value 4] eq #0]goto 97
/* Distance for X Axis */
error_item = 5
if[#[value 5] eq #0]goto 97
if[#[value 5] le 0]goto 98
/* Distance for Y Axis */
error_item = 6
if[#[value 6] eq #0]goto 97
if[#[value 6] le 0]goto 98
/* Increase for X Axis */
error_item = 7
if[#[value 7] eq #0]goto 97
if[#[value 7] le 0]goto 98
/* Increase for Y Axis */
error_item = 8
if[#[value 8] eq #0]goto 97
if[#[value 8] le 0]goto 98
/* Feedrate for Move */
error_item = 9
if[#[value 9] eq #0]goto 97
if[#[value 9] le 0]goto 98
/* Work co-ord. System */
if[#[attribute 10] ne att_not_use]then
error_item = 10
if[#[value 10] eq #0]goto 99
if[#[value 10] lt 1 || #[value 10] gt 6]goto 98
endif
/* Work co-ord. System */
if[#[attribute 11] ne att_not_use]then
error_item = 11
if[#[value 11] eq #0]goto 99
if[#[value 11] lt 1 || #[value 11] gt 6]then
if[#[value 11] lt 1001 || #[value 11] gt 1048]goto 98
endif
endif
goto 99
/* Data is lacking. */
n97 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+900]
goto 99
/* Input error in menu param. */
n98 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+901]
n99 m99

-558-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

11. USER PROGRAMS FOR MEASURING CYCLE MENU

O6629 ;############################################### Measurement of Inside Corner (G188)


input_error_flag = error_non
/* Corner Position */
error_item = 1
if[#[value 1] eq #0]goto 97
if[#[value 1] lt 1 ||#[value 1] gt 4]goto 98
/* 1st Measure Point X */
error_item = 2
if[#[value 2] eq #0]goto 97
/* 1st Measure Point Y */
error_item = 3
if[#[value 3] eq #0]goto 97
/* Distance for X Axis */
error_item = 4
if[#[value 4] eq #0]goto 97
if[#[value 4] le 0]goto 98
/* Distance for Y Axis */
error_item = 5
if[#[value 5] eq #0]goto 97
if[#[value 5] le 0]goto 98
/* Increase for X Axis */
error_item = 6
if[#[value 6] eq #0]goto 97
if[#[value 6] le 0]goto 98
/* Increase for Y Axis */
error_item = 7
if[#[value 7] eq #0]goto 97
if[#[value 7] le 0]goto 98
/* Feedrate for Move */
error_item = 8
if[#[value 8] eq #0]goto 97
if[#[value 8] le 0]goto 98
/* Work co-ord. System */
if[#[attribute 9] ne att_not_use]then
error_item = 9
if[#[value 9] eq #0]goto 99
if[#[value 9] lt 1 || #[value 9] gt 6]goto 98
endif
/* Work co-ord. System */
if[#[attribute 10] ne att_not_use]then
error_item = 10
if[#[value 10] eq #0]goto 99
if[#[value 10] lt 1 || #[value 10] gt 6]then
if[#[value 10] lt 1001 || #[value 10] gt 1048]goto 98
endif
endif
goto 99
/* Data is lacking. */
n97 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+900]
goto 99
/* Input error in menu param. */
n98 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+901]
n99 m99
O6630 ;############################################### 6630: Measurement of Bolt-Hole-Circle (G189)
input_error_flag = error_non
/* Height for Z Axis */
error_item = 1
if[#[value 1] eq #0]goto 97
if[#[value 1] le 0]goto 98
/* Radius */

-559-

11. USER PROGRAMS FOR MEASURING CYCLE MENU

SAMPLE PROGRAM

error_item = 2
if[#[value 2] eq #0]goto 97
if[#[value 2] le 0]goto 98
/* Hole Nominal Dia. */
error_item = 3
if[#[value 3] eq #0]goto 97
if[#[value 3] le 0]goto 98
/* 1st Hole Angle */
error_item = 4
if[#[value 4] eq #0]goto 97
if[#[value 4] lt 0]goto 98
/* 2nd Hole Angle */
error_item = 5
if[#[value 5] eq #0]goto 97
if[#[value 5] lT 0]goto 98
/* 3rd Hole Angle */
error_item = 6
if[#[value 6] eq #0]goto 97
if[#[value 6] lt 0]goto 98
/* Feedrate for Move */
error_item = 7
if[#[value 7] eq #0]goto 97
if[#[value 7] le 0]goto 98
/* Work co-ord. System */
if[#[attribute 8] ne att_not_use]then
error_item = 8
if[#[value 8] eq #0]goto 99
if[#[value 8] lt 1 || #[value 8] gt 6]goto 98
endif
/* Work co-ord. System */
if[#[attribute 9] ne att_not_use]then
error_item = 9
if[#[value 9] eq #0]goto 99
if[#[value 9] lt 1 || #[value 9] gt 6]then
if[#[value 9] lt 1001 || #[value 9] gt 1048]goto 98
endif
endif
goto 99
/* Data is lacking. */
n97 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+900]
goto 99
/* Input error in menu param. */
n98 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+901]
n99 m99
O6631 ;############################################### Measurement of 4 Holes Center(G190)
input_error_flag = error_non
/* Height for Z Axis */
error_item = 1
if[#[value 1] eq #0]goto 97
if[#[value 1] le 0]goto 98
/* Hole Nominal Dia. */
error_item = 2
if[#[value 2] eq #0]goto 97
if[#[value 2] le 0]goto 98
/* 1st Hole Point X */
error_item = 3
if[#[value 3] eq #0]goto 97
/* 1st Hole Point Y */
error_item = 4
if[#[value 4] eq #0]goto 97

-560-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

11. USER PROGRAMS FOR MEASURING CYCLE MENU

/* 2nd Hole Point X */


error_item = 5
if[#[value 5] eq #0]goto 97
/* 2nd Hole Point Y */
error_item = 6
if[#[value 6] eq #0]goto 97
/* 3rd Hole Point X */
error_item = 7
if[#[value 7] eq #0]goto 97
/* 3rd Hole Point Y */
error_item = 8
if[#[value 8] eq #0]goto 97
/* 4th Hole Point X */
error_item = 9
if[#[value 9] eq #0]goto 97
/* 4th Hole Point Y */
error_item = 10
if[#[value 10] eq #0]goto 97
/* Feedrate for Move */
error_item = 11
if[#[value 11] eq #0]goto 97
if[#[value 11] le 0]goto 98
/* Work co-ord. System */
if[#[attribute 12] ne att_not_use]then
error_item = 12
if[#[value 12] eq #0]goto 99
if[#[value 12] lt 1 || #[value 12] gt 6]goto 98
endif
/* Work co-ord. System */
if[#[attribute 13] ne att_not_use]then
error_item = 13
if[#[value 13] eq #0]goto 99
if[#[value 13] lt 1 || #[value 13] gt 6]then
if[#[value 13] lt 1001 || #[value 13] gt 1048]goto 98
endif
endif
goto 99
/* Data is lacking. */
n97 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+900]
goto 99
/* Input error in menu param. */
n98 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+901]
n99 m99
O6632 ;############################################### Measurement of Work Piece Angle (G191)
input_error_flag = error_non
/* 1st Measure Point X */
error_item = 1
if[#[value 1] eq #0]goto 97
/* 1st Measure Point Y */
error_item = 2
if[#[value 2] eq #0]goto 97
/* 2nd Measure Point X */
error_item = 3
if[#[value 3] eq #0]goto 97
/* 2nd Measure Point Y */
error_item = 4
if[#[value 4] eq #0]goto 97
/* Distance for Move */
error_item = 5
if[#[value 5] eq #0]goto 97

-561-

11. USER PROGRAMS FOR MEASURING CYCLE MENU

SAMPLE PROGRAM

if[#[value 5] le 0]goto 98
/* Probe Axis for Move */
error_item = 6
if[#[value 6] eq #0]goto 97
if[#[value 6] lt 1 || #[value 6] gt 4]goto 98
/* Feedrate for Move */
error_item = 7
if[#[value 7] eq #0]goto 97
if[#[value 7] le 0]goto 98
goto 99
/* Data is lacking. */
n97 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+900]
goto 99
/* Input error in menu param. */
n98 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+901]
n99 m99
O6633 ;############################################### Measurement of 2 Holes Angle (G192)
input_error_flag = error_non
/* Height for Z Axis */
error_item = 1
if[#[value 1] eq #0]goto 97
if[#[value 1] le 0]goto 98
/* Hole Nominal Dia. */
error_item = 2
if[#[value 2] eq #0]goto 97
if[#[value 2] le 0]goto 98
/* 1st Hole Point X */
error_item = 3
if[#[value 3] eq #0]goto 97
/* 1st Hole Point Y */
error_item = 4
if[#[value 4] eq #0]goto 97
/* 2nd Hole Point X */
error_item = 5
if[#[value 5] eq #0]goto 97
/* 2nd Hole Point Y */
error_item = 6
if[#[value 6] eq #0]goto 97
/* Feedrate for Move */
error_item = 7
if[#[value 7] eq #0]goto 97
if[#[value 7] le 0]goto 98
goto 99
/* Data is lacking. */
n97 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+900]
goto 99
/* Input error in menu param. */
n98 input_error_flag = error_on
call fig_language
color red C white L0
G243X1Y24 P[#1+901]
n99 m99

-562-

B-63423EN/02

B-63423EN/02

12

SAMPLE PROGRAM

USER PROGRAMS
CUTTING

-563-

12. USER PROGRAMS FOR GUIDANCE CUTTING

FOR

GUIDANCE

12. USER PROGRAMS FOR GUIDANCE CUTTING

12.1

SAMPLE PROGRAM

B-63423EN/02

GUIDANCE DRAWING FIGURE FOR GUIDANCE CUTTING

/*************************************************************
/* Copyright (C) 1999 by FANUC LTD. ALL rights reserved. *
/*************************************************************
/*
/* symbol define
/*
/* COMMON DATA
/*
@GDH_TOOL
#10200
/* TOOL NO. OF COMMON DATA
@GDH_TLOFS
#10201
/* TOOL RADIUS OFFSET D CODE NO.
@GDH_FDRT
#10202
/* FEEDRATE
@GDH_SPNDL
#10203
/* SPINDLE SPEED
/*
#10204
/* RESERVE #10204-#10209
/*
/* FIGURE DATA
/*
@LINE_OF
10210
/* LINE CUTTING (#10210-#10214)
@ARC_OF
10220
/* CIRCLE CUTTING (#10220-#10222)
/*
#10230
/* RESERVE #10230-#10249
/*
/* WORK FOR SET TO PMC DATA OF GUIDANCE HANDLE
/*
@LINE_KID
#10250
/* KIND OF LINE (0:X PARA,1:Y PARA,2:OBLIQUE)
@WORK_X
#10251
/* WORK X DATA
@WORK_Y
#10252
/* WORK Y DATA
@WORK_SIN
#10253
/* OUTPUT SIN (*2**30)
@WORK_COS
#10254
/* OUTPUT COS (*2**30)
@VERT_LEN
#10255
/* OUTPUT OP
@COFI_A
#10256
/* AX
@COFI_B
#10257
/* +B
@CROS_X
#10258
/* VERTICAL CROSS POINT X
@CROS_Y
#10259
/* VERTICAL CROSS POINT Y
@RMV_DIR
#10260
/* REMOVE DIRECTION
@WORK_210
#10261
/* 2**10=1024
@WORK_220
#10262
/* 2**20=1048576
@WORK_230
#10263
/* 2**30=1073741824
@CUNT
#10264
/* CUNTER
@CHK_SIN
#10265
/* SIN FOR CHECK (*2**30/2**20)
@CHK_COS
#10266
/* COS FOR CHECK (*2**30/2**20)
@WORK_SET
#10267
/* SETA
@WORK_X1
#10268
/*
@WORK_Y1
#10269
/*
@WORK_X2
#10270
/*
@WORK_Y2
#10271
/*
@WORK_A
#10272
/*
@WORK_D
#10273
/*
@WORK_D2
#10274
/*
/*
@TOL_OFS
#10275
/* tool offset common data
@LIMIT_F
#10276
/* LIMIT FLAG
@UNIT_F8
#10277
/* UNIT F[UNIT_F8] DATA TYP 8
@W_MUDV
#10278
/*
@W_1004
#10279
/*
@W_UNIT1
#10280
/*
/*
@SET_X1
#10281
/* START POINT X
@SET_Y1
#10282
/*
Y
@SET_X2
#10283
/* END POINT I
@SET_Y2
#10284
/*
J
@SET_A
#10285
/* ANGLE
/*
@LINE_CUT
1
@SET_FLAG
0

-564-

B-63423EN/02

SAMPLE PROGRAM

12. USER PROGRAMS FOR GUIDANCE CUTTING

/*
@SQR_X
#10286
/* SQUARE FOR LIMIT
@SQR_Y
#10287
/* SQUARE FOR LIMIT
@MPL_F
#10288
/* SELECTED PLANE
@W_POS1
#10289
/* ACTUAL POSITION OF 1ST AXIS
@W_POS2
#10290
/* ACTUAL POSITION OF 2ND AXIS
@WRK_VAR
#10291
/* work variable
@WRK_VAR2
#10292
/* work variable
@WORK_AMT
#10293
/*
@WORK_MIN
#10294
/*
@WORK_POS
#10295
/*
@DSP_FWRK
#10296
/*
@F_LMTNOW
#10297
/*
@F_LMTAGO
#10298
/*
@F_DNOW
#10299
/*
@F_DAGO
#10300
/*
@WORK_F104
#10301
/*
@WORK_FAB
#10302
/*
@F_AP1
#10303
/*
@F_AP2
#10304
/*
@F_RM1
#10305
/*
@F_RM2
#10306
/*
@WORK_DST
#10307
/*
@WDST
10307
/*
@RIGHT
1
/*
@LEFT
2
/*
/*
/* DRAWING HANDLE DIRECTION AT GUIDANCE MODE
/*
@WORK_ARW
#10310
/* CUTTING DIRECTION
@WORK_ALR
#10311
/* ALONG CUT RIGHT AT LINE
@WORK_APU
#10312
/* UPPER APPROACH AT LINE
@WORK_S
#10313
/* SIN A
@WORK_C
#10314
/* COS A
@WORK_LMT
#10315
/* LIMIT FLAG
@WORK_ALU
#10316
/* ALONG UPPER AT CIRCLE
@WORK_APR
#10317
/* APPROACH RIGHT AT CIRCLE
/*
/* GUIDANCE HANDLE ARROW DISP
/*
@DRCT_CUT
#10318
/* cutter direction
@ASET
#10319
/* rotate angle
@W_CXPOS
#10320
/* offset center pos
@W_CYPOS
#10321
/* offset center pos
@W_HDCXP
#10322
/* handle circle center pos
@W_HDCYP
#10323
/* handle circle center pos
@W_COS
#10324
/* work angle
@W_SIN
#10325
/* work angle
@W_REG1X
#10326
/* work
@W_REG1Y
#10327
/* work
@W_REG2X
#10328
/* work
@W_REG2Y
#10329
/* work
@W_TEST
#10330
/* for debug
/*
/* FOR CIRCLE
/*
@X_WRK
#10331
/*
@Y_WRK
#10332
/*
@R_WRK
#10333
/*
@CW_F
#10334
/*
@CIRC_PLF
#10335
/* SELECTED PLANE OF CIRCLE CUTTING
@INOUT_F
#10336
/* CIRCLE INSIDE/OUTSIDE FLAG (R974.0)
@CUT_DIR
#10337
/*
/*
@SAV_CIRX
#10338
/*
@SAV_CIRY
#10339
/*
@SAV_CIRR
#10340
/*

-565-

12. USER PROGRAMS FOR GUIDANCE CUTTING


@SIN_CCW #10341
@COS_CCW
@L_WRK
@D_DSP
@D_DSP0
@ANG_ITEM
@WORK_TL
/*
/*
/*

SAMPLE PROGRAM

/*
#10342
#10343
10344
#10345
#10346
#10347
#10348

/*
/*
/* VARIABLE NO.
/*
/*
/*
/* -#10399 RESERVE FOR GUIDANCE HANDLE

/*************************************************************
/* Copyright (C) 1999 by FANUC LTD. ALL rights reserved. *
/*************************************************************
/*
/* SYMBOL DEFINE
/*
$INCLUDE GDHSYM.DEF
/*
/*
/***************************************
/* STRAGHT LINE CUT EXCUTE PROGRAM
/***************************************
O9800
M98 P9810
/* SET UNIT_F8
IF [UNIT_F8 EQ 7.3]THEN
W_MUDV = 1000
ELSE
IF [UNIT_F8 EQ 7.2]THEN
W_MUDV = 100
ELSE
W_MUDV= 10000
ENDIF
ENDIF
/*
CUNT = 0
WORK_210 = 1
/* 2**10
WHILE [CUNT LT 10 ] DO 1
WORK_210 = WORK_210 * 2
CUNT = CUNT + 1
END 1
/*
CUNT = 0
WORK_220 = 1
/* 2**20
WHILE [CUNT LT 20 ] DO 2
WORK_220 = WORK_220 * 2
CUNT = CUNT + 1
END 2
/*
CUNT = 0
WORK_230 = 1
/* 2**30
WHILE [CUNT LT 30 ] DO 3
WORK_230 = WORK_230 * 2
CUNT = CUNT + 1
END 3
/*
/* READ INPUT DATA
SET_X1 = #[LINE_OF]
/* POINT 1 X1
SET_Y1 = #[LINE_OF+1]
/*
1 Y1
SET_X2 = #[LINE_OF+2]
/* POINT 2 X2
SET_Y2 = #[LINE_OF+3]
/*
2 Y2
SET_A = #[LINE_OF+4]
/* ANGLE A
WRK_VAR=0
/* SELECTING PLANE
/*
M98 P9812
/* SET TOOL RADIUS OFFSET DATA
/*

-566-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

12. USER PROGRAMS FOR GUIDANCE CUTTING

/* SET ACTUAL POSITION


/*
M98 P9811
/* SET ACTUAL POSITION(W_POS1,W_POS2) INPUT DATA:WRK_VAR
/*
IF [SET_A NE #0] THEN
LINE_KID = 2
ELSE
IF [SET_Y1 NE #0 && SET_Y2 NE #0]THEN
IF [SET_X1 NE #0 && SET_X2 NE #0]THEN
LINE_KID = 2
GOTO 2000
ENDIF
ENDIF
IF [SET_Y1 NE #0] THEN
LINE_KID = 0
GOTO 2000
ENDIF
IF [SET_Y2 NE #0] THEN
LINE_KID = 0
GOTO 2000
ENDIF
IF [SET_X1 NE #0] THEN
LINE_KID = 1
GOTO 2000
ENDIF
IF [SET_X2 NE #0] THEN
LINE_KID = 1
ENDIF
ENDIF
/*
N2000
WORK_X1 = SET_X1
/* START POINT X1
WORK_Y1 = SET_Y1
/*
Y1
WORK_X2 = SET_X2
/* END POINT X2
WORK_Y2 = SET_Y2
/*
Y2
WORK_A = SET_A
/* ANGLE
/*
/* SKIP ANGLE WITH (X1,Y1) AND (X2,Y2)
/*
IF [SET_Y1 NE #0 && SET_Y2 NE #0]THEN
IF [SET_X1 NE #0 && SET_X2 NE #0]THEN
WORK_A = #0
ENDIF
ENDIF
/*
IF [SET_A EQ #0] GOTO 90
IF [WORK_A EQ #0] GOTO 90
/*
IF [ABS[WORK_A] EQ 90 ||ABS[WORK_A] EQ 270] THEN
LINE_KID = 1
ENDIF
IF [ABS[WORK_A] EQ 0 ||ABS[WORK_A] EQ 180 ||ABS[WORK_A] EQ 360] THEN
LINE_KID = 0
ENDIF
WORK_SET = WORK_A
/*
N90 IF [LINE_KID EQ 0] GOTO 100 /* X PARA
IF [LINE_KID EQ 1] GOTO 200 /* Y PARA
IF [LINE_KID EQ 2] GOTO 300 /* OBLIQUE LINE
/*
/* X PARA
/*
N100 IF [SET_Y1 EQ #0 ] THEN
IF [SET_Y2 EQ #0] THEN
WORK_Y = W_POS2
/* WORK CORRD.
ELSE
WORK_Y = WORK_Y2
ENDIF

-567-

12. USER PROGRAMS FOR GUIDANCE CUTTING


ELSE
WORK_Y = WORK_Y1
ENDIF
WORK_POS = WORK_Y

SAMPLE PROGRAM

/* y coordinate save

/*

/*

IF [W_POS2 LT WORK_Y] THEN


WORK_SIN = WORK_230
WORK_SET = 0
RMV_DIR = 1
ELSE
WORK_SIN = -WORK_230
WORK_Y = -WORK_Y
WORK_SET = 180
RMV_DIR = 0
ENDIF
WORK_COS = 0
VERT_LEN = WORK_Y*W_MUDV
GOTO 400
GOTO 390

/*
/* Y PARA
/*
N200 IF [SET_X1 EQ #0 ] THEN
IF [SET_X2 EQ #0] THEN
WORK_X = W_POS1
/* WORK CORRD.
ELSE
WORK_X = WORK_X2
ENDIF
ELSE
WORK_X = WORK_X1
ENDIF
WORK_POS = WORK_X
/* x coordinate save
/*
IF [W_POS1 LT WORK_X] THEN
WORK_COS = WORK_230
WORK_SET = 270
RMV_DIR = 0
ELSE
WORK_COS = -WORK_230
WORK_X = -WORK_X
WORK_SET = 90
RMV_DIR = 1
ENDIF
WORK_SIN = 0
VERT_LEN = WORK_X*W_MUDV
/*
GOTO 400
GOTO 390
/*
/* OBLIQUE LINE.
/*
N300 IF [WORK_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_Y1 NE 0 && WORK_Y1 NE #0]GOTO 310
IF [WORK_Y2 NE 0 && WORK_Y2 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*W_POS1]+W_POS2
IF [WORK_X1 EQ 0 && WORK_Y1 EQ 0]GOTO 302
IF [WORK_X2 EQ 0 && WORK_Y2 EQ 0] THEN
N302
COFI_B = 0
ENDIF
WORK_SET = WORK_A

-568-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

12. USER PROGRAMS FOR GUIDANCE CUTTING

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

-569-

12. USER PROGRAMS FOR GUIDANCE CUTTING

N355
N357

N381
N380

N382
N387
N358

/**
N359

N383

N385

N384
N388
N361

SAMPLE PROGRAM

WORK_SET = [WORK_Y2-WORK_Y1]/[WORK_X2-WORK_X1]
GOTO 357
WORK_SET = TAN[WORK_A]
CROS_X = W_POS2 * WORK_SET + W_POS1
CROS_X = CROS_X /[WORK_SET * WORK_SET + 1]
CROS_Y = CROS_X * WORK_SET
IF [ROUND[ABS[CROS_X-W_POS1]*WORK_AMT]/WORK_AMT GT WORK_MIN]GOTO 358
IF [WORK_A NE 0 && WORK_A NE #0] GOTO 380
WORK_SET = -1/[[WORK_Y2-WORK_Y1]/[WORK_X2-WORK_X1]]
WORK_SET = ATAN[WORK_SET]/[1]
WORK_COS = [COS[WORK_SET]]
WORK_COS = WORK_COS * WORK_230
GOTO 387
WORK_SET = [WORK_A]
WORK_SET = -[1/TAN[WORK_A]]
WORK_SET = ATAN[WORK_SET]/[1]
WORK_COS = [COS[WORK_SET]]
WORK_COS = WORK_COS * WORK_230
IF [COFI_A LT 0 &&[COFI_B] EQ 0] THEN WORK_COS=-WORK_COS
GOTO 359
IF [CROS_X-W_POS1 LE 0] THEN
WORK_COS=-WORK_COS
ENDIF
IF[ROUND[ABS[CROS_Y-W_POS2]*WORK_AMT]/WORK_AMT GT WORK_MIN]GOTO 361
IF [WORK_A NE 0 && WORK_A NE #0] GOTO 385
WORK_SET = -1/[[WORK_Y2-WORK_Y1]/[WORK_X2-WORK_X1]]
WORK_SET = ATAN[WORK_SET]/[1]
WORK_SIN = [SIN[WORK_SET]]
WORK_SIN = WORK_SIN * WORK_230
GOTO 388
WORK_SET = [WORK_A]
WORK_SET = -[1/TAN[WORK_A]]
WORK_SET = ATAN[WORK_SET]/[1]
WORK_SIN = [SIN[WORK_SET]]
WORK_SIN = WORK_SIN * WORK_230
IF [COFI_A LT 0 &&[COFI_B] EQ 0] THEN WORK_SIN=-WORK_SIN
GOTO 362
IF [CROS_Y-W_POS2 LE 0] THEN
WORK_SIN=-WORK_SIN
ENDIF

/*
N362

WORK_SET = ATAN[COFI_A]/[1]
WORK_Y = COFI_A*W_POS1+COFI_B
RMV_DIR = 1
IF[W_POS2-WORK_Y GE WORK_MIN || ABS[W_POS2-WORK_Y] LT WORK_MIN]THEN
RMV_DIR = 0
ENDIF
GOTO 390
ENDIF
ENDIF

/*
/*
/*
N360 WORK_SET = ATAN[COFI_A]/[1]
WORK_Y = COFI_A*W_POS1+COFI_B
IF [ABS[COFI_A] LT WORK_MIN || COFI_A GT WORK_MIN]GOTO 363 /* A>=0
GOTO 366
/* A<0
/*
.
/* REGION 2
*.
/*
.
N363 IF [ABS[COFI_B] LT WORK_MIN || COFI_B GT WORK_MIN]THEN
/* B>=0
IF[ROUND[W_POS2*WORK_AMT] GE ROUND[WORK_Y*WORK_AMT]]THEN/* #5042>=Y
GOTO 370
ENDIF
ENDIF
/*
.

-570-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

12. USER PROGRAMS FOR GUIDANCE CUTTING

/* REGION 4
.*
/*
.
N364 IF [COFI_B LT WORK_MIN]THEN
/* B<0
IF[ROUND[W_POS2*WORK_AMT] LT ROUND[WORK_Y*WORK_AMT]]THEN/* #5042<Y
GOTO 370
ENDIF
ENDIF
GOTO 375
/*
/*
.
/* REGION 1
.*
/*
.
N366 IF [ABS[COFI_B] LT WORK_MIN || COFI_B GT WORK_MIN]THEN
/* B>=0
IF[ROUND[W_POS2*WORK_AMT] GE ROUND[WORK_Y*WORK_AMT]]THEN/* #5042>=Y
GOTO 370
ENDIF
ENDIF
/*
.
/* REGION 3
.*
/*
.
N368 IF [COFI_B LT WORK_MIN]THEN
/* B<0
IF[ROUND[W_POS2*WORK_AMT] LT ROUND[WORK_Y*WORK_AMT]]THEN/* #5042<Y
N370
WORK_SIN = - WORK_SIN
WORK_COS = - WORK_COS
VERT_LEN = - VERT_LEN
ENDIF
ENDIF
/*
/*
N375 RMV_DIR = 1
IF[W_POS2-WORK_Y GE WORK_MIN || ABS[W_POS2-WORK_Y] LT WORK_MIN]THEN
RMV_DIR = 0
ENDIF
/*
/*
N390 CHK_SIN = WORK_SIN/WORK_220
CHK_COS = WORK_COS/WORK_220
/*
N400 IF [LIMIT_F EQ 1] THEN
VERT_LEN = VERT_LEN - [[TOL_OFS]*W_MUDV]
G310 R975 Q128 L1
/* LIMIT :: effective
ELSE
G310 R975 Q0 L1
/* LIMIT :: ineffective
ENDIF
/*
/* SEND TO P.M.C
/*
G310 R961 Q[LINE_CUT]
G310 R962 Q[WORK_COS] L4
G310 R966 Q[WORK_SIN] L4
G310 R970 Q[VERT_LEN] L4
G310 R974 Q[RMV_DIR]
G310 R979 Q[SET_FLAG]
/*
N900
M98 P9801
/*FOR DISPLAY HANDLE
/*
N1000 M99
/*
/*************************************************
/* DECIDE DIRECTION OF HANDLE
/*************************************************
O9801
WORK_AMT=1000
/* MM
WORK_MIN=0.0001
/*
/*
/*
IF [#3005 AND 4 EQ 4] THEN
/*
WORK_AMT=10000
/* INCH

-571-

12. USER PROGRAMS FOR GUIDANCE CUTTING


WORK_MIN=0.00001
ENDIF

SAMPLE PROGRAM
/*
/*

/*
WORK_FAB = 0
/* TOOL POS IS ABOVE LINE
/*
/* PALLREL LINE.
/*
IF [WORK_SET EQ 180 ]THEN
WORK_FAB = 1
/* TOOL POS IS BELOW LINE
F_AP1 = LEFT
F_RM1 = RIGHT
GOTO 30
ENDIF
IF [WORK_SET EQ 0 ]THEN
WORK_FAB = 1
/* TOOL POS IS BELOW LINE
F_AP1 = RIGHT
F_RM1 = RIGHT
GOTO 30
ENDIF
IF [WORK_SET EQ 270]THEN
WORK_FAB = 1
/* TOOL POS IS BELOW LINE
F_AP1 = LEFT
F_RM1 = RIGHT
GOTO 30
ENDIF
IF [WORK_SET EQ 90]THEN
WORK_FAB = 1
/* TOOL POS IS BELOW LINE
F_AP1 = RIGHT
F_RM1 = RIGHT
GOTO 30
ENDIF
/*
/* OBLIQU LINE.
/*
WORK_Y = COFI_A*W_POS1+COFI_B
IF [ROUND[W_POS2*WORK_AMT] LT ROUND[WORK_Y*WORK_AMT]]THEN
WORK_FAB = 1
/* TOOL POS IS BELOW LINE
ENDIF
/*
/* SET HANDLE ROTATE DIRECTION.
/*
IF [WORK_FAB EQ 0] THEN
/* ABOVE LINE ?
F_AP1 = RIGHT
F_RM1 = LEFT
ELSE
/* BELOW LINE.
F_AP1 = RIGHT
F_RM1 = RIGHT
ENDIF
/*
N30 WORK_FAB = 0
/* above line
IF [WORK_SET EQ 0 || WORK_SET EQ 90 || WORK_SET EQ 180 || WORK_SET EQ 270]THEN /* x / y pallrel
WORK_TL = TOL_OFS
/* tool dia.
IF [WORK_SET EQ 90 || WORK_SET EQ 270]THEN
/* y pallrel
IF[RMV_DIR EQ 0] THEN WORK_TL = -WORK_TL
/* sift direction up/down
WORK_X = WORK_POS + WORK_TL
/* new X
IF[WORK_SET EQ 270 && W_POS1 LE WORK_X]GOTO 31
/* below line?
IF[WORK_SET EQ 90 && WORK_X LE W_POS1]THEN
/* below line?
N31
WORK_FAB = 1
/* below line
ENDIF
GOTO 100
ENDIF
IF [WORK_SET EQ 0 || WORK_SET EQ 180]THEN
/* x pallrel
IF[RMV_DIR GT 0]THEN WORK_TL = -WORK_TL
/* sift direction up/down
WORK_Y = WORK_POS + WORK_TL
/* new
IF[WORK_SET EQ 0 && W_POS2 LE WORK_Y]GOTO 33
/* below line?
IF[WORK_SET EQ 180 && WORK_Y LE W_POS2]THEN
/* below line?
N33
WORK_FAB = 1
/* below line

-572-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

12. USER PROGRAMS FOR GUIDANCE CUTTING

ENDIF
GOTO 100
ENDIF
ENDIF
/*
N32

WORK_TL = TOL_OFS * SQRT[COFI_A*COFI_A + 1]


IF[RMV_DIR GT 0] THEN WORK_TL = -WORK_TL
WORK_POS = COFI_B + WORK_TL
WORK_Y = COFI_A*W_POS1+WORK_POS

/* sift direction up/down


/* new cofi_b

/*
N34
IF[ROUND[[W_POS2-WORK_Y]*WORK_AMT]/WORK_AMT LE WORK_MIN ||
WORK_Y]*WORK_AMT]/WORK_AMT LT WORK_MIN]THEN
WORK_FAB = 1
/* below line
ENDIF
/*
N100 G310 R980 P[WDST] L4
/*read from pmc distance from line
WORK_DST= WORK_DST/W_MUDV
IF [LIMIT_F EQ 1]THEN
WRK_VAR2 = -TOL_OFS
/* TOL_OFS SAVE
ELSE
WRK_VAR2 = 0
/* FOR LIMIT
ENDIF
IF [[WORK_DST-[TOL_OFS+WRK_VAR2]] LT 0]THEN
F_DNOW = 1
/* NOW F_DAGO = 1
/* AGO ELSE
F_DNOW = 0
/* NOW +
F_DAGO = 0
/* AGO +
ENDIF
/*
DSP_FWRK=1
/* REQUEST DISPLAY HANDLE ARROW
F_LMTNOW=R975.7
/* LIMIT SIGNAL NOW
F_LMTAGO=F_LMTNOW
/* LIMIT SIGNAL AGO
/*
M99
/*
/*****************************************
/* STRAIGHT LINE CUT MAIN PROGRAM
/*****************************************
O9802
G310 R980 P[WDST] L4
/* read from pmc distance from line
WORK_DST= WORK_DST/W_MUDV
IF [LIMIT_F EQ 1]THEN
WRK_VAR2 = -TOL_OFS
/* TOL_OFS SAVE
ELSE
WRK_VAR2 = 0
/* FOR LIMIT
ENDIF
IF [[WORK_DST-[TOL_OFS+WRK_VAR2]] LT 0]THEN
F_DNOW = 1
/* NOW ELSE
/*
F_DNOW = 0
/* NOW +
ENDIF
/*
N510
IF [DSP_FWRK EQ 1] THEN
/*IF REQUEST DISPLAY FLAG ON
DSP_FWRK=0
/*
GOTO 100
/*
ENDIF
/*
/*
F_LMTNOW=R975.7
/* LIMIT SIGNAL
/*
N520
IF [F_LMTNOW NE F_LMTAGO] THEN
/* IF LIMIT SIGNAL CHANGED
F_LMTAGO=F_LMTNOW
/* THEN
GOTO 100
/*
ENDIF
/*
/*
N530
IF [F_LMTNOW EQ 1] GOTO 900
/* LIMIT EFFECTIVE?
/*

-573-

ROUND[ABS[W_POS2-

12. USER PROGRAMS FOR GUIDANCE CUTTING


N540
/*
N560
/*
N100
/*

/*
N800

/*
N850

IF [R985.6 EQ 1] GOTO 900

SAMPLE PROGRAM
/* GUIDANCE CUTTING?

IF [F_DNOW EQ F_DAGO] GOTO 900


F_DAGO=F_DNOW

/* IF NOW NE AGO THEN


/*

WORK_ARW=0

/*CUTTING DIRECTION IS LOWER

IF [WORK_FAB EQ 0 && F_DNOW EQ 1] THEN


WORK_ARW=1
ENDIF

/*

IF [WORK_FAB EQ 1 && F_DNOW EQ 0] THEN


WORK_ARW=1
ENDIF

/*

WORK_ALR=F_AP1
WORK_APU=F_RM1

/*ALONG HANDLE
/*APPROACH HANDLE

/*CUTTING DIRECTION IS UPPER


/*

/*CUTTING DIRECTION IS UPPER


/*

/*
WORK_S=SIN[WORK_SET]
WORK_C=COS[WORK_SET]

/*SIN A
/*COS A

WORK_LMT=F_LMTNOW

/*LIMIT SIGNAL

/*
/*
N860
/*

G202 X23 Y1 I22 J5 P2

/* clear part screen(CHAR)

G202 X23 Y1 I22 J8 P1


/*
N300
M98 P9803
/*
N350
/*
N900
M99
/*
/*****************************************
/* DISP HANDLE ARROW OF LIME MODE
/*****************************************
O9803
G244 P0 ;

/*CLEAR PART GRPH


/*DISPLAY HANDLE ARROW

/* set solid line

W_CXPOS = -40 ;
W_CYPOS = 168 ;

/* offset x pos
/* offset y pos

CUNT = 0 ;
ASET = 0 ;
/*
/*
/*
/*

WORK_C = COS[W_TEST]
WORK_S = SIN[W_TEST]
W_COS = WORK_C
W_SIN = WORK_S

/* counter clear
/* init angle
/* for debug
/*
/*
/*

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 ;
G240 P2 ;
ELSE ;
/*
G240 P5 ;
DRCT_CUT = 1 ;
ENDIF ;
/*

/* if approach direction ?
/* set color green
/* set color pink
/* set cutter direction

-574-

B-63423EN/02

SAMPLE PROGRAM

B-63423EN/02

ENDIF;

12. USER PROGRAMS FOR GUIDANCE CUTTING

/*

IF [CUNT EQ 3] THEN ;
/*
IF [WORK_ARW EQ 0] THEN ;
G240 P5 ;
DRCT_CUT = 1 ;
ELSE ;
/*
G240 P2 ;
ENDIF ;
/*
ENDIF;
/*

/* if approach direction ?
/* set color pink
/* set cutter direction
/* set color green

IF [CUNT EQ 0 || CUNT EQ 2] THEN; /*


G240 P6 ;
ENDIF;

/* set color light blue

/* 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
G242 X[W_HDCXP-10] Y[W_HDCYP]
G03 I[W_HDCXP] J[W_HDCYP] Q4
G242 X[W_HDCXP-7] Y[W_HDCYP]
G03 I[W_HDCXP] J[W_HDCYP] Q4
G206 X[W_HDCXP-9] Y[W_HDCYP]
G242 X[W_HDCXP+4] Y[W_HDCYP-4]
G02 I[W_HDCXP+2] J[W_HDCYP-2] Q4
G206 X[W_HDCXP+2] Y[W_HDCYP-2]

G240 P7 ;
G242 X[W_HDCXP-7] Y[W_HDCYP]
G03 I[W_HDCXP] J[W_HDCYP] Q4
G242 X[W_HDCXP+4] Y[W_HDCYP-4]
G02 I[W_HDCXP+2] J[W_HDCYP-2] Q4
G206 P7 X[W_HDCXP-2] Y[W_HDCYP+2]
G240 P15 ;
IF [WORK_ALR EQ 1] THEN ;
IF [CUNT EQ 0] THEN;
GOTO 20
ENDIF;
IF [CUNT EQ 2] THEN;
GOTO 30
ENDIF;
ENDIF;

/* draw handle inside circle


/* set color white

/* set color

/* right rotation

/* left rotation

-575-

12. USER PROGRAMS FOR GUIDANCE CUTTING

SAMPLE PROGRAM

IF [WORK_ALR EQ 2] THEN ;
IF [CUNT EQ 0] THEN;
GOTO 30
ENDIF;
IF [CUNT EQ 2] THEN;
GOTO 20
ENDIF;
ENDIF;

B-63423EN/02

/* left rotation

/* right rotation

IF [WORK_APU EQ 1] THEN ;
IF [CUNT EQ 1] THEN;
GOTO 20
ENDIF;
IF [CUNT EQ 3] THEN;
GOTO 30
ENDIF;
ENDIF;

/* right rotation

/* left rotation

IF [WORK_APU EQ 2] THEN ;
IF [CUNT EQ 1] THEN;
GOTO 30
ENDIF;
IF [CUNT EQ 3] THEN;
GOTO 20
ENDIF ;
ENDIF ;

/* left rotation

/* right rotation

GOTO 40 ;
N0020
/* right rotatetion arrow
G242 X[W_HDCXP] Y[W_HDCYP+14]
G01 X[W_HDCXP-2] Y[W_HDCYP+14+2]
G242 X[W_HDCXP] Y[W_HDCYP+14]
G01 X[W_HDCXP-2] Y[W_HDCYP+14-2]
/* arc
G242 X[W_HDCXP] Y[W_HDCYP+14]
G03 X[W_HDCXP-14] Y[W_HDCYP] I[W_HDCXP] J[W_HDCYP] Q0
GOTO 40 ;
N0030
/* left rotatetion arrow
G242 X[W_HDCXP] Y[W_HDCYP+14]
G01 X[W_HDCXP+2] Y[W_HDCYP+14+2]
G242 X[W_HDCXP] Y[W_HDCYP+14]
G01 X[W_HDCXP+2] Y[W_HDCYP+14-2]
/* arc
G242 X[W_HDCXP] Y[W_HDCYP+14]
G02 X[W_HDCXP+14] Y[W_HDCYP] I[W_HDCXP] J[W_HDCYP] Q0
N0040
IF [WORK_LMT EQ 1] THEN ;
IF [DRCT_CUT EQ 1] THEN ;

/* if limit set ?
/* if drawing cutter direction ?
/* arrow on line
G240 P7 ;
/* set color white
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 P7 X[[48-5]*W_COS+W_CXPOS] Y[[48-5]*W_SIN+W_CYPOS]
G240 P5 ;
/* set color pink
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]

-576-

SAMPLE PROGRAM

B-63423EN/02

12. USER PROGRAMS FOR GUIDANCE CUTTING

/* limit line
G240 P15 ;
/* set color
G242 X[48*W_COS-[0-6]*W_SIN+W_CXPOS] Y[48*W_SIN+[0-6]*W_COS+W_CYPOS]
G01 X[48*W_COS-[0+6]*W_SIN+W_CXPOS] Y[48*W_SIN+[0+6]*W_COS+W_CYPOS]
G242 X[48*W_COS-[0-6]*W_SIN+W_CXPOS+1] Y[48*W_SIN+[0-6]*W_COS+W_CYPOS]
G01 X[48*W_COS-[0+6]*W_SIN+W_CXPOS+1] Y[48*W_SIN+[0+6]*W_COS+W_CYPOS]
G242 X[48*W_COS-[0-6]*W_SIN+W_CXPOS] Y[48*W_SIN+[0-6]*W_COS+W_CYPOS+1]
G01 X[48*W_COS-[0+6]*W_SIN+W_CXPOS] Y[48*W_SIN+[0+6]*W_COS+W_CYPOS+1]
G242 X[48*W_COS-[0-6]*W_SIN+W_CXPOS-1] Y[48*W_SIN+[0-6]*W_COS+W_CYPOS]
G01 X[48*W_COS-[0+6]*W_SIN+W_CXPOS-1] Y[48*W_SIN+[0+6]*W_COS+W_CYPOS]
G242 X[48*W_COS-[0-6]*W_SIN+W_CXPOS] Y[48*W_SIN+[0-6]*W_COS+W_CYPOS-1]
G01 X[48*W_COS-[0+6]*W_SIN+W_CXPOS] Y[48*W_SIN+[0+6]*W_COS+W_CYPOS-1]
ENDIF ;
ENDIF ;
ASET = ASET + 90 ;
CUNT = CUNT + 1 ;
END 1;

/* +90
/* loop count up
/* end while loop.

/* center circle
G240 P15 ;
/* set color
G242 X[W_CXPOS+8] Y[W_CYPOS]
G03 X[W_CXPOS+8] Y[W_CYPOS] I[W_CXPOS] J[W_CYPOS] Q4
G206 P15 X[W_CXPOS] Y[W_CYPOS]
G240 P11 ;
/* set color
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. *
/*************************************************************
/*
O9804
G240 P4 ;
/* color = blue

N010

G244 P1 ;
G242 X-112 Y176 ;
G01 X16 Y176 ;
G244 P0 ;

/* top dot line


/* line kind = dot

/* line kind = solid


/* (x1,y1) point circle

N020 G242 X[-48-2] Y208


G03 X[-48-2] Y208 I-48 J208 Q4
G206 P4 X-48 Y208
/* arrow on line
N030 G242 X[91*COS[45]-96] Y[91*SIN[45]+160]
G01 X[[91-8]*COS[45]-[0-3]*SIN[45]-96] Y[[91-8]*SIN[45]+[0-3]*COS[45]+160]
G01 X[[91-8]*COS[45]-[0+3]*SIN[45]-96] Y[[91-8]*SIN[45]+[0+3]*COS[45]+160]
G01 X[91*COS[45]-96] Y[91*SIN[45]+160]
G206 P4 X[[91-5]*COS[45]-96] Y[[91-5]*SIN[45]+160]
/* (x2,y2) point circle
N040

G242 X[-80-2] Y176


G03 X[-80-2] Y176 I-80 J176 Q4
G206 P4 X-80 Y176

-577-

12. USER PROGRAMS FOR GUIDANCE CUTTING

SAMPLE PROGRAM

B-63423EN/02

/* line
N050 G242 X-96 Y160
G01 X[91*COS[45]-96] Y[91*SIN[45]+160]
/* arrow on arc
N060 G242 X[36*COS[45]-80] Y[36*SIN[45]+176]
G01 X[[36+3]*COS[45]-[0-8]*SIN[45]-80] Y[[36+3]*SIN[45]+[0-8]*COS[45]+176]
G01 X[[36-3]*COS[45]-[0-8]*SIN[45]-80] Y[[36-3]*SIN[45]+[0-8]*COS[45]+176]
G01 X[36*COS[45]-80] Y[36*SIN[45]+176]
G206 P4 X[[36]*COS[45]-[0-5]*SIN[45]-80] Y[[36]*SIN[45]+[0-5]*COS[45]+176]
/* arc
N070 G242 X[36-80] Y176
G03 X[36*COS[45]-80] Y[36*SIN[45]+176] I-80 J176 Q0
N080
G240 P0 C11 ;
G243 X27 Y1 ('(X2,Y2)') ;
G243 X30 Y5 ('(X1,Y1)') ;
G243 X36 Y3 ('A') ;
N999
%

/* color = black

M99 P300

/*************************************************************
/* Copyright (C) 1999 by FANUC LTD. ALL rights reserved. *
/*************************************************************
/*
/* SYMBOL DEFINE
/*
$INCLUDE GDHSYM.DEF
/*
/*
/*****************************************
/* ARC LINE CUT EXCUTE PROGRAM
/*****************************************
O9805
M98 P9810
/* SET UNIT_F8
/*
X_WRK=#[ARC_OF]
/* CENTER X
Y_WRK=#[ARC_OF+1]
/* CENTER Y
R_WRK=#[ARC_OF+2]
/* RADIUS R
CIRC_PLF=0
/* SELECTED PLANE OF CIRCLE CUTTING
/*
M98 P9812
/* SET TOOL RADIUS OFFSET DATA
/*
/* set actual position
/*
IF [ X_WRK EQ #0 ] THEN
/* center i=null ?
X_WRK= #[5041+CIRC_PLF]
/* X/Y/Z
ENDIF
/*
IF [ Y_WRK EQ #0 ] THEN
/* center i=null ?
IF[CIRC_PLF EQ 2] THEN
/* ZX-PLANE
Y_WRK = #5041
/* X actual position
ELSE
/* XY-PLANE,YZ-PLANE
Y_WRK = #[5042+CIRC_PLF]
/* Y/Z actual position
ENDIF
ENDIF
/*
IF [ R_WRK EQ #0 ] THEN
/* radius r=null ?
IF[CIRC_PLF EQ 2] THEN
/* ZX-PLANE
R_WRK=[Y_WRK-#5041]*[Y_WRK-#5041]
ELSE
/* XY-PLANE,YZ-PLANE

-578-

B-63423EN/02

SAMPLE PROGRAM

12. USER PROGRAMS FOR GUIDANCE CUTTING

R_WRK=[Y_WRK-#[5042+CIRC_PLF]]*[Y_WRK-#[5042+CIRC_PLF]]
ENDIF
R_WRK= [X_WRK-#[5041+CIRC_PLF]]*[X_WRK-#[5041+CIRC_PLF]]+R_WRK
R_WRK= SQRT[R_WRK]
/* calculate distance from center
IF [ R_WRK LT 0 ] THEN
/* minus ?
R_WRK= 0
ENDIF
ENDIF
/*
/* set cw/ccw mode
/*
IF [ R_WRK GE 0 ] THEN
/* radius data>=0 ?
CW_F= 0
/* cw mode
ELSE
CW_F= 1
/* ccw mode
ENDIF
R_WRK= ABS[R_WRK]
/* set absolute radius
/*
/* set pmc r data
/*
IF [ CW_F EQ 0 ] THEN
/* cw mode ?
G310 R961 Q2 L1
/* set g02 mode
ELSE
G310 R961 Q3 L1
/* set g03 mode
ENDIF
CUT_DIR = R961
/*
WRK_VAR= ROUND[[UNIT_F8-FIX[UNIT_F8]]*10]
/* get decimal fraction column
IF [ WRK_VAR EQ 5 ] THEN
WRK_VAR= 100000
ENDIF
IF [ WRK_VAR EQ 4 ] THEN
WRK_VAR= 10000
ENDIF
IF [ WRK_VAR EQ 3 ] THEN
WRK_VAR= 1000
ENDIF
IF [ WRK_VAR EQ 2 ] THEN
WRK_VAR= 100
ENDIF
IF [ WRK_VAR EQ 1 ] THEN
WRK_VAR= 10
ENDIF
IF [ WRK_VAR EQ 0 ] THEN
WRK_VAR= 1
ENDIF
/*
G310 R962 Q[X_WRK*WRK_VAR] L4
/* center i
G310 R966 Q[Y_WRK*WRK_VAR] L4
/* center j
/*
/* check actual position for command circle
/*
IF[CIRC_PLF EQ 2] THEN
/* ZX-PLANE
WRK_VAR2 = [Y_WRK-#5041]*[Y_WRK-#5041]
ELSE
/* XY-PLANE,YZ-PLANE
WRK_VAR2 = [Y_WRK-#[5042+CIRC_PLF]]*[Y_WRK-#[5042+CIRC_PLF]]
ENDIF
WRK_VAR2 = [X_WRK-#[5041+CIRC_PLF]]*[X_WRK-#[5041+CIRC_PLF]]+WRK_VAR2
WRK_VAR2= SQRT[WRK_VAR2]
/* calculate distance from center
/*
IF [ R_WRK GE WRK_VAR2 ] THEN
/* r data >= actual r
G310 R974 Q0 L1
/* cutting inside
ELSE
G310 R974 Q1 L1
/* cutting outside
ENDIF
INOUT_F=R974.0
/* INSIDE/OUTSIDE FLAG
/*

-579-

12. USER PROGRAMS FOR GUIDANCE CUTTING

SAMPLE PROGRAM

B-63423EN/02

IF [LIMIT_F EQ 1] THEN
IF [ R974.0 EQ 0 ] THEN
/* inside cutting ?
G310 R970 Q[[R_WRK-[TOL_OFS]]*WRK_VAR] L4
/* radius r
ELSE
G310 R970 Q[[R_WRK+[TOL_OFS]]*WRK_VAR] L4
/* radius r
ENDIF
G310 R975 Q128 L1
/* LIMIT :: effective
ELSE
G310 R970 Q[R_WRK*WRK_VAR] L4
/* radius r
G310 R975 Q0 L1
/* LIMIT :: ineffective
ENDIF
G310 R979 Q0 L1
/* data set end
/*
M98 P9806

/*FOR DISPLAY HANDLE

/*
M99
/*
/*****************************************
/* WHEN INPUT END WAS DEPRESSED AT CIRCLE MACHINING,
/* THIS PROGRAM IS CALLED.
/*****************************************
O9806
SAV_CIRX = X_WRK
/* SAVE CENTER X
SAV_CIRY = Y_WRK
/* SAVE CENTER Z
SAV_CIRR = R_WRK
/* SAVE R
/*
SIN_CCW = 0
/*
COS_CCW = 0
/*
/*
N100
WORK_AMT=1000
/*
WORK_MIN=0.001
/*
/*
/*
N300
IF [#3005 AND 4 EQ 4] THEN
/*
WORK_AMT=10000
/*
WORK_MIN=0.0001
/*
ENDIF
/*
/*
M99
/*
/*****************************************
/* circle cutting main program
/*****************************************
O9807
X_WRK = SAV_CIRX
/* transfer center X data
Y_WRK = SAV_CIRY
/* transfer center Z data
R_WRK = SAV_CIRR
/* transfer radius r data
/*
/* draw graphic data
/*
WRK_VAR2= #[5041+CIRC_PLF]
/* X/Y/Z actual position
IF[CIRC_PLF EQ 2]THEN
/* ZX-PLANE
WRK_VAR= #5041
/* X actual position
ELSE
WRK_VAR= #[5042+CIRC_PLF]
/* Y/Z actual position
ENDIF
WRK_VAR2= WRK_VAR2-X_WRK
/* dx
WRK_VAR= WRK_VAR-Y_WRK
/* dy
L_WRK= SQRT[ WRK_VAR2*WRK_VAR2+WRK_VAR*WRK_VAR ] /* calculate distance from center (dx*dx+dy*dy)**1/2
/*
IF [ L_WRK NE 0 ] THEN
/* not on center position ?
WRK_VAR= WRK_VAR/L_WRK
/* calculate sin
WRK_VAR2= WRK_VAR2/L_WRK
/* calculate cos
ELSE
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

-580-

SAMPLE PROGRAM

B-63423EN/02

WRK_VAR= 0
WRK_VAR2= 1
ENDIF
ENDIF

12. USER PROGRAMS FOR GUIDANCE CUTTING

/* set default sin data


/* set default cos data

/*
IF[DSP_FWRK EQ 1] THEN
DSP_FWRK=0
GOTO 500
ENDIF
/*
N2010

/*
N800
/*
N820
/*
N850
/*

/* DISPLAY GRAPHIC?
/* FLAG OFF
/* NOT CHECK F104

L_WRK= ROUND[[UNIT_F8-FIX[UNIT_F8]]*10] /* get decimal fraction column


IF [ L_WRK EQ 5 ] THEN
L_WRK= 100000
ENDIF
IF [ L_WRK EQ 4 ] THEN
L_WRK= 10000
ENDIF
IF [ L_WRK EQ 3 ] THEN
L_WRK= 1000
ENDIF
IF [ L_WRK EQ 2 ] THEN
L_WRK= 100
ENDIF
IF [ L_WRK EQ 1 ] THEN
L_WRK= 10
ENDIF
IF [ L_WRK EQ 0 ] THEN
L_WRK= 1
ENDIF
G310 R980 P[D_DSP] L4
/* get D data
IF[LIMIT_F EQ 1]THEN
#D_DSP= #D_DSP/L_WRK
ELSE
#D_DSP= #D_DSP/L_WRK-TOL_OFS
ENDIF
IF[ABS[#D_DSP] LT WORK_MIN]THEN
/*D < 0.001?
#D_DSP= 1
ENDIF
IF [ R984 NE ANG_ITEM ] THEN
SIN_CCW= 0
COS_CCW= 0
ENDIF
IF [ ABS[WRK_VAR-SIN_CCW] GE 0.0175] GOTO 500
IF [ ABS[WRK_VAR2-COS_CCW] GE 0.0175] GOTO 500
IF [#D_DSP*D_DSP0 LT -[WORK_MIN] ] GOTO 500
GOTO 900

/*
N500

/*
N600
/*
N610

/*
N630

/*
N650

/* IF SIN CHANGED
/*
/* IF COS CHANGED
/*
/* IF SIGN OF D CHANGED
/*
/*

SIN_CCW= WRK_VAR /* renew sin data


COS_CCW= WRK_VAR2
/* renew cos data
D_DSP0= #D_DSP
/* renew D data
ANG_ITEM= R984
/*CW APPROACH HANDLE DIRECTION
WORK_ARW=0

/*CUTTING HANLE IS LEFT

IF [R974 EQ 0 && #D_DSP GE 0] THEN


WORK_ARW=1
ENDIF

/*

IF [R974 EQ 1 && #D_DSP LT 0] THEN


WORK_ARW=1
ENDIF

/*

WORK_ALU=1

/*ALONG HANDLE UPPER IS RIGHT

/*CUTTING HANLE IS RIGHT


/*

/*CUTTING HANLE IS RIGHT


/*

-581-

12. USER PROGRAMS FOR GUIDANCE CUTTING


/*
N660

/*
N680
/*

IF [R961 EQ 3] THEN
WORK_ALU=2
ENDIF

SAMPLE PROGRAM

/*G03
/*ALONG HANDLE UPPER IS LEFT
/*

WORK_APR=1

/*APPROACH RIGHT IS RIGHT

IF [R974 EQ 1] THEN
WORK_APR=2
ENDIF

/*
/*APPROACH RIGHT IS LEFT
/*

/*

N635

/*
N685

IF [R974 EQ 0] THEN
/*IF CIRCLE INSIDE
IF [R985.5 EQ 1] THEN
/*IF APPROACH HANDLE
WRK_VAR=R984
IF [[WRK_VAR AND 1] EQ 0 && COS_CCW LT 0] GOTO 635
IF [[WRK_VAR AND 1] EQ 1 && COS_CCW GT 0] GOTO 635
GOTO 685
IF [WORK_APR EQ 1] THEN
WORK_APR=2
ELSE
WORK_APR=1
ENDIF
ENDIF
ENDIF
WORK_S=SIN_CCW
WORK_C=COS_CCW

/*SIN
/*COS

/*
WORK_LMT=R975.7
/*
/* clear graphic area
/*
G202 X23 Y1 I22 J7 P2
/*
G202 X23 Y1 I22 J8 P1
/*
M98 P9808
/*
N900
M99
/*
/************************************************
/* DISP HANDLE ARROW OF CIRCLE MODE
/************************************************
O9808
G244 P0 ;

/*LIMIT SIGNAL

/* clear figure screen(CHAR)


/*CLEAR PART GRPH
/*DRAW HANDLE DIRECTION

/* set solid line

W_CXPOS = -40 ;
W_CYPOS = 168 ;

/* offset x pos
/* offset y pos

CUNT = 0 ;
ASET = 0 ;
/*
/*
/*
/*

WORK_C = COS[W_TEST]
WORK_S = SIN[W_TEST]
W_COS = WORK_C
W_SIN = WORK_S

/* counter clear
/* init angle
/* for debug
/*
/*
/*

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 0] THEN ;

/*

-582-

B-63423EN/02

SAMPLE PROGRAM

B-63423EN/02

ENDIF;

IF [WORK_ARW EQ 0] THEN ;
G240 P2 ;
ELSE ;
/*
G240 P5 ;
DRCT_CUT = 1 ;
ENDIF ;
/*
/*

IF [CUNT EQ 2] THEN ;
/*
IF [WORK_ARW EQ 0] THEN ;
G240 P5 ;
DRCT_CUT = 1 ;
ELSE ;
/*
G240 P2 ;
ENDIF ;
/*
ENDIF;
/*
IF [CUNT EQ 1 || CUNT EQ 3] THEN ; /*
G240 P6 ;
ENDIF;

12. USER PROGRAMS FOR GUIDANCE CUTTING

/* if approach direction ?
/* set color green
/* set color pink
/* set cutter direction

/* if approach direction ?
/* set color pink
/* set cutter direction
/* set color green

/* set color light blue

IF [CUNT EQ 0 || CUNT EQ 2] THEN ;


/* 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 ;
ELSE ;
IF [CUNT EQ 1] THEN ;
/* arrow on arc
W_REG1X = 48*COS[60]*WORK_C-48*SIN[60]*WORK_S
W_REG1Y = 48*COS[60]*WORK_S+48*SIN[60]*WORK_C
G242 X[W_REG1X-48*WORK_C+W_CXPOS] Y[W_REG1Y-48*WORK_S+W_CYPOS]
W_REG1X = [[48-6]*COS[60]-[0-12]*SIN[60]]*WORK_C-[[48-6]*SIN[60]+[0-12]*COS[60]]*WORK_S
W_REG1Y = [[48-6]*COS[60]-[0-12]*SIN[60]]*WORK_S+[[48-6]*SIN[60]+[0-12]*COS[60]]*WORK_C
G01 X[W_REG1X-48*WORK_C+W_CXPOS] Y[W_REG1Y-48*WORK_S+W_CYPOS]
W_REG1X = [[48+4]*COS[60]-[0-12]*SIN[60]]*WORK_C-[[48+4]*SIN[60]+[0-12]*COS[60]]*WORK_S
W_REG1Y = [[48+4]*COS[60]-[0-12]*SIN[60]]*WORK_S+[[48+4]*SIN[60]+[0-12]*COS[60]]*WORK_C
G01 X[W_REG1X-48*WORK_C+W_CXPOS] Y[W_REG1Y-48*WORK_S+W_CYPOS]
W_REG1X = 48*COS[60]*WORK_C-48*SIN[60]*WORK_S
W_REG1Y = 48*COS[60]*WORK_S+48*SIN[60]*WORK_C
G01 X[W_REG1X-48*WORK_C+W_CXPOS] Y[W_REG1Y-48*WORK_S+W_CYPOS]
W_REG1X = [48*COS[60]-[0-6]*SIN[60]]*WORK_C-[48*SIN[60]+[0-6]*COS[60]]*WORK_S
W_REG1Y = [48*COS[60]-[0-6]*SIN[60]]*WORK_S+[48*SIN[60]+[0-6]*COS[60]]*WORK_C

-583-

12. USER PROGRAMS FOR GUIDANCE CUTTING

SAMPLE PROGRAM

B-63423EN/02

G206 P4 X[W_REG1X-48*WORK_C+W_CXPOS] Y[W_REG1Y-48*WORK_S+W_CYPOS]


W_REG1X = 48*COS[60]*WORK_C-48*SIN[60]*WORK_S
W_REG1Y = 48*COS[60]*WORK_S+48*SIN[60]*WORK_C
G242 X[W_REG1X-48*WORK_C+W_CXPOS] Y[W_REG1Y-48*WORK_S+W_CYPOS]
G02 X[W_CXPOS] Y[W_CYPOS] I[-48*WORK_C+W_CXPOS] J[-48*WORK_S+W_CYPOS] Q0
W_REG1X = 48*COS[55]*WORK_C-48*SIN[55]*WORK_S
W_REG1Y = 48*COS[55]*WORK_S+48*SIN[55]*WORK_C
G242 X[W_REG1X-48*WORK_C+W_CXPOS+1] Y[W_REG1Y-48*WORK_S+W_CYPOS]
G02 X[W_CXPOS+1] Y[W_CYPOS] I[-48*WORK_C+W_CXPOS+1] J[-48*WORK_S+W_CYPOS] Q0
G242 X[W_REG1X-48*WORK_C+W_CXPOS] Y[W_REG1Y-48*WORK_S+W_CYPOS+1]
G02 X[W_CXPOS] Y[W_CYPOS+1] I[-48*WORK_C+W_CXPOS] J[-48*WORK_S+W_CYPOS+1] Q0
G242 X[W_REG1X-48*WORK_C+W_CXPOS-1] Y[W_REG1Y-48*WORK_S+W_CYPOS]
G02 X[W_CXPOS-1] Y[W_CYPOS] I[-48*WORK_C+W_CXPOS-1] J[-48*WORK_S+W_CYPOS] Q0
G242 X[W_REG1X-48*WORK_C+W_CXPOS] Y[W_REG1Y-48*WORK_S+W_CYPOS-1]
G02 X[W_CXPOS] Y[W_CYPOS-1] I[-48*WORK_C+W_CXPOS] J[-48*WORK_S+W_CYPOS-1] Q0
/* set handlw circle center
W_HDCXP = 45*W_COS+4*W_SIN+W_CXPOS ;
W_HDCYP = 45*W_SIN-4*W_COS+W_CYPOS ;
ELSE ;
/* arrow on arc
W_REG1X = 48*COS[-60]*WORK_C-48*SIN[-60]*WORK_S
W_REG1Y = 48*COS[-60]*WORK_S+48*SIN[-60]*WORK_C
G242 X[W_REG1X-48*WORK_C+W_CXPOS] Y[W_REG1Y-48*WORK_S+W_CYPOS]
W_REG1X = [[48-6]*COS[-60]-[0+12]*SIN[-60]]*WORK_C-[[48-6]*SIN[-60]+[0+12]*COS[-60]]*WORK_S
W_REG1Y = [[48-6]*COS[-60]-[0+12]*SIN[-60]]*WORK_S+[[48-6]*SIN[-60]+[0+12]*COS[-60]]*WORK_C
G01 X[W_REG1X-48*WORK_C+W_CXPOS] Y[W_REG1Y-48*WORK_S+W_CYPOS]
W_REG1X = [[48+4]*COS[-60]-[0+12]*SIN[-60]]*WORK_C-[[48+4]*SIN[-60]+[0+12]*COS[-60]]*WORK_S
W_REG1Y = [[48+4]*COS[-60]-[0+12]*SIN[-60]]*WORK_S+[[48+4]*SIN[-60]+[0+12]*COS[-60]]*WORK_C
G01 X[W_REG1X-48*WORK_C+W_CXPOS] Y[W_REG1Y-48*WORK_S+W_CYPOS]
W_REG1X = 48*COS[-60]*WORK_C-48*SIN[-60]*WORK_S
W_REG1Y = 48*COS[-60]*WORK_S+48*SIN[-60]*WORK_C
G01 X[W_REG1X-48*WORK_C+W_CXPOS] Y[W_REG1Y-48*WORK_S+W_CYPOS]
W_REG1X = [48*COS[-60]-[0+6]*SIN[-60]]*WORK_C-[48*SIN[-60]+[0+6]*COS[-60]]*WORK_S
W_REG1Y = [48*COS[-60]-[0+6]*SIN[-60]]*WORK_S+[48*SIN[-60]+[0+6]*COS[-60]]*WORK_C
G206 P4 X[W_REG1X-48*WORK_C+W_CXPOS] Y[W_REG1Y-48*WORK_S+W_CYPOS]

W_REG1X = 48*COS[-60]*WORK_C-48*SIN[-60]*WORK_S
W_REG1Y = 48*COS[-60]*WORK_S+48*SIN[-60]*WORK_C
G242 X[W_REG1X-48*WORK_C+W_CXPOS] Y[W_REG1Y-48*WORK_S+W_CYPOS]
G03 X[W_CXPOS] Y[W_CYPOS] I[-48*WORK_C+W_CXPOS] J[-48*WORK_S+W_CYPOS] Q0
W_REG1X = 48*COS[-55]*WORK_C-48*SIN[-55]*WORK_S
W_REG1Y = 48*COS[-55]*WORK_S+48*SIN[-55]*WORK_C
G242 X[W_REG1X-48*WORK_C+W_CXPOS+1] Y[W_REG1Y-48*WORK_S+W_CYPOS]
G03 X[W_CXPOS+1] Y[W_CYPOS] I[-48*WORK_C+W_CXPOS+1] J[-48*WORK_S+W_CYPOS] Q0
G242 X[W_REG1X-48*WORK_C+W_CXPOS] Y[W_REG1Y-48*WORK_S+W_CYPOS+1]
G03 X[W_CXPOS] Y[W_CYPOS+1] I[-48*WORK_C+W_CXPOS] J[-48*WORK_S+W_CYPOS+1] Q0
G242 X[W_REG1X-48*WORK_C+W_CXPOS-1] Y[W_REG1Y-48*WORK_S+W_CYPOS]
G03 X[W_CXPOS-1] Y[W_CYPOS] I[-48*WORK_C+W_CXPOS-1] J[-48*WORK_S+W_CYPOS] Q0
G242 X[W_REG1X-48*WORK_C+W_CXPOS] Y[W_REG1Y-48*WORK_S+W_CYPOS-1]
G03 X[W_CXPOS] Y[W_CYPOS-1] I[-48*WORK_C+W_CXPOS] J[-48*WORK_S+W_CYPOS-1] Q0
/* set handlw circle center
W_HDCXP = 45*W_COS-4*W_SIN+W_CXPOS ;
W_HDCYP = 45*W_SIN+4*W_COS+W_CYPOS ;

-584-

SAMPLE PROGRAM

B-63423EN/02

12. USER PROGRAMS FOR GUIDANCE CUTTING

ENDIF ;
ENDIF ;

/* draw handle circle


G242 X[W_HDCXP-10] Y[W_HDCYP]
G03 I[W_HDCXP] J[W_HDCYP] Q4
G242 X[W_HDCXP-7] Y[W_HDCYP]
G03 I[W_HDCXP] J[W_HDCYP] Q4
G206 X[W_HDCXP-9] Y[W_HDCYP]
G242 X[W_HDCXP+4] Y[W_HDCYP-4]
G02 I[W_HDCXP+2] J[W_HDCYP-2] Q4
G206 X[W_HDCXP+2] Y[W_HDCYP-2]

G240 P7 ;
G242 X[W_HDCXP-7] Y[W_HDCYP]
G03 I[W_HDCXP] J[W_HDCYP] Q4
G242 X[W_HDCXP+4] Y[W_HDCYP-4]
G02 I[W_HDCXP+2] J[W_HDCYP-2] Q4
G206 P7 X[W_HDCXP-2] Y[W_HDCYP+2]
G240 P15 ;
IF [WORK_APR EQ 1] THEN ;
IF [CUNT EQ 0] THEN;
GOTO 20
ENDIF;
IF [CUNT EQ 2] THEN;
GOTO 30
ENDIF;
ENDIF;

/* draw handle inside circle


/* set color white

/* set color white

/* right rotation

/* left rotation

IF [WORK_APR EQ 2] THEN ;
IF [CUNT EQ 0] THEN;
GOTO 30
ENDIF;
IF [CUNT EQ 2] THEN;
GOTO 20
ENDIF;
ENDIF;

/* left rotation

/* right rotation

IF [WORK_ALU EQ 1] THEN ;
IF [CUNT EQ 1] THEN;
GOTO 30
ENDIF;
IF [CUNT EQ 3] THEN;
GOTO 20
ENDIF;
ENDIF;

/* left rotation

/* right rotation

IF [WORK_ALU EQ 2] THEN ;
IF [CUNT EQ 1] THEN;
GOTO 20
ENDIF;
IF [CUNT EQ 3] THEN;
GOTO 30
ENDIF ;
ENDIF ;

/* right rotation

/* left rotation

GOTO 40 ;
N0020
/* right rotatetion arrow
G242 X[W_HDCXP] Y[W_HDCYP+14]
G01 X[W_HDCXP-2] Y[W_HDCYP+14+2]

-585-

12. USER PROGRAMS FOR GUIDANCE CUTTING

SAMPLE PROGRAM

B-63423EN/02

G242 X[W_HDCXP] Y[W_HDCYP+14]


G01 X[W_HDCXP-2] Y[W_HDCYP+14-2]
/* arc
G242 X[W_HDCXP] Y[W_HDCYP+14]
G03 X[W_HDCXP-14] Y[W_HDCYP] I[W_HDCXP] J[W_HDCYP] Q0
GOTO 40 ;
N0030
/* left rotatetion arrow
G242 X[W_HDCXP] Y[W_HDCYP+14]
G01 X[W_HDCXP+2] Y[W_HDCYP+14+2]
G242 X[W_HDCXP] Y[W_HDCYP+14]
G01 X[W_HDCXP+2] Y[W_HDCYP+14-2]
/* arc
G242 X[W_HDCXP] Y[W_HDCYP+14]
G02 X[W_HDCXP+14] Y[W_HDCYP] I[W_HDCXP] J[W_HDCYP] Q0
N0040
IF [WORK_LMT EQ 1] THEN ;
IF [DRCT_CUT EQ 1] THEN ;

/* if limit set ?
/* if drawing cutter direction ?
/* draw handle inside circle
/* arrow on line
G240 P7 ;
/* set color white
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 P7 X[[48-5]*W_COS+W_CXPOS] Y[[48-5]*W_SIN+W_CYPOS]
G240 P5 ;
/* set color pink
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]

/* limit line
G240 P15 ;
/* set color
G242 X[48*W_COS-[0-6]*W_SIN+W_CXPOS] Y[48*W_SIN+[0-6]*W_COS+W_CYPOS]
G01 X[48*W_COS-[0+6]*W_SIN+W_CXPOS] Y[48*W_SIN+[0+6]*W_COS+W_CYPOS]
G242 X[48*W_COS-[0-6]*W_SIN+W_CXPOS+1] Y[48*W_SIN+[0-6]*W_COS+W_CYPOS]
G01 X[48*W_COS-[0+6]*W_SIN+W_CXPOS+1] Y[48*W_SIN+[0+6]*W_COS+W_CYPOS]
G242 X[48*W_COS-[0-6]*W_SIN+W_CXPOS] Y[48*W_SIN+[0-6]*W_COS+W_CYPOS+1]
G01 X[48*W_COS-[0+6]*W_SIN+W_CXPOS] Y[48*W_SIN+[0+6]*W_COS+W_CYPOS+1]
G242 X[48*W_COS-[0-6]*W_SIN+W_CXPOS-1] Y[48*W_SIN+[0-6]*W_COS+W_CYPOS]
G01 X[48*W_COS-[0+6]*W_SIN+W_CXPOS-1] Y[48*W_SIN+[0+6]*W_COS+W_CYPOS]
G242 X[48*W_COS-[0-6]*W_SIN+W_CXPOS] Y[48*W_SIN+[0-6]*W_COS+W_CYPOS-1]
G01 X[48*W_COS-[0+6]*W_SIN+W_CXPOS] Y[48*W_SIN+[0+6]*W_COS+W_CYPOS-1]
ENDIF ;
ENDIF ;
ASET = ASET + 90 ;
CUNT = CUNT + 1 ;
END 1;

/* +90
/* loop count up
/* end while loop.
/* center circle

G240 P15 ;
/* set color
G242 X[W_CXPOS+8] Y[W_CYPOS]
G03 X[W_CXPOS+8] Y[W_CYPOS] I[W_CXPOS] J[W_CYPOS] Q4
G206 P15 X[W_CXPOS] Y[W_CYPOS]
G240 P11 ;
/* set color
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]

-586-

B-63423EN/02

SAMPLE PROGRAM

12. USER PROGRAMS FOR GUIDANCE CUTTING

M99
/*
%

/*************************************************************
/* Copyright (C) 1997 by FANUC LTD. ALL rights reserved. *
/*************************************************************
/*
O9809
G244 P0 ;
/* set solid line
G240 P4 ;
/* set color blue
/* draw circle
N010

G242 X[32-48] Y192 ;


G02 I-48 J192 Q4 ;
/* center point

N020 G242 X[2-48] Y192


G03 X[2-48] Y192 I-48 J192 Q4
G206 P4 X-48 Y192
/* arrow on line
N030 G242 X[32*COS[135]-48] Y[32*SIN[135]+192]
G01 X[[32-8]*COS[135]-[0-3]*SIN[135]-48] Y[[32-8]*SIN[135]+[0-3]*COS[135]+192]
G01 X[[32-8]*COS[135]-[0+3]*SIN[135]-48] Y[[32-8]*SIN[135]+[0+3]*COS[135]+192]
G01 X[32*COS[135]-48] Y[32*SIN[135]+192]
G206 P4 X[[32-5]*COS[135]-48] Y[[32-5]*SIN[135]+192]
/* line
N040

G242 X[32*COS[135]-48] Y[32*SIN[135]+192] ;


G01 X-48 Y192 ;

N050

G240 P0 C11 ;
G243 X32 Y4 ('(X,Y)') ;
G243 X33 Y2 ('R') ;

/* color = black

N300
M99 P300
%

/*************************************************************
/* Copyright (C) 1999 by FANUC LTD. ALL rights reserved. *
/*************************************************************
/*
/* SYMBOL DEFINE
/*
$INCLUDE GDHSYM.DEF
/*

/*
/**********************************************
/*
SET UNIT_F8
*
/**********************************************
/*
O9810 W_1004 = 0
/*
N15 IF [[P0 AND 4] EQ 4]GOTO 30;
IF [[P1004 AND 128] EQ 128]THEN
IF [[P1004 AND 1] EQ 0 && W_1004 EQ 0]THEN
W_UNIT1 = 7.3

-587-

12. USER PROGRAMS FOR GUIDANCE CUTTING

SAMPLE PROGRAM

GOTO 100
ENDIF;
IF [[P1004 AND 1] EQ 1 && W_1004 EQ 0]THEN
W_UNIT1 = 7.2
GOTO 100
ENDIF;
IF [[P1004 AND 1] EQ 0 && W_1004 EQ 1]THEN
W_UNIT1 = 7.3
GOTO 100
ENDIF;
ELSE ;
IF [[P1004 AND 1] EQ 0 && W_1004 EQ 0]THEN
W_UNIT1 = 7.3
GOTO 100
ENDIF;
IF [[P1004 AND 1] EQ 1 && W_1004 EQ 0]THEN
W_UNIT1 = 7.2
GOTO 100
ENDIF;
IF [[P1004 AND 1] EQ 0 && W_1004 EQ 1]THEN
W_UNIT1 = 7.4
GOTO 100
ENDIF;
ENDIF;
/*
/*
N30 IF [[P1004 AND 128] EQ 128]THEN
IF [[P1004 AND 1] EQ 0 && W_1004 EQ 0]THEN
W_UNIT1 = 7.4
GOTO 100
ENDIF;
IF [[P1004 AND 1] EQ 1 && W_1004 EQ 0]THEN
W_UNIT1 = 7.3
GOTO 100
ENDIF;
IF [[P1004 AND 1] EQ 0 && W_1004 EQ 1]THEN
W_UNIT1 = 7.4
GOTO 100
ENDIF;
ELSE ;
IF [[P1004 AND 1] EQ 0 && W_1004 EQ 0]THEN
W_UNIT1 = 7.4
GOTO 100
ENDIF;
IF [[P1004 AND 1] EQ 1 && W_1004 EQ 0]THEN
W_UNIT1= 7.3
GOTO 100
ENDIF;
IF [[P1004 AND 1] EQ 0 && W_1004 EQ 1]THEN
W_UNIT1 = 7.5
GOTO 100
ENDIF;
ENDIF;
/*
N100 UNIT_F8 = W_UNIT1
/*
M99
/*
/*************************************************************
/* FUNCTION : SET ACTUAL POSITION TO WORK VARIABLE
/* INPUT
: WRK_VAR (LINE_PLF,PLMT_PLF,0)
/* OUTPUT
:
/*************************************************************
/*
/* ACTUAL POSITION OF 1ST AXIS
/*
O9811 W_POS1=#[5041+WRK_VAR]
/* X/Y/Z actual position

-588-

B-63423EN/02

B-63423EN/02

SAMPLE PROGRAM

12. USER PROGRAMS FOR GUIDANCE CUTTING

/*
/* ACTUAL POSITION OF 2ND AXIS
/*
N20 IF[WRK_VAR EQ 2]THEN
/* ZX-PLANE
W_POS2 = #5041
/* X actual position
ELSE
/* XY-PLANE YZ-PLANE
W_POS2 = #[5042+WRK_VAR]
/* Y/Z actual position
ENDIF
N99 M99
/*
/*************************************************************
/* FUNCTION : GET TOOL RADIUS OFFSET DATA
/* INPUT
: GDH_TLOFS(TOOL RADIUS OFFSET D CODE NO.)
/* OUTPUT
: TOL_OFS (TOOL RADIUS OFFSET DATA)
/*************************************************************
/*
O9812 IF[ GDH_TLOFS EQ #0 ]THEN
TOL_OFS = 0
ELSE
IF [ GDH_TLOFS LE 0 ] THEN
TOL_OFS = 0
ELSE
TOL_OFS=#[110000+GDH_TLOFS]
IF[P9935AND2EQ2]THEN
TOL_OFS=#[110000+GDH_TLOFS]+#[111000+GDH_TLOFS]
ENDIF
IF[P9933AND1EQ1]THEN
TOL_OFS=#[113000+GDH_TLOFS]+#[112000+GDH_TLOFS]
ENDIF
ENDIF
ENDIF
/*
M99
/*
%

-589-

12. USER PROGRAMS FOR GUIDANCE CUTTING

12.2

SAMPLE PROGRAM

B-63423EN/02

USER PROGRAMS CALLED BY USER PROGRAM CALLING


SIGNALS

/*************************************************************/
/* Copyright (C) 1999 by FANUC LTD. ALL rights reserved. */
/*************************************************************/
/*
/* SYMBOL DEFINE
/*
$INCLUDE GDHSYM.DEF
/*
/*****************************************/
/*
T code
*/
/*****************************************/
O9854 T[GDH_TOOL] M6
M02
/*****************************************/
/*
M03
*/
/*****************************************/
O9855 S[GDH_SPNDL] M03
M02
/*****************************************/
/*
M04
*/
/*****************************************/
O9856 S[GDH_SPNDL] M04
M02
/*****************************************/
/*
M05
*/
/*****************************************/
O9857 M05
M02
/*****************************************/
/*
Coolant ON ( M08 )
*/
/*****************************************/
O9858 M08
M02
/*****************************************/
/*
Coolant OFF ( M09 )
*/
/*****************************************/
O9859 M09
M02
/*****************************************/
/*
G30
*/
/*****************************************/
O9860 #1=#4003
G30 G91 Z0
G30 G91 X0 Y0
IF[#1 NE 91]THEN
G90
ENDIF
M02
/*****************************************/
/*
G28
*/
/*****************************************/
O9861 #1=#4003
G28 G91 Z0
G28 G91 X0 Y0
IF[#1 NE 91]THEN
G90
ENDIF
M02
%

-590-

INDEX

B-63423EN/02

INDEX
COMMENT OF SOFT-KEYS IN LARGE CLASSIFIED

<A>

MENU ............................................................................ 26

ATTRIBUTE DATA .................................................... 110

COMMENT OF SOFT-KEYS IN LIST MENU ............ 34

<C>

COMMENT OF SOFT-KEYS IN MDI MENU ............. 30

CALIBRATION AND MEASUREMENT CYCLES... 107

COMMENT OF SOFT-KEYS IN MEM MENU ........... 29

CHANGING MODE FOR AUTOMATIC OPERATION

COMMENT OF SOFT-KEYS IN OFFSET MENU ...... 36

AND MACHINING SIMULATION .............................. 79

COMMENT OF SOFT-KEYS IN TEACH MENU........ 41

CHANGING MODE FOR EDITING OPERATION ..... 80

COMMENT OF SOFT-KEYS IN WRK-CO MENU..... 35

CHANGING MODE FOR MANUAL OPERATION .... 79

COMMENT ON A MANUAL GUIDE SCREEN.......... 15

CHANGING MODE FOR MDI OPERATION.............. 81

COMMENTS DEFINITION

CHANIGING USER WINDOWS TO SUPPORT

...................... 129, 173, 208, 269, 307, 333, 395, 460, 477

CYCLES......................................................................... 98

CREATING LOADING FILES........................................ 6

CHARACTER COORDINATE SYSTEM AND

<D>

GRAPHIC COORDINATE SYSTEM ........................... 95

DATA ATTRIBUTE

CHARACTER COORDINATES SYSTEM AND

................ 57, 133, 176, 211, 273, 309, 339, 402, 462, 489

GRAPHIC COORDINATES SYSTEM ......................... 65

DATA STRUCTURE OF MACHINING PROGRAM... 56

COMMENT IN A GRAPHIC WINDOW ...................... 21

DEFINITION OF EACH DATA .................................... 13

COMMENT IN A GUIDANCE CUTTING WINDOW. 23

DETAIL OF DATA ATTRIBUTE ................................. 60

COMMENT IN A PROGRAM LIST WINDOW........... 20

DISPLAYING USER-SPECIFIED STRINGS ............. 102

COMMENT IN A STATUS INDICATOR WINDOW .. 17

<E>

COMMENT IN A TITLE BAR...................................... 16


COMMENT IN A TOOL OFFSET WINDOW.............. 19

EXAMPLE OF DEFINING THE TITLE AS A

COMMENT IN A WORK COORDINATE SYSTEM

SEPARATE PROGRAM.............................................. 103

WINDOW....................................................................... 18

<G>

COMMENT OF INPUT DATA ITEM........................... 44

G CODES FOR DRAWING........................................... 63

COMMENT OF INPUT DATA ITEM IN CONTOUR

GUIDANCE DRAWING FIGURE

PROFILE MENU ........................................................... 49

...................... 138, 181, 214, 279, 312, 347, 411, 464, 497

COMMENT OF INPUT DATA ITEM IN CYCLE

GUIDANCE DRAWING FIGURE FOR GUIDANCE

MOTIONS MENU ......................................................... 52

CUTTING..................................................................... 564

COMMENT OF INPUT DATA ITEM IN G-CODE

GUIDANCE HANDWHEEL CONTROL SIGNALS .... 84

MENU ............................................................................ 45

<I>

COMMENT OF SOFT-KEYS FOR EACH MENU ...... 25


COMMENT OF SOFT-KEYS IN CNV NC MENU...... 43

INPUTTED DATA CHECKING

COMMENT OF SOFT-KEYS IN CONTOUR PROFILE

...................... 167, 204, 265, 302, 329, 383, 447, 473, 553

MENU ............................................................................ 37

<L>

COMMENT OF SOFT-KEYS IN CYCLE MOTIONS

LIST OF USER PROGRAMS...................................... 117

MENU ............................................................................ 39

<M>

COMMENT OF SOFT-KEYS IN EDIT FUNCTION


MENU ............................................................................ 27

MACRO LIBRARY COMPONENTS.............................. 7

COMMENT OF SOFT-KEYS IN GRAPHIC FUNCTION

MACRO PROGRAMS AND VARIABLES .................. 90

MENU ............................................................................ 32

MACRO PROGRAMS FOR CHECKING INPUT DATA112

COMMENT OF SOFT-KEYS IN HANDLE MENU .... 31

i-1

INDEX

B-63423EN/02

MACRO PROGRAMS FOR DISPLAYING GUIDANCE

USER PROGRAMS FOR DISPLAYING GUIDANCE

DRAWING FIGURES.................................................. 111

DRAWING FIGURE...................................................... 62

MACRO PROGRAMS FOR EXECUTING

USER PROGRAMS FOR EXECUTING MACHINING

CALIBRATION AND MEASUREMENT CYCLES... 113

PROGRAM .................................................................... 71

MANUAL PULSE BOX CONTROL SIGNALS ........... 87

USER PROGRAMS FOR FACING MENU ................ 306

MEASUREMENT CYCLE .......................................... 105

USER PROGRAMS FOR G-CODE MENU ................ 128

MEMORY STORAGE AND CHANGING TOOLS ...... 93

USER PROGRAMS FOR GUIDANCE CUTTING..... 563

MONITORING KEYSTROKES.................................... 92

USER PROGRAMS FOR HOLE MACHINING MENU207


USER PROGRAMS FOR HOLE PATTERN MENU.. 268

<N>

USER PROGRAMS FOR MEASURING CYCLE MENU476

NOTES ON CREATING GUIDANCE DRAWING

USER PROGRAMS FOR POCKETING MENU......... 394

FIGURES ....................................................................... 67

USER PROGRAMS FOR SIDE CUTTING MENU.... 332

<O>

USER PROGRAMS FOR SYSTEM COMMENT....... 121

OPERATION FOR STARTING MACHINING............. 83

USER PROGRAMS FOR TOOL CHANGE.................. 73

OUTLINE OF USER PROGRAM ................................... 3

USER WINDOW PROGRAMS ..................................... 88


USER WINDOWS ON THE EDITING SCREEN ......... 89

<P>

USER WINDOWS ON THE OPERATION SCREEN... 97

PARAMETERS............................................................ 104
PMC CUSTOMIZING TOOLS...................................... 75
PROCEDURE FOR CREATING LOAD MODULES ... 10

<R>
RESTRICTIONS .......................................................... 101
RESTRICTIONS FOR CUSTOMIZING ......................... 5

<S>
SAFETY PRECAUTIONS.............................................s-1
SCOPE OF CUSTOMIZING ........................................... 3
SETTING OF PROGRAM NUMBER AND VARIABLE
START NUMBER.......................................................... 12
SIGNAL FOR ISO / GUIDE SCREEN CHANGING .... 82
SIGNALS FOR USER PROGRAMS CALLING........... 76
STARTUP MACRO PROGRAM ................................ 106
START-UP MACRO PROGRAM ................................. 12

<U>
USABLE SOFTWARE RESOURCE FOR USER
PROGRAM ...................................................................... 4
USER PROGRAMS CALLED BY USER PROGRAM
CALLING SIGNALS ................................................... 590
USER PROGRAMS FOR CALIBRATION CYCLE
MENU .......................................................................... 459
USER PROGRAMS FOR CHECKING INPUTTED
DATA ............................................................................. 69
USER PROGRAMS FOR CONTOUR PROFILE MENU172

i-2

May, 2001

Nov., 1999

Date

02

01

Edition

Contents

Addition of new functions

Applied to 16i/18i/21i-B

Edition

Date

Contents

FANUC MANUAL GUIDE For Milling PROGRAMMING MANUAL (B-63423EN/01)

Revision Record

EUROPEAN HEADQUARTERS
GRAND-DUCHE DE LUXEMBOURG
GE Fanuc Automation Europe S.A.
Zone Industrielle
L-6468 Echternach
(+352) 727979 - 1
 (+352) 727979 214

www.gefanuc-europe.com
BELGIUM / NETHERLANDS
GE Fanuc Automation Europe S.A.
- Netherlands Branch Postbus 7230 - NL-4800 GE Breda
Minervum 1603A - NL-4817 ZL Breda
(+31) 76-5783 201 (CNC)
(+31) 76-5783 212 (PLC)
 (+31) 76-5870 181

CZECH REPUBLIC
GE Fanuc Automation CR s.r.o.
U studanky 3
CZ-170 00 Praha 7
(+420) 2 333 72 502 (CNC)
(+420) 2 333 72 503 (PLC)
 (+420) 2 333 70 821

FRANCE
GE Fanuc Automation France S.A.
39, rue du Saule Trapu, BP 219
F-91882 Massy Cedex
(+33) 1 69 75 86 39 (CNC)
(+33) 1 69 75 86 20 (PLC)
 (+33) 1 69 75 86 49

www.gefanuc.cz

www.gefanuc.fr

GERMANY
GE Fanuc Eberle Automation GmbH
Ernst-Weyden-Str. 7
D-51105 Kln (Cologne)
(+49) 221-83904-53
 (+49) 221-83904-55

GERMANY
GE Fanuc Automation GmbH
Elberfelderstr. 45
D-40724 Hilden
(+49) 2103 247410 (Laser/CNC)
 (+49) 2103 247420 (Laser/CNC)

www.gefanuc.de

www.gefanuc.de

GERMANY
GE Fanuc Automation Deutschland
GmbH
Bensheimer Str. 61
D-65428 Rsselsheim
(+49) 6142 357600
 (+49) 6142 357611

GERMANY
GE Fanuc Automation GmbH
Obere Hauptstr. 72
D-09244 Lichtenau
(+49) 37208 695 20(CNC)
(+49) 37208 695 30 (PLC)
 (+49) 37208 695 55

GERMANY
GE Fanuc Eberle Automation GmbH
Sdwestpark 48
D-90449 Nrnberg
(+49) 911 9672 100 (PLC)
 (+49) 911 9672 200 (PLC)

www.gefanuc.de

www.gefanuc.de

GERMANY
GE Fanuc Eberle Automation GmbH
Reichenbergerstr. 6
D-33605 Bielefeld
(+49) 521 92445 0 (PLC)
 (+49) 521 92445 30 (PLC)

ITALY
GE Fanuc Automation Italia S.r.l.

www.gefanuc.nl
GERMANY
GE Fanuc Automation GmbH
Bernhuser Strae 22
D-73765 Neuhausen a.d.F
(+49) 7158 187 400
 (+49) 7158 187 455 (CNC)
 (+49) 7158 187 466 (PLC)

www.gefanuc.de

www.gefanuc.de

I-20090 Buccinasco (MI)


(+39) 02 45795 1 (CNC)
 (+39) 02 45795 250 (CNC)

ITALY
GE Power Controls Italia S.p.a
Via Tortona 27
I-20144 Milano
(+39) 02 4242 280 (PLC)
 (+39) 02 4242 511 (PLC)

www.gefanuc.de

www.gefanuc.it

www.gefanuc.it

POLAND
GE Fanuc Automation
Polska Sp. z o.o.
ul. Czerwi skiego 6
40-123 Katowice - Poland
(+48) 32 258 5077
 (+48) 32 258 5077

SPAIN
GE Fanuc Automation Espaa S.A.
Polgono Industrial Olaso
Calle Olaso, 57 - Locales 10 y 11
E-20870 Elgoibar
(+34) 943 74 82 90 (CNC)
 (+34) 943 74 44 21 (CNC)

SPAIN
GE Power Controls Ibrica S.L.
Calle Marqus de Comillas, 1
E-08225 Terrassa (Barcelona)
(+34) 93 736 58 28 (PLC)
 (+34) 93 788 24 03 (PLC)

Largo Brugnatelli Angolo Via Volta

www.gefanuc.es

www.gefanuc.es
SWEDEN
GE Fanuc Automation Nordic AB
Hammarbacken 4
S-19149 Sollentuna
(+46) 8 444 5520
 (+46) 8 444 5521

www.gefanuc.se

SWITZERLAND
GE Fanuc Automation
Filiale Suisse/
Niederlassung Schweiz
Erlenstrasse 35a
CH-2555 Brgg b. Biel
(+41) 32 366 63 63 (CNC)
(+41) 32 366 63 33 (PLC)
 (+41) 32 366 63 64 (CNC)
 (+41) 32 366 63 34 (PLC)

UNITED KINGDOM
GE Fanuc Automation (UK) Ltd.
Unit 1 - Mill Square
Featherstone Road
Wolverton Mill South
Milton Keynes MK12 5BZ
(+44) 1908 84 4000
 (+44) 1908 84 4001

www.gefanuceur.co.uk

www.gefanuc.ch
6/01

Printed at GE Fanuc Automation S.A. , Luxembourg

May 2001

Você também pode gostar