Manual Guide For Milling 603 Pages

Download as pdf or txt
Download as pdf or txt
You are on page 1of 603

GE Fanuc Automation

Computer Numerical Control Products

Manual Guide for Milling

Programming Manual

GFZ-63423EN/02 June 2002


GFL-001
Warnings, Cautions, and Notes
as Used in this Publication

Warning
Warning notices are used in this publication to emphasize that hazardous voltages, currents,
temperatures, or other conditions that could cause personal injury exist in this equipment or
may be associated with its use.
In situations where inattention could cause either personal injury or damage to equipment, a
Warning notice is used.

Caution
Caution notices are used where equipment might be damaged if care is not taken.

Note
Notes merely call attention to information that is especially significant to understanding and
operating the equipment.

This document is based on information available at the time of its publication. While efforts
have been made to be accurate, the information contained herein does not purport to cover all
details or variations in hardware or software, nor to provide for every possible contingency in
connection with installation, operation, or maintenance. Features may be described herein
which are not present in all hardware and software systems. GE Fanuc Automation assumes
no obligation of notice to holders of this document with respect to changes subsequently made.

GE Fanuc Automation makes no representation or warranty, expressed, implied, or statutory


with respect to, and assumes no responsibility for the accuracy, completeness, sufficiency, or
usefulness of the information contained herein. No warranties of merchantability or fitness for
purpose shall apply.

©Copyright 2002 GE Fanuc Automation North America, Inc.


All Rights Reserved.
B-63423EN/02 SAFETY PRECAUTIONS

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 work-
piece, the tool and/or machine may be damaged,
and even injuries the operator.

s-2
B-63423EN/02 TABLE OF CONTENTS

TABLE OF CONTENTS

SAFETY PRECAUTIONS .......................................................................... s-1

I. USER PROGRAM
1 OUTLINE OF USER PROGRAM............................................................3
1.1 SCOPE OF CUSTOMIZING ..........................................................................3
1.2 USABLE SOFTWARE RESOURCE FOR USER PROGRAM .......................4
2 RESTRICTIONS FOR CUSTOMIZING...................................................5
3 CREATING LOADING FILES.................................................................6
3.1 MACRO LIBRARY COMPONENTS...............................................................7
3.2 PROCEDURE FOR CREATING LOAD MODULES.....................................10
4 START-UP MACRO PROGRAM..........................................................12
4.1 SETTING OF PROGRAM NUMBER AND VARIABLE START NUMBER ...12
4.2 DEFINITION OF EACH DATA .....................................................................13
5 COMMENT ON A MANUAL GUIDE SCREEN .....................................15
5.1 COMMENT IN A TITLE BAR .......................................................................16
5.2 COMMENT IN A STATUS INDICATOR WINDOW......................................17
5.3 COMMENT IN A WORK COORDINATE SYSTEM WINDOW.....................18
5.4 COMMENT IN A TOOL OFFSET WINDOW ...............................................19
5.5 COMMENT IN A PROGRAM LIST WINDOW .............................................20
5.6 COMMENT IN A GRAPHIC WINDOW ........................................................21
5.7 COMMENT IN A GUIDANCE CUTTING WINDOW.....................................23
6 COMMENT OF SOFT-KEYS FOR EACH MENU .................................25
6.1 COMMENT OF SOFT-KEYS IN LARGE CLASSIFIED MENU ....................26
6.2 COMMENT OF SOFT-KEYS IN EDIT FUNCTION MENU ..........................27
6.3 COMMENT OF SOFT-KEYS IN MEM MENU..............................................29
6.4 COMMENT OF SOFT-KEYS IN MDI MENU ...............................................30
6.5 COMMENT OF SOFT-KEYS IN HANDLE MENU........................................31
6.6 COMMENT OF SOFT-KEYS IN GRAPHIC FUNCTION MENU ..................32
6.7 COMMENT OF SOFT-KEYS IN LIST MENU ..............................................34
6.8 COMMENT OF SOFT-KEYS IN WRK-CO MENU .......................................35
6.9 COMMENT OF SOFT-KEYS IN OFFSET MENU........................................36
6.10 COMMENT OF SOFT-KEYS IN CONTOUR PROFILE MENU....................37

c-1
TABLE OF CONTENTS B-63423EN/02

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


6.12 COMMENT OF SOFT-KEYS IN TEACH MENU..........................................41
6.13 COMMENT OF SOFT-KEYS IN CNV NC MENU ........................................43
7 COMMENT OF INPUT DATA ITEM .....................................................44
7.1 COMMENT OF INPUT DATA ITEM IN G-CODE MENU .............................45
7.2 COMMENT OF INPUT DATA ITEM IN CONTOUR PROFILE MENU .........49
7.3 COMMENT OF INPUT DATA ITEM IN CYCLE MOTIONS MENU..............52
8 DATA STRUCTURE OF MACHINING PROGRAM ..............................56
8.1 DATA ATTRIBUTE ......................................................................................57
8.2 DETAIL OF DATA ATTRIBUTE...................................................................60
9 USER PROGRAMS FOR DISPLAYING GUIDANCE DRAWING
FIGURE ................................................................................................62
9.1 G CODES FOR DRAWING .........................................................................63
9.2 CHARACTER COORDINATES SYSTEM AND GRAPHIC COORDINATES
SYSTEM ......................................................................................................65
9.3 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 SIGNALS FOR USER PROGRAMS CALLING............................................76
13.2 CHANGING MODE FOR AUTOMATIC OPERATION AND MACHINING
SIMULATION ...............................................................................................79
13.3 CHANGING MODE FOR MANUAL OPERATION .......................................79
13.4 CHANGING MODE FOR EDITING OPERATION........................................80
13.5 CHANGING MODE FOR MDI OPERATION................................................81
13.6 SIGNAL FOR ISO / GUIDE SCREEN CHANGING .....................................82
13.7 OPERATION FOR STARTING MACHINING...............................................83
13.8 GUIDANCE HANDWHEEL CONTROL SIGNALS .......................................84
13.9 MANUAL PULSE BOX CONTROL SIGNALS..............................................87
14 USER WINDOW PROGRAMS .............................................................88
14.1 USER WINDOWS ON THE EDITING SCREEN..........................................89
14.2 MACRO PROGRAMS AND VARIABLES ....................................................90
14.3 MONITORING KEYSTROKES ....................................................................92

c-2
B-63423EN/02 TABLE OF CONTENTS

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


14.5 CHARACTER COORDINATE SYSTEM AND GRAPHIC COORDINATE
SYSTEM ......................................................................................................95
14.6 USER WINDOWS ON THE OPERATION SCREEN ...................................97
14.7 CHANIGING USER WINDOWS TO SUPPORT CYCLES...........................98
14.8 RESTRICTIONS ........................................................................................101
15 DISPLAYING USER-SPECIFIED STRINGS ......................................102
15.1 EXAMPLE OF DEFINING THE TITLE AS A SEPARATE PROGRAM ......103
15.2 PARAMETERS ..........................................................................................104
16 MEASUREMENT CYCLE...................................................................105
16.1 STARTUP MACRO PROGRAM ................................................................106
16.2 CALIBRATION AND MEASUREMENT CYCLES ......................................107
16.3 ATTRIBUTE DATA ....................................................................................110
16.4 MACRO PROGRAMS FOR DISPLAYING GUIDANCE DRAWING FIGURES
...................................................................................................................111
16.5 MACRO PROGRAMS FOR CHECKING INPUT DATA .............................112
16.6 MACRO PROGRAMS FOR EXECUTING CALIBRATION AND
MEASUREMENT CYCLES........................................................................113

II. SAMPL E PROGRAM


1 LIST OF USER PROGRAMS .............................................................117
2 USER PROGRAMS FOR SYSTEM COMMENT ................................121
3 USER PROGRAMS FOR G-CODE MENU.........................................128
3.1 COMMENTS DEFINITION.........................................................................129
3.2 DATA ATTRIBUTE ....................................................................................133
3.3 GUIDANCE DRAWING FIGURE ...............................................................138
3.4 INPUTTED DATA CHECKING ..................................................................167
4 USER PROGRAMS FOR CONTOUR PROFILE MENU.....................172
4.1 COMMENTS DEFINITION.........................................................................173
4.2 DATA ATTRIBUTE ....................................................................................176
4.3 GUIDANCE DRAWING FIGURE ...............................................................181
4.4 INPUTTED DATA CHECKING ..................................................................204
5 USER PROGRAMS FOR HOLE MACHINING MENU........................207
5.1 COMMENTS DEFINITION.........................................................................208
5.2 DATA ATTRIBUTE ....................................................................................211

c-3
TABLE OF CONTENTS B-63423EN/02

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


5.4 INPUTTED DATA CHECKING ..................................................................265
6 USER PROGRAMS FOR HOLE PATTERN MENU ...........................268
6.1 COMMENTS DEFINITION.........................................................................269
6.2 DATA ATTRIBUTE ....................................................................................273
6.3 GUIDANCE DRAWING FIGURE ...............................................................279
6.4 INPUTTED DATA CHECKING ..................................................................302
7 USER PROGRAMS FOR FACING MENU .........................................306
7.1 COMMENTS DEFINITION.........................................................................307
7.2 DATA ATTRIBUTE ....................................................................................309
7.3 GUIDANCE DRAWING FIGURE ...............................................................312
7.4 INPUTTED DATA CHECKING ..................................................................329
8 USER PROGRAMS FOR SIDE CUTTING MENU..............................332
8.1 COMMENTS DEFINITION.........................................................................333
8.2 DATA ATTRIBUTE ....................................................................................339
8.3 GUIDANCE DRAWING FIGURE ...............................................................347
8.4 INPUTTED DATA CHECKING ..................................................................383
9 USER PROGRAMS FOR POCKETING MENU..................................394
9.1 COMMENTS DEFINITION.........................................................................395
9.2 DATA ATTRIBUTE ....................................................................................402
9.3 GUIDANCE DRAWING FIGURE ...............................................................411
9.4 INPUTTED DATA CHECKING ..................................................................447
10 USER PROGRAMS FOR CALIBRATION CYCLE MENU..................459
10.1 COMMENTS DEFINITION.........................................................................460
10.2 DATA ATTRIBUTE ....................................................................................462
10.3 GUIDANCE DRAWING FIGURE ...............................................................464
10.4 INPUTTED DATA CHECKING ..................................................................473
11 USER PROGRAMS FOR MEASURING CYCLE MENU ....................476
11.1 COMMENTS DEFINITION.........................................................................477
11.2 DATA ATTRIBUTE ....................................................................................489
11.3 GUIDANCE DRAWING FIGURE ...............................................................497
11.4 INPUTTED DATA CHECKING ..................................................................553
12 USER PROGRAMS FOR GUIDANCE CUTTING...............................563
12.1 GUIDANCE DRAWING FIGURE FOR GUIDANCE CUTTING..................564
12.2 USER PROGRAMS CALLED BY USER PROGRAM CALLING SIGNALS590
c-4
I. USER PROGRAM
B-63423EN/02 USER PROGRAM 1. OUTLINE OF USER PROGRAM

1 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) Comment on a MANUAL GUIDE All-in-one screen


• All of the comment can be changed.
2) 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.
3) 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
4) 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 USER PROGRAM B-63423EN/02

1.2 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-
B-63423EN/02 USER PROGRAM 2. RESTRICTIONS FOR CUSTOMIZING

2 RESTRICTIONS FOR CUSTOMIZING


The following part of MANUAL GUIDE cannot be modified by MTB.

1) Status Indicator Window


• Excepting data name comment, the contents of data displayed
in a Status Indicator Window cannot be changed.
2) Graphic Display Window
3) Key-in Buffer
4) Pictorial pattern of soft-keys
5) Editing Menu
• Excepting data name comment and the contents of data items
displayed in each window, menu itself cannot be changed and
newly added.
6) Contour Menu
• Excepting data name comment, the contents of data items
displayed in each window and menu itself, cannot be changed
and newly added.
7) 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

3 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 USER PROGRAM 3. CREATING LOADING FILES

3.1 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 USER PROGRAM B-63423EN/02

3.2 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 BJ41.ROM
DUMMY.REL

Convert to MEM file


(MMCARD) BJ41.MEM
BJ41.ROM

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 *.REL

Link (MLINK)
F16IMP1M.MEX BJ41_U1.ROM
*.REL

Convert to MEM file


(MMCARD) BJ41_U1.MEM
BJ41_U1.ROM

Load to CNC

-11-
4. START-UP MACRO PROGRAM USER PROGRAM B-63423EN/02

4 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 Content Standard


Number Setting
Values
No. 9100 Start-up Macro Program Number 8000
No. 9101 Variable Start Number for Editing Macro 0
Program

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-
B-63423EN/02 USER PROGRAM 4. START-UP MACRO PROGRAM

4.2 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 Content Standard


Number Setting
Values
+0 Macro program number for displaying System Comment 7000
+1 Menu number of G-code Menu 7
+2 Macro program number for displaying Comment of G-code Menu 7010
+3 Macro program number for defining Data attribute of G-code Menu 8402
+4 Macro program number for displaying Guidance drawing figure of G- 8602
code Menu
+5 Macro program number for checking inputted data of G-code Menu 8802
+6 Menu number of Contour Profile Menu 10
+7 Macro program number for displaying Comment of Contour Profile 7100
Menu
+8 Macro program number for defining Data attribute of Contour Profile 8411
Menu
+9 Macro program number for displaying guidance drawing figure of 8611
Contour Profile Menu
+ 10 Macro program number for checking inputted data of Contour Profile 8811
Menu
+ 11 Menu number of Cycle Motions Menu 5
+ 12 Macro program number for displaying Comment of Cycle Motions 7300
Menu
+ 13 Menu number of Hole Machining Menu 3
+ 14 Macro program number for displaying Comment of Hole Machining 7310
Menu
+ 15 Macro program number for defining Data attribute of Hole Machining 8432
Menu
+ 16 Macro program number for displaying guidance drawing figure of 8632
Hole Machining Menu
+ 17 Macro program number for checking inputted data of Hole Machining 8832
Menu
+ 18 Menu number of Hole Pattern Menu 6
+ 19 Macro program number for displaying Comment of Hole Pattern Menu 7500

-13-
4. START-UP MACRO PROGRAM USER PROGRAM B-63423EN/02

Variable Content Standard


