Manual Guide For Milling 603 Pages
Manual Guide For Milling 603 Pages
Manual Guide For Milling 603 Pages
Programming Manual
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.
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.
s-1
SAFETY PRECAUTIONS B-63423EN/02
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
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
c-2
B-63423EN/02 TABLE OF CONTENTS
c-3
TABLE OF CONTENTS B-63423EN/02
-3-
1. OUTLINE OF USER PROGRAM USER PROGRAM B-63423EN/02
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.
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
-5-
3. CREATING LOADING FILES USER PROGRAM B-63423EN/02
-6-
B-63423EN/02 USER PROGRAM 3. CREATING LOADING FILES
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)
<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
<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-
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
NOTE
5 Without the conclusion of the confidentiality
contract, the load module is provided and the steps
below are not required.
Link (MLINK)
BJ41.PG1 to 4 BJ41.ROM
DUMMY.REL
Load to CNC
-10-
B-63423EN/02 USER PROGRAM 3. CREATING LOADING FILES
Compile (MCOMP0)
*.SRC *.REL
Link (MLINK)
F16IMP1M.MEX BJ41_U1.ROM
*.REL
Load to CNC
-11-
4. START-UP MACRO PROGRAM USER PROGRAM B-63423EN/02
Start-up Macro Program Number and the variable start number which
is used in Start-up Macro Program, are set to the following parameter.
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
-13-
4. START-UP MACRO PROGRAM USER PROGRAM B-63423EN/02
-14-
B-63423EN/02 USER PROGRAM 5. COMMENT ON A MANUAL GUIDE SCREEN
-15-
5. COMMENT ON A MANUAL GUIDE SCREEN USER PROGRAM B-63423EN/02
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.
MANUAL GUIDE
-16-
B-63423EN/02 USER PROGRAM 5. COMMENT ON A MANUAL GUIDE SCREEN
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
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
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
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
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
O700n ;
N3030 ( alphanumeric letters for comment (1)) ;
Maximum 30 ch.
N3031 – N3041 ( alphanumeric letters for comment (2) – (12)) ;
Maximum 20 ch.
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
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.
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
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
-25-
6. COMMENT OF SOFT-KEYS FOR EACH MENU USER PROGRAM B-63423EN/02
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
INIT TOOL MSF COMP POSTIN CONTUR CYCLE TEACH USER RETURN +
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
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
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
-30-
B-63423EN/02 USER PROGRAM 6. COMMENT OF SOFT-KEYS FOR EACH MENU
-31-
6. COMMENT OF SOFT-KEYS FOR EACH MENU USER PROGRAM B-63423EN/02
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
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
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
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
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
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
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
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
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.
-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
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
-44-
B-63423EN/02 USER PROGRAM 7. COMMENT OF INPUT DATA ITEM
INIT TOOL MSF COMP POSTIN CONTUR CYCLE TEACH USER RETURN
-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.
-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
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
NOTE
4 As for the output data by selecting each soft-key,
the sequence number of the third digit corresponds
to 5.
-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
By pushing each soft-keys, the detail menu of each cycle motion will
be displayed. [FACE] is pushed here.
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
NOTE
5 As for the output data by selecting each soft-key,
the sequence number of the third digit corresponds
to 5.
-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
-56-
B-63423EN/02 USER PROGRAM 8. DATA STRUCTURE OF MACHINING PROGRAM
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.
-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
2). Address
The address of the argument for G code is specified as follows.
-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)
(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
-62-
B-63423EN/02 USER PROGRAM 9. USER PROGRAMS FOR DISPLAYING GUIDANCE DRAWING FIGURE
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.
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.
-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
(34,2)
(58,2)
(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)
(151,-8)
(-80,-8)
-65-
9. USER PROGRAMS FOR DISPLAYING GUIDANCE DRAWING FIGURE USER PROGRAM B-63423EN/02
-66-
B-63423EN/02 USER PROGRAM 9. USER PROGRAMS FOR DISPLAYING GUIDANCE DRAWING FIGURE
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
-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
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:
-68-
B-63423EN/02 USER PROGRAM 10. USER PROGRAMS FOR CHECKING INPUTTED DATA
l #6009 : The cursor moves to the data item when the item number
of wrong data is inputted.
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
-71-
11 USER PROGRAMS FOR EXECUTING MACHINING PROGRAM USER PROGRAM B-63423EN/02
-72-
B-63423EN/02 USER PROGRAM 12. USER PROGRAM FOR TOOL CHANGE
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_ ;
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
-74-
B-63423EN/02 USER PROGRAM 13. PMC CUSTOMIZING TOOLS
-75-
13. PMC CUSTOMIZING TOOLS USER PROGRAM B-63423EN/02
NOTE
This function is available only at Guidance cutting
operation. If other operation such as ordinary
machining operation is selected, it cannot be used.
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
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".
-77-
13. PMC CUSTOMIZING TOOLS USER PROGRAM B-63423EN/02
<Timing Chart>
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
-79-
13. PMC CUSTOMIZING TOOLS USER PROGRAM B-63423EN/02
When the operator pushes the [EDIT] soft-key for program editing,
the MANUAL GUIDE system software sets the following signal
(DO) to 1:
-80-
B-63423EN/02 USER PROGRAM 13. PMC CUSTOMIZING TOOLS
When the operator pushes the [MDI] soft-key for MDI operation, the
MANUAL GUIDE system software sets the following signal (DO) to
1:
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
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
-82-
B-63423EN/02 USER PROGRAM 13. PMC CUSTOMIZING TOOLS
GST2
(CNC -> PMC)
ST
(PMC -> CNC)
STL
(CNC -> PMC)
-83-
13. PMC CUSTOMIZING TOOLS USER PROGRAM B-63423EN/02
Y
Tool
R975 1 byte #7 #0
Set 0 always
-84-
B-63423EN/02 USER PROGRAM 13. PMC CUSTOMIZING TOOLS
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.
G023.4 (HDLF)
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
-86-
B-63423EN/02 USER PROGRAM 13. PMC CUSTOMIZING TOOLS
The following signals (DI) are provided so that the teaching functions
[AUX], [RAPID], and [CUT] can also be started from the manual
pulse box:
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
-88-
B-63423EN/02 USER PROGRAM 14. USER WINDOW PROGRAMS
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
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
-90-
B-63423EN/02 USER PROGRAM 14. USER WINDOW PROGRAMS
-91-
14. USER WINDOW PROGRAMS USER PROGRAM B-63423EN/02
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
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.
:
G243X10.Y10.(X=);
G243X12.Y10.D#10505;
:
User window
X=123.456
-94-
B-63423EN/02 USER PROGRAM 14. USER WINDOW PROGRAMS
(0,0)
(79,29)
247
(0,0)
0,0)
-320 319
-232
-95-
14. USER WINDOW PROGRAMS USER PROGRAM B-63423EN/02
User window
:
G242X-280Y30;
G01X-100Y150;
:
-96-
B-63423EN/02 USER PROGRAM 14. USER WINDOW PROGRAMS
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
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.
No. Description
No. 9164 Program number of the second startup macro
No. 9165 Starting variable number for definition of the editing macro
USER MAC USER MAC USER MAC USER MAC USER MAC RETURN
HINING1 HINING2 HINING3 HINING4 HINING5
-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.
-99-
14. USER WINDOW PROGRAMS USER PROGRAM B-63423EN/02
-100-
B-63423EN/02 USER PROGRAM 14. USER WINDOW PROGRAMS
14.8 RESTRICTIONS
-101-
15. DISPLAYING USER-SPECIFIED STRINGS USER PROGRAM B-63423EN/02
-102-
B-63423EN/02 USER PROGRAM 15. DISPLAYING USER-SPECIFIED STRINGS
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
-103-
15. DISPLAYING USER-SPECIFIED STRINGS USER PROGRAM B-63423EN/02
15.2 PARAMETERS
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
-106-
B-63423EN/02 USER PROGRAM 16. MEASUREMENT CYCLE
By pushing the [CYCLE] in the editing menu, the cycle menu below
is displayed.
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
-107-
16. MEASUREMENT CYCLE USER PROGRAM B-63423EN/02
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.
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
NOTE
5 Data output with each soft-key corresponds to the
value of a sequence number whose third digit is 5.
-109-
16. MEASUREMENT CYCLE USER PROGRAM B-63423EN/02
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
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
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
-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
-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
-118-
B-63423EN/02 SAMPLE PROGRAM 1. LIST OF USER PROGRAMS
-119-
1. LIST OF USER PROGRAMS SAMPLE PROGRAM B-63423EN/02
-120-
B-63423EN/02 SAMPLE PROGRAM 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
/*** Parameter
@inch_mm P9920AND32
@inch_mm_on 32
@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
@shift_grap_Y 32
@shift_char_Y 2
@shift_grap_X 8
@shift_char_X 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
-123-
2. USER PROGRAMS FOR SYSTEM COMMENT SAMPLE PROGRAM B-63423EN/02
-124-
B-63423EN/02 SAMPLE PROGRAM 2. USER PROGRAMS FOR SYSTEM COMMENT
-125-
2. USER PROGRAMS FOR SYSTEM COMMENT SAMPLE PROGRAM B-63423EN/02
-126-
B-63423EN/02 SAMPLE PROGRAM 2. USER PROGRAMS FOR SYSTEM COMMENT
-127-
3. USER PROGRAMS FOR G-CODE MENU SAMPLE PROGRAM B-63423EN/02
-128-
B-63423EN/02 SAMPLE PROGRAM 3. USER PROGRAMS FOR G-CODE MENU
/****************************************************************************
/*
/* 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
/****************************************************************************
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
-130-
B-63423EN/02 SAMPLE PROGRAM 3. USER PROGRAMS FOR G-CODE MENU
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
N0100('6');
N0101("20 01 C010 20")('RAPID ');
N0102("20 01 C018 20")('CUT ');
N0151('0');
N0152('1');
M99
-131-
3. USER PROGRAMS FOR G-CODE MENU SAMPLE PROGRAM B-63423EN/02
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
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
/****************************************************************************
/*
/* 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
/* 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
-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
#[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
#[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
/****************************************************************************
/*
/* 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
-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
-139-
3. USER PROGRAMS FOR G-CODE MENU SAMPLE PROGRAM B-63423EN/02
-140-
B-63423EN/02 SAMPLE PROGRAM 3. USER PROGRAMS FOR G-CODE MENU
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
/* 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
-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
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
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
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
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
-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
-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
-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
/* 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
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
-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)
/* 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
/* 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
-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
/*
/****************************************************************************
-159-
3. USER PROGRAMS FOR G-CODE MENU SAMPLE PROGRAM B-63423EN/02
N0010(' subrogram');
N0011('M99:End of subrogram');
; 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');
; 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');
-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
; 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');
-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');
; CHECK*.SRC message
N0900('Data is lacking.');
N0901('Input error in menu param.');
M99
; 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');
; 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');
; CHECK*.SRC message
N0900('Data is lacking.');
N0901('Input error in menu param.');
M99
-163-
3. USER PROGRAMS FOR G-CODE MENU SAMPLE PROGRAM B-63423EN/02
; 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');
; 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');
; CHECK*.SRC message
N0900('Data is lacking.');
N0901('Input error in menu param.');
M99
-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/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');
; 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');
; 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
/****************************************************************************
/*
/* 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
-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
-168-
B-63423EN/02 SAMPLE PROGRAM 3. USER PROGRAMS FOR G-CODE MENU
/* ############################################### 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
-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
/****************************************************************************
/*
/* 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
/****************************************************************************
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
-173-
4. USER PROGRAMS FOR CONTOUR PROFILE MENU SAMPLE PROGRAM B-63423EN/02
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
M99
M99
-174-
B-63423EN/02 SAMPLE PROGRAM 4. USER PROGRAMS FOR CONTOUR PROFILE MENU
N9998('CHAMFER(DETAIL SET)');
N0003('CHAMFER');
M99
N0300('12');
N0301("20 01 C010 20")(' END ');
N0302("20 01 C018 20")(' CONT ');
N0351('1');
N0352('2');
M99
-175-
4. USER PROGRAMS FOR CONTOUR PROFILE MENU SAMPLE PROGRAM B-63423EN/02
/****************************************************************************
/*
/* 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
-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
-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
-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
-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
-180-
B-63423EN/02 SAMPLE PROGRAM 4. USER PROGRAMS FOR CONTOUR PROFILE MENU
/****************************************************************************
/*
/* 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
-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
-182-
B-63423EN/02 SAMPLE PROGRAM 4. USER PROGRAMS FOR CONTOUR PROFILE MENU
/****************************************************************************
/*
/* 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
/* 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
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
-184-
B-63423EN/02 SAMPLE PROGRAM 4. USER PROGRAMS FOR CONTOUR PROFILE MENU
/* 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
-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]
/* 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
/* 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
/* 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
-187-
4. USER PROGRAMS FOR CONTOUR PROFILE MENU SAMPLE PROGRAM B-63423EN/02
/* 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
/* 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
/* 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
-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
-191-
4. USER PROGRAMS FOR CONTOUR PROFILE MENU SAMPLE PROGRAM B-63423EN/02
-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
/* 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
/* 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
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
-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
/* 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]
/* 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
/* 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]
/* 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
/*
/****************************************************************************
; 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');
-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');
; CHECK*.SRC message
N0900('Data is lacking.');
N0901('Input error in menu param.');
M99
; 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');
; 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');
; CHECK*.SRC message
N0900('Data is lacking.');
N0901('Input error in menu param.');
M99
-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');
; 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');
; CHECK*.SRC message
N0900('Data is lacking.');
N0901('Input error in menu param.');
M99
-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/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');
; 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');
; CHECK*.SRC message
N0900('Data is lacking.');
N0901('Input error in menu param.');
M99
; 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');
; 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');
; 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
/****************************************************************************
/*
/* 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
/* ############################################### Line
O8812 input_error_flag = error_non
n99 m99
/* ############################################### Circle CW
O8813 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
-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
-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
-207-
5. USER PROGRAMS FOR HOLE MACHINING MENU SAMPLE PROGRAM B-63423EN/02
/****************************************************************************
/*
/* 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
/****************************************************************************
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
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
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
/****************************************************************************
/*
/* 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
-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
-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
/****************************************************************************
/*
/* 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
-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
-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
-216-
B-63423EN/02 SAMPLE PROGRAM 5. USER PROGRAMS FOR HOLE MACHINING MENU
-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
-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
/* 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
-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
-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]
-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
-224-
B-63423EN/02 SAMPLE PROGRAM 5. USER PROGRAMS FOR HOLE MACHINING MENU
/* 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]
-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
-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]
-229-
5. USER PROGRAMS FOR HOLE MACHINING MENU SAMPLE PROGRAM B-63423EN/02
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
-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]
-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
/* 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]
/* 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
-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]
-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
-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]
-241-
5. USER PROGRAMS FOR HOLE MACHINING MENU SAMPLE PROGRAM B-63423EN/02
-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
/* 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]
/* green Line
color green
-245-
5. USER PROGRAMS FOR HOLE MACHINING MENU SAMPLE PROGRAM B-63423EN/02
/* 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
-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]
-247-
5. USER PROGRAMS FOR HOLE MACHINING MENU SAMPLE PROGRAM B-63423EN/02
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
-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
-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]
-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
/* 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]
-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
/* 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]
-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]
/* 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
/*
/****************************************************************************
-257-
5. USER PROGRAMS FOR HOLE MACHINING MENU SAMPLE PROGRAM B-63423EN/02
N0010(' subrogram');
N0011('M99:End of subrogram');
; 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');
; 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');
-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
; 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');
-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');
; CHECK*.SRC message
N0900('Data is lacking.');
N0901('Input error in menu param.');
M99
; 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');
; 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');
; CHECK*.SRC message
N0900('Data is lacking.');
N0901('Input error in menu param.');
M99
-261-
5. USER PROGRAMS FOR HOLE MACHINING MENU SAMPLE PROGRAM B-63423EN/02
; 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');
; 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');
; CHECK*.SRC message
N0900('Data is lacking.');
N0901('Input error in menu param.');
M99
-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/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');
; 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');
; 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
/****************************************************************************
/*
/* 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
/* ############################################### 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
-268-
B-63423EN/02 SAMPLE PROGRAM 6. USER PROGRAMS FOR HOLE PATTERN MENU
/****************************************************************************
/*
/* STRING4.SRC :: Hole Pattern (ENGLISH)
/*
/***** 7401: Softkey
/***** 7411: Points
/***** 7421: Line
/***** 7431: Grid
/***** 7441: Square
/***** 7451: Circle
/***** 7461: Arc
/****************************************************************************
N1700('12');
N1701("20 01 C010 20")(' END ');
N1702("20 01 C018 20")(' CONT ');
N1751('1');
N1752('2');
M99
-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
N1300('12');
N1301("20 01 C010 20")(' END ');
N1302("20 01 C018 20")(' CONT ');
N1351('1');
N1352('2');
M99
-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
N1000('12');
N1001("20 01 C010 20")(' END ');
N1002("20 01 C018 20")(' CONT ');
N1051('1');
N1052('2');
M99
-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
/****************************************************************************
/*
/* PROC4.SRC :: Hole Pattern
/*
/***** 8441: Points
/***** 8442: Line
/***** 8443: Grid
/***** 8444: Square
/***** 8445: Circle
/***** 8446: Arc
/****************************************************************************
$INCLUDE SYMBOL.DEF
-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
-274-
B-63423EN/02 SAMPLE PROGRAM 6. USER PROGRAMS FOR HOLE PATTERN MENU
-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
-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
-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
/****************************************************************************
/*
/* FIG4.SRC :: Hole Pattern
/*
/***** 8641: Points
/***** 8642: Line
/***** 8643: Grid
/***** 8644: Square
/***** 8645: Circle
/***** 8646: Arc
/****************************************************************************
$INCLUDE SYMBOL.DEF
-279-
6. USER PROGRAMS FOR HOLE PATTERN MENU SAMPLE PROGRAM B-63423EN/02
endif
previous_cursor = cursor
endif
-280-
B-63423EN/02 SAMPLE PROGRAM 6. USER PROGRAMS FOR HOLE PATTERN MENU
call 6115
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
-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
-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
-285-
6. USER PROGRAMS FOR HOLE PATTERN MENU SAMPLE PROGRAM B-63423EN/02
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
-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]
-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
/* 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
-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]
-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
/* 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
-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]
/* 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]
/* 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
-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]
/* 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]
/* 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
/****************************************************************************
/*
/* 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
/* ############################################### 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
/* ############################################### 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
-306-
B-63423EN/02 SAMPLE PROGRAM 7. USER PROGRAMS FOR FACING MENU
/****************************************************************************
/*
/* STRING5.SRC :: Face
/*
/***** 7601: Softkey
/***** 7611: Square
/***** 7622: Circle
/****************************************************************************
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
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
/****************************************************************************
/*
/* PROC5.SRC :: Face
/*
/***** 8461: Square
/***** 8462: Circle
/****************************************************************************
$INCLUDE SYMBOL.DEF
-309-
7. USER PROGRAMS FOR FACING MENU SAMPLE PROGRAM B-63423EN/02
-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
/****************************************************************************
/*
/* FIG5.SRC :: Face
/*
/***** 8661: Square
/***** 8662: Circle
/****************************************************************************
$INCLUDE SYMBOL.DEF
-312-
B-63423EN/02 SAMPLE PROGRAM 7. USER PROGRAMS FOR FACING MENU
/****************************************************************************
/*
/* 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
-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
/* 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
-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]
/* 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]
-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
-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]
/* 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
-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
/* 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)
/* 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
-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
/* 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)
/* 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
-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
/* 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)
-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
/* 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
-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
/* 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
/****************************************************************************
/*
/* 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
-332-
B-63423EN/02 SAMPLE PROGRAM 8. USER PROGRAMS FOR SIDE CUTTING MENU
/****************************************************************************
/*
/* STRING6.SRC :: Side (ENGLISH)
/*
/***** 7701: Softkey
/***** 7711: Square
/***** 7721: Circle
/***** 7731: Track
/***** 7741: One Side
/***** 7751: Contour
/****************************************************************************
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
-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
-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
-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
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
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
/****************************************************************************
/*
/* PROC6.SRC :: Side
/*
/***** 8471: Square
/***** 8472: Circle
/***** 8473: Track
/***** 8474: One Side
/***** 8475: Contour
/****************************************************************************
$INCLUDE SYMBOL.DEF
-339-
8. USER PROGRAMS FOR SIDE CUTTING MENU SAMPLE PROGRAM B-63423EN/02
-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
-342-
B-63423EN/02 SAMPLE PROGRAM 8. USER PROGRAMS FOR SIDE CUTTING MENU
-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
-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
/****************************************************************************
/*
/* FIG6.SRC :: Side
/*
/***** 8671: Square
/***** 8672: Circle
/***** 8673: Track
/***** 8674: One Side
/***** 8675: Contour
/****************************************************************************
$INCLUDE SYMBOL.DEF
-347-
8. USER PROGRAMS FOR SIDE CUTTING MENU SAMPLE PROGRAM B-63423EN/02
-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
-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
-350-
B-63423EN/02 SAMPLE PROGRAM 8. USER PROGRAMS FOR SIDE CUTTING MENU
-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
-352-
B-63423EN/02 SAMPLE PROGRAM 8. USER PROGRAMS FOR SIDE CUTTING MENU
-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
-354-
B-63423EN/02 SAMPLE PROGRAM 8. USER PROGRAMS FOR SIDE CUTTING MENU
-355-
8. USER PROGRAMS FOR SIDE CUTTING MENU SAMPLE PROGRAM B-63423EN/02
-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
-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
/* 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
/* 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
-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
-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
-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
/* 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
/* 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
-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
/* 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
/* 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
-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
/* 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)
-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]
/* 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
-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
/* 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
-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
/* 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
/* 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)
-371-
8. USER PROGRAMS FOR SIDE CUTTING MENU SAMPLE PROGRAM B-63423EN/02
/* 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
-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
/* 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
-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]
/* 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]
-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
/* 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)
-376-
B-63423EN/02 SAMPLE PROGRAM 8. USER PROGRAMS FOR SIDE CUTTING MENU
/* 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
-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
/* 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
/* 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
/* 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
/* 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
-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
/* 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
-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
/* 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]
/* 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
/* 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
/****************************************************************************
/*
/* 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
-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
/* ############################################### 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
-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
-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
-394-
B-63423EN/02 SAMPLE PROGRAM 9. USER PROGRAMS FOR POCKETING MENU
/****************************************************************************
/*
/* STRING7.SRC :: Pocket (ENGLISH)
/*
/***** 7801: Softkey
/***** 7811: Square
/***** 7821: Circle
/***** 7831: Track
/***** 7841: Groove
/***** 7851: Contour Pocket
/***** 7861: Contour Groove
/****************************************************************************
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
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
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
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
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
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
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
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
/****************************************************************************
/*
/* PROC7.SRC :: Pocket
/*
/***** 8481: Square
/***** 8482: Circle
/***** 8483: Track
/***** 8484: Groove
/***** 8485: Contour Pocket
/***** 8486: Contour Groove
/****************************************************************************
$INCLUDE SYMBOL.DEF
-402-
B-63423EN/02 SAMPLE PROGRAM 9. USER PROGRAMS FOR POCKETING MENU
-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
-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
-406-
B-63423EN/02 SAMPLE PROGRAM 9. USER PROGRAMS FOR POCKETING MENU
#[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
-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
/****************************************************************************
/*
/* FIG7.SRC :: Pocket
/*
/***** 8681: Square
/***** 8682: Circle
/***** 8683: Track
/***** 8684: Groove
/***** 8685: Contour Pocket
/***** 8686: Contour Groove
/****************************************************************************
$INCLUDE SYMBOL.DEF
-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
-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
-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
-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
-415-
9. USER PROGRAMS FOR POCKETING MENU SAMPLE PROGRAM B-63423EN/02
-416-
B-63423EN/02 SAMPLE PROGRAM 9. USER PROGRAMS FOR POCKETING MENU
-417-
9. USER PROGRAMS FOR POCKETING MENU SAMPLE PROGRAM B-63423EN/02
-418-
B-63423EN/02 SAMPLE PROGRAM 9. USER PROGRAMS FOR POCKETING MENU
-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
-420-
B-63423EN/02 SAMPLE PROGRAM 9. USER PROGRAMS FOR POCKETING MENU
-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
-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
-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
-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]
/* 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
/* 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
/* 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
/* 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]
/* 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
-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
/* 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
/* 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
/* 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
/* 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
/* 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
/* 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]
-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
/* 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
-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]
/* 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]
/* 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
/* 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]
-439-
9. USER PROGRAMS FOR POCKETING MENU SAMPLE PROGRAM B-63423EN/02
/* 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]
-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
/* 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
-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
-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]
;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
/* 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
/****************************************************************************
/*
/* 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
-448-
B-63423EN/02 SAMPLE PROGRAM 9. USER PROGRAMS FOR POCKETING MENU
/* ############################################### 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
/* ############################################### 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
-454-
B-63423EN/02 SAMPLE PROGRAM 9. USER PROGRAMS FOR POCKETING MENU
-455-
9. USER PROGRAMS FOR POCKETING MENU SAMPLE PROGRAM B-63423EN/02
-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
-458-
B-63423EN/02 SAMPLE PROGRAM 10. USER PROGRAMS FOR CALIBRATION CYCLE MENU
-459-
10. USER PROGRAMS FOR CALIBRATION CYCLE MENU SAMPLE PROGRAM B-63423EN/02
/****************************************************************************
/*
/* 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)
/****************************************************************************
/****************************************************************************
/*
/* 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
/****************************************************************************
-461-
10. USER PROGRAMS FOR CALIBRATION CYCLE MENU SAMPLE PROGRAM B-63423EN/02
/****************************************************************************
/*
/* 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
-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
-463-
10. USER PROGRAMS FOR CALIBRATION CYCLE MENU SAMPLE PROGRAM B-63423EN/02
/****************************************************************************
/*
/* 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
-464-
B-63423EN/02 SAMPLE PROGRAM 10. USER PROGRAMS FOR CALIBRATION CYCLE MENU
/****************************************************************************
/*
/* 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
-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
-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
-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
/****************************************************************************
/*
/* 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
-473-
10. USER PROGRAMS FOR CALIBRATION CYCLE MENU SAMPLE PROGRAM B-63423EN/02
-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
-476-
B-63423EN/02 SAMPLE PROGRAM 11. USER PROGRAMS FOR MEASURING CYCLE MENU
/****************************************************************************
/*
/* 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)
/****************************************************************************
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
-478-
B-63423EN/02 SAMPLE PROGRAM 11. USER PROGRAMS FOR MEASURING CYCLE MENU
M99
-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
-480-
B-63423EN/02 SAMPLE PROGRAM 11. USER PROGRAMS FOR MEASURING CYCLE MENU
-481-
11. USER PROGRAMS FOR MEASURING CYCLE MENU SAMPLE PROGRAM B-63423EN/02
/****************************************************************************
/*
/* STRING29.SRC :: Measuring cycle
/*
/***** 6302: Soft-keys
-482-
B-63423EN/02 SAMPLE PROGRAM 11. USER PROGRAMS FOR MEASURING CYCLE MENU
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
-483-
11. USER PROGRAMS FOR MEASURING CYCLE MENU SAMPLE PROGRAM B-63423EN/02
-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
-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
-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
-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
-488-
B-63423EN/02 SAMPLE PROGRAM 11. USER PROGRAMS FOR MEASURING CYCLE MENU
/****************************************************************************
/*
/* 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
-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
-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
-491-
11. USER PROGRAMS FOR MEASURING CYCLE MENU SAMPLE PROGRAM B-63423EN/02
-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
-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
-494-
B-63423EN/02 SAMPLE PROGRAM 11. USER PROGRAMS FOR MEASURING CYCLE MENU
-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
-496-
B-63423EN/02 SAMPLE PROGRAM 11. USER PROGRAMS FOR MEASURING CYCLE MENU
/****************************************************************************
/*
/* 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
-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
-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
-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
-500-
B-63423EN/02 SAMPLE PROGRAM 11. USER PROGRAMS FOR MEASURING CYCLE MENU
-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
-502-
B-63423EN/02 SAMPLE PROGRAM 11. USER PROGRAMS FOR MEASURING CYCLE MENU
-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
/****************************************************************************
/*
/* 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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
/****************************************************************************
/*
/* 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
-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
-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
-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
-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
-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
-558-
B-63423EN/02 SAMPLE PROGRAM 11. USER PROGRAMS FOR MEASURING CYCLE MENU
-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
-560-
B-63423EN/02 SAMPLE PROGRAM 11. USER PROGRAMS FOR MEASURING CYCLE MENU
-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
-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
/*************************************************************
/* 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
-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
/* 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; /*
/* 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] ;
-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
-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 ;
/* 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
/* 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]
-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') ;
/*************************************************************
/* 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
-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
IF [CUNT EQ 0] THEN ; /*
-582-
B-63423EN/02 SAMPLE PROGRAM 12. USER PROGRAMS FOR GUIDANCE CUTTING
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; /*
/* 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] ;
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
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
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
-584-
B-63423EN/02 SAMPLE PROGRAM 12. USER PROGRAMS FOR GUIDANCE CUTTING
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
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
/* 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 ;
/* 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 ;
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
/*************************************************************/
/* 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
- Applied to 16i/18i/21i-B
02 May, 2001
- Addition of new functions
01 Nov., 1999