Number Setting
Values
+ 20 Macro program number for defining Data attribute of Hole Pattern 8451
Menu
+ 21 Macro program number for displaying guidance drawing figure of 8651
Hole Pattern Menu
+ 22 Macro program number for checking inputted data of Hole Pattern 8851
Menu
+ 23 Menu number of Facing Menu 2
+ 24 Macro program number for displaying Comment of Facing Menu 7600
+ 25 Macro program number for defining Data attribute of Facing Menu 8461
+ 26 Macro program number for displaying guidance drawing figure of 8661
Facing Menu
+ 27 Macro program number for checking inputted data of Facing Menu 8861
+ 28 Menu number of Side Cutting Menu 5
+ 29 Macro program number for displaying Comment of Side Cutting Menu 7700
+ 30 Macro program number for defining Data attribute of Side Cutting 8471
Menu
+ 31 Macro program number for displaying guidance drawing figure of Side 8671
Cutting Menu
+32 Macro program number for checking inputted data of Side Cutting 8871
Menu
+ 33 Menu number of Pocketing Menu 5
+ 34 Macro program number for displaying Comment of Pocketing Menu 7800
+ 35 Macro program number for defining Data attribute of Pocketing Menu 8481
+ 36 Macro program number for displaying guidance drawing figure of 8681
Pocketing Menu
+ 37 Macro program number for checking inputted data of Pocketing Menu 8881

-14-
B-63423EN/02 USER PROGRAM 5. COMMENT ON A MANUAL GUIDE SCREEN

5 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 Start-
up macro program.

-15-
5. COMMENT ON A MANUAL GUIDE SCREEN USER PROGRAM B-63423EN/02

5.1 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-
B-63423EN/02 USER PROGRAM 5. COMMENT ON A MANUAL GUIDE SCREEN

5.2 COMMENT IN A STATUS INDICATOR WINDOW

ACTUAL POSITION DIST TO GO SPINDLE


G01 X 0.000
O 0001
X 234.567 Y 0.000
S : 200 N 00010
Y -153.728 Z 0.000 T 0001 G 54
NEXT BLOCK D 01 H 01
Z 58.980 G00 X 0.000 FEEDRATE MM/MIN S 1000 M 6
A 0.000 B 0.000 Y 0.000 F : 100 F 500
Z 0.000 G 00 17 90
40 49 80
54

(1) (2) (3) (4) (5) (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 USER PROGRAM B-63423EN/02

5.3 COMMENT IN A WORK COORDINATE SYSTEM WINDOW

WORK CO. : G54

NO. DATA NO. DATA


00 X 0.000 02 X 0.000
(EXT) Y 0.000 (G55) Y 0.000 (2)
Z 0.000 Z 0.000
(1)
01 X 0.000 03 X 0.000
(3) (G54) Y 0.000 (G56) Y 0.000
Z 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-
B-63423EN/02 USER PROGRAM 5. COMMENT ON A MANUAL GUIDE SCREEN

5.4 COMMENT IN A TOOL OFFSET WINDOW

OFFSET

LENGTH RADIUS
(1) NO. GEOMETRY WEAR GEOMETRY WEAR
1 0.0 0.0 0.0 0.0
2 0.0 0.0 0.0 0.0
(4) 3 0.0 0.0 0.0 0.0
4 0.0 0.0 0.0 0.0 (3)
5 0.0 0.0 0.0 0.0
6 0.0 0.0 0.0 0.0
(5) (2)

(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 USER PROGRAM B-63423EN/02

5.5 COMMENT IN A PROGRAM LIST WINDOW

(1) PROGRAM DIR.


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

(6) (4) (7) (8)

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-
B-63423EN/02 USER PROGRAM 5. COMMENT ON A MANUAL GUIDE SCREEN

5.6 COMMENT IN A GRAPHIC WINDOW

1) Path Graphic Parameter Window

(1) PATH GRAPHIC PARAMETER


(2) AXES =
ROTATION ANGLE = (3)
(4) TITLTING ANGLE =
SCALE = (5)
(6) MAX.(CENTER) X =
Y = (7)
(8) Z =
MIN. I = (9)
(10) J =
K = (11)
(12) START SEQ. NO. =
END SEQ. NO. = (13)
(14) TOOL RAD. COMP =
COLOR : PATH = (15)
(16) AUTO =
TOOL POS = (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) ANIMATE GRAPHIC PARAMETER


(2) BLANK FORM =
BLANK POSITION X = (3)
(4) Y =
Z = (5)
(6) BLANK DIMENSN I =
J = (7)
(8) K =
TOOL RADIUS = (9)
(10) TOOL LENGTH =
START SEQ. NO. =
END SEQ. NO. =
ANIME SPEED = (11)
(12) PLANE COLOR =

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) PROGRAMING FIGURE SETTING

(2) WORK FIGURE = ON


COORDINATE = XY (3)
(4) SCALE MAX X AXIS =
Y AXIS = (5)
(6) Z AXIS =
SCALE MIN X AXIS = (7)
(8) Y AXIS =
Z AXIS = (9)
(10) COLOR PATH =
WORK = (11)

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

-22-
B-63423EN/02 USER PROGRAM 5. COMMENT ON A MANUAL GUIDE SCREEN

5.7 COMMENT IN A GUIDANCE CUTTING WINDOW

1) Common Data Window

(1) GUIDANCE CUTTING

TOOL NO. T=
(2)
D CODE NO. D=
(3) FEED RATE F=
SPINDLE SPEED S=
(4)

(5) 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) Figure Data Input Window (Line)

X1 POS. =
(2) Y1 POS. =
(3) X2 POS. =
Y2 POS. =
(4) 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) Figure Data Input Window (Circle)

CENTER X =
(2) CENTER Y =
RADIUS =
(3)

(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

6 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 USER PROGRAM B-63423EN/02

6.1 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 SETTNG


COOD OFFST

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


MEM : This key is selected to run a program.
MDI : This key is selected to perform MDI operation.
HANDLE : This key is selected to perform handle machining.
CHECK : 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-
B-63423EN/02 USER PROGRAM 6. COMMENT OF SOFT-KEYS FOR EACH MENU

6.2 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 POSTIN CONTUR CYCLE TEACH USER RETURN +

MOVE COPY DELETE ALTER O ↑ ↓ RETURN +


SEARCH SEARCH SEARCH

LIST WRK-CO OFFSET RETURN +

INIT : Definition of work coordinate system, blank


form data
TOOL : Definition of tool data
MSF : Instruction of M, S, F code except G code
COMP : Instruction of cutter or tool length
compensation
POSTIN : Instruction of Line figure (G00, G01)
CYCLE : Definition of canned cycles such as drilling,
milling
TEACH : Creation of programs with handle machining
and auxiliary buttons
USER : Display of user window screens
CONTUR : Instruction of Contour figure ( Line + Circle )
MOVE : Movement of a part of the program
COPY : Copying of a part of the program
DELETE : Deletion of a part of the program
ALTER : Change of a part of the program
O SEARCH : Selection of a program
↑ SEARCH : Word search in the upward direction
↓ SEARCH : Word search in the downward direction

LIST, WRK-CO, OFFSET are the same as those in the large-


classified 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-
B-63423EN/02 USER PROGRAM 6. COMMENT OF SOFT-KEYS FOR EACH MENU

6.3 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 CHECK USER BGEDIT RETURN +


SEARCH SEARCH

LIST WRK-CO OFFSET RETURN +

EXEC : Run a program.


O SEARCH : Search for a program.
N SEARCH : Search for a sequence number.
REWIND : Find the start of a block.
CHECK : Switch to the drawing screen.
USER : Display the user window screen.
BGEDIT : 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 USER PROGRAM B-63423EN/02

6.4 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 RETURN +

LIST WRK-CO OFFSET RETURN +

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

-30-
B-63423EN/02 USER PROGRAM 6. COMMENT OF SOFT-KEYS FOR EACH MENU

6.5 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 RETURN +

LIST WRK-CO OFFSET RETURN +

LINE : Select linear cutting for handle machining.


CIRCLE : Select circular cutting for handle machining.

-31-
6. COMMENT OF SOFT-KEYS FOR EACH MENU USER PROGRAM B-63423EN/02

6.6 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 EXEC ERASE SCALE TOOL PARAM RETURN

/OFF /OFF POS.

ANIME : Switch to the animated simulation screen.


SBK ON/OFF : Make a single block stop while continuous
simulation is being executed. Or, starts single
block simulation
SCL ON/OFF : Indicate whether to use scaling or not before
drawing.
EXEC : Start the continuous simulation drawing.
ERASE : Erase all drawn tool paths.
SCALE : Enlarge or reduces a part of the drawn tool
path.
TOOL POS. : Display the current tool center position with a
mark.
PARAM : 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-
B-63423EN/02 USER PROGRAM 6. COMMENT OF SOFT-KEYS FOR EACH MENU

PATH PLANE EXEC ROTATE SECT.P 3-PLAN PARAM RETURN

PATH : Switch to the tool path drawing screen.


EXEC : Start drawing after drawing a blank
ROTATE : Rotate a generated drawing.
PLANE : Display a plan view of a work-piece.
SECT.P : Display a cross-sectional view of a work-piece.
3-PLAN : Display a tri-plane view from a drawn machining
profile.
PARAM : Change the drawing parameters.

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 USER PROGRAM B-63423EN/02

6.7 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 DELETE CNV NC O RETURN


SEARCH

SELECT : Select a program.


COPY : Copy a program.
DELETE : Delete a program.
CNV NC : Convert a conversational statement into an NC
statement.
O SEARCH : Search for a program.

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-
B-63423EN/02 USER PROGRAM 6. COMMENT OF SOFT-KEYS FOR EACH MENU

6.8 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 : Set a specified value as the current coordinate.


+INPUT : 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 USER PROGRAM B-63423EN/02

6.9 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 : Set a specified value as the current coordinate.


+INPUT : 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-
B-63423EN/02 USER PROGRAM 6. COMMENT OF SOFT-KEYS FOR EACH MENU

6.10 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 CW CCW CHAMF ROUND END TANGNT RECALC RETURN +

POINT ARC ARC

TRANS ROTATE MIRROR RETURN +


COPY COPY COPY

LIST WRK-CO OFFSET RETURN +

START POINT : Instructing the start point


LINE : Instructing the line figure
CW ARC : Instructing the clockwise arc figure
CCW ARC : Instructing the counterclockwise arc figure
CHAMF : Instructing the chamfer figure
ROUND : Instructing the round figure
END : Instructing the end of figure
TANGNT : Instructing the tangent
RECALC : Executing the calculation of intersection
TRANS COPY : Translating the specified figure
ROTATE : Rotating the specified figure
COPY
MIRROR : Performing mirror conversion of the specified
COPY 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-
B-63423EN/02 USER PROGRAM 6. COMMENT OF SOFT-KEYS FOR EACH MENU

6.11 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 RERURN +

LIST WRK-CO OFFSET RETURN +

HOLE : Defining the cycle machining of hole


PATTER : Defining the hole pattern
FACE : Defining the cycle machining of facing
SIDE : Defining the cycle machining of side cutting
POCKET : 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-
B-63423EN/02 USER PROGRAM 6. COMMENT OF SOFT-KEYS FOR EACH MENU

6.12 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 SAVE AUX RAPID CUT COMMON RETURN +

LIST WRK-CO OFFSET RETURN +

LINE : Select the linear cutting using a guidance


handwheel.
CIRCLE : Select the circular cutting using a guidance
handwheel.
SAVE : The feed rate and spindle speed are recorded
AUX : After pushing one or continuously several ones of
the auxiliary function switches, the operator can
teach-in these commands.
RAPID : After moving a tool toward a proper position, the
operator can teach-in this tool motion into CNC as
a rapid traverse block.
CUT : Teach-in the tool motion into CNC as a cutting
block.
COMMON : 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 SAVE AUX RAPID CUT COMMON INPEND


ON/OFF

-41-
6. COMMENT OF SOFT-KEYS FOR EACH MENU USER PROGRAM B-63423EN/02

LMT ON/OFF : The limit not to exceed the target line becomes
available or unavailable.
INPEND : Set the inputted data.
CUT : 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-
B-63423EN/02 USER PROGRAM 6. COMMENT OF SOFT-KEYS FOR EACH MENU

6.13 COMMENT OF SOFT-KEYS IN CNV NC MENU

By pushing [LIST] on the initial soft-key screen or another, the soft-


key menu below is displayed.

SELECT COPY DELETE CNV NC LIST WRK-CO OFFSET RETURN

CNV NC : 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

7 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-
B-63423EN/02 USER PROGRAM 7. COMMENT OF INPUT DATA ITEM

7.1 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) INITIAL SET 1/1

WORK CO-ORD. G= NO OUT


WORK SHAPE P= RECT.
WORK X CO-ORD. X=
The 1st - m’th item WORK Y CO-ORD. Y=
WORK Z CO-ORD. Z=
WORK X WIDTH I=
WORK Y WIDTH J=
WORK THICKNESS K=

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


displayed.

Title (2) INITIAL SET (DETAIL)

ABS / INC A= NO OUT


PLANE SELECTION S= NO OUT
ORIGIN POINT B= CENTER
INPUT UNIT M= NO OUT

-45-
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 m’th 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 n’th soft-key letters of 1st item) ;
Maximum 6ch
N0m01 (“20 01 C010 20”) (The 1st soft-key letters of m’th item) ;
Maximum 6ch
N0m0n (“20 01 C010 20”) (The n’th soft-key letters of m’th 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 n’th soft-key to 1st item) ;

N0m51 (Numeric data of the 1st soft-key to m’th item) ;

N0m5n (Numeric data of the n’th soft-key to m’th 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-
B-63423EN/02 USER PROGRAM 7. COMMENT OF INPUT DATA ITEM

7.2 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 LINE CW CCW ROUND END TANGNT RECALC.
CHAMF RETURN
POINT ARC ARC

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) START POSITION

START POINT X X=
The 1st - m’th item
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 m’th 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 n’th soft-key letters of 1st item) ;
Maximum 6ch
N0m01 (“20 01 C010 20”) (The 1st soft-key letters of m’th item) ;
Maximum 6ch
N0m0n (“20 01 C010 20”) (The n’th soft-key letters of m’th 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 n’th soft-key to 1st item) ;

N0m51 (Numeric data of the 1st soft-key to m’th item) ;

N0m5n (Numeric data of the n’th soft-key to m’th 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 USER PROGRAM B-63423EN/02

7.3 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) SQUAREFACE 1/2 SQUAREFACE 2/2


MACH. PROCESS P= ROUGH CENTER POINT X X=
END POINT Z Z= CENTER POINT Y Y=
The 1st - m’th item RECTANGULAR U-LENGTH U=
REMOVAL DEPTH B= V-LENGTH V=
REMOVAL PITCH J=
FINISHING ALW. H= 0.000
FEED RATE F= 70.000
CUTTING WITDH C=

First page 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 m’th 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 n’th soft-key letters of 1st item) ;
Maximum 6ch
N0m01 (“20 01 C010 20”) (The 1st soft-key letters of m’th item) ;
Maximum 6ch
N0m0n (“20 01 C010 20”) (The n’th soft-key letters of m’th 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 n’th soft-key to 1st item) ;

N0m51 (Numeric data of the 1st soft-key to m’th item) ;

N0m5n (Numeric data of the n’th soft-key to m’th 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”)(‘ [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’) ;

M99 ;

-55-
8. DATA STRUCTURE OF MACHINING PROGRAM USER PROGRAM B-63423EN/02

8 DATA STRUCTURE OF MACHINING


PROGRAM

-56-
B-63423EN/02 USER PROGRAM 8. DATA STRUCTURE OF MACHINING PROGRAM

8.1 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. Content Var. Content


+0 Machining kind + 24 Address of Input data 8
+1 Reserve + 25 Attribute of Input data 8
+2 Reserve + 26 Default of Input data 8
+3 Address of Input data 1 + 27 Address of Input data 9
+4 Attribute of Input data 1 + 28 Attribute of Input data 9
+5 Default of Input data 1 + 29 Default of Input data 9
+6 Address of Input data 2 + 30 Address of Input data 10
+7 Attribute of Input data 2 + 31 Attribute of Input data 10
+8 Default of Input data 2 + 32 Default of Input data 10
+9 Address of Input data 3 + 33 Address of Input data 11
+ 10 Attribute of Input data 3 + 34 Attribute of Input data 11
+ 11 Default of Input data 3 + 35 Default of Input data 11
+ 12 Address of Input data 4 + 36 Address of Input data 12
+ 13 Attribute of Input data 4 + 37 Attribute of Input data 12
+ 14 Default of Input data 4 + 38 Default of Input data 12
+ 15 Address of Input data 5 + 39 Address of Input data 13
+ 16 Attribute of Input data 5 + 40 Attribute of Input data 13
+ 17 Default of Input data 5 + 41 Default of Input data 13
+ 18 Address of Input data 6 + 42 Address of Input data 14
+ 19 Attribute of Input data 6 + 43 Attribute of Input data 14
+ 20 Default t of Input data 6 + 44 Default of Input data 14
+ 21 Address of Input data 7 + 45 Address of Input data 15
+ 22 Attribute of Input data 7 + 46 Attribute of Input data 15
+ 23 Default of Input data 7 + 47 Default of Input data 15
+ 48 Address of Input data 16 + 63 Address of Input data 21
+ 49 Attribute of Input data 16 + 64 Attribute of Input data 21
+ 50 Default of Input data 16 + 65 Default of Input data 21
+ 51 Address of Input data 17 + 66 Address of Input data 22
+ 52 Attribute of Input data 17 + 67 Attribute of Input data 22
+ 53 Default of Input data 17 + 68 Default of Input data 22
+ 54 Address of Input data 18 + 69 Address of Input data 23
+ 55 Attribute of Input data 18 + 70 Attribute of Input data 23
+ 56 Default of Input data 18 + 71 Default of Input data 23
+ 57 Address of Input data 19 + 72 Address of Input data 24
+ 58 Attribute of Input data 19 + 73 Attribute of Input data 24
+ 59 Default of Input data 19 + 74 Default of Input data 24
+ 60 Address of Input data 20
+ 61 Attribute of Input data 20
+ 62 Default of Input data 20

-57-
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 USER PROGRAM B-63423EN/02

8.2 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 Setting Address Setting


A 1 N 14
B 2 P 16
C 3 Q 17
D 4 R 18
E 5 S 19
F 6 T 20
G * U 21
H 8 V 22
I 9 W 23
J 10 X 24
K 11 Y 25
L 12 Z 26
M 13 END 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 Setting Group Setting Group Setting


00 30 09 39 18 48
01 31 10 40 19 49
02 32 11 41 20 50
03 33 12 42 21 51
04 34 13 43 22 52
05 35 14 44 23 53
06 36 15 45 24 54
07 37 16 46 25 55
08 38 17 47

-60-
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

9 USER PROGRAMS FOR DISPLAYING


GUIDANCE DRAWING FIGURE

-62-
B-63423EN/02 USER PROGRAM 9. USER PROGRAMS FOR DISPLAYING GUIDANCE DRAWING FIGURE

9.1 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 USER PROGRAM 9. USER PROGRAMS FOR DISPLAYING GUIDANCE DRAWING FIGURE

9.2 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)
(58,2)

Input item 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)
(151,215)

Input item Guidance

(151,-8)
(-80,-8)

-65-
9. USER PROGRAMS FOR DISPLAYING GUIDANCE DRAWING FIGURE USER PROGRAM B-63423EN/02

Especially for Guidance Cutting, in order to support an operator’s


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. Content of drawing


O9804 Data items for Line form
O9809 Data items for Circle form
O9802 Approach/Along cutting and guidance handwheel
direction for Line cutting
O9807 Approach/Along cutting and guidance handwheel
direction for Circle cutting

-66-
B-63423EN/02 USER PROGRAM 9. USER PROGRAMS FOR DISPLAYING GUIDANCE DRAWING FIGURE

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 Description
Current cursor position
cursor #6011
The symbol is set by the system.
How many times the guidance drawing
figure macro is started
guide_frequency #6013 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.
previous_cursor #10060
It is initialized in PROC*.SRC and set in
FIG*.SRC.
call M98P
Number of the program for initializing the
fig_clear 6000
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= Display guidance


Prompt 2 B= drawing figure 1.
Display guidance
Prompt 3 C=
drawing figure 3.

-67-
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.
Create the
call **** Create the guidance drawing figure at prompt 3.
figure only
else
upon the
if[previous_cursor eq 3 ]then Clear guidance drawing figure 3 when the cursor was
second
call fig_clear previously positioned at prompt 3.
startup of
endif
the
call **** Create the guidance drawing figure at prompts 1 and 2.
program.
endif
previous_cursor = cursor Hold the cursor at the current position.
endif
m99

3) 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.

: :6008 if[cursor eq #1]then #1: Ordinal number on the


#1=2 cursor_on process data
call fig_cursor else cursor_on:G240P-7C14L1
G243X50Y3(I) cursor_off (Cursor blinking)
: endif cursor_off:G240P7C14L0
m99

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 Description


fig_clear Clears the guidance drawing figure area.
fig_line Draws a line with an arrow.
fig_cw Draws a circle with an arrow (CW).
fig_ccw Draws a circle with an arrow (CCW).
fig_mark Draws a cross.
fig_cursor Enables or disables the blinking of the second cursor.
fig_character Draws a box around characters.
fig_language Changes the language in a guidance drawing figure.

4) 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 USER PROGRAM 10. USER PROGRAMS FOR CHECKING INPUTTED DATA

10 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 USER PROGRAM 11. USER PROGRAM FOR EXECUTING MACHINING PROGRAM

11 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 G code Program No.


Initial Setting G300 O9300
Tool Definition G301 O9301
Start Point(Contour) G100 O9100
Line(Contour) G101 O9101
Circle CW(Contour) G102 O9102
Circle CCW(Contour) G103 O9103
Chamfer(Contour) G104 O9104
Corner R(Contour) G105 O9105
End(Contour) G106 O9106
Points(Hole Pattern) G200 O9200
Line(Hole Pattern) G201 O9201
Grid(Hole Pattern) G202 O9202
Square(Hole Pattern) G203 O9203
Circle(Hole Pattern) G204 O9204
Arc(Hole Pattern) G205 O9205
Square Face(Facing) G210 O9210
Circle Face(Facing) G211 O9211
Square Side(Side Cutting) G220 O9220
Circle Side(Side Cutting) G221 O9221
Track Side(Side Cutting) G222 O9222
One Side(Side Cutting) G223 O9223
Contour Side(Side Cutting) G224 O9224
Square Pocket (Pocketing) G230 O9230
Circle Pocket(Pocketing) G231 O9231
Track Pocket(Pocketing) G232 O9232
Groove(Pocketing) G233 O9233
Contour Pocket (Pocketing) G234 O9234
Contour Groove(Pocketing) G235 O9235

-71-
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. Content of program


O9800 Setting Line cutting data into PMC
O9805 Setting Circle cutting data into PMC

-72-
B-63423EN/02 USER PROGRAM 12. USER PROGRAM FOR TOOL CHANGE

12 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
endif Check input data.
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
T[tool_no] M6 Change tools when a T code is set.
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
T[next_tool_no] Output the next tool T code.
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 USER PROGRAM 13. PMC CUSTOMIZING TOOLS

13 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 USER PROGRAM B-63423EN/02

13.1 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. Calling PMC Signal Function of Program


O9854 R950.4 (TOUT) T-code (T++++, M6)
O9855 R950.5 (M03) Spindle CW (M03)
O9856 R950.6 (M04) Spindle CCW (M04)
O9857 R950.7 (M05) Spindle Stop (M05)
O9858 R951.0 (M08) Coolant On (M08)
O9859 R951.1 (M09) Coolant Off (M09)
O9860 R951.2 (G30) Return to Tool Change Position.
(G30)
O9861 R951.3 (G28) Return to Reference Pos. (G28)
O9862 R951.4 (CLSP9) User Program SUB#9
O9863 R951.5 (CLSP10) User Program SUB#10
O9864 R951.6 (CLSP11) User Program SUB#11
O9865 R951.7 (CLSP12) User Program SUB#12
O9866 R960.0 (CLSP13) User Program SUB#13
O9867 R960.1 (CLSP14) User Program SUB#14
O9868 R960.2 (CLSP15) User Program SUB#15
O9869 R960.3 (CLSP16) User Program SUB#16
O9870 R960.4 (CLSP17) User Program SUB#17
O9871 R960.5 (CLSP18) User Program SUB#18
O9872 R960.6 (CLSP19) User Program SUB#19
O9873 R960.7 (CLSP20) 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-
B-63423EN/02 USER PROGRAM 13. PMC CUSTOMIZING TOOLS

2) 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 B-63423EN/02

<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 USER PROGRAM 13. PMC CUSTOMIZING TOOLS

13.2 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 USER PROGRAM B-63423EN/02

13.4 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 USER PROGRAM 13. PMC CUSTOMIZING TOOLS

13.5 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 USER PROGRAM B-63423EN/02

13.6 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-
B-63423EN/02 USER PROGRAM 13. PMC CUSTOMIZING TOOLS

13.7 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 USER PROGRAM B-63423EN/02

13.8 GUIDANCE HANDWHEEL CONTROL SIGNALS

1) Custom macro program <--> CNC interface

Address Size Line Circle


R961 1 byte
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)

Y
Tool

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) Radius of a circle (R)
R974 1 byte Moving direction at rotating a guidance
0 : Cut inside of a circle
handwheel to normal direction
1 : Cut outside of a circle
0 : +90 degrees to approaching
direction Note) Moving direction at rotating a guidance
1 : -90 degrees to approaching handwheel to normal depends on a value of
direction R961

R975 1 byte #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 Information of setting change


R980 ∼ R983 4 bytes Distance from actual position to a line Distance from actual position to a circle

-84-
B-63423EN/02 USER PROGRAM 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 B-63423EN/02

3) 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 Moving axis


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

HS1A HS1B HS1C HS1D


G018#0 G018#1 G018#2 G018#3

HS2A HS2B HS2C HS2D


G018#4 G018#5 G018#6 G018#7

HS3A HS3B HS3C HS3D


G019#0 G019#1 G019#2 G019#3

HS4A HS4B HS4C HS4D


G020#0 G020#1 G020#2 G020#3

-86-
B-63423EN/02 USER PROGRAM 13. PMC CUSTOMIZING TOOLS

13.9 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 Description


R988.0(CUTT) Teaching for cutting
R988.1(RPDT) Teaching for rapid traverse
R988.2(AUXT) 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 USER PROGRAM B-63423EN/02

14 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-
B-63423EN/02 USER PROGRAM 14. USER WINDOW PROGRAMS

14.1 USER WINDOWS ON THE EDITING SCREEN

By setting the following parameters, user windows are enabled on the


editing screen:

No. #7 #6 #5 #4 #3 #2 #1 #0
No. 9110 UWN
UWN =1 : Enables user window display on the editing screen.
=0 : Disables user window display on the editing screen.

No. Description
No. 9111 Main program number of the user window custom macro
No. 9112 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 SOFTKEY SOFTKEY SOFTKEY SOFTKEY SOFTKEY SOFTKEY SOFTKEY SOFTKEY RETURN
1 2 3 4 5 6 7 8 9

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

-89-
14. USER WINDOW PROGRAMS USER PROGRAM B-63423EN/02

14.2 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) Initializing the custom macro variables used in the window


b) 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 USER PROGRAM B-63423EN/02

14.3 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 Code Key Code
Page key ↓ 1 Leftmost soft-key 20
Page key ↑ 2 Rightmost soft-key 31
Cursor ↓ 3 Soft-key 1 21
Cursor ↑ 4 Soft-key 2 22
Cursor → 18 Soft-key 3 23
Cursor ← 19 Soft-key 4 24
ALTER 5 Soft-key 5 25
INSERT 6 Soft-key 6 26
DELETE 7 Soft-key 7 27
INPUT 8 Soft-key 8 28
RESET 10 Soft-key 9 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 USER PROGRAM 14. USER WINDOW PROGRAMS

14.4 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 Variable Item name


+0 Machining type ... ...
+1 Reserved +66 Address of input data 22
+2 Reserved +67 Attribute of input data 22
+3 Address of input data 1 +68 Argument of input data 22
+4 Attribute of input data 1 +69 Address of input data 23
+5 Argument of input data 1 +70 Attribute of input data 23
+6 Address of input data 2 +71 Argument of input data 23
+7 Attribute of input data 2 +72 Address of input data 24
+8 Argument of input data 2 +73 Attribute of input data 24
... ... +74 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 Variable Item name


#10500 Reserved ... ...
#10501 Reserved #10566 Address of input data 22
#10502 Reserved #10567 Reserved
#10503 Address of input data 1 #10568 Argument of input data 22
#10504 Reserved #10569 Address of input data 23
#10505 Argument of input data 1 #10570 Reserved
#10506 Address of input data 2 #10571 Argument of input data 23
#10507 Reserved #10572 Address of input data 24
#10508 Argument of input data 2 #10573 Reserved
... ... #10574 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 USER PROGRAM 14. USER WINDOW PROGRAMS

14.5 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)
-320 319

-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-
B-63423EN/02 USER PROGRAM 14. USER WINDOW PROGRAMS

14.6 USER WINDOWS ON THE OPERATION SCREEN

By setting the following parameters, user windows are enabled on the


operation screen:

No. #7 #6 #5 #4 #3 #2 #1 #0
No. 9110 MUW
MWN =1 : Enables user window display on the operation screen.
=0 : Disables user window display on the operation screen.

No. Description
No. 9113 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 USER PROGRAM B-63423EN/02

14.7 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. #7 #6 #5 #4 #3 #2 #1 #0
No. 9163 SM2 K19
SM2 =1 : Uses the second startup macro program.
=0 : 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.
=0 : Does not display cycle machining defined in the second
startup macro program when the ninth editing menu soft-key
is pushed.

No. Description
No. 9164 Program number of the second startup macro
No. 9165 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 RETURN
HINING1 HINING2 HINING3 HINING4 HINING5

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


machining menu below is displayed.

USER USER USER USER USER USER USER USER RETURN


DETAIL1 DETAIL2 DETAIL3 DETAIL4 DETAIL5 DETAIL6 DETAIL7 DETAIL8

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 14. USER WINDOW PROGRAMS

Variable Description
+0 Number of submenus of the user cycle machining menu
+1 Number of the string definition macro for the user cycle
machining menu
+2 Number of submenus of user cycle machining menu 1
+3 Number of the string definition macro for user cycle
machining menu 1
+4 Number of the attribute data macro for user cycle machining
menu 1
+5 Number of the guidance drawing figure macro for user cycle
machining menu 1
+6 Number of the input data check macro for user cycle
machining menu 1
+7 Number of submenus of user cycle machining menu 2
+8 Number of the string definition macro for user cycle
machining menu 2
+9 Number of the attribute data macro for user cycle machining
menu 2
+10 Number of the guidance drawing figure macro for user cycle
machining menu 2
+11 Number of the input data check macro for user cycle
machining menu 2
+12 Number of submenus of user cycle machining menu 3
+13 Number of the string definition macro for user cycle
machining menu 3
+14 Number of the attribute data macro for user cycle machining
menu 3
+15 Number of the guidance drawing figure macro for user cycle
machining menu 3
+16 Number of the input data check macro for user cycle
machining menu 3
+17 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 user-
defined 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-
B-63423EN/02 USER PROGRAM 14. USER WINDOW PROGRAMS

14.8 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 USER PROGRAM B-63423EN/02

15 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-
B-63423EN/02 USER PROGRAM 15. DISPLAYING USER-SPECIFIED STRINGS

15.1 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 user-
specified 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 user-
specified 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 USER PROGRAM B-63423EN/02

15.2 PARAMETERS

The following parameters are provided to display user-specified


strings:

No. Description
No. 9170 Program number 1 of the original FANUC standard macro
No. 9171 Program number 1 of the new user-specified macro
No. 9172 Program number 2 of the original FANUC standard macro
No. 9173 Program number 2 of the new user-specified macro
No. 9174 Program number 3 of the original FANUC standard macro
No. 9175 Program number 3 of the new user-specified macro
No. 9176 Program number 4 of the original FANUC standard macro
No. 9177 Program number 4 of the new user-specified macro
No. 9178 Program number 5 of the original FANUC standard macro
No. 9179 Program number 5 of the new user-specified macro

-104-
B-63423EN/02 USER PROGRAM 16. MEASUREMENT CYCLE

16 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 USER PROGRAM B-63423EN/02

16.1 STARTUP MACRO PROGRAM

Change the contents of the normal startup macro program, based on


the following structure:

Variable Description Standard


value
+0 Number of the string definition macro displayed in 7000
the system
+1 Number of submenus of the editing menu 7
+2 Number of the string definition macro for the editing 7010
menu
+3 Number of the attribute data macro for the editing 8402
menu
+4 Number of the guidance drawing figure macro for 8602
the editing menu
+5 Number of the input data check macro for the 8802
editing menu
... ... ...
+ 11 Number of submenus of the cycle machining menu 7
+ 12 Number of the string definition macro for the cycle 7300
machining menu
... ... ...
+ 33 Number of submenus of the pocketing menu 5
+ 34 Number of the string definition macro for the 7800
pocketing menu
+ 35 Number of the attribute data macro for the 8481
pocketing menu
+ 36 Number of the guidance drawing figure macro for 8681
the pocketing menu
+ 37 Number of the input data check macro for the 8881
pocketing menu
+ 38 Number of submenus of the calibration cycle menu 4
+ 39 Number of the string definition macro for the 6200
calibration menu
+ 40 Number of the attribute data macro for the 6511
calibration menu
+ 41 Number of the guidance drawing figure macro for 6551
the calibration menu
+ 42 Number of the input data check macro for the 6611
calibration menu
+ 43 Number of submenus of the measurement cycle 13
menu
+ 44 Number of the string definition macro for the 6300
measurement cycle menu
+ 45 Number of the attribute data macro for the 6521
measurement cycle menu
+ 46 Number of the guidance drawing figure macro for 6561
the measurement cycle menu
+ 47 Number of the input data check macro for the 6621
measurement cycle menu

-106-
B-63423EN/02 USER PROGRAM 16. MEASUREMENT CYCLE

16.2 CALIBRATION AND MEASUREMENT CYCLES

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

HOLE PATTER FACING SIDE CU POCKET CALIBR MEASU RETURN


TTING ING ATION R

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) PROBE LENGTH 1/1


DISTANCE FOR MOV Z=
The first to mth items DIST. GAUGE-TABLE D=
RING GAUGE HEIGHT H=
FEEDRATE FOR MOV 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 m’th item) ;
Maximum 18ch

-108-
B-63423EN/02 USER PROGRAM 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 n’th soft-key letters of 1st item) ;
Maximum 6ch
N0m01 (“20 01 C010 20”) (The 1st soft-key letters of m’th item) ;
Maximum 6ch
N0m0n (“20 01 C010 20”) (The n’th soft-key letters of m’th 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 n’th soft-key to 1st item) ;

N0m51 (Numeric data of the 1st soft-key to m’th item) ;

N0m5n (Numeric data of the n’th soft-key to m’th 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 USER PROGRAM B-63423EN/02

16.3 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 USER PROGRAM 16. MEASUREMENT CYCLE

16.4 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 USER PROGRAM B-63423EN/02

16.5 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 USER PROGRAM 16. MEASUREMENT CYCLE

16.6 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 G code Program number


Measurement of Probe Length G170 O9170
Measurement of Diameter G171 O9171
Measurement (A) of Offset G172 O9172
Measurement (B) of Offset G173 O9173
Measurement of X/Y/Z Single Surface G180 O9180
Measurement of Web Width G181 O9181
Measurement of Groove Width G182 O9182
Measurement of Outside Circle G183 O9183
Measurement of Inside Circle G184 O9184
Measurement of Outside Rectangular G185 O9185
Measurement of Inside Rectangular G186 O9186
Outside Corner G187 O9187
Inside Corner G188 O9188
Bolt-Hole-Circle G189 O9189
4 Holes Center G190 O9190
Workpiece Angle G191 O9191
2 Holes Angle G191 O9192

-113-
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.
B-63423EN/02 SAMPLE PROGRAM 1. LIST OF USER PROGRAMS

1 LIST OF USER PROGRAMS

l Program Number List of User Programs


Large Small
Menu Comment Attribute Figure Checking
Classification Classification
System System Comment O700n ---- ---- ----
Menu Soft-keys O701n ---- ---- ----
Initial Setting O702n O8402 O8602 O8802
Tool Setting O703n O8403 O8603 O8803
MSB code O704n O8404 O8604 O8804
G-code Menu
Compensation O705n O8405 O8605 O8805
Line O706n O8406 O8606 O8806
CW Circle O707n O8407 O8607 O8807
CCW Circle O708n O8408 O8608 O8808
Menu Soft-keys O710n ---- ---- ----
Start point O711n O8411 O8611 O8811
Line O712n O8412 O8612 O8812
CW Arc O713n O8413 O8613 O8813
CCW Arc O714n O8414 O8614 O8814
Contour Profile
Chamfer O715n O8415 O8615 O8815
Menu
Round O716n O8416 O8616 O8816
End O717n O8417 O8617 O8817
Translate Copy O718n O8418 O8618 O8818
Rotation Copy O719n O8419 O8619 O8819
Mirror Copy O720n O8420 O8620 O8820
Cycle Motion Menu O730n ---- ---- ----
Menu Soft-keys O731n ---- ---- ----
Hole Drilling O732n O8432 O8632 O8832
Machining Boring O733n O8433 O8633 O8833
Tapping O734n O8434 O8634 O8834
Menu Soft-keys O740n ---- ---- ----
Cycle Motion
Points O741n O8441 O8641 O8841
Line O742n O8442 O8642 O8842
Hole pattern Grid O743n O8443 O8643 O8843
Square O744n O8444 O8644 O8844
Circle O745n O8445 O8645 O8845
Arc O746n O8446 O8646 O8846

-117-
1. LIST OF USER PROGRAMS SAMPLE PROGRAM B-63423EN/02

Large Small
Menu Comment Attribute Figure Checking
Classification Classification
Menu Soft-keys O760n ---- ---- ----
Facing Square Surface O761n O8461 O8661 O8861
Circle Surface O762n O8462 O8662 O8862
Menu Soft-keys O770n ---- ---- ----
Square Side O771n O8471 O8671 O8871
Circle Side O772n O8472 O8672 O8872
Side Cutting
Track Side O773n O8473 O8673 O8873
One Side O774n O8474 O8674 O8874
Cycle Motion
Contour Side O775n O8475 O8675 O8875
Menu Soft-keys O780n ---- ---- ----
Square Pocket O781n O8481 O8681 O8881
Circle Pocket O782n O8482 O8682 O8882
Pocketing Track Pocket O783n O8483 O8683 O8883
Grooving O784n O8484 O8684 O8884
Contour Pocket O785n O8485 O8685 O8885
Contour Grooving O786n O8486 O8686 O8886

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


are added:
Large Small
Menu Comment Attribute Figure Checking
Classification Classification
Menu Soft-keys O620n ---- ---- ----
Measurement of Probe Length O621n O6511 O6551 O6611
Calibration
Measurement of Diameter O622n O6512 O6552 O6612
Cycles
Measurement (A) of Offset O623n O6513 O6553 O6613
Measurement (B) of Offset O624n O6514 O6554 O6614
Menu Soft-keys O630n ---- ---- ----
Measurement of X/Y/Z Single
O631n O6521 O6561 O6621
Surface
Measurement of Web Width O632n O6522 O6562 O6622
Measurement of Groove Width O633n O6523 O6563 O6623
Measurement of Outside Circle O634n O6524 O6564 O6624
Cycle Motion Measurement of Inside Circle O635n O6525 O6565 O6625
Measurement of Outside
O636n O6526 O6566 O6626
Measuring Rectangular
Cycles Measurement of Inside
O637n O6527 O6567 O6627
Rectangular
Measurement of Outside Corner O638n O6528 O6568 O6628
Measurement of Inside Corner O639n O6529 O6569 O6629
Measurement of Bolt-Hole Circle O640n O6530 O6570 O6630
Measurement of 4 Holes Center O641n O6531 O6571 O6631
Measurement of Workpiece
O642n O6532 O6572 O6632
Angle
Measurement of 2 Holes Angle 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 B-63423EN/02

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 2. USER PROGRAMS FOR SYSTEM COMMENT

2 USER PROGRAMS FOR SYSTEM


COMMENT

l Definition of Symbol
/*** Attribution definition
@att_not_use -1 /* Not Use
@att_new_page -2 /* New Page for Normal Window
@att_new_page_datail -3 /* 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 #6004 /* Input Check Error Flag


@error_non 0
@error_on 1
@error_item #6009 /* Error Item Cursor Position
@cursor #6011 /* Cursor Position
@guide_frequency #6013 /* Guidance Macro Call Frequency
@first_time 1
@secont_tine 2
@previous_cursor #10060 /* Previous Cursor Position

@call M98P /* Macro Call

/*** Parameter
@inch_mm P9920AND32
@inch_mm_on 32

/*** Sub Program


@fig_clear 6000
@fig_line 6001
@fig_cw 6002
@fig_ccw 6003
@fig_mark 6005
@fig_shift 6006
@fig_ellipse 6007
@fig_cursor 6008
@fig_character 6009
@fig_language 6010

@solid_line G244P0
@dot_line G244P1
@cursor_on G240P-7C14L1
@cursor_off G240P7C14L0

-121-
2. USER PROGRAMS FOR SYSTEM COMMENT SAMPLE PROGRAM B-63423EN/02

@string_o_number 6900 /* String O number

@shift_grap_Y 32
@shift_char_Y 2
@shift_grap_X 8
@shift_char_X 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 /* 00 group
@add_G01G 31 /* 01 group
@add_G02G 32 /* 02 group
@add_G03G 33 /* 03 group
@add_G04G 34 /* 04 group
@add_G05G 35 /* 05 group
@add_G06G 36 /* 06 group
@add_G07G 37 /* 07 group
@add_G08G 38 /* 08 group
@add_G09G 39 /* 09 group
@add_G10G 40 /* 10 group
@add_G11G 41 /* 11 group
@add_G12G 42 /* 12 group
@add_G13G 43 /* 13 group
@add_G14G 44 /* 14 group
@add_G15G 45 /* 15 group
@add_G16G 46 /* 16 group
@add_G17G 47 /* 17 group
@add_G18G 48 /* 18 group
@add_G19G 49 /* 19 group
@add_G20G 50 /* 20 group
@add_G21G 51 /* 21 group
@add_G22G 52 /* 22 group
@add_G23G 53 /* 23 group
@add_G24G 54 /* 24 group
@add_G25G 55 /* 25 group
@eob 59
@add_end 0

/*** Color definition


@color G240P
@red 1

-122-
B-63423EN/02 SAMPLE PROGRAM 2. USER PROGRAMS FOR SYSTEM COMMENT

@green 2
@yellow 3
@blue 4
@purple 5
@sky_blue 6
@white 7
@l_black 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 SAMPLE PROGRAM B-63423EN/02

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 SAMPLE PROGRAM 2. USER PROGRAMS FOR SYSTEM COMMENT

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 SAMPLE PROGRAM B-63423EN/02

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 SAMPLE PROGRAM 2. USER PROGRAMS FOR SYSTEM COMMENT

;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-
3. USER PROGRAMS FOR G-CODE MENU SAMPLE PROGRAM B-63423EN/02

3 USER PROGRAMS FOR G-CODE MENU

-128-
B-63423EN/02 SAMPLE PROGRAM 3. USER PROGRAMS FOR G-CODE MENU

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 SAMPLE PROGRAM B-63423EN/02

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 SAMPLE PROGRAM 3. USER PROGRAMS FOR G-CODE MENU

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 SAMPLE PROGRAM B-63423EN/02

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 SAMPLE PROGRAM 3. USER PROGRAMS FOR G-CODE MENU

3.2 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 SAMPLE PROGRAM B-63423EN/02

#[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 SAMPLE PROGRAM 3. USER PROGRAMS FOR G-CODE MENU

#[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 SAMPLE PROGRAM B-63423EN/02

#[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 SAMPLE PROGRAM 3. USER PROGRAMS FOR G-CODE MENU

#[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 SAMPLE PROGRAM B-63423EN/02

3.3 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 SAMPLE PROGRAM 3. USER PROGRAMS FOR G-CODE MENU

#[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 SAMPLE PROGRAM B-63423EN/02

#[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 SAMPLE PROGRAM 3. USER PROGRAMS FOR G-CODE MENU

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 SAMPLE PROGRAM B-63423EN/02

/****************************************************************************
$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 3. USER PROGRAMS FOR G-CODE MENU

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] /* Cylinder
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

-143-
3. USER PROGRAMS FOR G-CODE MENU SAMPLE PROGRAM B-63423EN/02

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] /* for I
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

-144-
B-63423EN/02 SAMPLE PROGRAM 3. USER PROGRAMS FOR G-CODE MENU

#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] /* for K
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] /* for J
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

/* 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 SAMPLE PROGRAM B-63423EN/02

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] /* for K
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] /* for I
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

-146-
B-63423EN/02 SAMPLE PROGRAM 3. USER PROGRAMS FOR G-CODE MENU

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

/* 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 SAMPLE PROGRAM B-63423EN/02

#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] /* for ABS
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] /* for INC
G01X[124-shift_grap_X]Y[56+shift_grap_Y]
G01X[124-shift_grap_X]Y[95+shift_grap_Y]

/* 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 SAMPLE PROGRAM 3. USER PROGRAMS FOR G-CODE MENU

#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 SAMPLE PROGRAM B-63423EN/02

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 /* Tool


#20=36-shift_grap_X /* Current Tool
#21=96+shift_grap_Y
G242X[#20]Y[#21+1]
G01X[#20-3]Y[#21+8]

-150-
B-63423EN/02 SAMPLE PROGRAM 3. USER PROGRAMS FOR G-CODE MENU

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 /* Next Tool
#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 /* Tool Edge


#20=36-shift_grap_X /* Current Tool
#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 /* Next Tool
#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

/* 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 SAMPLE PROGRAM B-63423EN/02

#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 SAMPLE PROGRAM 3. USER PROGRAMS FOR G-CODE MENU

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 SAMPLE PROGRAM B-63423EN/02

#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 SAMPLE PROGRAM 3. USER PROGRAMS FOR G-CODE MENU

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 SAMPLE PROGRAM B-63423EN/02

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 3. USER PROGRAMS FOR G-CODE MENU

#4=104+shift_grap_Y
#5=0
call fig_line
#1=72-shift_grap_X /* J
#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 /* I
#2=56+shift_grap_Y
#3=0-shift_grap_X
#4=56+shift_grap_Y
#5=0
call fig_line
color red /* circle
#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 /* Circle Direction(CCW)
#1=32-shift_grap_X
#2=120.399+shift_grap_Y
call fig_mark
color green
#1=0-shift_grap_X /* R
#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 /* J
#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 /* I
#2=40+shift_grap_Y
#3=0-shift_grap_X
#4=40+shift_grap_Y
#5=0
call fig_line
color red /* circle
#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

/* 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 SAMPLE PROGRAM B-63423EN/02

#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 SAMPLE PROGRAM 3. USER PROGRAMS FOR G-CODE MENU

#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 SAMPLE PROGRAM B-63423EN/02

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 SAMPLE PROGRAM 3. USER PROGRAMS FOR G-CODE MENU

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 SAMPLE PROGRAM B-63423EN/02

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 3. USER PROGRAMS FOR G-CODE MENU

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');
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 SAMPLE PROGRAM B-63423EN/02

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 SAMPLE PROGRAM 3. USER PROGRAMS FOR G-CODE MENU

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 SAMPLE PROGRAM B-63423EN/02

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 SAMPLE PROGRAM 3. USER PROGRAMS FOR G-CODE MENU

3.4 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 SAMPLE PROGRAM B-63423EN/02

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 SAMPLE PROGRAM 3. USER PROGRAMS FOR G-CODE MENU

/* ############################################### 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 SAMPLE PROGRAM B-63423EN/02

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 SAMPLE PROGRAM 3. USER PROGRAMS FOR G-CODE MENU

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-
4. USER PROGRAMS FOR CONTOUR PROFILE MENU SAMPLE PROGRAM B-63423EN/02

4 USER PROGRAMS
PROFILE MENU
FOR CONTOUR

-172-
B-63423EN/02 SAMPLE PROGRAM 4. USER PROGRAMS FOR CONTOUR PROFILE MENU

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 SAMPLE PROGRAM B-63423EN/02

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 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 SAMPLE PROGRAM B-63423EN/02

4.2 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 SAMPLE PROGRAM 4. USER PROGRAMS FOR CONTOUR PROFILE MENU

#[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 SAMPLE PROGRAM B-63423EN/02

#[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 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 B-63423EN/02

#[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 4. USER PROGRAMS FOR CONTOUR PROFILE MENU

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 SAMPLE PROGRAM B-63423EN/02

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 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 B-63423EN/02

/***** 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 SAMPLE PROGRAM 4. USER PROGRAMS FOR CONTOUR PROFILE MENU

/* 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 SAMPLE PROGRAM B-63423EN/02

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 SAMPLE PROGRAM 4. USER PROGRAMS FOR CONTOUR PROFILE MENU

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 SAMPLE PROGRAM B-63423EN/02

/* 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 SAMPLE PROGRAM 4. USER PROGRAMS FOR CONTOUR PROFILE MENU

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 SAMPLE PROGRAM B-63423EN/02

#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 SAMPLE PROGRAM 4. USER PROGRAMS FOR CONTOUR PROFILE MENU

/* 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 SAMPLE PROGRAM B-63423EN/02

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 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] /* for C
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

-193-
4. USER PROGRAMS FOR CONTOUR PROFILE MENU SAMPLE PROGRAM B-63423EN/02

#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 SAMPLE PROGRAM 4. USER PROGRAMS FOR CONTOUR PROFILE MENU

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 SAMPLE PROGRAM B-63423EN/02

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 SAMPLE PROGRAM 4. USER PROGRAMS FOR CONTOUR PROFILE MENU

/****************************************************************************
/*
/* 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 SAMPLE PROGRAM B-63423EN/02

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 SAMPLE PROGRAM 4. USER PROGRAMS FOR CONTOUR PROFILE MENU

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 SAMPLE PROGRAM B-63423EN/02

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 SAMPLE PROGRAM 4. USER PROGRAMS FOR CONTOUR PROFILE MENU

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 SAMPLE PROGRAM B-63423EN/02

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 SAMPLE PROGRAM 4. USER PROGRAMS FOR CONTOUR PROFILE MENU

; 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 SAMPLE PROGRAM B-63423EN/02

4.4 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 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 B-63423EN/02

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 SAMPLE PROGRAM 5. USER PROGRAMS FOR HOLE MACHINING MENU

5 USER PROGRAMS FOR HOLE MACHINING


MENU

-207-
5. USER PROGRAMS FOR HOLE MACHINING MENU SAMPLE PROGRAM B-63423EN/02

5.1 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 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 B-63423EN/02

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 SAMPLE PROGRAM 5. USER PROGRAMS FOR HOLE MACHINING MENU

5.2 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 SAMPLE PROGRAM B-63423EN/02

#[value 13] = 0
#[address 14] = add_end
previous_cursor = 1 /* Previous cursor position clear
m99

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 SAMPLE PROGRAM 5. USER PROGRAMS FOR HOLE MACHINING MENU

#[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 SAMPLE PROGRAM B-63423EN/02

5.3 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 SAMPLE PROGRAM 5. USER PROGRAMS FOR HOLE MACHINING MENU

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 SAMPLE PROGRAM B-63423EN/02

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 SAMPLE PROGRAM 5. USER PROGRAMS FOR HOLE MACHINING MENU

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 SAMPLE PROGRAM B-63423EN/02

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 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 /* X coordinate of Top of Tool
#21=139+shift_grap_Y /* Y coordinate of Top of Tool
color green /* green for Inner
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 /* purple for Edge
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

-219-
5. USER PROGRAMS FOR HOLE MACHINING MENU SAMPLE PROGRAM B-63423EN/02

#21=139+shift_grap_Y /* Y coordinate of Top of Tool


color green /* green for Inner
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 /* purple for Edge
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]

/* 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 /* for G98
#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

-220-
B-63423EN/02 SAMPLE PROGRAM 5. USER PROGRAMS FOR HOLE MACHINING MENU

#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 /* for G98
#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

/* 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 B-63423EN/02

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 /* X coordinate of Top of Tool
#21=147+shift_grap_Y /* Y coordinate of Top of Tool
color green /* green for Inner
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 /* purple for Edge
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]

/* 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 SAMPLE PROGRAM 5. USER PROGRAMS FOR HOLE MACHINING MENU

#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] /* 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

-223-
5. USER PROGRAMS FOR HOLE MACHINING MENU SAMPLE PROGRAM B-63423EN/02

#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 5. USER PROGRAMS FOR HOLE MACHINING MENU

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 /* X coordinate of Top of Tool
#21=147+shift_grap_Y /* Y coordinate of Top of Tool
color green /* green for Inner
G242X[#20]Y[#21+1] /* Left Side
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] /* Right Side
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 /* purple for Edge
G242X[#20]Y[#21] /* Left Side
G01X[#20-8]Y[#21]
G01X[#20-8-3]Y[#21+3*1]
G01X[#20-8 ]Y[#21+3*2]

-225-
5. USER PROGRAMS FOR HOLE MACHINING MENU SAMPLE PROGRAM B-63423EN/02

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] /* Right Side
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]

/* 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 SAMPLE PROGRAM 5. USER PROGRAMS FOR HOLE MACHINING MENU

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 SAMPLE PROGRAM B-63423EN/02

#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 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 /* X coordinate of Top of Tool
#21=123+shift_grap_Y /* Y coordinate of Top of Tool
color green /* green for Inner
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 /* purple for Edge
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]

/* 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 B-63423EN/02

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 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 B-63423EN/02

#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 /* X coordinate of Top of Tool
#21=123+shift_grap_Y /* Y coordinate of Top of Tool
color green /* green for Inner
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 /* purple for Edge
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]

/* 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 SAMPLE PROGRAM 5. USER PROGRAMS FOR HOLE MACHINING MENU

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 SAMPLE PROGRAM B-63423EN/02

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 /* X coordinate of Top of Tool
#21=123+shift_grap_Y /* Y coordinate of Top of Tool
color green /* green for Inner
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 /* purple for Edge
G242X[#20]Y[#21]
G01X[#20-8]Y[#21+5]
G01X[#20-8]Y[#21+21]

-234-
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 B-63423EN/02

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 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 /* X coordinate of Top of Tool
#21=147+shift_grap_Y /* Y coordinate of Top of Tool
color green /* green for Inner
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 /* purple for Edge
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]

/* 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 B-63423EN/02

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 SAMPLE PROGRAM 5. USER PROGRAMS FOR HOLE MACHINING MENU

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 SAMPLE PROGRAM B-63423EN/02

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 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 /* X coordinate of Top of Tool
#21=147+shift_grap_Y /* Y coordinate of Top of Tool
color green /* green for Inner
G242X[#20]Y[#21+1] /* Left Side
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] /* Right Side
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 /* purple for Edge
G242X[#20]Y[#21] /* Left Side
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] /* Right Side
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]

/* 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 B-63423EN/02

/* 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 SAMPLE PROGRAM 5. USER PROGRAMS FOR HOLE MACHINING MENU

/* 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 SAMPLE PROGRAM B-63423EN/02

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 /* X coordinate of Top of Tool
#21=123+shift_grap_Y /* Y coordinate of Top of Tool
color green /* green for Inner
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 /* purple for Edge
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]

-244-
B-63423EN/02 SAMPLE PROGRAM 5. USER PROGRAMS FOR HOLE MACHINING MENU

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 SAMPLE PROGRAM B-63423EN/02

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 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 /* X coordinate of Top of Tool
#21=123+shift_grap_Y /* Y coordinate of Top of Tool
color green /* green for Inner
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 /* purple for Edge
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]

/* 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 B-63423EN/02

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 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 B-63423EN/02

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 /* X coordinate of Top of Tool
#21=123+shift_grap_Y /* Y coordinate of Top of Tool
color green /* green for Inner
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 /* purple for Edge
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]

/* 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 SAMPLE PROGRAM 5. USER PROGRAMS FOR HOLE MACHINING MENU

#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 SAMPLE PROGRAM B-63423EN/02

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 /* X coordinate of Top of Tool
#21=123+shift_grap_Y /* Y coordinate of Top of Tool
color green /* green for Inner
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]

-252-
B-63423EN/02 SAMPLE PROGRAM 5. USER PROGRAMS FOR HOLE MACHINING MENU

G01X[#20+4+12]Y[#21+1]
G01X[#20+1]Y[#21+1]
G206P0X[#20+8]Y[#21+5]
color purple /* purple for Edge
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]

/* 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 B-63423EN/02

;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 5. USER PROGRAMS FOR HOLE MACHINING MENU

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 /* X coordinate of Top of Tool
#21=123+shift_grap_Y /* Y coordinate of Top of Tool
color green /* green for Inner
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 /* purple for Edge
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]

/* 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 SAMPLE PROGRAM B-63423EN/02

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 SAMPLE PROGRAM 5. USER PROGRAMS FOR HOLE MACHINING MENU

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 SAMPLE PROGRAM B-63423EN/02

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 SAMPLE PROGRAM 5. USER PROGRAMS FOR HOLE MACHINING MENU

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 SAMPLE PROGRAM B-63423EN/02

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 5. USER PROGRAMS FOR HOLE MACHINING MENU

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');
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 SAMPLE PROGRAM B-63423EN/02

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 SAMPLE PROGRAM 5. USER PROGRAMS FOR HOLE MACHINING MENU

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 SAMPLE PROGRAM B-63423EN/02

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 SAMPLE PROGRAM 5. USER PROGRAMS FOR HOLE MACHINING MENU

5.4 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 SAMPLE PROGRAM B-63423EN/02

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 SAMPLE PROGRAM 5. USER PROGRAMS FOR HOLE MACHINING MENU

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-
6. USER PROGRAMS FOR HOLE PATTERN MENU SAMPLE PROGRAM B-63423EN/02

6 USER PROGRAMS FOR HOLE PATTERN


MENU

-268-
B-63423EN/02 SAMPLE PROGRAM 6. USER PROGRAMS FOR HOLE PATTERN MENU

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 SAMPLE PROGRAM B-63423EN/02

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 SAMPLE PROGRAM 6. USER PROGRAMS FOR HOLE PATTERN MENU

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 SAMPLE PROGRAM B-63423EN/02

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 SAMPLE PROGRAM 6. USER PROGRAMS FOR HOLE PATTERN MENU

6.2 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 SAMPLE PROGRAM B-63423EN/02

#[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 SAMPLE PROGRAM 6. USER PROGRAMS FOR HOLE PATTERN MENU

#[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 SAMPLE PROGRAM B-63423EN/02

#[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 SAMPLE PROGRAM 6. USER PROGRAMS FOR HOLE PATTERN MENU

#[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 SAMPLE PROGRAM B-63423EN/02

#[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 6. USER PROGRAMS FOR HOLE PATTERN MENU

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 SAMPLE PROGRAM B-63423EN/02

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 SAMPLE PROGRAM 6. USER PROGRAMS FOR HOLE PATTERN MENU

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 SAMPLE PROGRAM B-63423EN/02

/***** 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 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 B-63423EN/02

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 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 B-63423EN/02

/* 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 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 SAMPLE PROGRAM B-63423EN/02

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]
#1=38-shift_char_X /* for (X,Y)
#2=16-shift_char_Y
#3=5
call fig_character
#1=48-shift_char_X /* for U
#2=6-shift_char_Y
#3=1
call fig_character
#1=37-shift_char_X /* for V
#2=12-shift_char_Y
#3=1
call fig_character
#1=57-shift_char_X /* for I
#2=12-shift_char_Y
#3=1
call fig_character
#1=39-shift_char_X /* for J
#2=9-shift_char_Y
#3=1
call fig_character
#1=49-shift_char_X /* for K
#2=14-shift_char_Y
#3=1
call fig_character
#1=48-shift_char_X /* for L
#2=12-shift_char_Y
#3=1
call fig_character
#1=40-shift_char_X /* for 1
#2=15-shift_char_Y
#3=1
call fig_character
#1=46-shift_char_X /* for 2
#2=14-shift_char_Y
#3=1
call fig_character
#1=52-shift_char_X /* for 3
#2=13-shift_char_Y

-288-
B-63423EN/02 SAMPLE PROGRAM 6. USER PROGRAMS FOR HOLE PATTERN MENU

#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 ;1st Row
#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]

-289-
6. USER PROGRAMS FOR HOLE PATTERN MENU SAMPLE PROGRAM B-63423EN/02

#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 SAMPLE PROGRAM 6. USER PROGRAMS FOR HOLE PATTERN MENU

G242X[52-shift_grap_X]Y[28+shift_grap_Y] ;Only Grid


G01X[52-shift_grap_X]Y[124+shift_grap_Y] ;Only Grid
G242X[100-shift_grap_X]Y[48+shift_grap_Y] ;Only Grid
G01X[100-shift_grap_X]Y[140+shift_grap_Y] ;Only Grid
G242X[4-shift_grap_X]Y[60+shift_grap_Y] ;Only Grid
G01X[148-shift_grap_X]Y[108+shift_grap_Y] ;Only Grid
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

/* 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 SAMPLE PROGRAM B-63423EN/02

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 SAMPLE PROGRAM 6. USER PROGRAMS FOR HOLE PATTERN MENU

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 SAMPLE PROGRAM B-63423EN/02

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 /* Center
#2=72+shift_grap_Y
call fig_mark

/* Characters
if[cursor eq 1]then
color -white C blue L1

-294-
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 B-63423EN/02

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 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 /* Center
#2=56+shift_grap_Y
call fig_mark

/* 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 B-63423EN/02

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 SAMPLE PROGRAM 6. USER PROGRAMS FOR HOLE PATTERN MENU

#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 SAMPLE PROGRAM B-63423EN/02

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 /* Center
#2=56+shift_grap_Y
call fig_mark

/* 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 SAMPLE PROGRAM 6. USER PROGRAMS FOR HOLE PATTERN MENU

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 SAMPLE PROGRAM B-63423EN/02

6.4 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 SAMPLE PROGRAM 6. USER PROGRAMS FOR HOLE PATTERN MENU

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 SAMPLE PROGRAM B-63423EN/02

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 SAMPLE PROGRAM 6. USER PROGRAMS FOR HOLE PATTERN MENU

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-
7. USER PROGRAMS FOR FACING MENU SAMPLE PROGRAM B-63423EN/02

7 USER PROGRAMS FOR FACING MENU

-306-
B-63423EN/02 SAMPLE PROGRAM 7. USER PROGRAMS FOR FACING MENU

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 SAMPLE PROGRAM B-63423EN/02

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 SAMPLE PROGRAM 7. USER PROGRAMS FOR FACING MENU

7.2 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 SAMPLE PROGRAM B-63423EN/02

#[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 SAMPLE PROGRAM 7. USER PROGRAMS FOR FACING MENU

#[value 17] = #0
#[address 18] = add_end
previous_cursor = 1 /* Previous cursor position clear
m99

-311-
7. USER PROGRAMS FOR FACING MENU SAMPLE PROGRAM B-63423EN/02

7.3 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 SAMPLE PROGRAM 7. USER PROGRAMS FOR FACING MENU

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 SAMPLE PROGRAM B-63423EN/02

#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 SAMPLE PROGRAM 7. USER PROGRAMS FOR FACING MENU

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 SAMPLE PROGRAM B-63423EN/02

/* green Line
color green
G242X[-17-shift_grap_X]Y[72+shift_grap_Y] /* for H
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] /* for B
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] /* for J
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

/* 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 SAMPLE PROGRAM 7. USER PROGRAMS FOR FACING MENU

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 SAMPLE PROGRAM B-63423EN/02

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 /* (1)
#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)
#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 /* (3)
#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=128+shift_grap_Y
#3=-11-shift_grap_X
#4=128+shift_grap_Y
#5=1
call fig_line

/* green Line
color green
G242X[0-shift_grap_X]Y[104+shift_grap_Y] /* for N
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] /* for U
G01X[96-shift_grap_X]Y[136+shift_grap_Y]
#1=9-shift_grap_X

-318-
B-63423EN/02 SAMPLE PROGRAM 7. USER PROGRAMS FOR FACING MENU

#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] /* for V
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] /* for M
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 /* Center
#2=72+shift_grap_Y
call fig_mark

/* 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 SAMPLE PROGRAM B-63423EN/02

#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 7. USER PROGRAMS FOR FACING MENU

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] /* for U
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] /* for V
G01X[128-shift_grap_X]Y[24+shift_grap_Y]
G242X[97-shift_grap_X]Y[120+shift_grap_Y]

-321-
7. USER PROGRAMS FOR FACING MENU SAMPLE PROGRAM B-63423EN/02

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] /* for M
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] /* for N
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] /* for Q
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] /* for R
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 /* Center
#2=72+shift_grap_Y
call fig_mark

/* Characters
#1=11
call fig_cursor
G243X[45-shift_char_X]Y[11-shift_char_Y](X)
#1=12

-322-
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 B-63423EN/02

/* 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 7. USER PROGRAMS FOR FACING MENU

#4=#2
#5=1
call fig_line
#1=0-shift_grap_X /* (3)
#2=29+shift_grap_Y
#3=-10-shift_grap_X
#4=#2
#5=1
call fig_line /* (4)
#1=0-shift_grap_X
#2=115+shift_grap_Y
#3=-10-shift_grap_X
#4=#2
#5=1
call fig_line

/* 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 /* Center
#2=72+shift_grap_Y
call fig_mark

/* 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 SAMPLE PROGRAM B-63423EN/02

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 7. USER PROGRAMS FOR FACING MENU

#3=49-shift_grap_X
#4=#2
#5=1
call fig_line
#1=112-shift_grap_X /* (1)
#2=32+shift_grap_Y
#3=122-shift_grap_X
#4=#2
#5=1
call fig_line
#1=112-shift_grap_X /* (2)
#2=144+shift_grap_Y
#3=122-shift_grap_X
#4=#2
#5=1
call fig_line
#1=8-shift_grap_X /* (3)
#2=32+shift_grap_Y
#3=-2-shift_grap_X
#4=#2
#5=1
call fig_line
#1=8-shift_grap_X /* (4)
#2=144+shift_grap_Y
#3=-2-shift_grap_X
#4=#2
#5=1
call fig_line

/* 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 /* Center
#2=88+shift_grap_Y
call fig_mark

/* 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 SAMPLE PROGRAM B-63423EN/02

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 SAMPLE PROGRAM 7. USER PROGRAMS FOR FACING MENU

7.4 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 SAMPLE PROGRAM B-63423EN/02

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 SAMPLE PROGRAM 7. USER PROGRAMS FOR FACING MENU

/* 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-
8. USER PROGRAMS FOR SIDE CUTTING MENU SAMPLE PROGRAM B-63423EN/02

8 USER PROGRAMS FOR SIDE CUTTING


MENU

-332-
B-63423EN/02 SAMPLE PROGRAM 8. USER PROGRAMS FOR SIDE CUTTING MENU

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 SAMPLE PROGRAM B-63423EN/02

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 SAMPLE PROGRAM 8. USER PROGRAMS FOR SIDE CUTTING MENU

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 SAMPLE PROGRAM B-63423EN/02

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 SAMPLE PROGRAM 8. USER PROGRAMS FOR SIDE CUTTING MENU

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 SAMPLE PROGRAM B-63423EN/02

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 SAMPLE PROGRAM 8. USER PROGRAMS FOR SIDE CUTTING MENU

8.2 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 SAMPLE PROGRAM B-63423EN/02

#[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 SAMPLE PROGRAM 8. USER PROGRAMS FOR SIDE CUTTING MENU

#[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 SAMPLE PROGRAM B-63423EN/02

#[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 SAMPLE PROGRAM 8. USER PROGRAMS FOR SIDE CUTTING MENU

#[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 SAMPLE PROGRAM B-63423EN/02

#[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 SAMPLE PROGRAM 8. USER PROGRAMS FOR SIDE CUTTING MENU

#[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 SAMPLE PROGRAM B-63423EN/02

#[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 SAMPLE PROGRAM 8. USER PROGRAMS FOR SIDE CUTTING MENU

8.3 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 SAMPLE PROGRAM B-63423EN/02

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 SAMPLE PROGRAM 8. USER PROGRAMS FOR SIDE CUTTING MENU

#[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 SAMPLE PROGRAM B-63423EN/02

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 SAMPLE PROGRAM 8. USER PROGRAMS FOR SIDE CUTTING MENU

#[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 SAMPLE PROGRAM B-63423EN/02

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 SAMPLE PROGRAM 8. USER PROGRAMS FOR SIDE CUTTING MENU

#[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 SAMPLE PROGRAM B-63423EN/02

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 SAMPLE PROGRAM 8. USER PROGRAMS FOR SIDE CUTTING MENU

#[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 SAMPLE PROGRAM B-63423EN/02

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 SAMPLE PROGRAM 8. USER PROGRAMS FOR SIDE CUTTING MENU

#[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 SAMPLE PROGRAM B-63423EN/02

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 8. USER PROGRAMS FOR SIDE CUTTING MENU

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] /* for B
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] /* for J
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] /* for H
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] /* for S
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] /* for D
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

-359-
8. USER PROGRAMS FOR SIDE CUTTING MENU SAMPLE PROGRAM B-63423EN/02

#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 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 B-63423EN/02

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 8. USER PROGRAMS FOR SIDE CUTTING MENU

/* green Line
color green
G242X[0-shift_grap_X]Y[113+shift_grap_Y] /* for U
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] /* for V
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 /* Center
#2=72+shift_grap_Y
call fig_mark

/* 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 SAMPLE PROGRAM B-63423EN/02

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 8. USER PROGRAMS FOR SIDE CUTTING MENU

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] /* for U
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] /* for V
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 /* Center
#2=72+shift_grap_Y
call fig_mark

/* 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 SAMPLE PROGRAM B-63423EN/02

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 8. USER PROGRAMS FOR SIDE CUTTING MENU

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 /* for R
#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 /* Center
#2=72+shift_grap_Y
call fig_mark

/* 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 SAMPLE PROGRAM B-63423EN/02

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 8. USER PROGRAMS FOR SIDE CUTTING MENU

endif

/* green Line
color green
#1=61-shift_grap_X /* for R
#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 /* Center
#2=72+shift_grap_Y
call fig_mark

/* 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 B-63423EN/02

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 /* for U
#2=72+shift_grap_Y
#3=87-shift_grap_X
#4=#2
#5=2
call fig_line
#1=88-shift_grap_X /* for R
#2=72+shift_grap_Y

-370-
B-63423EN/02 SAMPLE PROGRAM 8. USER PROGRAMS FOR SIDE CUTTING MENU

#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 /* Left
#2=72+shift_grap_Y
call fig_mark
#1=88-shift_grap_X /* Right
#2=72+shift_grap_Y
call fig_mark

/* 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 SAMPLE PROGRAM B-63423EN/02

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 8. USER PROGRAMS FOR SIDE CUTTING MENU

/* green Line
color green
#1=96-shift_grap_X /* for R
#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 /* for U
#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 /* Left
#2=72+shift_grap_Y
call fig_mark
#1=96-shift_grap_X /* Right
#2=72+shift_grap_Y
call fig_mark

/* 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 SAMPLE PROGRAM B-63423EN/02

#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 SAMPLE PROGRAM 8. USER PROGRAMS FOR SIDE CUTTING MENU

/* 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 SAMPLE PROGRAM B-63423EN/02

#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 /* (X,Y)(Upper)
#2=104+shift_grap_Y
call fig_mark
#1=56-shift_grap_X /* (X,Y)(Lower)
#2=24+shift_grap_Y
call fig_mark

/* 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 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 B-63423EN/02

#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 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 B-63423EN/02

#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 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 B-63423EN/02

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 SAMPLE PROGRAM 8. USER PROGRAMS FOR SIDE CUTTING MENU

8.4 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 SAMPLE PROGRAM B-63423EN/02

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 SAMPLE PROGRAM 8. USER PROGRAMS FOR SIDE CUTTING MENU

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 SAMPLE PROGRAM B-63423EN/02

/* 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 SAMPLE PROGRAM 8. USER PROGRAMS FOR SIDE CUTTING MENU

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 SAMPLE PROGRAM B-63423EN/02

/* 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 SAMPLE PROGRAM 8. USER PROGRAMS FOR SIDE CUTTING MENU

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 SAMPLE PROGRAM B-63423EN/02

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 SAMPLE PROGRAM 8. USER PROGRAMS FOR SIDE CUTTING MENU

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 SAMPLE PROGRAM B-63423EN/02

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 SAMPLE PROGRAM 8. USER PROGRAMS FOR SIDE CUTTING MENU

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-
9. USER PROGRAMS FOR POCKETING MENU SAMPLE PROGRAM B-63423EN/02

9 USER PROGRAMS FOR POCKETING MENU

-394-
B-63423EN/02 SAMPLE PROGRAM 9. USER PROGRAMS FOR POCKETING MENU

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 SAMPLE PROGRAM B-63423EN/02

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 SAMPLE PROGRAM 9. USER PROGRAMS FOR POCKETING MENU

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 SAMPLE PROGRAM B-63423EN/02

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 SAMPLE PROGRAM 9. USER PROGRAMS FOR POCKETING MENU

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 SAMPLE PROGRAM B-63423EN/02

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 SAMPLE PROGRAM 9. USER PROGRAMS FOR POCKETING MENU

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 SAMPLE PROGRAM B-63423EN/02

9.2 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 SAMPLE PROGRAM 9. USER PROGRAMS FOR POCKETING MENU

#[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 SAMPLE PROGRAM B-63423EN/02

#[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 SAMPLE PROGRAM 9. USER PROGRAMS FOR POCKETING MENU

#[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 SAMPLE PROGRAM B-63423EN/02

#[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 SAMPLE PROGRAM 9. USER PROGRAMS FOR POCKETING MENU

#[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 SAMPLE PROGRAM B-63423EN/02

#[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 SAMPLE PROGRAM 9. USER PROGRAMS FOR POCKETING MENU

#[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 SAMPLE PROGRAM B-63423EN/02

#[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 SAMPLE PROGRAM 9. USER PROGRAMS FOR POCKETING MENU

9.3 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 SAMPLE PROGRAM B-63423EN/02

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 SAMPLE PROGRAM 9. USER PROGRAMS FOR POCKETING MENU

#[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 SAMPLE PROGRAM B-63423EN/02

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 SAMPLE PROGRAM 9. USER PROGRAMS FOR POCKETING MENU

#[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 SAMPLE PROGRAM B-63423EN/02

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 SAMPLE PROGRAM 9. USER PROGRAMS FOR POCKETING MENU

#[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 SAMPLE PROGRAM B-63423EN/02

#[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 SAMPLE PROGRAM 9. USER PROGRAMS FOR POCKETING MENU

#[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 SAMPLE PROGRAM B-63423EN/02

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 SAMPLE PROGRAM 9. USER PROGRAMS FOR POCKETING MENU

#[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 SAMPLE PROGRAM B-63423EN/02

#[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 SAMPLE PROGRAM 9. USER PROGRAMS FOR POCKETING MENU

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 SAMPLE PROGRAM B-63423EN/02

#[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 SAMPLE PROGRAM 9. USER PROGRAMS FOR POCKETING MENU

/****************************************************************************
/*
/* 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 SAMPLE PROGRAM B-63423EN/02

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 9. USER PROGRAMS FOR POCKETING MENU

G242X[88-shift_grap_X]Y[113+shift_grap_Y] /* for C
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] /* for B
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] /* for J
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] /* for D
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] /* for H
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

/* Characters

-427-
9. USER PROGRAMS FOR POCKETING MENU SAMPLE PROGRAM B-63423EN/02

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 SAMPLE PROGRAM 9. USER PROGRAMS FOR POCKETING MENU

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] /* for U
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]

-429-
9. USER PROGRAMS FOR POCKETING MENU SAMPLE PROGRAM B-63423EN/02

#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] /* for V
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] /* for R
G01X[108-shift_grap_X]Y[108+shift_grap_Y]

/* yellow Cross Mark


color yellow
#1=48-shift_grap_X /* (X,Y)
#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[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 9. USER PROGRAMS FOR POCKETING MENU

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 /* for R
#2=72+shift_grap_Y
#3=16.402-shift_grap_X
#4=32.402+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

/* Characters
#1=17

-431-
9. USER PROGRAMS FOR POCKETING MENU SAMPLE PROGRAM B-63423EN/02

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 9. USER PROGRAMS FOR POCKETING MENU

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] /* for U
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

/* 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 SAMPLE PROGRAM B-63423EN/02

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 9. USER PROGRAMS FOR POCKETING MENU

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] /* for U
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] /* for K
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] /* for M
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

-435-
9. USER PROGRAMS FOR POCKETING MENU SAMPLE PROGRAM B-63423EN/02

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 SAMPLE PROGRAM 9. USER PROGRAMS FOR POCKETING MENU

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] /* for V
G01X[24-shift_grap_X]Y[136+shift_grap_Y]
G242X[96-shift_grap_X]Y[105+shift_grap_Y]

-437-
9. USER PROGRAMS FOR POCKETING MENU SAMPLE PROGRAM B-63423EN/02

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] /* for D
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] /* for B
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] /* for J
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] /* for H
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

/* 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 9. USER PROGRAMS FOR POCKETING MENU

#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 /* X coordinate of Top of Tool
#21=123+shift_grap_Y /* Y coordinate of Top of Tool
color green /* green for Inner
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 /* purple for Edge
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]

/* 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 SAMPLE PROGRAM B-63423EN/02

/* 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 /* X coordinate of Top of Tool
#21=147+shift_grap_Y /* Y coordinate of Top of Tool
color green /* green for Inner
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]

-440-
B-63423EN/02 SAMPLE PROGRAM 9. USER PROGRAMS FOR POCKETING MENU

G01X[#20]Y[#21+1]
G206P0X[#20]Y[#21+5]
color purple /* purple for Edge
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]

/* 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 SAMPLE PROGRAM B-63423EN/02

#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] /* 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
G242X[113-shift_grap_X]Y[120+shift_grap_Y]
G01X[136-shift_grap_X]Y[120+shift_grap_Y]

/* Characters

-442-
B-63423EN/02 SAMPLE PROGRAM 9. USER PROGRAMS FOR POCKETING MENU

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 SAMPLE PROGRAM B-63423EN/02

G01X[#20+1]Y[#21-48]
G01X[#20+1]Y[#21-1]
#1=47-shift_char_X /* for J
#2=9-shift_char_Y
#3=1
call fig_character
G206P0X[#20+10]Y[#21-10]
color purple /* for Tool Edge
#20 =16-shift_grap_X /* Left Up Point X
#21 =136+shift_grap_Y /* Left Up Point 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]

/* 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 SAMPLE PROGRAM 9. USER PROGRAMS FOR POCKETING MENU

#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 SAMPLE PROGRAM B-63423EN/02

#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 SAMPLE PROGRAM 9. USER PROGRAMS FOR POCKETING MENU

9.4 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 SAMPLE PROGRAM B-63423EN/02

/* 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 SAMPLE PROGRAM 9. USER PROGRAMS FOR POCKETING MENU

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 SAMPLE PROGRAM B-63423EN/02

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 SAMPLE PROGRAM 9. USER PROGRAMS FOR POCKETING MENU

/* 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 SAMPLE PROGRAM B-63423EN/02

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 SAMPLE PROGRAM 9. USER PROGRAMS FOR POCKETING MENU

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 SAMPLE PROGRAM B-63423EN/02

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 SAMPLE PROGRAM 9. USER PROGRAMS FOR POCKETING MENU

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 SAMPLE PROGRAM B-63423EN/02

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 SAMPLE PROGRAM 9. USER PROGRAMS FOR POCKETING MENU

/* 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 SAMPLE PROGRAM B-63423EN/02

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 SAMPLE PROGRAM 10. USER PROGRAMS FOR CALIBRATION CYCLE MENU

10 USER PROGRAMS FOR CALIBRATION


CYCLE MENU

-459-
10. USER PROGRAMS FOR CALIBRATION CYCLE MENU SAMPLE PROGRAM B-63423EN/02

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 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 B-63423EN/02

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 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 B-63423EN/02

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 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 B-63423EN/02

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 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 B-63423EN/02

#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 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 B-63423EN/02

/*
#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 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 B-63423EN/02

/*
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 SAMPLE PROGRAM 10. USER PROGRAMS FOR CALIBRATION CYCLE MENU

10.4 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 B-63423EN/02

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 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 SAMPLE PROGRAM B-63423EN/02

11 USER PROGRAMS FOR MEASURING


CYCLE MENU

-476-
B-63423EN/02 SAMPLE PROGRAM 11. USER PROGRAMS FOR MEASURING CYCLE MENU

11.1 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 B-63423EN/02

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 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 B-63423EN/02

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 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 B-63423EN/02

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 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 B-63423EN/02

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 11. USER PROGRAMS FOR MEASURING CYCLE MENU

/*
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

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 B-63423EN/02

/*
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 11. USER PROGRAMS FOR MEASURING CYCLE MENU

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

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 B-63423EN/02

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 SAMPLE PROGRAM 11. USER PROGRAMS FOR MEASURING CYCLE MENU

11.2 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 SAMPLE PROGRAM B-63423EN/02

#[attribute 2] = att_character
#[value 2] = 1 /* 1:X AXIS,2:Y AXIS
/* 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 /* 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

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 SAMPLE PROGRAM 11. USER PROGRAMS FOR MEASURING CYCLE MENU

#[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

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 SAMPLE PROGRAM B-63423EN/02

/* 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

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 SAMPLE PROGRAM 11. USER PROGRAMS FOR MEASURING CYCLE MENU

#[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 /* 1:G54,2:G55,3:G56,4:G57,5:G58,6:G59
/* 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

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 SAMPLE PROGRAM B-63423EN/02

#[value 8] = #0
/* Work co-ord. System */
#[address 9] = add_W
#[attribute 9] = att_character
#[value 9] = #0 /* 1:G54,2:G55,3:G56,4:G57,5:G58,6:G59
/* 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

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 SAMPLE PROGRAM 11. USER PROGRAMS FOR MEASURING CYCLE MENU

/* 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 /* 1:G54,2:G55,3:G56,4:G57,5:G58,6:G59
/* 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

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 SAMPLE PROGRAM B-63423EN/02

#[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 /* 1:+X,2:-X,3:+Y,4:-Y
/* 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

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 11. USER PROGRAMS FOR MEASURING CYCLE MENU

11.3 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 B-63423EN/02

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 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 B-63423EN/02

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 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 B-63423EN/02

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 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 B-63423EN/02

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 SAMPLE PROGRAM 11. USER PROGRAMS FOR MEASURING CYCLE MENU

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 SAMPLE PROGRAM B-63423EN/02

#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 SAMPLE PROGRAM 11. USER PROGRAMS FOR MEASURING CYCLE MENU

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 SAMPLE PROGRAM B-63423EN/02

#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 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 B-63423EN/02

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 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 B-63423EN/02

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 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 B-63423EN/02

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 SAMPLE PROGRAM 11. USER PROGRAMS FOR MEASURING CYCLE MENU

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 SAMPLE PROGRAM B-63423EN/02

#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 SAMPLE PROGRAM 11. USER PROGRAMS FOR MEASURING CYCLE MENU

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 SAMPLE PROGRAM B-63423EN/02

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 SAMPLE PROGRAM 11. USER PROGRAMS FOR MEASURING CYCLE MENU

/*
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 SAMPLE PROGRAM B-63423EN/02

#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 SAMPLE PROGRAM 11. USER PROGRAMS FOR MEASURING CYCLE MENU

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 SAMPLE PROGRAM B-63423EN/02

#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 SAMPLE PROGRAM 11. USER PROGRAMS FOR MEASURING CYCLE MENU

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 SAMPLE PROGRAM B-63423EN/02

#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 SAMPLE PROGRAM 11. USER PROGRAMS FOR MEASURING CYCLE MENU

#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 SAMPLE PROGRAM B-63423EN/02

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 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 B-63423EN/02

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 SAMPLE PROGRAM 11. USER PROGRAMS FOR MEASURING CYCLE MENU

#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 SAMPLE PROGRAM B-63423EN/02

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 SAMPLE PROGRAM 11. USER PROGRAMS FOR MEASURING CYCLE MENU

#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 SAMPLE PROGRAM B-63423EN/02

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 SAMPLE PROGRAM 11. USER PROGRAMS FOR MEASURING CYCLE MENU

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 SAMPLE PROGRAM B-63423EN/02

#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 SAMPLE PROGRAM 11. USER PROGRAMS FOR MEASURING CYCLE MENU

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 SAMPLE PROGRAM B-63423EN/02

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 SAMPLE PROGRAM 11. USER PROGRAMS FOR MEASURING CYCLE MENU

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 SAMPLE PROGRAM B-63423EN/02

#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 SAMPLE PROGRAM 11. USER PROGRAMS FOR MEASURING CYCLE MENU

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 SAMPLE PROGRAM B-63423EN/02

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 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 B-63423EN/02

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 SAMPLE PROGRAM 11. USER PROGRAMS FOR MEASURING CYCLE MENU

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 SAMPLE PROGRAM B-63423EN/02

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 SAMPLE PROGRAM 11. USER PROGRAMS FOR MEASURING CYCLE MENU

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 SAMPLE PROGRAM B-63423EN/02

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 SAMPLE PROGRAM 11. USER PROGRAMS FOR MEASURING CYCLE MENU

#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 SAMPLE PROGRAM B-63423EN/02

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 SAMPLE PROGRAM 11. USER PROGRAMS FOR MEASURING CYCLE MENU

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 SAMPLE PROGRAM B-63423EN/02

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 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 B-63423EN/02

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 SAMPLE PROGRAM 11. USER PROGRAMS FOR MEASURING CYCLE MENU

11.4 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 B-63423EN/02

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 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 B-63423EN/02

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 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 B-63423EN/02

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 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 B-63423EN/02

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 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 B-63423EN/02

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 SAMPLE PROGRAM 12. USER PROGRAMS FOR GUIDANCE CUTTING

12 USER PROGRAMS
CUTTING
FOR GUIDANCE

-563-
12. USER PROGRAMS FOR GUIDANCE CUTTING SAMPLE PROGRAM B-63423EN/02

12.1 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 SAMPLE PROGRAM B-63423EN/02

@SIN_CCW #10341 /*
@COS_CCW #10342 /*
@L_WRK #10343 /*
@D_DSP 10344 /* VARIABLE NO.
@D_DSP0 #10345 /*
@ANG_ITEM #10346 /*
@WORK_TL #10347 /*
/* #10348 /* -#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 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 SAMPLE PROGRAM B-63423EN/02

ELSE
WORK_Y = WORK_Y1
ENDIF
WORK_POS = WORK_Y /* 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 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 SAMPLE PROGRAM B-63423EN/02

WORK_SET = [WORK_Y2-WORK_Y1]/[WORK_X2-WORK_X1]
GOTO 357
N355 WORK_SET = TAN[WORK_A]
N357 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]]
N381 WORK_COS = WORK_COS * WORK_230
GOTO 387
N380 WORK_SET = [WORK_A]
WORK_SET = -[1/TAN[WORK_A]]
WORK_SET = ATAN[WORK_SET]/[1]
WORK_COS = [COS[WORK_SET]]
N382 WORK_COS = WORK_COS * WORK_230
N387 IF [COFI_A LT 0 &&[COFI_B] EQ 0] THEN WORK_COS=-WORK_COS
GOTO 359
N358 IF [CROS_X-W_POS1 LE 0] THEN
WORK_COS=-WORK_COS
ENDIF
/**
N359 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]
N383 WORK_SIN = [SIN[WORK_SET]]
WORK_SIN = WORK_SIN * WORK_230
GOTO 388
N385 WORK_SET = [WORK_A]
WORK_SET = -[1/TAN[WORK_A]]
WORK_SET = ATAN[WORK_SET]/[1]
WORK_SIN = [SIN[WORK_SET]]
N384 WORK_SIN = WORK_SIN * WORK_230
N388 IF [COFI_A LT 0 &&[COFI_B] EQ 0] THEN WORK_SIN=-WORK_SIN
GOTO 362
N361 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 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 SAMPLE PROGRAM B-63423EN/02

WORK_MIN=0.00001 /*
ENDIF /*
/*
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 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 /* sift direction up/down
WORK_POS = COFI_B + WORK_TL /* new cofi_b
WORK_Y = COFI_A*W_POS1+WORK_POS
/*
N34 IF[ROUND[[W_POS2-WORK_Y]*WORK_AMT]/WORK_AMT LE WORK_MIN || ROUND[ABS[W_POS2-
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-
12. USER PROGRAMS FOR GUIDANCE CUTTING SAMPLE PROGRAM B-63423EN/02

N540 IF [R985.6 EQ 1] GOTO 900 /* GUIDANCE CUTTING?


/*
N560 IF [F_DNOW EQ F_DAGO] GOTO 900 /* IF NOW NE AGO THEN
F_DAGO=F_DNOW /*
/*
N100 WORK_ARW=0 /*CUTTING DIRECTION IS LOWER
/*
IF [WORK_FAB EQ 0 && F_DNOW EQ 1] THEN /*
WORK_ARW=1 /*CUTTING DIRECTION IS UPPER
ENDIF /*
/*
N800 IF [WORK_FAB EQ 1 && F_DNOW EQ 0] THEN /*
WORK_ARW=1 /*CUTTING DIRECTION IS UPPER
ENDIF /*
/*
N850 WORK_ALR=F_AP1 /*ALONG HANDLE
WORK_APU=F_RM1 /*APPROACH HANDLE
/*
WORK_S=SIN[WORK_SET] /*SIN A
WORK_C=COS[WORK_SET] /*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 /*CLEAR PART GRPH
/*
N300 M98 P9803 /*DISPLAY HANDLE ARROW
/*
N350
/*
N900 M99
/*
/*****************************************
/* DISP HANDLE ARROW OF LIME MODE
/*****************************************
O9803
G244 P0 ; /* set solid line

W_CXPOS = -40 ; /* offset x pos


W_CYPOS = 168 ; /* offset y pos

CUNT = 0 ; /* counter clear


ASET = 0 ; /* init angle

/* WORK_C = COS[W_TEST] /* for debug


/* WORK_S = SIN[W_TEST] /*
/* W_COS = WORK_C /*
/* W_SIN = WORK_S /*

WHILE [CUNT LT 4] DO 1 ; /* 4 times

DRCT_CUT = 0 ; /* cutter direction

/* set angle
W_COS = WORK_C*COS[ASET]-WORK_S*SIN[ASET] ;
W_SIN = WORK_C*SIN[ASET]+WORK_S*COS[ASET] ;

IF [CUNT EQ 1] THEN ; /*
IF [WORK_ARW EQ 0] THEN ; /* if approach direction ↓?
G240 P2 ; /* set color green
ELSE ; /*
G240 P5 ; /* set color pink
DRCT_CUT = 1 ; /* set cutter direction
ENDIF ; /*

-574-
B-63423EN/02 SAMPLE PROGRAM 12. USER PROGRAMS FOR GUIDANCE CUTTING

ENDIF; /*

IF [CUNT EQ 3] THEN ; /*
IF [WORK_ARW EQ 0] THEN ; /* if approach direction ↓?
G240 P5 ; /* set color pink
DRCT_CUT = 1 ; /* set cutter direction
ELSE ; /*
G240 P2 ; /* set color green
ENDIF ; /*
ENDIF; /*

IF [CUNT EQ 0 || CUNT EQ 2] THEN; /*


G240 P6 ; /* set color light blue
ENDIF;

/* arrow on line
G242 X[48*W_COS+W_CXPOS] Y[48*W_SIN+W_CYPOS]
G01 X[[48-12]*W_COS-[0-6]*W_SIN+W_CXPOS] Y[[48-12]*W_SIN+[0-6]*W_COS+W_CYPOS]
G01 X[[48-12]*W_COS-[0+6]*W_SIN+W_CXPOS] Y[[48-12]*W_SIN+[0+6]*W_COS+W_CYPOS]
G01 X[48*W_COS+W_CXPOS] Y[48*W_SIN+W_CYPOS]
G206 X[[48-5]*W_COS+W_CXPOS] Y[[48-5]*W_SIN+W_CYPOS]

/* 3dot line
G242 X[48*W_COS+W_CXPOS] Y[48*W_SIN+W_CYPOS] ;
G01 X[W_CXPOS] Y[W_CYPOS] ;
G242 X[[48-5]*W_COS+W_CXPOS+1] Y[[48-5]*W_SIN+W_CYPOS] ;
G01 X[W_CXPOS+1] Y[W_CYPOS] ;
G242 X[[48-5]*W_COS+W_CXPOS] Y[[48-5]*W_SIN+W_CYPOS+1] ;
G01 X[W_CXPOS] Y[W_CYPOS+1] ;
G242 X[[48-5]*W_COS+W_CXPOS-1] Y[[48-5]*W_SIN+W_CYPOS] ;
G01 X[W_CXPOS-1] Y[W_CYPOS] ;
G242 X[[48-5]*W_COS+W_CXPOS] Y[[48-5]*W_SIN+W_CYPOS-1] ;
G01 X[W_CXPOS] Y[W_CYPOS-1] ;

/* set handle circle center


W_HDCXP = 40*W_COS-23*W_SIN+W_CXPOS ;
W_HDCYP = 40*W_SIN+23*W_COS+W_CYPOS ;

/* draw handle circle


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]

/* draw handle inside circle


G240 P7 ; /* set color white
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 ; /* set color


IF [WORK_ALR EQ 1] THEN ;
IF [CUNT EQ 0] THEN;
GOTO 20 /* right rotation
ENDIF;
IF [CUNT EQ 2] THEN;
GOTO 30 /* left rotation
ENDIF;
ENDIF;

-575-
12. USER PROGRAMS FOR GUIDANCE CUTTING SAMPLE PROGRAM B-63423EN/02

IF [WORK_ALR EQ 2] THEN ;
IF [CUNT EQ 0] THEN;
GOTO 30 /* left rotation
ENDIF;
IF [CUNT EQ 2] THEN;
GOTO 20 /* right rotation
ENDIF;
ENDIF;

IF [WORK_APU EQ 1] THEN ;
IF [CUNT EQ 1] THEN;
GOTO 20 /* right rotation
ENDIF;
IF [CUNT EQ 3] THEN;
GOTO 30 /* left rotation
ENDIF;
ENDIF;

IF [WORK_APU EQ 2] THEN ;
IF [CUNT EQ 1] THEN;
GOTO 30 /* left rotation
ENDIF;
IF [CUNT EQ 3] THEN;
GOTO 20 /* right rotation
ENDIF ;
ENDIF ;

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 limit set ?


IF [DRCT_CUT EQ 1] THEN ; /* 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-
B-63423EN/02 SAMPLE PROGRAM 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 ; /* +90


CUNT = CUNT + 1 ; /* loop count up

END 1; /* 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

/* top dot line


N010 G244 P1 ; /* line kind = dot
G242 X-112 Y176 ;
G01 X16 Y176 ;

G244 P0 ; /* 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 ; /* color = black
G243 X27 Y1 ('(X2,Y2)') ;
G243 X30 Y5 ('(X1,Y1)') ;
G243 X36 Y3 ('A') ;

N999 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-
B-63423EN/02 SAMPLE PROGRAM 12. USER PROGRAMS FOR GUIDANCE CUTTING

WRK_VAR= 0 /* set default sin data


WRK_VAR2= 1 /* set default cos data
ENDIF
ENDIF
/*
IF[DSP_FWRK EQ 1] THEN /* DISPLAY GRAPHIC?
DSP_FWRK=0 /* FLAG OFF
GOTO 500 /* NOT CHECK F104
ENDIF
/*
N2010 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
/*
N800 IF [ ABS[WRK_VAR-SIN_CCW] GE 0.0175] GOTO 500 /* IF SIN CHANGED
/* /*
N820 IF [ ABS[WRK_VAR2-COS_CCW] GE 0.0175] GOTO 500 /* IF COS CHANGED
/* /*
N850 IF [#D_DSP*D_DSP0 LT -[WORK_MIN] ] GOTO 500 /* IF SIGN OF D CHANGED
/* /*
GOTO 900 /*
/*
N500 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
/*
N600 WORK_ARW=0 /*CUTTING HANLE IS LEFT
/*
N610 IF [R974 EQ 0 && #D_DSP GE 0] THEN /*
WORK_ARW=1 /*CUTTING HANLE IS RIGHT
ENDIF /*
/*
N630 IF [R974 EQ 1 && #D_DSP LT 0] THEN /*
WORK_ARW=1 /*CUTTING HANLE IS RIGHT
ENDIF /*
/*
N650 WORK_ALU=1 /*ALONG HANDLE UPPER IS RIGHT

-581-
12. USER PROGRAMS FOR GUIDANCE CUTTING SAMPLE PROGRAM B-63423EN/02

/*
N660 IF [R961 EQ 3] THEN /*G03
WORK_ALU=2 /*ALONG HANDLE UPPER IS LEFT
ENDIF /*
/*
N680 WORK_APR=1 /*APPROACH RIGHT IS RIGHT
/*
IF [R974 EQ 1] THEN /*
WORK_APR=2 /*APPROACH RIGHT IS LEFT
ENDIF /*
/*
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
N635 IF [WORK_APR EQ 1] THEN
WORK_APR=2
ELSE
WORK_APR=1
ENDIF
ENDIF
ENDIF
/*
N685 WORK_S=SIN_CCW /*SIN
WORK_C=COS_CCW /*COS
/*
WORK_LMT=R975.7 /*LIMIT SIGNAL
/*
/* clear graphic area
/*
G202 X23 Y1 I22 J7 P2 /* clear figure screen(CHAR)
/*
G202 X23 Y1 I22 J8 P1 /*CLEAR PART GRPH
/*
M98 P9808 /*DRAW HANDLE DIRECTION
/*
N900 M99
/*
/************************************************
/* DISP HANDLE ARROW OF CIRCLE MODE
/************************************************
O9808
G244 P0 ; /* set solid line

W_CXPOS = -40 ; /* offset x pos


W_CYPOS = 168 ; /* offset y pos

CUNT = 0 ; /* counter clear


ASET = 0 ; /* init angle

/* WORK_C = COS[W_TEST] /* for debug


/* WORK_S = SIN[W_TEST] /*
/* W_COS = WORK_C /*
/* W_SIN = WORK_S /*

WHILE [CUNT LT 4] DO 1 ; /* 4 times

DRCT_CUT = 0 ; /* cutter direction


/* set angle
W_COS = WORK_C*COS[ASET]-WORK_S*SIN[ASET] ;
W_SIN = WORK_C*SIN[ASET]+WORK_S*COS[ASET] ;

IF [CUNT EQ 0] THEN ; /*

-582-
B-63423EN/02 SAMPLE PROGRAM 12. USER PROGRAMS FOR GUIDANCE CUTTING

IF [WORK_ARW EQ 0] THEN ; /* if approach direction ?


G240 P2 ; /* set color green
ELSE ; /*
G240 P5 ; /* set color pink
DRCT_CUT = 1 ; /* set cutter direction
ENDIF ; /*
ENDIF; /*

IF [CUNT EQ 2] THEN ; /*
IF [WORK_ARW EQ 0] THEN ; /* if approach direction ?
G240 P5 ; /* set color pink
DRCT_CUT = 1 ; /* set cutter direction
ELSE ; /*
G240 P2 ; /* set color green
ENDIF ; /*
ENDIF; /*

IF [CUNT EQ 1 || CUNT EQ 3] THEN ; /*


G240 P6 ; /* set color light blue
ENDIF;

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-
B-63423EN/02 SAMPLE PROGRAM 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]

/* draw handle inside circle


G240 P7 ; /* set color white
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 ; /* set color white


IF [WORK_APR EQ 1] THEN ;
IF [CUNT EQ 0] THEN;
GOTO 20 /* right rotation
ENDIF;
IF [CUNT EQ 2] THEN;
GOTO 30 /* left rotation
ENDIF;
ENDIF;

IF [WORK_APR EQ 2] THEN ;
IF [CUNT EQ 0] THEN;
GOTO 30 /* left rotation
ENDIF;
IF [CUNT EQ 2] THEN;
GOTO 20 /* right rotation
ENDIF;
ENDIF;

IF [WORK_ALU EQ 1] THEN ;
IF [CUNT EQ 1] THEN;
GOTO 30 /* left rotation
ENDIF;
IF [CUNT EQ 3] THEN;
GOTO 20 /* right rotation
ENDIF;
ENDIF;

IF [WORK_ALU EQ 2] THEN ;
IF [CUNT EQ 1] THEN;
GOTO 20 /* right rotation
ENDIF;
IF [CUNT EQ 3] THEN;
GOTO 30 /* left rotation
ENDIF ;
ENDIF ;

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 limit set ?


IF [DRCT_CUT EQ 1] THEN ; /* 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 ; /* +90


CUNT = CUNT + 1 ; /* loop count up

END 1; /* 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 ; /* color = black


G243 X32 Y4 ('(X,Y)') ;
G243 X33 Y2 ('R') ;

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 B-63423EN/02

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 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 SAMPLE PROGRAM B-63423EN/02

12.2 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-
B-63423EN/02 INDEX

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
COMMENT IN A TITLE BAR...................................... 16 <E>
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
COMMENT OF SOFT-KEYS FOR EACH MENU ...... 25 <I>
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
COMMENT OF SOFT-KEYS IN EDIT FUNCTION <M>
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
Revision Record

FANUC MANUAL GUIDE For Milling PROGRAMMING MANUAL (B-63423EN/01)

- Applied to 16i/18i/21i-B
02 May, 2001
- Addition of new functions

01 Nov., 1999

Edition Date Contents Edition Date Contents


• No part of this manual may be
reproduced in any form.

• All specifications and designs


are subject to change without
notice.

You might also like