Manual Guide for Milling

603
GE Fanuc Automation Computer Numerical Control Products Manual Guide for Milling Programming Manual GFZ-63423EN/02 June 2002

Transcript of Manual Guide for Milling

GE Fanuc Automation

Computer Numerical Control Products

Manual Guide for Milling

Programming Manual

GFZ-63423EN/02 June 2002

GFL-001

Warnings, Cautions, and Notesas Used in this Publication

Warning

Warning notices are used in this publication to emphasize that hazardous voltages, currents,temperatures, or other conditions that could cause personal injury exist in this equipment ormay be associated with its use.

In situations where inattention could cause either personal injury or damage to equipment, aWarning notice is used.

Caution

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

NoteNotes merely call attention to information that is especially significant to understanding andoperating the equipment.

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

GE Fanuc Automation makes no representation or warranty, expressed, implied, or statutorywith respect to, and assumes no responsibility for the accuracy, completeness, sufficiency, orusefulness of the information contained herein. No warranties of merchantability or fitness forpurpose shall apply.

©Copyright 2002 GE Fanuc Automation North America, Inc.

All Rights Reserved.

B-63423EN/02 SAFETY PRECAUTIONS

s - 1

SAFETY PRECAUTIONSThis manual includes safety precautions for protecting the user andpreventing damage to the machine. Precautions are classified intoWarnings 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.

WARNINGApplied when there is a danger of the user beinginjured or when there is a danger of both the userbeing injured and the equipment being damaged ifthe approved procedure is not observed.

CAUTIONApplied when there is a danger of the equipmentbeing damaged, if the approved procedure is notobserved.

NOTENotes are used to indicate supplementaryinformation other than Warnings and Cautions.

* Read this manual carefully, and store it in a safe place.

SAFETY PRECAUTIONS B-63423EN/02

s - 2

To ensure safety while using a machine featuring the MANUALGUIDE function that is made according to this programming manual,observe the following precautions:

WARNINGOn MANUAL GUIDE, after adding a new functiononto it, or modifying its standard function bymodifying the sample programs according to thisprogramming manual, do no run the machine byusing these new or modified functions immediately.Instead, confirm every step of the resultant machinemotions, and make sure that the tool path andmachining operation are correct and that the tool willnot strike the work-piece or machine. Before startingproduction machining, run the machine with nowork-piece attached to the machine to make surethat the tool will not strike a work-piece or themachine. If the tool strikes the machine and/or work-piece, the tool and/or machine may be damaged,and even injuries the operator.

B-63423EN/02 TABLE OF CONTENTS

c - 1

TABLE OF CONTENTS

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

I. USER PROGRAM

1 OUTLINE OF USER PROGRAM............................................................31.1 SCOPE OF CUSTOMIZING ..........................................................................31.2 USABLE SOFTWARE RESOURCE FOR USER PROGRAM.......................4

2 RESTRICTIONS FOR CUSTOMIZING...................................................53 CREATING LOADING FILES.................................................................6

3.1 MACRO LIBRARY COMPONENTS...............................................................73.2 PROCEDURE FOR CREATING LOAD MODULES.....................................10

4 START-UP MACRO PROGRAM..........................................................124.1 SETTING OF PROGRAM NUMBER AND VARIABLE START NUMBER...124.2 DEFINITION OF EACH DATA .....................................................................13

5 COMMENT ON A MANUAL GUIDE SCREEN .....................................155.1 COMMENT IN A TITLE BAR .......................................................................165.2 COMMENT IN A STATUS INDICATOR WINDOW......................................175.3 COMMENT IN A WORK COORDINATE SYSTEM WINDOW.....................185.4 COMMENT IN A TOOL OFFSET WINDOW ...............................................195.5 COMMENT IN A PROGRAM LIST WINDOW .............................................205.6 COMMENT IN A GRAPHIC WINDOW ........................................................215.7 COMMENT IN A GUIDANCE CUTTING WINDOW.....................................23

6 COMMENT OF SOFT-KEYS FOR EACH MENU.................................256.1 COMMENT OF SOFT-KEYS IN LARGE CLASSIFIED MENU....................266.2 COMMENT OF SOFT-KEYS IN EDIT FUNCTION MENU ..........................276.3 COMMENT OF SOFT-KEYS IN MEM MENU..............................................296.4 COMMENT OF SOFT-KEYS IN MDI MENU ...............................................306.5 COMMENT OF SOFT-KEYS IN HANDLE MENU........................................316.6 COMMENT OF SOFT-KEYS IN GRAPHIC FUNCTION MENU ..................326.7 COMMENT OF SOFT-KEYS IN LIST MENU ..............................................346.8 COMMENT OF SOFT-KEYS IN WRK-CO MENU.......................................356.9 COMMENT OF SOFT-KEYS IN OFFSET MENU........................................366.10 COMMENT OF SOFT-KEYS IN CONTOUR PROFILE MENU....................37

TABLE OF CONTENTS B-63423EN/02

c - 2

6.11 COMMENT OF SOFT-KEYS IN CYCLE MOTIONS MENU ........................396.12 COMMENT OF SOFT-KEYS IN TEACH MENU..........................................416.13 COMMENT OF SOFT-KEYS IN CNV NC MENU ........................................43

7 COMMENT OF INPUT DATA ITEM .....................................................447.1 COMMENT OF INPUT DATA ITEM IN G-CODE MENU .............................457.2 COMMENT OF INPUT DATA ITEM IN CONTOUR PROFILE MENU.........497.3 COMMENT OF INPUT DATA ITEM IN CYCLE MOTIONS MENU..............52

8 DATA STRUCTURE OF MACHINING PROGRAM ..............................568.1 DATA ATTRIBUTE ......................................................................................578.2 DETAIL OF DATA ATTRIBUTE...................................................................60

9 USER PROGRAMS FOR DISPLAYING GUIDANCE DRAWINGFIGURE................................................................................................629.1 G CODES FOR DRAWING .........................................................................639.2 CHARACTER COORDINATES SYSTEM AND GRAPHIC COORDINATES

SYSTEM ......................................................................................................659.3 NOTES ON CREATING GUIDANCE DRAWING FIGURES .......................67

10 USER PROGRAMS FOR CHECKING INPUTTED DATA....................6911 USER PROGRAMS FOR EXECUTING MACHINING PROGRAM.......7112 USER PROGRAMS FOR TOOL CHANGE ..........................................7313 PMC CUSTOMIZING TOOLS ..............................................................75

13.1 SIGNALS FOR USER PROGRAMS CALLING............................................7613.2 CHANGING MODE FOR AUTOMATIC OPERATION AND MACHINING

SIMULATION...............................................................................................7913.3 CHANGING MODE FOR MANUAL OPERATION .......................................7913.4 CHANGING MODE FOR EDITING OPERATION........................................8013.5 CHANGING MODE FOR MDI OPERATION................................................8113.6 SIGNAL FOR ISO / GUIDE SCREEN CHANGING .....................................8213.7 OPERATION FOR STARTING MACHINING...............................................8313.8 GUIDANCE HANDWHEEL CONTROL SIGNALS.......................................8413.9 MANUAL PULSE BOX CONTROL SIGNALS..............................................87

14 USER WINDOW PROGRAMS .............................................................8814.1 USER WINDOWS ON THE EDITING SCREEN..........................................8914.2 MACRO PROGRAMS AND VARIABLES ....................................................9014.3 MONITORING KEYSTROKES ....................................................................92

B-63423EN/02 TABLE OF CONTENTS

c - 3

14.4 MEMORY STORAGE AND CHANGING TOOLS ........................................9314.5 CHARACTER COORDINATE SYSTEM AND GRAPHIC COORDINATE

SYSTEM ......................................................................................................9514.6 USER WINDOWS ON THE OPERATION SCREEN...................................9714.7 CHANIGING USER WINDOWS TO SUPPORT CYCLES...........................9814.8 RESTRICTIONS ........................................................................................101

15 DISPLAYING USER-SPECIFIED STRINGS ......................................10215.1 EXAMPLE OF DEFINING THE TITLE AS A SEPARATE PROGRAM ......10315.2 PARAMETERS ..........................................................................................104

16 MEASUREMENT CYCLE...................................................................10516.1 STARTUP MACRO PROGRAM ................................................................10616.2 CALIBRATION AND MEASUREMENT CYCLES ......................................10716.3 ATTRIBUTE DATA ....................................................................................11016.4 MACRO PROGRAMS FOR DISPLAYING GUIDANCE DRAWING FIGURES

...................................................................................................................11116.5 MACRO PROGRAMS FOR CHECKING INPUT DATA.............................11216.6 MACRO PROGRAMS FOR EXECUTING CALIBRATION AND

MEASUREMENT CYCLES........................................................................113

II. SAMPL E PROGRAM

1 LIST OF USER PROGRAMS .............................................................1172 USER PROGRAMS FOR SYSTEM COMMENT ................................1213 USER PROGRAMS FOR G-CODE MENU.........................................128

3.1 COMMENTS DEFINITION.........................................................................1293.2 DATA ATTRIBUTE ....................................................................................1333.3 GUIDANCE DRAWING FIGURE ...............................................................1383.4 INPUTTED DATA CHECKING ..................................................................167

4 USER PROGRAMS FOR CONTOUR PROFILE MENU.....................1724.1 COMMENTS DEFINITION.........................................................................1734.2 DATA ATTRIBUTE ....................................................................................1764.3 GUIDANCE DRAWING FIGURE ...............................................................1814.4 INPUTTED DATA CHECKING ..................................................................204

5 USER PROGRAMS FOR HOLE MACHINING MENU........................2075.1 COMMENTS DEFINITION.........................................................................2085.2 DATA ATTRIBUTE ....................................................................................211

TABLE OF CONTENTS B-63423EN/02

c - 4

5.3 GUIDANCE DRAWING FIGURE ...............................................................2145.4 INPUTTED DATA CHECKING ..................................................................265

6 USER PROGRAMS FOR HOLE PATTERN MENU ...........................2686.1 COMMENTS DEFINITION.........................................................................2696.2 DATA ATTRIBUTE ....................................................................................2736.3 GUIDANCE DRAWING FIGURE ...............................................................2796.4 INPUTTED DATA CHECKING ..................................................................302

7 USER PROGRAMS FOR FACING MENU .........................................3067.1 COMMENTS DEFINITION.........................................................................3077.2 DATA ATTRIBUTE ....................................................................................3097.3 GUIDANCE DRAWING FIGURE ...............................................................3127.4 INPUTTED DATA CHECKING ..................................................................329

8 USER PROGRAMS FOR SIDE CUTTING MENU..............................3328.1 COMMENTS DEFINITION.........................................................................3338.2 DATA ATTRIBUTE ....................................................................................3398.3 GUIDANCE DRAWING FIGURE ...............................................................3478.4 INPUTTED DATA CHECKING ..................................................................383

9 USER PROGRAMS FOR POCKETING MENU..................................3949.1 COMMENTS DEFINITION.........................................................................3959.2 DATA ATTRIBUTE ....................................................................................4029.3 GUIDANCE DRAWING FIGURE ...............................................................4119.4 INPUTTED DATA CHECKING ..................................................................447

10 USER PROGRAMS FOR CALIBRATION CYCLE MENU..................45910.1 COMMENTS DEFINITION.........................................................................46010.2 DATA ATTRIBUTE ....................................................................................46210.3 GUIDANCE DRAWING FIGURE ...............................................................46410.4 INPUTTED DATA CHECKING ..................................................................473

11 USER PROGRAMS FOR MEASURING CYCLE MENU ....................47611.1 COMMENTS DEFINITION.........................................................................47711.2 DATA ATTRIBUTE ....................................................................................48911.3 GUIDANCE DRAWING FIGURE ...............................................................49711.4 INPUTTED DATA CHECKING ..................................................................553

12 USER PROGRAMS FOR GUIDANCE CUTTING...............................56312.1 GUIDANCE DRAWING FIGURE FOR GUIDANCE CUTTING..................56412.2 USER PROGRAMS CALLED BY USER PROGRAM CALLING SIGNALS590

I. USER PROGRAM

B-63423EN/02 USER PROGRAM 1. OUTLINE OF USER PROGRAM

-3-

1 OUTLINE OF USER PROGRAM

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

1.1 SCOPE OF CUSTOMIZING

By using this "User Program", MTB make their own features asfollows.

1) Comment on a MANUAL GUIDE All-in-one screen• All of the comment can be changed.

2) Data item of FANUC standard machining menu• Each cycle motions can be changed or newly added.• Data attribute can be changed, and new data item can be

added.• Soft-key menu that has Literal data type can be changed or

newly added.• Pictorial guidance in a Pop-up Window for each data can be

changed or newly added.3) MTB's own machining menu

• New cycle motions for their machine• Data items for new cycle motions• Literal data type Soft-key menu used for data item for new

cycle motions• Pictorial guidance in a Pop-up Window for each data items for

new cycle motions4) PMC customizing tools

• 20 signals (DI) are prepared for User Program Calling.• ISO/GUIDANCE switch (DI) is prepared for switching these

screens.

1. OUTLINE OF USER PROGRAM USER PROGRAM B-63423EN/02

-4-

1.2 USABLE SOFTWARE RESOURCE FOR USER PROGRAM

Since a part of P-code custom macro program and variables are usedfor FANUC standard cycle motions already, usable resource of UserPrograms are limited as follows.

1) P-code Program Numbers• O0001 - O5999• O9000 - O9049• O9400 - O9449

NOTEBeside the above program numbers, some programnumbers such as O6000 -, O7000 - , O8000 - ,O9050 - O9339 , and O9500 - can be used by UserPrograms, but their contents or purpose are fixed byMANUAL GUIDE system software as described inthis document.So, these program number cannot be used as MTBlikes.

2) Common Variables• #100 - #149 (#199)• #500 - #531 (#999)

3) P-code Custom Macro Variables• #20000 - #29999

NOTEP-code Custom Macro Variables #10000- are usedby MANUAL GUIDE system.So, these P-code custom macro variables cannot beused

4) Number of G-code• G400 – G499

NOTEOther G codes may be used, but they are reservedfor future extensions in the MANUAL GUIDE.

B-63423EN/02 USER PROGRAM 2. RESTRICTIONS FOR CUSTOMIZING

-5-

2 RESTRICTIONS FOR CUSTOMIZINGThe following part of MANUAL GUIDE cannot be modified by MTB.

1) Status Indicator Window• Excepting data name comment, the contents of data displayed

in a Status Indicator Window cannot be changed.2) Graphic Display Window3) Key-in Buffer4) Pictorial pattern of soft-keys5) Editing Menu

• Excepting data name comment and the contents of data itemsdisplayed in each window, menu itself cannot be changed andnewly added.

6) Contour Menu• Excepting data name comment, the contents of data items

displayed in each window and menu itself, cannot be changedand newly added.

7) Hole Machining Menu• Excepting data name comment, the contents of data items

displayed in each window and menu itself, cannot be changedand newly added. (As to the other menus, it is possible tomodify the contents.)

3. CREATING LOADING FILES USER PROGRAM B-63423EN/02

-6-

3 CREATING LOADING FILES

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

B-63423EN/02 USER PROGRAM 3. CREATING LOADING FILES

-7-

3.1 MACRO LIBRARY COMPONENTS

The macro library comes in three floppy disks as shown below.

1) Disk 1:<1> BJ41.PG1 to BJ41.PG3

Object files used to create a load module file for the MANUAL

GUIDE system (the load module file is hereinafter referred to as a

"MANUAL GUIDE control module")

2) Disk 2:<1> BJ41.PG4

Object file used to create a MANUAL GUIDE controlmodule

<2> DUMMY.RELObject file used to create a MANUAL GUIDE controlmodule

<3> BJ41.LNKLink control file used to create a MANUAL GUIDE controlmodule

<4> M_STUP.SRCSource file for a macro program that defines the screenlayout (required when the measurement cycle option isprovided)

<5> PROC8.SRC, PROC9.SRCSource files for macro programs that define the process data(required when the measurement cycle option is provided)

<6> M_STR*3.SRC, STRING*8.SRC, STRING*9.SRCSource files for macro programs that define the strings(required when the measurement cycle option is provided)

<7> FIG8.SRC, FIG9.SRC, FIGSUB8.SRC, FIGSUB9.SRCSource files for macro programs for guidance drawingfigures (required when the measurement cycle option isprovided)

<8> CHECK8.SRC, CHECK9.SRCSource files for macro programs for checking inputcompletion (required when the measurement cycle option isprovided)

<9> MEASURE.SRCSource file for a macro program for machining macros(required when the measurement cycle option is provided)

3. CREATING LOADING FILES USER PROGRAM B-63423EN/02

-8-

<10>RESULT.SRCSource file for a sample macro program for displayingmeasurement results (required when the measurement cycleoption is provided)

<11>MBJ41_U1.LNKSample link control file used to create user module 1 whenthe measurement cycle option is provided

NOTE1 Macro programs for measurement cycles must only

be used with the measurement cycle option, whichshould be purchased separately. Without theoption, the programs do not operate normally if theyare linked.

3) Disk 3:<1> F16IMP1M.MEX

Object file used to create a load module file for the macroprogram section of the MANUAL GUIDE (the load modulefile is hereinafter referred to as "user module 1")

<2> F16IMP2M.MEXObject file used to create a load module file for the macroprogram section created by the MTB (the load module fileis hereinafter referred to as "user module 2")

<3> STARTUP.SRCSource file for a macro program that defines the screenlayout

<4> PROC*.SRCSource file for a macro program that defines the processdata

<5> MACROSTR.SRC, STRING*.SRCSource files for macro programs that define the strings

<6> FIG*.SRCSource file for a macro program for guidance drawingfigures

<7> CHECK*.SRCSource file for a macro program for checking inputcompletion

<8> COMMON.SRC, HOLE.SRC, H_PTN.SRC, FACE.SRC,SIDE.SRC, POCKET.SRC, CONTOUR.SRCSource programs for macro programs for machining macros

B-63423EN/02 USER PROGRAM 3. CREATING LOADING FILES

-9-

<9> GDH_*.SRCSource file for a macro program for handle machining

<10>BJ41_U1.LNKSample link control file used to create user module 1

<11>BJ41_U2.LNKSample link control file used to create user module 2

<12>*.DEFSymbol definition file for macro source programs

NOTE2 If the same program number exists in user modules

1 and 2, the number (O number) in user module 2 isgiven a priority.

3 Compile parameters of modules are prioritized inthe following order: user module 2, user module 1,and control module.

4 Without the conclusion of the confidentialitycontract, only one floppy disk is provided. The diskincludes compressed file BJ41**.ZIP (where ** is anedition number) containing BJ41.MEM andBJ41_U1.MEM.

3. CREATING LOADING FILES USER PROGRAM B-63423EN/02

-10-

3.2 PROCEDURE FOR CREATING LOAD MODULES

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

NOTE5 Without the conclusion of the confidentiality

contract, the load module is provided and the stepsbelow are not required.

1) Creating a MANUAL GUIDE control module (BJ41.MEM)<1> Execute MLINK to link object files BJ41.PG1 to BJ41.PG4

and DUMMY.REL included in floppy disks 1 and 2.

c:>MLINK BJ41 [Enter]

Once the linking has completed, ROM file BJ41.ROM iscreated. The files to be referenced during the linking musthave been defined in the link control file, because thislinking is performed by referencing the link control file.Normally, the MTB need not modify the file.

<2> Execute MMCARD to convert the ROM file created in <1>into a file in memory card format. As a result of theconversion, load module file BJ41.MEM is created.

c:>MMCARD BJ41 [Enter]

BJ41.ROM

Link (MLINK)BJ41.PG1 to 4DUMMY.REL

BJ41.MEM

Convert to MEM file(MMCARD)BJ41.ROM

Load to CNC

2) Creating user module 1 (BJ41_U1.MEM)<1> Execute MCOMP0 to compile source file *.SRC included

in floppy disk 3. (Also compile source file *.SRC in floppydisk 2 when the measurement cycle option is provided.)

c:>MCOMP0 *.SRC [Enter]

Once the compiling has completed, REL file *.REL iscreated. Execute MLINK to link the object file created in

B-63423EN/02 USER PROGRAM 3. CREATING LOADING FILES

-11-

<1> with F16IMP1.MEM, the object file for creation ofuser module 1. As a result of the linking, ROM fileBJ41_U1.LNK is created. This linking is performed byreferencing BJ41_U1.LNK. Use the same procedure tocreate user module 2.When the measurement cycle option is provided, useMBJ41_U1.LNK, instead of BJ41_U1.LNK, for the linking.

c:>MLINK BJ41_U1 [Enter] : For user module 1c:>MLINK BJ41_U2 [Enter] : For user module 2c:>MLINK MBJ41_U1 [Enter] : With measurement cycles

<2> Execute MMCARD to convert the ROM file created in <1>into a file in memory card format. As a result of theconversion, load module file BJ41_U1.MEM is created.

c:>MMCARD BJ41_U1 [Enter]

*.REL Compile (MCOMP0)

*.SRC

BJ41_U1.ROM

Link (MLINK)F16IMP1M.MEX

*.REL

BJ41_U1.MEM

Convert to MEM file(MMCARD)

BJ41_U1.ROM

Load to CNC

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

-12-

4 START-UP MACRO PROGRAMStart-up Macro Program is the editing macro program which specifiesthe configuration of Manual Guide Screen (Comments in the screen,Menu, Soft-key, Input dada item, and so on). This program runs onlyone time at the time of turning on the power and informs the systemof the configuration about Manual Guide Screen. By setting the datato the macro variable, the system can know the configuration ofManual Guide Screen.

4.1 SETTING OF PROGRAM NUMBER AND VARIABLE STARTNUMBER

Start-up Macro Program Number and the variable start number whichis used in Start-up Macro Program, are set to the following parameter.

ParameterNumber

Content StandardSettingValues

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

Program0

NOTEUsually, there is not need to set the parameterNo.9101. If No.9101 is 0, the system treats thevariable start number as #6020.

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

-13-

4.2 DEFINITION OF EACH DATA

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

VariableNumber

Content StandardSettingValues

+ 0 Macro program number for displaying System Comment 7000+ 1 Menu number of G-code Menu 7+ 2 Macro program number for displaying Comment of G-code Menu 7010+ 3 Macro program number for defining Data attribute of G-code Menu 8402+ 4 Macro program number for displaying Guidance drawing figure of G-

code Menu8602

+ 5 Macro program number for checking inputted data of G-code Menu 8802+ 6 Menu number of Contour Profile Menu 10+ 7 Macro program number for displaying Comment of Contour Profile

Menu7100

+ 8 Macro program number for defining Data attribute of Contour ProfileMenu

8411

+ 9 Macro program number for displaying guidance drawing figure ofContour Profile Menu

8611

+ 10 Macro program number for checking inputted data of Contour ProfileMenu

8811

+ 11 Menu number of Cycle Motions Menu 5+ 12 Macro program number for displaying Comment of Cycle Motions

Menu7300

+ 13 Menu number of Hole Machining Menu 3+ 14 Macro program number for displaying Comment of Hole Machining

Menu7310

+ 15 Macro program number for defining Data attribute of Hole MachiningMenu

8432

+ 16 Macro program number for displaying guidance drawing figure ofHole Machining Menu

8632

+ 17 Macro program number for checking inputted data of Hole MachiningMenu

8832

+ 18 Menu number of Hole Pattern Menu 6+ 19 Macro program number for displaying Comment of Hole Pattern Menu 7500

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

-14-

VariableNumber

Content StandardSettingValues

+ 20 Macro program number for defining Data attribute of Hole PatternMenu

8451

+ 21 Macro program number for displaying guidance drawing figure ofHole Pattern Menu

8651

+ 22 Macro program number for checking inputted data of Hole PatternMenu

8851

+ 23 Menu number of Facing Menu 2+ 24 Macro program number for displaying Comment of Facing Menu 7600+ 25 Macro program number for defining Data attribute of Facing Menu 8461+ 26 Macro program number for displaying guidance drawing figure of

Facing Menu8661

+ 27 Macro program number for checking inputted data of Facing Menu 8861+ 28 Menu number of Side Cutting Menu 5+ 29 Macro program number for displaying Comment of Side Cutting Menu 7700+ 30 Macro program number for defining Data attribute of Side Cutting

Menu8471

+ 31 Macro program number for displaying guidance drawing figure of SideCutting Menu

8671

+32 Macro program number for checking inputted data of Side CuttingMenu

8871

+ 33 Menu number of Pocketing Menu 5+ 34 Macro program number for displaying Comment of Pocketing Menu 7800+ 35 Macro program number for defining Data attribute of Pocketing Menu 8481+ 36 Macro program number for displaying guidance drawing figure of

Pocketing Menu8681

+ 37 Macro program number for checking inputted data of Pocketing Menu 8881

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

-15-

5 COMMENT ON A MANUAL GUIDESCREEN

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

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

-16-

5.1 COMMENT IN A TITLE BAR

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

NOTE1. This user program number O700n is specified to

“Macro program number for displaying SystemComment”, which is specified in Start-up macroprogram.

2. By selecting "n" in O700n, Displaying language canbe automatically changed. And, in the similardescription coming out hereafter, this "n" has samemeaning.

n=1 : English 2 : Japanese 3 : German 4 : French 5 : Italian 6 : Spanish

3. Number described in ( ) means the maximumcharacter number available for the comment.

Sample for English)O7001 ;N9999(' MANUAL GUIDE') ;

Title Bar of MANUAL GUIDE

MANUAL GUIDE

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

-17-

5.2 COMMENT IN A STATUS INDICATOR WINDOW

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.

ACTUAL POSITION

X 234.567Y -153.728Z 58.980A 0.000 B 0.000

DIST TO GOG01 X 0.000 Y 0.000 Z 0.000NEXT BLOCKG00 X 0.000 Y 0.000 Z 0.000

SPINDLE

S : 200

FEEDRATE MM/MIN

F : 100

O 0001N 00010T 0001 G 54D 01 H 01S 1000 M 6F 500G 00 17 9040 49 8054

(1) (2) (3) (4) (5) (6) (7)

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

-18-

5.3 COMMENT IN A WORK COORDINATE SYSTEM WINDOW

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.

WORK CO. : G54

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

01 X 0.000 03 X 0.000(G54) Y 0.000 (G56) Y 0.000 Z 0.000 Z 0.000

(1)

(3)

(2)

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

-19-

5.4 COMMENT IN A TOOL OFFSET WINDOW

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.

OFFSET

NO. GEOMETRY WEAR GEOMETRY WEAR 1 0.0 0.0 0.0 0.0 2 0.0 0.0 0.0 0.0 3 0.0 0.0 0.0 0.0 4 0.0 0.0 0.0 0.0 5 0.0 0.0 0.0 0.0 6 0.0 0.0 0.0 0.0

RADIUSLENGTH(1)

(4)(3)

(2)

(6)

(5)

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

-20-

5.5 COMMENT IN A PROGRAM LIST WINDOW

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.

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

(2)

(3)

(5)

(1)

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

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

-21-

5.6 COMMENT IN A GRAPHIC WINDOW

1) Path Graphic Parameter Window

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

PATH GRAPHIC PARAMETERPARAMETERPARAMETERPARAMETER

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

(1)

(2)(3)

(4)

(6)

(8)

(10)

(12)

(14)

(16)

(5)

(7)

(9)

(11)

(13)

(15)

(17)

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

-22-

2) Animate Graphic Parameter Window

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

3) Programming Figure Setting Window

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

ANIMATE GRAPHIC PARAMETER

BLANK FORM =BLANK POSITION X = Y = Z =BLANK DIMENSN I = J = K =TOOL RADIUS =TOOL LENGTH =START SEQ. NO. =END SEQ. NO. =ANIME SPEED =PLANE COLOR =

(1)

(2)

(4)

(6)

(8)

(10)

(12)

(3)

(5)

(7)

(9)

(11)

PROGRAMING FIGURE SETTING

WORK FIGURE = ONCOORDINATE = XYSCALE MAX X AXIS = Y AXIS = Z AXIS =SCALE MIN X AXIS = Y AXIS = Z AXIS =COLOR PATH = WORK =

(1)

(2)

(4)

(6)

(8)

(10)

(3)

(5)

(7)

(9)

(11)

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

-23-

5.7 COMMENT IN A GUIDANCE CUTTING WINDOW

1) Common Data Window

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

2) Figure Data Input Window (Line)

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

GUIDANCE CUTTING

TOOL NO. T =D CODE NO. D =FEED RATE F =SPINDLE SPEED S =

(1)

(2)

(3)

(4)

(5)

Figure Data Input Window (Line)

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

(1)

(2)

(3)

(4)

(5)

(6)

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

-24-

3) Figure Data Input Window (Circle)

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

NOTEThe messages and some other message data areexcepted to explain.So, change these data after confirming the contents.

Figure Data Input Window (Circle)

CENTER X =CENTER Y =RADIUS =

(1)

(2)

(3)

(4)

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

-25-

6 COMMENT OF SOFT-KEYS FOR EACHMENU

All of the comment of soft-keys displayed in an All-in-one screen ofMANUAL GUIDE can be modified by changing the comment data inUser macro program for displaying System Comment, which isspecified in Start-up macro program.

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

-26-

6.1 COMMENT OF SOFT-KEYS IN LARGE CLASSIFIED MENU

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

EDIT MEM MDI HANDLE CHECK LIST WORKCOOD

TOOLOFFST

SETTNG

EDIT : This key is selected to create or edit a program.MEM : This key is selected to run a program.MDI : This key is selected to perform MDI operation.HANDLE : This key is selected to perform handle machining.CHECK : This key is selected to perform drawing based on a

programPROGRAM : The program can be selected for new making, editing,

drawing, and executing.WORK COOD : The work coordinate system can be displayed and set.TOOL OFFST : The offset for cutter compensation and tool length

compensation can be displayed and set.SETTING : The display method of each window can be set.

NOTE1 This user program number O700n is specified to "Macro

program number for displaying System Comment", whichis specified in Start-up macro program.

2 The ("20 01 ???? 20") data setting in front of Commentdata defines the pictorial pattern of soft-keys, and cannotbe changed. Only Comment data can be changed. Inthis documents, the ("20 01 ???? 20") data shows thepictorial 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.

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

-27-

6.2 COMMENT OF SOFT-KEYS IN EDIT FUNCTION MENU

By pushing [EDIT] in the large-classified menu, the edit functionmenu below is displayed. In this menu, a selected program can beedited. The soft-keys in the menu are changed as shown below eachtime the rightmost key [+] is pushed.

INIT TOOL MSF COMP POSTIN CONTUR CYCLE TEACH USER RETURN +

MOVE COPY DELETE ALTER O SEARCH

↑SEARCH

↓SEARCH

RETURN +

LIST WRK-CO OFFSET RETURN +

INIT : Definition of work coordinate system, blankform data

TOOL : Definition of tool dataMSF : Instruction of M, S, F code except G codeCOMP : Instruction of cutter or tool length

compensationPOSTIN : Instruction of Line figure (G00, G01)CYCLE : Definition of canned cycles such as drilling,

millingTEACH : Creation of programs with handle machining

and auxiliary buttonsUSER : Display of user window screensCONTUR : Instruction of Contour figure ( Line + Circle )MOVE : Movement of a part of the programCOPY : Copying of a part of the programDELETE : Deletion of a part of the programALTER : Change of a part of the programO SEARCH : Selection of a program↑ SEARCH : Word search in the upward direction↓ SEARCH : Word search in the downward direction

LIST, WRK-CO, OFFSET are the same as those in the large-classified menu, and are omitted in the remainder of this manual.

O701n ;N0001 (“20 01 C010 20”) (Alphanumeric letters forINIT ) ; Maximum 6 ch.N0002 (“20 01 C018 20”) (Alphanumeric letters forTOOL) ; Maximum 6 ch.N0003 (“20 01 C020 20”) (Alphanumeric letters for MSF) ; Maximum 6 ch.N0004 (“20 01 C028 20”) (Alphanumeric letters forCOMP) ; Maximum 6 ch.

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

-28-

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

NOTEThe number (O701n) of this user program is set forthe number of the string definition macro for theediting 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.

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

-29-

6.3 COMMENT OF SOFT-KEYS IN MEM MENU

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

EXEC O SEARCH

N SEARCH

REWIND CHECK USER BGEDIT RETURN +

LIST WRK-CO OFFSET RETURN +

EXEC : Run a program.O SEARCH : Search for a program.N SEARCH : Search for a sequence number.REWIND : Find the start of a block.CHECK : Switch to the drawing screen.USER : Display the user window screen.BGEDIT : Switch to the BG editing screen.

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

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

-30-

6.4 COMMENT OF SOFT-KEYS IN MDI MENU

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

EXEC REWIND RETURN +

LIST WRK-CO OFFSET RETURN +

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

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

-31-

6.5 COMMENT OF SOFT-KEYS IN HANDLE MENU

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

EXEC REWIND RETURN +

LIST WRK-CO OFFSET RETURN +

LINE : Select linear cutting for handle machining.CIRCLE : Select circular cutting for handle machining.

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

-32-

6.6 COMMENT OF SOFT-KEYS IN GRAPHIC FUNCTION MENU

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

ANIME SBK ON

/OFF

SCL ON

/OFF

EXEC ERASE SCALE TOOL

POS.

PARAM RETURN

ANIME : Switch to the animated simulation screen.SBK ON/OFF : Make a single block stop while continuous

simulation is being executed. Or, starts singleblock simulation

SCL ON/OFF : Indicate whether to use scaling or not beforedrawing.

EXEC : Start the continuous simulation drawing.ERASE : Erase all drawn tool paths.SCALE : Enlarge or reduces a part of the drawn tool

path.TOOL POS. : Display the current tool center position with a

mark.PARAM : Change the drawing parameters.

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

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

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

-33-

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

PATH : Switch to the tool path drawing screen.EXEC : Start drawing after drawing a blankROTATE : Rotate a generated drawing.PLANE : Display a plan view of a work-piece.SECT.P : Display a cross-sectional view of a work-piece.3-PLAN : Display a tri-plane view from a drawn machining

profile.PARAM : Change the drawing parameters.

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

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

-34-

6.7 COMMENT OF SOFT-KEYS IN LIST MENU

By pushing [LIST] in the large-classified menu, the list menu below isdisplayed. In this menu, selection, copying, and other programoperations can be performed.

SELECT COPY DELETE CNV NC O SEARCH

RETURN

SELECT : Select a program.COPY : Copy a program.DELETE : Delete a program.CNV NC : Convert a conversational statement into an NC

statement.O SEARCH : Search for a program.

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

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

-35-

6.8 COMMENT OF SOFT-KEYS IN WRK-CO MENU

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

INPUT +INPUT RETURN

INPUT : Set a specified value as the current coordinate.+INPUT : Increment the current coordinate by a

specified value.

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

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

-36-

6.9 COMMENT OF SOFT-KEYS IN OFFSET MENU

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

INPUT +INPUT RETURN

INPUT : Set a specified value as the current coordinate.+INPUT : Increment the current coordinate by a

specified value.

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

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

-37-

6.10 COMMENT OF SOFT-KEYS IN CONTOUR PROFILE MENU

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

START

POINT

LINE CW

ARC

CCW

ARC

CHAMF ROUND END TANGNT RECALC RETURN +

TRANS COPY

ROTATE COPY

MIRROR COPY

RETURN +

LIST WRK-CO OFFSET RETURN +

START POINT : Instructing the start pointLINE : Instructing the line figureCW ARC : Instructing the clockwise arc figureCCW ARC : Instructing the counterclockwise arc figureCHAMF : Instructing the chamfer figureROUND : Instructing the round figureEND : Instructing the end of figureTANGNT : Instructing the tangentRECALC : Executing the calculation of intersectionTRANS COPY : Translating the specified figureROTATECOPY

: Rotating the specified figure

MIRRORCOPY

: Performing mirror conversion of the specifiedfigure

NOTEThis user program number O710n is specified to"Macro program number for displaying Comment ofContour Profile Menu", which is specified in Start-upmacro 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.

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

-38-

N0005 (“20 01 C030 20”) (Alphanumeric letters for CHAMF) ; Maximum 6 ch.N0006 (“20 01 C038 20”) (Alphanumeric letters for ROUND) ; Maximum 6 ch.N0007 (“20 01 C040 20”) (Alphanumeric letters for END) ; Maximum 6 ch.

O700n ;N0155 (“20 01 C048 20”) (Alphanumeric letters for TANGNT) ; Maximum 6 ch.N0156 (“20 01 C048 20”) (Alphanumeric letters for RECALC) ; Maximum 6 ch.

O720n ;N0022 (“20 01 C010 20”) (Alphanumeric letters for TRANS COPY) ; Maximum 6 ch.N0023 (“20 01 C018 20”) (Alphanumeric letters for ROTATE COPY) ; Maximum 6 ch.N0043 (“20 01 C020 20”) (Alphanumeric letters forMIRROR COPY) ; Maximum 6 ch.

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

-39-

6.11 COMMENT OF SOFT-KEYS IN CYCLE MOTIONS MENU

By pushing [CYCLE] in Editing menu, the following soft-keys aredisplayed.

HOLE PATTER FACE SIDE POCKET RERURN +

LIST WRK-CO OFFSET RETURN +

HOLE : Defining the cycle machining of holePATTER : Defining the hole patternFACE : Defining the cycle machining of facingSIDE : Defining the cycle machining of side cuttingPOCKET : Defining the cycle machining of pocketing

NOTEThis user program number O730n is specified to"Macro program number for displaying Comment ofCycle Motions Menu", which is specified in Start-upmacro 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.

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

-40-

NOTEThe comment of soft-keys for other Cycle Motion isdefined in the same way. And the user programnumber for each Cycle Motion is specified to thefollowing program number, which is specified inStart-up macro program.• Cycle Machining of Hole := Macro program

number for displaying Comment of Hole MachiningMenu

• Hole Pattern := Macro program number fordisplaying Comment of Hole Pattern Menu

• Facing := Macro program number for displayingComment of Facing Menu

• Side Cutting := Macro program number fordisplaying Comment of Side Cutting Menu

• Pocketing := Macro program number fordisplaying Comment of Pocketing Menu

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

-41-

6.12 COMMENT OF SOFT-KEYS IN TEACH MENU

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

LINE CIRCLE SAVE AUX RAPID CUT COMMON RETURN +

LIST WRK-CO OFFSET RETURN +

LINE : Select the linear cutting using a guidancehandwheel.

CIRCLE : Select the circular cutting using a guidancehandwheel.

SAVE : The feed rate and spindle speed are recordedAUX : After pushing one or continuously several ones of

the auxiliary function switches, the operator canteach-in these commands.

RAPID : After moving a tool toward a proper position, theoperator can teach-in this tool motion into CNC asa rapid traverse block.

CUT : Teach-in the tool motion into CNC as a cuttingblock.

COMMON : Open the common data input window.

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

By pushing [LINE] or [CIRCLE], the figure data input window isdisplayed. After data is set, the soft-key menu below is displayed bypushing the [INPEND] soft-key.

LMTON/OFF

SAVE AUX RAPID CUT COMMON INPEND

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

-42-

LMT ON/OFF : The limit not to exceed the target line becomesavailable 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.

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

-43-

6.13 COMMENT OF SOFT-KEYS IN CNV NC MENU

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

SELECT COPY DELETE CNV NC LIST WRK-CO OFFSET RETURN

CNV NC : Convert a program into an NC statement.

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

NOTEThe other soft-key comment data are excepted toexplain.So, change these data after confirming the contents.

7. COMMENT OF INPUT DATA ITEM USER PROGRAM B-63423EN/02

-44-

7 COMMENT OF INPUT DATA ITEM

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

B-63423EN/02 USER PROGRAM 7. COMMENT OF INPUT DATA ITEM

-45-

7.1 COMMENT OF INPUT DATA ITEM IN G-CODE MENU

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

INIT TOOL MSF COMP POSTIN CONTUR CYCLE TEACH USER RETURN

By pushing each soft-keys, the pop-up window of the selected menuwill be displayed. This time, it is explained as an example of INITIALSET menu. By pushing [INIT], the following Input Data Window(Pop-up Window) will be displayed.

And, By pushing [DETAIL], the following Detail Window isdisplayed.

WORK CO-ORD. G= NO OUT

WORK SHAPE P= RECT.

WORK X CO-ORD. X=

WORK Y CO-ORD. Y=

WORK Z CO-ORD. Z=

WORK X WIDTH I=

WORK Y WIDTH J=

WORK THICKNESS K=

INITIAL SET 1/1

ABS / INC A= NO OUT

PLANE SELECTION S= NO OUT

ORIGIN POINT B= CENTER

INPUT UNIT M= NO OUT

INITIAL SET (DETAIL)

Title (1)

The 1st - m’th item

Title (2)

7. COMMENT OF INPUT DATA ITEM USER PROGRAM B-63423EN/02

-46-

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

NOTE1 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 ofG-code menu” in Start-up macro program. Theprogram number of the following each menu isincreased 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 40chN9998 (Alphanumeric letters for Title(2)) ; Maximum 40chN0001 (Alphanumeric letters for 1st item) ; Maximum 18chN0002 (Alphanumeric letters for 2nd item) ; Maximum 18chN000m (Alphanumeric letters for m’th item) ; Maximum 18ch

NOTE2 The serial number of input data item counts the first

item of Input Data Window or Detail Window as aninitial term. The item is displayed in Windows (InputData one or Detail one) according to Data Attributeof the next chapter.

And the comment of the soft-key for each input data can be modified.

NOTE3 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 tothe sequence number of the fourth digit.

N0101 (“20 01 C010 20”) (The 1st soft-key letters of 1st item) ; Maximum 6chN010n (“20 01 C010 20”) (The n’th soft-key letters of 1st item) ; Maximum 6chN0m01 (“20 01 C010 20”) (The 1st soft-key letters of m’th item) ; Maximum 6chN0m0n (“20 01 C010 20”) (The n’th soft-key letters of m’th item) ; Maximum 6ch

B-63423EN/02 USER PROGRAM 7. COMMENT OF INPUT DATA ITEM

-47-

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

NOTE4 As for the output data by selecting each soft-key,

the sequence number of the third digit correspondsto 5.

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

7. COMMENT OF INPUT DATA ITEM USER PROGRAM B-63423EN/02

-48-

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’) ;

B-63423EN/02 USER PROGRAM 7. COMMENT OF INPUT DATA ITEM

-49-

7.2 COMMENT OF INPUT DATA ITEM IN CONTOUR PROFILEMENU

By pushing [CONTUR] of G-code menu, the following soft-keys ofContour profile menu are displayed.

By pushing each soft-keys, the pop-up window of the menu will bedisplayed. This time, it is explained as an example of START POINTmenu. By pushing [START POINT], the following Input DataWindow will be displayed.

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

NOTE1 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 ofContour Profile menu” in Start-up macro program.The program number of the following each menu isincreased 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

RETURNRECALC.TANGNTENDROUNDCHAMFCWARC

CCWARC

LINESTARTPOINT

START POINT X X=

START POINT Y Y=

START POINT TYPEE= START POINT

START POSITIONTitle (1)

The 1st - m’th item

7. COMMENT OF INPUT DATA ITEM USER PROGRAM B-63423EN/02

-50-

O711n ;N9999 (Alphanumeric letters for Title(1)) ; Maximum 40chN9998 (Alphanumeric letters for Title(2)) ; Maximum 40chN0001 (Alphanumeric letters for 1st item) ; Maximum 18chN0002 (Alphanumeric letters for 2nd item) ; Maximum 18chN000m (Alphanumeric letters for m’th item) ; Maximum 18ch

NOTE2 The serial number of input data item counts the first

item of Input Data Window or Detail Window as aninitial term. The item is displayed in Windows (InputData one or Detail one) according to Data Attributeof the next chapter.

And the comment of the soft-key for each input data can be modified.

NOTE3 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 tothe sequence number of the fourth digit.

N0101 (“20 01 C010 20”) (The 1st soft-key letters of 1st item) ; Maximum 6chN010n (“20 01 C010 20”) (The n’th soft-key letters of 1st item) ; Maximum 6chN0m01 (“20 01 C010 20”) (The 1st soft-key letters of m’th item) ; Maximum 6chN0m0n (“20 01 C010 20”) (The n’th soft-key letters of m’th item) ; Maximum 6ch

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

NOTE4 As for the output data by selecting each soft-key,

the sequence number of the third digit correspondsto 5.

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

B-63423EN/02 USER PROGRAM 7. COMMENT OF INPUT DATA ITEM

-51-

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 ;

7. COMMENT OF INPUT DATA ITEM USER PROGRAM B-63423EN/02

-52-

7.3 COMMENT OF INPUT DATA ITEM IN CYCLE MOTIONS MENU

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

HOLE PATTER FACE SIDE POCKET RETURN

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

SQUARE CIRCLE RETURN

By pushing each soft-keys, the pop-up window of the menu will bedisplayed. This time, it is explained as an example of SQUARESURFACE menu.By pushing [SQUARE], the following Input Data Window will bedisplayed.

And, By pushing [DETAIL], the following Detail Window isdisplayed.

MACH. PROCESS P= ROUGH

END POINT Z Z=

RECTANGULAR

REMOVAL DEPTH B=

REMOVAL PITCH J=

FINISHING ALW. H= 0.000

FEED RATE F= 70.000

CUTTING WITDH C=

SQUAREFACE 1/2

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

SQUARE FACE (DETAIL)

Title (1)

CENTER POINT X X=

CENTER POINT Y Y=

U-LENGTH U=

V-LENGTH V=

First page Second page

SQUAREFACE 2/2

Title (2)

The 1st - m’th item

B-63423EN/02 USER PROGRAM 7. COMMENT OF INPUT DATA ITEM

-53-

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

NOTE1 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 ofFacing menu” in Start-up macro program. Theprogram number of the following each menu isincreased by 10.

(1). SQUARE menu = O761n (2). CIRCLE menu = O762n

2 The other cycles motions menu is specified bysimilar method.

For example, if it is the hole machining, thenumbers 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 40chN9998 (Alphanumeric letters for Title(2)) ; Maximum 40chN0001 (Alphanumeric letters for 1st item) ; Maximum 18chN0002 (Alphanumeric letters for 2nd item) ; Maximum 18chN000m (Alphanumeric letters for m’th item) ; Maximum 18ch

NOTE3 The serial number of input data item counts the first

item of Input Data Window or Detail Window as aninitial term. The item is displayed in Windows (InputData one or Detail one) according to Data Attributeof the next chapter.

And the comment of the soft-key for each input data item can bemodified.

NOTE4 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 tothe sequence number of the fourth digit

7. COMMENT OF INPUT DATA ITEM USER PROGRAM B-63423EN/02

-54-

N0101 (“20 01 C010 20”) (The 1st soft-key letters of 1st item) ; Maximum 6chN010n (“20 01 C010 20”) (The n’th soft-key letters of 1st item) ; Maximum 6chN0m01 (“20 01 C010 20”) (The 1st soft-key letters of m’th item) ; Maximum 6chN0m0n (“20 01 C010 20”) (The n’th soft-key letters of m’th item) ; Maximum 6ch

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

NOTE5 As for the output data by selecting each soft-key,

the sequence number of the third digit correspondsto 5.

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

B-63423EN/02 USER PROGRAM 7. COMMENT OF INPUT DATA ITEM

-55-

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 ;

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

-56-

8 DATA STRUCTURE OF MACHININGPROGRAM

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

-57-

8.1 DATA ATTRIBUTE

The data attribute is the one, which is defined as the address andcharacter of each input data in the pop-up window. And the systemcontrols the display of input data and the operation according to thisdata.The data attribute is specified by setting the data to the followingmacro variables. The each data attribute can be modified by using thedata attribute of this user program.The structure of data attribute is as follows.

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

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

-58-

NOTE1. 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 programnumber for defining Data Attribute” in Start-upmacro program.

The program number of each menu is increasedby 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 Dataattribute 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 Dataattribute of Hole machining menu = 8432(1). DORILLING = O8432(2). BORING = O8433(3). TAPPING = O8434

2-4. Macro program number for defining Dataattribute 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 Dataattribute of Facing menu = 8461(1). SQUARE SURFACE = O8461(2). CIRCLE SURFACE = O8462

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

-59-

NOTE2-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 Dataattribute 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

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

-60-

8.2 DETAIL OF DATA ATTRIBUTE

1). Machining KindThe number of G code is specified. For a example, Initial Settingmenu is G300, and it is set to 300. Moreover, it is set to –1, exceptfor G code like the MSF code menu. In the case of Line menu, itis set to –1, because it is not able to decide whether it is G00 orG01.

2). AddressThe address of the argument for G code is specified as follows.

Address Setting Address SettingA 1 N 14B 2 P 16C 3 Q 17D 4 R 18E 5 S 19F 6 T 20G * U 21H 8 V 22I 9 W 23J 10 X 24K 11 Y 25L 12 Z 26M 13 END 0

When the address is set to 0, it is recognized the end of the dataattribute.As to the address G, in order to use the address of G code, thefollowing group number of G code is set the address.

Group Setting Group Setting Group Setting00 30 09 39 18 4801 31 10 40 19 4902 32 11 41 20 5003 33 12 42 21 5104 34 13 43 22 5205 35 14 44 23 5306 36 15 45 24 5407 37 16 46 25 5508 38 17 47

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

-61-

3). AttributeThe data of whether it is a numeric value type or a literal valuetype is specified.Macro Variable of each data = ABCDEFG (numeric data)

(1). ABCDEFG = 00*4050This data item is an integer type, and is inputted by numericalkey.

(2). ABCDEFG = 00*4051This data item is a decimal type, and is inputted by numericalkey.

(3). ABCDEFG = 12*4050This data item is a literal type, and is inputted by soft-keys.

(4). As to C of the fifth digitThe following attributes are defined as four bit data.#0 = 0 : Assume the data item of Input Data Window. = 1 : Assume the data item of Detail Window.#1 = 0 : Output into memory . = 1 : Not output into memory.#2 = 0 : Display it as the data item in Window. = 1 : Not display it as the data item in Window.

(5). ABCDEFG = -1This data item is not used and is not displayed even on thescreen.

(6). ABCDEFG = -2Changing page of Input Data Window is done.In this case, neither the address data nor attribute data are used.

(7). ABCDEFG = -3Changing page of Detail Window is done.In this case, neither the address data nor attribute data are used.

4). DefaultThis data is displayed in the input data as a default before theoperator inputs the data.Moreover, when the data is input by numeric key or soft-key, thedata is set according to the data attribute. The data is stored intothis area of memory by pushing the [INSERT] key in the form of(address + argument).

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

-62-

9 USER PROGRAMS FOR DISPLAYINGGUIDANCE DRAWING FIGURE

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

-63-

9.1 G CODES FOR DRAWING

The following user program is the one, which displays the guidancedrawing figure with the input data item. This user program is calledevery time the cursor of the input data item moves.The guidance drawing figure can be modified by using this userprogram. Moreover, the following display tool prepared by macroexecutor is used in this user program.

1). G243 : Character string display2). G202 : Screen hold/erase3). G240 : Color display setting4). G244 : Line type setting5). G242 : Graphic start point setting6). G01, G02, G03 : Line/Circle draw7). G206 : Paint display8). G249 : Graphic cursor display9). G204 : Rectangle display

NOTE1. The user program number of displaying the

guidance drawing figure is the number, which isspecified to “Macro program number for displayingguidance drawing figure” in Start-up macro program.The program number of the following each menu isincreased by 1.

1-1. Macro program number for displaying guidancedrawing figure of G code menu = 8602(1). Initial Setting = O8602(2). Tool Definition = O8603(3). MSF code = O8604(4). Comp. = O8605(5). Positioning = O8606

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

-64-

NOTE1-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 guidancedrawing figure of Hole machining menu = 8632(1). Drilling = O8632(2). Boring = O8633(3). Tapping = O8634

1-4. Macro program number for displaying guidancedrawing 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 guidancedrawing figure of Facing menu = 8661(1). Square surface = O8661(2). Circle surface = O8662

1-6. Macro program number for displaying guidancedrawing 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 guidancedrawing 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

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

-65-

9.2 CHARACTER COORDINATES SYSTEM AND GRAPHICCOORDINATES SYSTEM

The character coordinates system and graphic coordinates system (dotcoordinates system) to display the guidance drawing figure are asfollows.

1). Character coordinates systemThe character coordinates system assumes the horizontal directionto X coordinates and the vertical direction to Y coordinates.X coordinates are specified from left (34) to right (58) and Ycoordinates specify from top (2) to bottom (15).

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

GuidanceInput item

(58,2)(34,2)

(58,15)(34,15)

GuidanceInput item

(151,215)(-80,215)

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

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

-66-

Especially for Guidance Cutting, in order to support an operator’shandling, some guidance drawings are prepared. Basically theirstandard program are prepared, but they can be modified by MTB fortheir own purpose.The number of this user program is fixed as follows.

Program NO. Content of drawingO9804 Data items for Line formO9809 Data items for Circle formO9802 Approach/Along cutting and guidance handwheel

direction for Line cuttingO9807 Approach/Along cutting and guidance handwheel

direction for Circle cutting

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

-67-

9.3 NOTES ON CREATING GUIDANCE DRAWING FIGURES

1) A macro program for guidance drawing figures is started twiceeach time the cursor moves on the data input screen. Therefore,no operation should be performed upon the first startup of theprogram, and a guidance drawing figure should be created onlyupon the second startup.

2) A macro program for guidance drawing figures uses severalsymbols, which are defined in SYMBOL.DEF. The followingare some common symbols:

Symbol Description

cursor #6011 Current cursor positionThe symbol is set by the system.

guide_frequency #6013

How many times the guidance drawingfigure macro is startedFirst time = first_time (1)Second time = second_time (2)The symbol is set by the system.

previous_cursor #10060

Previous cursor positionThe symbol is set by the macro.It is initialized in PROC*.SRC and set inFIG*.SRC.

call M98P

fig_clear 6000 Number of the program for initializing theguidance drawing figure display area

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

Display guidancedrawing figure 1.

Prompt 1 A=

Prompt 2 B=

Prompt 3 C= Display guidancedrawing figure 3.

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

-68-

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

3) The blinking cursor in a guidance drawing figure is called thesecond cursor. There are many different methods to control thesecond cursor. With the FANUC standard macros, for example,the ordinal number on the process data is specified for #1 inFIG*.SRC. Then, program O6008 is called. Within programO6008, when the current cursor position matches the ordinalnumber on the process data, the address blinks. Otherwise, thenormal display is provided.

:#1=2call fig_cursorG243X50Y3(I):

call fig_clear and call fig_cursor shown in the above examples arecontained in FIGCOM.SRC, which is the source having a set ofroutines common to guidance drawing figure macros. The followingare main common routines:

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

4) A macro program for guidance drawing figures is started eachtime the cursor moves. To change process attributes dependingon input data, therefore, the corresponding attributes must bechanged within this macro program. For example, to displayitems for rough machining, and to hide them for finishmachining, change the attributes within the program accordingly.

Create thefigure onlyupon thesecondstartup oftheprogram.

Clear guidance drawing figure 3 when the cursor waspreviously positioned at prompt 3.

:6008 if[cursor eq #1]then cursor_on else cursor_off endif m99

#1: Ordinal number on theprocess datacursor_on:G240P-7C14L1(Cursor blinking)cursor_off:G240P7C14L0

B-63423EN/02 USER PROGRAM 10. USER PROGRAMS FOR CHECKING INPUTTED DATA

-69-

10 USER PROGRAMS FOR CHECKINGINPUTTED DATA

The following user program is the one, which checks the input data.When an INSERT key is pushed, this user program is called. If thereis a mistake in the input data, the cursor will move to the data item. Ifthere is no mistake, the input data will be stored into the memory.The logic of data checking can be modified by using these userprogram.In this user program, the cursor and the screen are controlled by usingthe following two system variables.

� #6004 := 0 Store into the memory when INSERT key is pushed. := 1 Not store into the memory when INSERT key is pushed.

� #6009 : The cursor moves to the data item when the item numberof wrong data is inputted.

The sequence of user program for checking input data is as follows.1). User program set # 6004 and # 6009 to 0 at first, and checks each

input data.2). If there is a mistake in input data, user program will set # 6004 to

1 and #6009 to the number of the data item.3). If there is no mistake, user program will finish with nothing.

NOTEThe user program number of checking inputted datais the number, which is specified to “Macro programnumber for checking inputted data” in Start-upmacro program. The program number of thefollowing each menu is increased by 1.

1 Macro program number for checking inputted dataof G-code menu = 8802(1). Initial Setting = O8802(2). Tool Definition = O8803(3). MSF code = O8804(4). Comp. = O8805(5). Positioning = O8806

10. USER PROGRAMS FOR CHECKING INPUTTED DATA USER PROGRAM B-63423EN/02

-70-

NOTE2 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 dataof Hole machining menu = 8832(1). Drilling = O8832(2). Boring = O8833(3). Tapping = O8834(4). Rigid tapping = O8834

4 Macro program number for checking inputted dataof 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 dataof Facing menu = 8861(1). Square Surface = O8861(2). Circle Surface = O8862

6 Macro program number for checking inputted dataof 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 dataof 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

B-63423EN/02 USER PROGRAM 11. USER PROGRAM FOR EXECUTING MACHINING PROGRAM

-71-

11 USER PROGRAMS FOR EXECUTINGMACHINING PROGRAM

The following user program is the machining program which is calledfrom the special G code defined as a machining cycle. This userprogram is prepared as a standard specification and it is also possibleto modify it.The number of this user program is the numbers (Special G codesnumber + 9000 ) as follow.

Menu G code Program No.Initial Setting G300 O9300Tool Definition G301 O9301Start Point(Contour) G100 O9100Line(Contour) G101 O9101Circle CW(Contour) G102 O9102Circle CCW(Contour) G103 O9103Chamfer(Contour) G104 O9104Corner R(Contour) G105 O9105End(Contour) G106 O9106Points(Hole Pattern) G200 O9200Line(Hole Pattern) G201 O9201Grid(Hole Pattern) G202 O9202Square(Hole Pattern) G203 O9203Circle(Hole Pattern) G204 O9204Arc(Hole Pattern) G205 O9205Square Face(Facing) G210 O9210Circle Face(Facing) G211 O9211Square Side(Side Cutting) G220 O9220Circle Side(Side Cutting) G221 O9221Track Side(Side Cutting) G222 O9222One Side(Side Cutting) G223 O9223Contour Side(Side Cutting) G224 O9224Square Pocket (Pocketing) G230 O9230Circle Pocket(Pocketing) G231 O9231Track Pocket(Pocketing) G232 O9232Groove(Pocketing) G233 O9233Contour Pocket (Pocketing) G234 O9234Contour Groove(Pocketing) G235 O9235

11 USER PROGRAMS FOR EXECUTING MACHINING PROGRAM USER PROGRAM B-63423EN/02

-72-

In order to execute a Guidance Cutting, some form data necessary forit must be set into PMC data area. For this purpose, the followingUser Programs are prepared as a standard specification.The number of this user program are fixed as follows.

Program NO. Content of programO9800 Setting Line cutting data into PMCO9805 Setting Circle cutting data into PMC

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

-73-

12 USER PROGRAMS FOR TOOL CHANGE

Tool Change Sequence is different from each machine. Therefore,MTB has to make a tool change macro program according to thespecifications of his machine.We explain about Tool Change Sequence of FANUC standard macroprogram as follows. This user macro program is prepared as astandard specifications. So, please make Tool Change macro programreferring it.

When the operator inputs the data of G code menu [TOOL SET] andpushes INSERT key, the following ISO code program is created.

T : Tool number (T code)D : Offset number for cutter compensation (D code)H : Offset number for tool length compensation (H code)R : Radius of used tool for animated simulationN : Next used tool number for automatic tool changer

WARINGWhen MTB uses FANUAC standard macro

program of Tool Change without modification, thereis a possibility that the tool may strikes the machineor work-piece. If the tool strikes the machine and/orwork-piece, the tool and/or machine may bedamaged, and even injuries the operator.

Therefore, please surely make Tool Changemacro program according to the specifications of themachine.

G301 T_ D_ H_ R_ N_ ;G301 T_ D_ H_ R_ N_ ;G301 T_ D_ H_ R_ N_ ;G301 T_ D_ H_ R_ N_ ;

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

-74-

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

O9301 call_cutter_compensation_cancel call_canned_cycle_cancel G91 G28 Z0 G28 X0 Y0 G90 if[tool_no lt 0]goto err if[p_cutter_offset_no ne p_cutter_offset_no_off]then if[cutter_offset_no lt 0]goto err if[length_offset_no lt 0]goto err endif if[p_animation_t_radius eq p_animation_t_radius_on]then if[animate_tool_radius lt 0]goto err endif if[next_tool_no lt 0]goto err if[call_tool_macro eq 0]then if[tool_no ne #0]then T[tool_no] M6 endif else if[tool_no ne #0]then T[tool_no] call_tool_change [call_tool_macro] endif endif if[p_cutter_offset_no ne p_cutter_offset_no_off]then D[cutter_offset_no] H[length_offset_no] endif T[next_tool_no] if[p_cutter_offset_no eq p_cutter_offset_no_off && p_animation_t_radius ne p_animation_t_radius_on]goto ret if[p_animation_t_radius ne p_animation_t_radius_on]then if[cutter_offset_no ne #0]then call_get_tool_offset D[cutter_offset_no] G10 L91 R[tool_radius] endif else if[animate_tool_radius ne #0]then G10 L91 R[animate_tool_radius] endif endif goto retn98 error_message = input_value_is_erroneous call_error_displayn99 return

Output G40 for cutter compensation.

Output G80 for a canned cycle.

Return to the reference position.

Check input data.

Change tools when a T code is set.

Change tools set in memory.

Output D and H codes.

Output the next tool T code.

Output theradius ofthe tool foranimatedsimulation.

Display an error message.

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

-75-

13 PMC CUSTOMIZING TOOLS

MTB can make their own Machine Operating Panel and ParticularOperations by themselves by using following specially prepared PMCsignals and User Programs.

• User Program Calling Switches (DI : Standard 8 + Custom made12)

• Requesting Mode Changing Signals (DI : AUTO mode, JOG mode,EDIT mode, MDI mode)

• ISO / MANUAL GUIDE Screen Changing Signal (DI)• Machining Start Signal (DI)• Guidance Handwheel Control Signals (DI)• Manual Pulse Boc Control Signals (DI)

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

-76-

13.1 SIGNALS FOR USER PROGRAMS CALLING

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

NOTEThis function is available only at Guidance cutting

operation. If other operation such as ordinarymachining operation is selected, it cannot be used.

1) User Program Number and Corresponding PMC DI Signals

Program No. Calling PMC Signal Function of ProgramO9854 R950.4 (TOUT) T-code (T++++, M6)O9855 R950.5 (M03) Spindle CW (M03)O9856 R950.6 (M04) Spindle CCW (M04)O9857 R950.7 (M05) Spindle Stop (M05)O9858 R951.0 (M08) Coolant On (M08)O9859 R951.1 (M09) Coolant Off (M09)O9860 R951.2 (G30) Return to Tool Change Position.

(G30)O9861 R951.3 (G28) Return to Reference Pos. (G28)O9862 R951.4 (CLSP9) User Program SUB#9O9863 R951.5 (CLSP10) User Program SUB#10O9864 R951.6 (CLSP11) User Program SUB#11O9865 R951.7 (CLSP12) User Program SUB#12O9866 R960.0 (CLSP13) User Program SUB#13O9867 R960.1 (CLSP14) User Program SUB#14O9868 R960.2 (CLSP15) User Program SUB#15O9869 R960.3 (CLSP16) User Program SUB#16O9870 R960.4 (CLSP17) User Program SUB#17O9871 R960.5 (CLSP18) User Program SUB#18O9872 R960.6 (CLSP19) User Program SUB#19O9873 R960.7 (CLSP20) User Program SUB#20

NOTEIn the above PMC signal table, as to actual functionis described signals, User Programs for FANUCstandard specification are prepared.In these FANUC standard specifications, besidesdescribed machine command outputting, samecommand will be inputted into the actual teachingprogram, if it is Guidance Machining process.

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

-77-

2) Shaking Hands Signal for User Program CallingAt the time that one of the above signals (DI) is turned to '1' as aresult of pushing corresponding key on a machine operator's panel,MANUAL GUIDE system software will turn the following signal(DO) to '1' in order to inform to PMC that this signal has beenreceived by system software.

R959.1(RSOF) = 1 : User program calling signal was received byMANUAL GUIDE

PMC program must keep the user program calling signal to "1"until this signal "RSOF" becomes "1". When the user programcalling signal is turned to "0", "RSOF" will be turned to "0".

3) Automatic Start for User Programs CallingAt the time that one of the signals for user programs calling, 7.2R950.0 - R951.7, is turned to '1' as a result of pushingcorresponding key on a machine operator's panel, MANUALGUIDE system software will turn the following signal (DO) to '1'.

R955.7(GST2) = 1 : Request to change mode to MEM, and startexecuting

In response to the above request, PMC program must changemode to MEM and begin the sequence for starting machineoperation.

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

-78-

<Timing Chart>

User program execution

M02, M30

Calling PMC signal

(PMC->CNC)

RSOF

(CNC->PMC)

GST

(CNC->PMC)

ST

(PMC->CNC)

STL

(CNC->PMC)

ERS

(PMC->CNC)

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

-79-

13.2 CHANGING MODE FOR AUTOMATIC OPERATION ANDMACHINING SIMULATION

At the time that an operator push a soft-key for [MEM] or [CHECK],in order to do a automatic operation or a machining simulation,MANUAL GUIDE system software will turn the following signal(DO) to '1'.

R959.0(ANMM) = 1 : Request to change mode to MEM

In response to the above request, PMC program must change mode toMEM. If this signal turned off to 0 from 1, PMC must change mode tothe old one.

13.3 CHANGING MODE FOR MANUAL OPERATION

At the time that an operator push a soft-key for [HANDLE] or[TEACH], in order to operate a manual operation, MANUAL GUIDEsystem software will turn the following signal (DO) to '1'.

R959.7(JOG) = 1 : Request to change mode to JOG

In response to the above request, PMC program must change mode toJOG. If this signal turned off to 0 from 1, PMC must change mode tothe old one.

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

-80-

13.4 CHANGING MODE FOR EDITING OPERATION

When the operator pushes the [EDIT] soft-key for program editing,the MANUAL GUIDE system software sets the following signal(DO) to 1:

R959.4(EDIT) = 1 : Request to switch to EDIT mode

In response to the above request, the PMC program must switch toEDIT mode. When the signal is reset to 0, the PMC program returnsto the original mode.

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

-81-

13.5 CHANGING MODE FOR MDI OPERATION

When the operator pushes the [MDI] soft-key for MDI operation, theMANUAL GUIDE system software sets the following signal (DO) to1:

R959.6(MDI) = 1 : Request to switch to MDI mode

In response to the above request, the PMC program must switch toMDI mode. When the signal is reset to 0, the PMC program returnsto the original mode.

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

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

-82-

13.6 SIGNAL FOR ISO / GUIDE SCREEN CHANGING

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

NOTEIn order to avoid unexpected problem at changingbetween ISO / GUIDANCE screen, please makePMC program to turn on External Reset signal atchanging this switch

PMC Signal for ISO/GUIDE ChangingG62.4(PDT1) = 0 : Select ISO programming screen

= 1 : Select GUIDE screen

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

-83-

13.7 OPERATION FOR STARTING MACHINING

By pushing a soft-key [START] of machining operation,MANUAL GUIDE system software will turn the signal to '1' tostart the machining program.

R955.7(GST2) = 1 : Request to start executing of machiningprogram

In response to this request, PMC program begin the sequence forstarting machine operation. By these procedure, executing ofmachining program will start.

<Timing Chart>

GST2(CNC -> PMC)

ST(PMC -> CNC)

STL(CNC -> PMC)

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

-84-

13.8 GUIDANCE HANDWHEEL CONTROL SIGNALS

1) Custom macro program <--> CNC interface

Address Size Line Circle

R961 1 byte0 : Not execute line nor circle

1 : Line

2 : Circle (CW)

3 : Circle (CCW)

R962 ∼ R965 4 bytes X-axis approaching direction

(vector component)

X

Y Tool

X-axis center (X0)

R966 ∼ R969 4 bytes Y-axis approaching direction

(vector component)

Y-axis center (Y0)

R970 ∼ R973 4 bytes Distance from origin to a line (P) Radius of a circle (R)

R974 1 byte Moving direction at rotating a guidance

handwheel to normal direction

0 : +90 degrees to approaching

direction

1 : -90 degrees to approaching

direction

0 : Cut inside of a circle

1 : Cut outside of a circle

Note) Moving direction at rotating a guidance

handwheel to normal depends on a value of

R961

R975 1 byte #7 #0

Setting of limit available or not0 : Not available1 : Available

Setting of limit area at limit function being available0 : Area of approaching direction is forbidden1 : Opposite area of approaching direction is forbidden

Set 0 always

R979 1 byte Information of setting change

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

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

-85-

• Set 0 to R961 when line/circle cutting are not necessary.• R979 (information of setting change) is a signal to inform

CNC that the data for line/circle cutting were changed. Sequence i) Set data for R961 - R974

ii) Set "0" to R979 after setting the above data iii) CNC begins to read data iv) CNC set "1" to R979 after reading

• If some of data were changed during executing a cutting byguidance handwheel , all the data must be set again.

NOTEThe all procedure for the above data signals arealready prepared as the standard custom macroprogram. So, MTB needs not to make them bythemselves, if they need not to modify them.

2) Synchronous feed with a guidance handwheel

G023.4 (HDLF)

When the above signal is "1", machine motions are controlled asfollows.

During automatic operation of machining program, the feedrate ofline (G01) or circle (G02/G03) motions is not controlled byinputted feedrate in a program, but a guidance handwheel rotation.The tangential speed of motion is controlled by synchronizingwith a guidance handwheel rotation.

NOTEDuring running in dry run mode or machiningsimulation, The above synchronous feed functioncannot be used. So, when the signal "DRN" is "1",set the above signal "HDLF" to "0" always.

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

-86-

3) Selecting moving axis

When non-zero value is set into the R961 described in 1), byusing the following signals, moving axis by handwheel can beselected. These signals are prepared for each handwheel, and arecode signal data made up from 4 signals, A/B/C/D.The number in a name of each signals means the handwheelnumber.HSnA : Moving axis selecting signal for handwheel No."n"

Moving axis selecting signal of handwheel Moving axisHSnD HSnC HSnB HsnA

0 0 0 0 No axis is selected0 0 0 1 1st axis0 0 1 0 2nd axis0 0 1 1 3rd axis1 1 1 0 i) Simultaneous 2 axes moving along the line or circle

ii) Synchronous feed at automatic operation ( Guidance Handle)

1 1 1 1 Simultaneous 2 axes moving perpendicular to the line or circle ( Approach Handle)

HS1A HS1B HS1C HS1DG018#0 G018#1 G018#2 G018#3

HS2A HS2B HS2C HS2DG018#4 G018#5 G018#6 G018#7

HS3A HS3B HS3C HS3DG019#0 G019#1 G019#2 G019#3

HS4A HS4B HS4C HS4DG020#0 G020#1 G020#2 G020#3

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

-87-

13.9 MANUAL PULSE BOX CONTROL SIGNALS

The following signals (DI) are provided so that the teaching functions[AUX], [RAPID], and [CUT] can also be started from the manualpulse box:

PM PMC signal DescriptionR988.0(CUTT) Teaching for cuttingR988.1(RPDT) Teaching for rapid traverseR988.2(AUXT) Teaching for auxiliary functions

When one of the above DI signals is set to 1 by pushing thecorresponding button on the manual pulse box, the MANUALGUIDE system software sets the following signal (DO) to 1, to notifythe PMC that it received the DI signal:

R959.1(RSOF) = 1 : Reception of the user program calling signal bythe MANUAL GUIDE

The PMC program must hold the user program calling signal to 1until the RSOF signal is set to 1. When the use program calling signalis reset to 0, the RSOF signal is also reset to 0.

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

-88-

14 USER WINDOW PROGRAMSOn the editing and operation screens, MTB-customized screens canbe displayed. In addition, a user window on the editing screen can bechanged for use as a menu that works in the same way as that forcycle machining.

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

-89-

14.1 USER WINDOWS ON THE EDITING SCREEN

By setting the following parameters, user windows are enabled on theediting screen:

No. #7 #6 #5 #4 #3 #2 #1 #0No. 9110 UWN

UWN =1 : Enables user window display on the editing screen.=0 : Disables user window display on the editing screen.

No. DescriptionNo. 9111 Main program number of the user window custom macroNo. 9112 Three-digit G code used in the user window custom macro

By pushing [USER] in the editing menu, the user window menubelow is displayed. The MTB can customize a screen.

SOFTKEY1

SOFTKEY2

SOFTKEY3

SOFTKEY4

SOFTKEY5

SOFTKEY6

SOFTKEY7

SOFTKEY8

SOFTKEY9

RETURN

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

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

-90-

14.2 MACRO PROGRAMS AND VARIABLES

1) O****+5: Initialization of the window(Program number set for parameter No. 9111 + 5)This program is used to determine the size and position of thewindow. The program is called only once as the window opens.Once the necessary data is input to the following custom macrovariables below, the window can open.

#9111 : X position at the upper-left corner of the window(character coordinate)

#9112 : Y position at the upper-left corner of the window(character coordinate)

#9113 : Window width (number of characters in the Xdirection)

#9114 : Window height (number of characters in the Ydirection)

2) O****+0: Initialization of the display items in the window(Program number set for parameter No. 9111 + 0)This program is used for the purposes below. The program iscalled only once after the window opens.

a) Initializing the custom macro variables used in the windowb) Displaying the static messages in the window

3) O****+1: Main processing in the window(Program number set for parameter No. 9111 + 1)This program is used for the purposes below. The program iscalled periodically while the window is being displayed.a) Monitoring pushed soft-keys and input datab) Inputting data to custom macro variables based on

keystrokesc) Displaying changed data, such as the machine position,

based on keystrokes

4) O****+2: Post-processing as the window closes(Program number set for parameter No. 9111 + 2)This program is used for post-processing for the internal statusas the window closes, including saving the custom macrovariables. The window closes, for example, when [RETURN] or<INSERT> is pushed or another CNC screen appears. Theprogram is called only once.

5) O****+3: Display of the static soft-keys (only once)(Program number set for parameter No. 9111 + 3)This program is used to display the static soft-keys that remainon the screen. The program is called only once after the windowopens.

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

-91-

6) O****+4: Repetitive display of the dynamic soft-keys(Program number set for parameter No. 9111 + 4)This program is used to display the dynamic soft-keys that arechanged depending on the cursor position or other conditions.The program is called periodically while the window is beingdisplayed.

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

-92-

14.3 MONITORING KEYSTROKES

1) Custom macro variables for monitoring keystrokesThe following custom macro variables can be used to monitorkeystrokes:

#8501 : Identification of keys other than numeric keys#8502 : Numeric data input before the <INPUT> key is pushed

2) Identification codes for pushed keysThe following codes are set to #8501 to identify pushed keys:

Key Code Key CodePage key ↓ 1 Leftmost soft-key 20Page key ↑ 2 Rightmost soft-key 31

Cursor ↓ 3 Soft-key 1 21Cursor ↑ 4 Soft-key 2 22Cursor → 18 Soft-key 3 23Cursor ← 19 Soft-key 4 24ALTER 5 Soft-key 5 25INSERT 6 Soft-key 6 26DELETE 7 Soft-key 7 27INPUT 8 Soft-key 8 28RESET 10 Soft-key 9 29

NOTESoft-key 10 is always used for [RETURN] (to closethe user window), and cannot be used for any otherpurposes.

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

-93-

14.4 MEMORY STORAGE AND CHANGING TOOLS

1) Memory storage toolThe G code (G235) is provided to store input data on the NCtape memory. When the MDI [INSERT] key is pushed, thecustom macro creates process data and stores it on the NC tapememory. When the following input data is set and G235 isspecified, the data can be stored on the NC tape memory:

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

NOTE1 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 thevalue is different from the parameter value, the userwindow does not open for changing data.

4 When G325 is specified, process data is stored onthe NC tape memory and the user window closes.

Example in which 400 is set for parameter No. 9112 and X123.456 isoutput

:#6070=400; .............G400#6073=24; ...............Address X#6074=4051; ...........Decimal fraction data#6075=123.456; ......Data to be storedG235;.......................NC memory storage specification:

G400X123.456;

<INSERTINSERTINSERTINSERT> (Memory storage)

Input datasetting

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

-94-

2) Changing toolTo change the data last input, it must be redisplayed. For thispurpose, the system variables (#10500 to #10574) are providedto obtain such data.When the cursor is moved to the desired block and the MDI<ALTER> key is pushed, the argument addresses and data areset to the system variables (#10500 to #10574). The data lastinput can be displayed by reading these variables with thecustom macro.

Variable Item name Variable Item name#10500 Reserved . . . . . .#10501 Reserved #10566 Address of input data 22#10502 Reserved #10567 Reserved#10503 Address of input data 1 #10568 Argument of input data 22#10504 Reserved #10569 Address of input data 23#10505 Argument of input data 1 #10570 Reserved#10506 Address of input data 2 #10571 Argument of input data 23#10507 Reserved #10572 Address of input data 24#10508 Argument of input data 2 #10573 Reserved

. . . . . . #10574 Argument of input data 24

Example in which the cursor is positioned at the block withG400X123.456 and <ALTER> is pushed

:G243X10.Y10.(X=);G243X12.Y10.D#10505;:

X=123.456

User window

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

-95-

14.5 CHARACTER COORDINATE SYSTEM AND GRAPHICCOORDINATE SYSTEM

The character coordinate system and graphic coordinate system (dotcoordinate system) in user windows are as follows.

1) Character coordinate systemThe character coordinate system assumes that X coordinates arein the horizontal direction and Y coordinates are in the verticaldirection. The X coordinates specify 0 to 79, from left to right.The Y coordinates specify 0 to 29, from top to bottom.

2) Graphic coordinate systemThe graphic coordinate system assumes that X coordinates are inthe horizontal direction and Y coordinates are in the verticaldirection. The X coordinates specify -320 to 319, from left toright. The Y coordinates specify -232 to 247, from bottom to top.

(0,0)(0,0)(0,0)(0,0)

(79,29)(79,29)(79,29)(79,29)

247247247247

((((0,00,00,00,0))))319319319319-320-320-320-320

-232-232-232-232

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

-96-

The coordinates of the closed window are used as the referencecoordinates. Therefore, specify coordinates with reference to the userwindow that is shifted to the upper left.

The following is an example of how to draw a line within a userwindow as shown above:

:G242X-280Y30;G01X-100Y150;:

User window

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

-97-

14.6 USER WINDOWS ON THE OPERATION SCREEN

By setting the following parameters, user windows are enabled on theoperation screen:

No. #7 #6 #5 #4 #3 #2 #1 #0No. 9110 MUW

MWN =1 : Enables user window display on the operation screen.=0 : Disables user window display on the operation screen.

No. DescriptionNo. 9113 Main program number of the user window custom macro

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

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

-98-

14.7 CHANIGING USER WINDOWS TO SUPPORT CYCLES

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

No. #7 #6 #5 #4 #3 #2 #1 #0No. 9163 SM2 K19

SM2 =1 : Uses the second startup macro program.=0 : Does not use the second startup macro program.

K19 =1 : Displays cycle machining defined in the second startupmacro program when the ninth editing menu soft-key ispushed.

=0 : Does not display cycle machining defined in the secondstartup macro program when the ninth editing menu soft-keyis pushed.

No. DescriptionNo. 9164 Program number of the second startup macroNo. 9165 Starting variable number for definition of the editing macro

By pushing the [USER] editing soft-key, the machining cycle menubelow is displayed.

USER MACHINING1

USER MACHINING2

USER MACHINING3

USER MACHINING4

USER MACHINING5

RETURN

By pushing the [USER MACHINING*] soft-key , the detailedmachining menu below is displayed.

USER DETAIL1

USER DETAIL2

USER DETAIL3

USER DETAIL4

USER DETAIL5

USER DETAIL6

USER DETAIL7

USER DETAIL8

RETURN

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

1) Second startup macro programTo enable screen switching in the same way as for cyclemachining, the second startup macro program must be definedfor user cycles, aside from the normal startup macro program.Use the above parameters to set the number of the second startupmacro program and the starting variable number used in theprogram.Define screen layout data, starting with the variable number setwith parameter No. 9165. The required variables are as follows.

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

-99-

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

NOTEDefine the string definition macros, attribute datamacros, guidance drawing figure macros, andinput data check macros in the same way as thosefor cycle machining.

2) Starting the data input screen using a soft-key in the machiningmenuNormally, when a soft-key is pushed in the machining menu, thecorresponding soft-keys are displayed in the detail menu. Then,the data input screen appears when one of the soft-keys is pushed.However, when the number of submenus of the machining menuis defined as -1, as shown below, pushing a soft-key in themachining menu can display the corresponding data inputwindow.Number of submenus of user cycle machining menu m = -1Number of the string definition macro for the user-definedmachining menu = Any

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

-100-

Number of the attribute data macro for the user-definedmachining menu = AnyNumber of the guidance drawing figure macro for the user-defined machining menu = Any

3) Precedence over user window displayWhen bit 0 (UWN) of parameter No. 9110 is 1, user windowdisplay is enabled. When bit 7 (SM2) and bit 0 (K19) ofparameter No. 9163 are 1, however, user cycles are enabled andno user window is displayed.

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

-101-

14.8 RESTRICTIONS

In the user window display, unlike cycle machining, moving thecursor over a data item displays no soft-keys nor guidance messagesduring editing when the data input window closes ([WINDOW] isturned off). In the user cycles, soft-keys or guidance messages appearin the same way as for normal cycle machining.

15. DISPLAYING USER-SPECIFIED STRINGS USER PROGRAM B-63423EN/02

-102-

15 DISPLAYING USER-SPECIFIED STRINGS

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

B-63423EN/02 USER PROGRAM 15. DISPLAYING USER-SPECIFIED STRINGS

-103-

15.1 EXAMPLE OF DEFINING THE TITLE AS A SEPARATEPROGRAM

1) For parameter No. 9170, specify the program number of theFANUC standard macro that has the title string definition. Thelowest digit of a program number is 1 to 6, depending on thelanguage. In this example, the typical number is specified as theprogram number.In Japanese, program O7002 of the FANUC standard macros hasthe string definition. Set 7000 to parameter No. 9170.

O7002N9999(‘MANUAL GUIDE’):M99

2) For parameter No. 9171, specify the program number of the user-specified macro that has the title string definition. Again, thetypical number is specified as the program number. Suppose thatprogram O5702 of the user-specified macros has the stringdefinition. Set 5700 to parameter No. 9171

O5702N9999(‘Title’)M99

The MANUAL GUIDE system software checks parameters No.9170 and No. 9171. When the program number of the new user-specified macro exists, the software checks whether N9999exists in program O5702. If it exists, "Title" is displayed.Otherwise, "MANUAL GUIDE" is displayed in the title displayarea.

15. DISPLAYING USER-SPECIFIED STRINGS USER PROGRAM B-63423EN/02

-104-

15.2 PARAMETERS

The following parameters are provided to display user-specifiedstrings:

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

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

-105-

16 MEASUREMENT CYCLEThe measurement cycle program is optionally available. The programcan be used to perform touch probe calibration and workpiecemeasurement.

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

-106-

16.1 STARTUP MACRO PROGRAM

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

Variable Description Standardvalue

+ 0 Number of the string definition macro displayed inthe system

7000

+ 1 Number of submenus of the editing menu 7+ 2 Number of the string definition macro for the editing

menu7010

+ 3 Number of the attribute data macro for the editingmenu

8402

+ 4 Number of the guidance drawing figure macro forthe editing menu

8602

+ 5 Number of the input data check macro for theediting menu

8802

. . . . . . . . .+ 11 Number of submenus of the cycle machining menu 7+ 12 Number of the string definition macro for the cycle

machining menu7300

. . . . . . . . .+ 33 Number of submenus of the pocketing menu 5+ 34 Number of the string definition macro for the

pocketing menu7800

+ 35 Number of the attribute data macro for thepocketing menu

8481

+ 36 Number of the guidance drawing figure macro forthe pocketing menu

8681

+ 37 Number of the input data check macro for thepocketing menu

8881

+ 38 Number of submenus of the calibration cycle menu 4+ 39 Number of the string definition macro for the

calibration menu6200

+ 40 Number of the attribute data macro for thecalibration menu

6511

+ 41 Number of the guidance drawing figure macro forthe calibration menu

6551

+ 42 Number of the input data check macro for thecalibration menu

6611

+ 43 Number of submenus of the measurement cyclemenu

13

+ 44 Number of the string definition macro for themeasurement cycle menu

6300

+ 45 Number of the attribute data macro for themeasurement cycle menu

6521

+ 46 Number of the guidance drawing figure macro forthe measurement cycle menu

6561

+ 47 Number of the input data check macro for themeasurement cycle menu

6621

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

-107-

16.2 CALIBRATION AND MEASUREMENT CYCLES

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

HOLE PATTER FACING SIDE CUTTING

POCKETING

CALIBRATION

MEASUR

RETURN

CALIBRATION : Define calibration cycles for the touch probe.MEASUR : Define measurement cycles.

NOTEThe number (O730n) of this user program is set forthe number of the string definition macro for thecycle machining menu, in the startup macroprogram.

O730n ;N0001 (“20 01 C010 20”) (Alphanumeric letters for HOLE) ; Maximum 6chN0002 (“20 01 C018 20”) (Alphanumeric letters for PATTER) ; Maximum 6chN0003 (“20 01 C020 20”) (Alphanumeric letters for FACING) ; Maximum 6chN0004 (“20 01 C028 20”) (Alphanumeric letters for SIDE CUTTING) ; Maximum 6chN0005 (“20 01 C030 20”) (Alphanumeric letters for POCKETING) ; Maximum 6chN0006 (“20 01 C038 20”) (Alphanumeric letters for CALIBRATION) ; Maximum 6chN0006 (“20 01 C040 20”) (Alphanumeric letters for MEASUR) ; Maximum 6ch

By pushing the [CALIB] in the editing menu, the calibration menubelow is displayed.

PROBE DIA. OFFSET A

OFFSET B

戻り

Pushing a soft-key displays the corresponding menu in a pop-upwindow. This section assumes that [PROBE] is pushed. Thefollowing uses an example of the probe menu for explanation.

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

-108-

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

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

NOTE1 The user program number (O761n) of this menu is

obtained by adding 10 to the number of the stringdefinition macro for the calibration menu, in thestartup macro program. The numbers of thesubsequent 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 thesame 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 40chN0001 (Alphanumeric letters for 1st item) ; Maximum 18chN0002 (Alphanumeric letters for 2nd item) ; Maximum 18chN000m (Alphanumeric letters for m’th item) ; Maximum 18ch

DISTANCE FOR MOV Z=

DIST. GAUGE-TABLE D=

RING GAUGE HEIGHT H=

FEEDRATE FOR MOV F=

PROBE LENGTH 1/1

The first to mth items

Title (1)

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

-109-

NOTE3 Input items are given serial numbers, counting from

1 for the first item in the input data window or detailwindow. Which window displays items is specified inprocess data, as shown in Part II.

It is possible to change the comments on soft-keys displayed for eachdata item in a menu.

NOTE

NOTE4 The soft-key for each input item corresponds to the

second digit of a sequence number. The ordinalnumber of the soft-key corresponds to the fourthdigit of a sequence number.

N0101 (“20 01 C010 20”) (The 1st soft-key letters of 1st item) ; Maximum 6chN010n (“20 01 C010 20”) (The n’th soft-key letters of 1st item) ; Maximum 6chN0m01 (“20 01 C010 20”) (The 1st soft-key letters of m’th item) ; Maximum 6chN0m0n (“20 01 C010 20”) (The n’th soft-key letters of m’th item) ; Maximum 6ch

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

NOTE5 Data output with each soft-key corresponds to the

value of a sequence number whose third digit is 5.

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

• Example of definition of input data items in the probe menuO6212 ;N9999(' PROBE LENGTH ');N0001(' DISTANCE FOR MOV ');N0002(' DIST. GAUGE-TABLE ');N0003(' TRING GAUGE HEIGH ');N0004(' FEEDRATE FOR MOV);M99

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

-110-

16.3 ATTRIBUTE DATA

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

NOTE1 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 thestartup macro program. The numbers of thesubsequent menus are incremented by 1.

2-1Number of the attribute data macro for thecalibration menu = 6511(1) Probe = O6511(2) Diameter = O6512(3) Offset A = O6513(4) Offset B = O6514

2-2Number of the attribute data macro for themeasurement 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

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

-111-

16.4 MACRO PROGRAMS FOR DISPLAYING GUIDANCEDRAWING FIGURES

The macro programs for displaying guidance drawing figures are thesame as those for normal cycle machining.

NOTE1 The number of the user program for displaying

guidance drawing figures suitable for data items isset for the guidance drawing figure macro number,in the startup macro program. The numbers of thesubsequent menus are incremented by 1.

1-1Number of the guidance drawing figure macro forthe 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 forthe 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

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

-112-

16.5 MACRO PROGRAMS FOR CHECKING INPUT DATA

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

NOTE1 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 thesubsequent 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 measurementcycle 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

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

-113-

16.6 MACRO PROGRAMS FOR EXECUTING CALIBRATIONAND MEASUREMENT CYCLES

The numbers of those programs are obtained by adding 9000 tospecial G codes, as shown below.

Menu G code Program numberMeasurement of Probe Length G170 O9170Measurement of Diameter G171 O9171Measurement (A) of Offset G172 O9172Measurement (B) of Offset G173 O9173Measurement of X/Y/Z Single Surface G180 O9180Measurement of Web Width G181 O9181Measurement of Groove Width G182 O9182Measurement of Outside Circle G183 O9183Measurement of Inside Circle G184 O9184Measurement of Outside Rectangular G185 O9185Measurement of Inside Rectangular G186 O9186Outside Corner G187 O9187Inside Corner G188 O9188Bolt-Hole-Circle G189 O91894 Holes Center G190 O9190Workpiece Angle G191 O91912 Holes Angle G191 O9192

II. SAMPL E PROGRAM

NOTEIn this chapter, sample programs for various user programsdescribed in the former chapter are described.As to the sample programs described in this chapter, they aresubject to change without prior notice for improvement.

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

-117-

1 LIST OF USER PROGRAMS

� Program Number List of User Programs

LargeClassification

SmallClassification Menu Comment Attribute Figure Checking

System System Comment O700n ---- ---- ----Menu Soft-keys O701n ---- ---- ----Initial Setting O702n O8402 O8602 O8802Tool Setting O703n O8403 O8603 O8803MSB code O704n O8404 O8604 O8804Compensation O705n O8405 O8605 O8805Line O706n O8406 O8606 O8806CW Circle O707n O8407 O8607 O8807

G-code Menu

CCW Circle O708n O8408 O8608 O8808Menu Soft-keys O710n ---- ---- ----Start point O711n O8411 O8611 O8811Line O712n O8412 O8612 O8812CW Arc O713n O8413 O8613 O8813CCW Arc O714n O8414 O8614 O8814Chamfer O715n O8415 O8615 O8815Round O716n O8416 O8616 O8816End O717n O8417 O8617 O8817Translate Copy O718n O8418 O8618 O8818Rotation Copy O719n O8419 O8619 O8819

Contour ProfileMenu

Mirror Copy O720n O8420 O8620 O8820Cycle Motion Menu O730n ---- ---- ----Menu Soft-keys O731n ---- ---- ----Drilling O732n O8432 O8632 O8832Boring O733n O8433 O8633 O8833

HoleMachining

Tapping O734n O8434 O8634 O8834Menu Soft-keys O740n ---- ---- ----Points O741n O8441 O8641 O8841Line O742n O8442 O8642 O8842Grid O743n O8443 O8643 O8843Square O744n O8444 O8644 O8844Circle O745n O8445 O8645 O8845

Cycle Motion

Hole pattern

Arc O746n O8446 O8646 O8846

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

-118-

LargeClassification

SmallClassification Menu Comment Attribute Figure Checking

Menu Soft-keys O760n ---- ---- ----Square Surface O761n O8461 O8661 O8861FacingCircle Surface O762n O8462 O8662 O8862Menu Soft-keys O770n ---- ---- ----Square Side O771n O8471 O8671 O8871Circle Side O772n O8472 O8672 O8872Track Side O773n O8473 O8673 O8873One Side O774n O8474 O8674 O8874

Side Cutting

Contour Side O775n O8475 O8675 O8875Menu Soft-keys O780n ---- ---- ----Square Pocket O781n O8481 O8681 O8881Circle Pocket O782n O8482 O8682 O8882Track Pocket O783n O8483 O8683 O8883Grooving O784n O8484 O8684 O8884Contour Pocket O785n O8485 O8685 O8885

Cycle Motion

Pocketing

Contour Grooving O786n O8486 O8686 O8886

� When the measurement cycle option is provided, the following programsare added:

LargeClassification

SmallClassification Menu Comment Attribute Figure Checking

Menu Soft-keys O620n ---- ---- ----Measurement of Probe Length O621n O6511 O6551 O6611Measurement of Diameter O622n O6512 O6552 O6612Measurement (A) of Offset O623n O6513 O6553 O6613

CalibrationCycles

Measurement (B) of Offset O624n O6514 O6554 O6614Menu Soft-keys O630n ---- ---- ----Measurement of X/Y/Z SingleSurface O631n O6521 O6561 O6621

Measurement of Web Width O632n O6522 O6562 O6622Measurement of Groove Width O633n O6523 O6563 O6623Measurement of Outside Circle O634n O6524 O6564 O6624Measurement of Inside Circle O635n O6525 O6565 O6625Measurement of OutsideRectangular O636n O6526 O6566 O6626

Measurement of InsideRectangular O637n O6527 O6567 O6627

Measurement of Outside Corner O638n O6528 O6568 O6628Measurement of Inside Corner O639n O6529 O6569 O6629Measurement of Bolt-Hole Circle O640n O6530 O6570 O6630Measurement of 4 Holes Center O641n O6531 O6571 O6631Measurement of WorkpieceAngle O642n O6532 O6572 O6632

Cycle Motion

MeasuringCycles

Measurement of 2 Holes Angle O643n O6533 O6573 O6633

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

-119-

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

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

-120-

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

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

-121-

2 USER PROGRAMS FOR SYSTEMCOMMENT

� Definition of Symbol/*** Attribution definition@att_not_use -1 /* Not Use@att_new_page -2 /* New Page for Normal Window@att_new_page_datail -3 /* New Page for Detail Window

@att_integer 4050 /* Integer Data@att_decimal 4051 /* Decimal Data@att_character 1204050 /* Character Data@att_detail 10000 /* Detail@att_not_output 20000 /* Not Output@att_not_display 40000 /* Not Display@att_not_display_decimal 40001 /* Not Display Decimal Data

/*** Usable definition@address P9102+3* /* Address Variable@attribute P9102+1+3* /* Attribute Variable@value P9102+2+3* /* Value Variable

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

@call M98P /* Macro Call

/*** Parameter@inch_mm P9920AND32 @inch_mm_on 32

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

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

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

-122-

@string_o_number 6900 /* String O number

@shift_grap_Y 32@shift_char_Y 2@shift_grap_X 8@shift_char_X 1

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

/*** Color definition@color G240P@red 1

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

-123-

@green 2@yellow 3@blue 4@purple 5@sky_blue 6@white 7@l_black 8

� Definition of System Comment;SYSTEM SCREEN STRING(ENGLISH)o7001;BASE SCREENN9999(' MANUAL GUIDE')N1001(' ACTUAL POSITION')N1002(' DIST TO GO')N1003(' NEXT BLOCK')N1004(' SPINDLE')N1005(' FEEDRATE')N1006('MM/MIN')N1007('INCH/MIN')N1010('PROGRAM DIR. ')N1011('PROGRAM NO. ')N1012('MEMORY AREA ')N1013(' USED/FREE ')N1014('NO.')N1015('NAME')N1016('CREATE DATE')N1017('SIZE(CHAR.)')N1018('SELECT PROGRAM NO. '); MAX 27 CHARAN1019('CHECK/EXEC PROG. NO. '); MAX 27 CHARAN1020('THIS PROGRAM USED AT F.G. ')N1021('[OFFSET]')N1022('LENGTH')N1023('RADIUS')N1024('NO.')N1025('GEOMETRY')N1026('WEAR')N1027('WORK CO.')N1028('DATA')N1029('NO.');N1030(' PROGRAMING FIGURE SETTING ') ; MAX 30 CHARAN1031('WORK FIGURE ='); MAX 20 CHARAN1032('COORDINATE ='); MAX 20 CHARAN1033('SCALE MAX X AXIS ='); MAX 20 CHARAN1034(' Y AXIS ='); MAX 20 CHARAN1035(' Z AXIS ='); MAX 20 CHARAN1036('SCALE MIN X AXIS ='); MAX 20 CHARAN1037(' Y AXIS ='); MAX 20 CHARAN1038(' Z AXIS ='); MAX 20 CHARAN1039('COLOR PATH ='); MAX 20 CHARAN1040(' WORK ='); MAX 20 CHARAN1041(' SELECT ='); MAX 20 CHARA;;GUIDANCE HANDLEN1050(' COMMON DATA INPUT WINDOW '); MAX 30 CHARAN1051('TOOL NO. T='); MAX 16 CHARAN1052('TL OFFSET NO. D='); MAX 16 CHARAN1053('FEEDRATE F='); MAX 16 CHARAN1054('SPINDLE SPEED S='); MAX 16 CHARAN1060(' FIGURE DATA INPUT WINDOW [LINE] '); MAX 40 CHARAN1061('X1 POS ='); MAX 10 CHARAN1062('Y1 POS ='); MAX 10 CHARA

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

-124-

N1063('X2 POS ='); MAX 10 CHARAN1064('Y2 POS ='); MAX 10 CHARAN1065('ANGLE A ='); MAX 10 CHARAN1070(' FIGURE DATA INPUT WINDOW [CIRCLE] '); MAX 40 CHARAN1071('CENTER X ='); MAX 10 CHARAN1072('CENTER Y ='); MAX 10 CHARAN1073('RADIUS R ='); MAX 10 CHARA;;PROGRAM DIRECTRYN1080('DELETE OK ? '); MAX 38 CHARAN1081('INPUT NEW PROGRAM NUMBER. '); MAX 27 CHARAN1082('SAME PROGRAM NUMBER EXISTS.OVER WRITE?'); MAX 38 CHARAN1083('CHANGE TO EDIT MODE '); MAX 38 CHARA;;PROFRAM EDITN1100('SELECTION AREA IS WRONG. '); MAX 38 CHARAN1101('NOT CONTOUR PROGRAMMING MODE '); MAX 38 CHARAN1102('CANNOT SELECT START POINT '); MAX 38 CHARAN1103('END OR BEFORE IS PENDING. '); MAX 38 CHARAN1104('TOP OR END IS CORNER-R,CHAMFER. '); MAX 38 CHARAN1105('BEFORE OR AFTER IS CORNER-R,CHAMFER. '); MAX 38 CHARAN1106('NUMBER OF BLOCKS EXCEEDED 200. '); MAX 38 CHARAN1107('INPUT DATA ERROR. '); MAX 38 CHARA;;GRAPHIC SCREENN3001('DRAWING'); MAX 7CHARAN3002('SCALING'); MAX 7CHARAN3003(' STOP '); MAX 7CHARAN3004('SCALE='); MAX 6CHARAN3005('CALCULATE TOOL PATH ');MAX 20 CHARAN3010('PATH GRAPHIC PARAMETER '); MAX 30 CHARAN3011('AXES ='); MAX 20 CHARAN3012('ROTATION ANGLE ='); MAX 20 CHARAN3013('TILTING ANGLE ='); MAX 20 CHARAN3014('SCALE ='); MAX 20 CHARAN3015('MAX. (CENTER) X='); MAX 20 CHARAN3016(' Y='); MAX 20 CHARAN3017(' Z='); MAX 20 CHARAN3018('MIN. I='); MAX 20 CHARAN3019(' J='); MAX 20 CHARAN3020(' K='); MAX 20 CHARAN3021('START SEQ. NO. ='); MAX 20 CHARAN3022('END SEQ. NO. ='); MAX 20 CHARAN3023('TOOL RADIUS COMP. ='); MAX 20 CHARAN3024('COLOR PATH ='); MAX 20 CHARAN3025(' AUTO CHANGE ='); MAX 20 CHARAN3026(' TOOL POS. ='); MAX 20 CHARAN3030('ANIME GRAPHIC PARAMETER '); MAX 30 CHARAN3031('BLANK FORM ='); MAX 20 CHARAN3032('BLANK POSITION X='); MAX 20 CHARAN3033(' Y='); MAX 20 CHARAN3034(' Z='); MAX 20 CHARAN3035('BLANK DIMENSION I='); MAX 20 CHARAN3036(' J='); MAX 20 CHARAN3037(' K='); MAX 20 CHARAN3038('TOOL RADIUS ='); MAX 20 CHARAN3039('TOOL LENGTH ='); MAX 20 CHARAN3040('ANIME SPEED ='); MAX 20 CHARAN3041('PLANE/3-PLANE COLOR='); MAX 20 CHARAN3050(' XY'); MAX 10 CHARAN3051(' YZ'); MAX 10 CHARAN3052(' ZY'); MAX 10 CHARAN3053(' XZ'); MAX 10 CHARAN3054(' XYZ'); MAX 10 CHARAN3055(' ZXY'); MAX 10 CHARAN3056(' XY,XZ'); MAX 10 CHARAN3057(' ON'); MAX 10 CHARA

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

-125-

N3058(' OFF'); MAX 10 CHARAN3060(' WHITE'); MAX 10 CHARAN3061(' RED'); MAX 10 CHARAN3062(' GREEN'); MAX 10 CHARAN3063(' YELLOW'); MAX 10 CHARAN3064(' BLUE'); MAX 10 CHARAN3065(' PURPLE'); MAX 10 CHARAN3066(' SKY BLUE'); MAX 10 CHARAN3070(' CUBE'); MAX 10 CHARAN3071(' TUBE'); MAX 10 CHARAN3101('CHANGE TO MEM MODE. '); MAX 38 CHARAN3102('EXECUTING AUTO OPERATION. CANNOT START'); MAX 38 CHARAN3103('SINGLE BLOCK MODE. CANNOT START '); MAX 38 CHARAN3104('ALARM EXISTS. CANNOT START '); MAX 38 CHARAN3105('FEED HOLD MODE. CANNOT START '); MAX 38 CHARAN3106('OPERATION STOP. CANNOT START '); MAX 38 CHARAN3107('UNJUST PROGRAM NO. '); MAX 38 CHARA;N3001-3199 RESERVE FOR GRAPHIC;SOFTKEYN0001("20 01 C010 20")(' PROG');N0002("20 01 C038 20")(' CHECK');N0003("20 01 C040 20")(' EXEC');N0004(' ')N0005("20 01 C040 20")('WRK CO')N0006("20 01 C048 20")('OFFSET')N0007("20 01 C010 20")('SELECT')N0008("20 01 C018 20")(' COPY')N0009("20 01 C020 20")('DELETE')N0010("20 01 C058 20")(' LIST')N0011("20 01 C018 20")('COPY')N0012("20 01 C020 20")('DELETE')N0013("20 01 C010 20")('MOVE')N0014("20 01 C010 20")(' EXEC ') ; COPY EXECN0015("20 01 C018 20")('CANCEL') ; COPY CANCELN0016("20 01 C048 20")('ON/OFF')N0017("20 01 C050 20")('DETAIL')N0018("20 01 C048 20")('CALC.')N0019("20 01 C018 20")(' EXEC ') ; DELETE EXECN0020("20 01 C020 20")('CANCEL') ; DELETE CANCELN0021("20 01 C050 20")('RECALC')N0022("20 01 C010 20")('TRANSL')N0023("20 01 C018 20")('ROTAT ')N0024("20 01 C020 20")('SYMMET')N0025("20 01 C010 20")(' ANIME');N0026("20 01 C020 20")('SBK ON');N0027("20 01 C020 20")('SBKOFF');N0028("20 01 C028 20")('SCL ON');N0029("20 01 C028 20")('SCLOFF');N0030("20 01 C030 20")(' EXEC ');N0031("20 01 C038 20")(' ERASE');N0032("20 01 C040 20")(' SCALE');N0033("20 01 C048 20")('TL POS');N0034("20 01 C050 20")(' PARAM');;N0035("20 01 C010 20")(' LEFT ');;N0036("20 01 C018 20")(' RIGHT');;N0037("20 01 C020 20")(' UP ');;N0038("20 01 C028 20")(' DOWN ');N0039("20 01 C028 20")(' UP ');N0040("20 01 C030 20")(' DOWN ');N0041("20 01 C058 20")(' END ');N0042("20 01 C058 20")(' END ');N0043("20 01 C010 20")(' PATH ');N0044("20 01 C030 20")(' EXEC ');N0045("20 01 C038 20")('ROTATE');N0046("20 01 C028 20")(' PLANE');N0047("20 01 C040 20")('SECT.P');N0048("20 01 C048 20")(' 3-PLN');

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

-126-

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

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

-127-

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

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

-128-

3 USER PROGRAMS FOR G-CODE MENU

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

-129-

3.1 COMMENTS DEFINITION

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

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

O7021 ;############################################### Initial SetN9999('INITIAL SET');N9998('INITIAL SET(DETAIL SET)');N0001('WORK CO-ORD.');N0002('WORK SHAPE');N0003('WORK X CO-ORD.');N0004('WORK Y CO-ORD.');N0005('WORK Z CO-ORD.');N0006('WORK X WIDTH');N0007('WORK Y WIDTH');N0008('WORK THICKNESS');N0009('ABS / INC');N0010('PLANE SELECTION');N0011('ORIGIN POINT');N0012('INPUT UNIT');

N0100('1');N0101("20 01 C010 20")(' G54 ');N0102("20 01 C010 20")(' G55 ');N0103("20 01 C010 20")(' G56 ');N0104("20 01 C010 20")(' G57 ');N0105("20 01 C010 20")(' G58 ');N0106("20 01 C010 20")(' G59 ');N0107("20 01 C018 20")('NO OUT');N0151('1');N0152('2');N0153('3');N0154('4');N0155('5');N0156('6');N0157('7');

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

-130-

N0200('2');N0201("20 01 C010 20")(' RECT ');N0202("20 01 C018 20")('CYLIN ');N0203("20 01 C020 20")('NO OUT');N0251('1');N0252('2');N0253('3');

N0900('3');N0901("20 01 C010 20")('G90ABS');N0902("20 01 C018 20")('G91INC');N0903("20 01 C020 20")('NO OUT');N0951('1');N0952('2');N0953('3');

N1000('4');N1001("20 01 C010 20")('XY PLN');N1002("20 01 C018 20")('ZX PLN');N1003("20 01 C020 20")('YZ PLN');N1004("20 01 C028 20")('NO OUT');N1051('1');N1052('2');N1053('3');N1054('4');

N1100('2');N1101("20 01 C028 20")(' LEFT ');N1102("20 01 C030 20")('CENTER');N1151('1');N1152('2');

N1200('1');N1201(' ')(' INCH ')(' G20 ');N1202(' ')(' MM ')(' G21 ');N1203("20 01 C018 20")('NO OUT');N1251('1');N1252('2');N1253('3');M99

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

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

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

-131-

O7051 ;############################################### CompensationN9999('COMPENSATION');N9998('COMPENSATION(DETAIL SET)');N0001('CUTTER COMP.');N0002('LENGTH COMP.');N0003('RAPID / CUT');N0004('D CODE');N0005('H CODE');N0006('END POINT X');N0007('END POINT Y');N0008('END POINT Z');N0009('FEED RATE');

N0100('5');N0101("20 01 C028 20")(' G41 ');N0102("20 01 C030 20")(' G42 ');N0103("20 01 C038 20")(' G40 ');N0104("20 01 C040 20")('NO OUT');N0151('41');N0152('42');N0153('40');N0154('4');

N0200('5');N0201("20 01 C010 20")(' G43 ');N0202("20 01 C018 20")(' G44 ');N0203("20 01 C020 20")(' G49 ');N0204("20 01 C040 20")('NO OUT');N0251('43');N0252('44');N0253('49');N0254('4');

N0300('6');N0301("20 01 C010 20")('RAPID ');N0302("20 01 C018 20")(' CUT ');N0351('0');N0352('1');M99

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

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

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

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

-132-

N0004('END POINT Y');N0005('END POINT Z');N0006('RADIUS');N0007('CENT. DISTANCE.-I');N0008('CENT. DISTANCE.-J');N0009('CENT. DISTANCE.-K');N0010('FEED RATE');

N0100('30');N0101("20 01 C018 20")('NO OUT');N0102("20 01 C010 20")('OUTPUT');N0151('0');N0152('1');

N0200('4');N0201("20 01 C010 20")('XY PLN');N0202("20 01 C018 20")('ZX PLN');N0203("20 01 C020 20")('YZ PLN');N0251('17');N0252('18');N0253('19');

M99

O7081 ;############################################### CCW CircleN9999('CCW CIRCLE');N9998('CCW CIRCLE(DETAIL SET)');N0001('OUTPUT PLANE');N0002('PLANE SELECTION');N0003('END POINT X');N0004('END POINT Y');N0005('END POINT Z');N0006('RADIUS');N0007('CENT. DISTANCE.-I');N0008('CENT. DISTANCE.-J');N0009('CENT. DISTANCE.-K');N0010('FEED RATE');

N0100('30');N0101("20 01 C018 20")('NO OUT');N0102("20 01 C010 20")('OUTPUT');N0151('0');N0152('1');

N0200('4');N0201("20 01 C010 20")('XY PLN');N0202("20 01 C018 20")('ZX PLN');N0203("20 01 C020 20")('YZ PLN');N0251('17');N0252('18');N0253('19');

M99

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

-133-

3.2 DATA ATTRIBUTE

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

O8402 ;############################################### Initial Set/* Cycle G Code */#[address 0] = 300

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

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

-134-

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

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

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

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

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

-135-

#[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_endprevious_cursor = 1 /* Previous cursor position clearm99

O8406 ;############################################### Line#[address 0] = -1#[address 1] = add_G01G ; G00/01#[attribute 1] = att_character#[value 1] = #0#[address 2] = add_X#[attribute 2] = att_decimal#[value 2] = #0#[address 3] = add_Y#[attribute 3] = att_decimal#[value 3] = #0#[address 4] = add_Z#[attribute 4] = att_decimal#[value 4] = #0#[address 5] = add_F#[attribute 5] = att_decimal#[value 5] = #0#[address 6] = add_endprevious_cursor = 1 /* Previous cursor position clearm99

O8407 ;############################################### CW Circle#20 = P3402 AND 2#21 = P3402 AND 4if[#20 eq 0 && #21 eq 0]then #22 = 17if[#20 eq 0 && #21 eq 1]then #22 = 18if[#20 eq 1 && #21 eq 0]then #22 = 19

#[address 0] = 2#[address 1] = add_A ; Plane Selection Output#[attribute 1] = att_character + att_detail + att_not_output#[value 1] = 0#[address 2] = add_G02G ; Plane Selection#[attribute 2] = att_character + att_not_output

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

-136-

#[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] = #0if[#22 eq 17]then #[attribute 7] = att_not_use #[attribute 9] = att_not_useendifif[#22 eq 18]then #[attribute 4] = att_not_use #[attribute 8] = att_not_useendifif[#22 eq 19]then #[attribute 3] = att_not_use #[attribute 7] = att_not_useendif#[address 11] = add_endprevious_cursor = 1 /* Previous cursor position clearm99

O8408 ;############################################### CCW Circle#20 = P3402 AND 2#21 = P3402 AND 4if[#20 eq 0 && #21 eq 0]then #22 = 17if[#20 eq 0 && #21 eq 1]then #22 = 18if[#20 eq 1 && #21 eq 0]then #22 = 19

#[address 0] = 3#[address 1] = add_A ; Plane Selection Output#[attribute 1] = att_character + att_detail + att_not_output#[value 1] = 0#[address 2] = add_G02G ; Plane Selection#[attribute 2] = att_character + att_not_output#[value 2] = #22#[address 3] = add_X#[attribute 3] = att_decimal#[value 3] = #0#[address 4] = add_Y#[attribute 4] = att_decimal#[value 4] = #0#[address 5] = add_Z#[attribute 5] = att_decimal#[value 5] = #0#[address 6] = add_R ; Radius

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

-137-

#[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] = #0if[#22 eq 17]then #[attribute 7] = att_not_use #[attribute 9] = att_not_useendifif[#22 eq 18]then #[attribute 4] = att_not_use #[attribute 8] = att_not_useendifif[#22 eq 19]then #[attribute 3] = att_not_use #[attribute 7] = att_not_useendif#[address 11] = add_endprevious_cursor = 1 /* Previous cursor position clearm99

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

-138-

3.3 GUIDANCE DRAWING FIGURE

/****************************************************************************/*/* FIG1.SRC :: System Menue/*/***** 8602: Initial Set/***** 8603: Tool Def/***** 8604: MSB Code/***** 8605: Compensation/***** 8606: Line/***** 8607: CW Circle/***** 8608: CCW Circle/****************************************************************************$INCLUDE SYMBOL.DEF

O8602 ;############################################### Initial Set/*** Guide Picture Setting ***/if[guide_frequency eq secont_tine]then if[cursor eq 1]then ; Work Coorinate call fig_clear call 6051 endif if[cursor eq 2]then ; Work Size P call fig_clear call 6052 endif if[cursor GE 3 && cursor le 8]then ; Work Size if[previous_cursor lt 3 || previous_cursor gt 8]then call fig_clear endif if[#[value 2] eq 1]then ;Rectangular call 6053 else ; Cylinder call 6054 endif endif if[cursor eq 9]then ; ABS/INC call fig_clear call 6055 endif if[cursor eq 10]then ; Plane Selection call fig_clear call 6056 endif if[cursor eq 11]then ; Origin Point call fig_clear call 6057 endif previous_cursor = cursorendif

/*** Attribution Setting ***/if[#[value 2] eq 3 ]then #[attribute 3] = att_not_use #[attribute 4] = att_not_use #[attribute 5] = att_not_use #[attribute 6] = att_not_use #[attribute 7] = att_not_use #[attribute 8] = att_not_useelse #[attribute 3] = att_decimal #[attribute 4] = att_decimal #[attribute 5] = att_decimal

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

-139-

#[attribute 6] = att_decimal #[attribute 7] = att_decimal #[attribute 8] = att_decimalendifif[#[value 2] eq 1 ]then #[attribute 11] = att_character + att_detail else #[attribute 11] = att_not_useif[inch_mm eq inch_mm_on]then #[attribute 12] = att_character + att_detail else #[attribute 12] = att_not_usem99

O8603 ;############################################### Tool Def/*** Guide Picture Setting ***/if[guide_frequency eq secont_tine]then call 6058endifm99

O8604 ;############################################### MSB Code/*** Guide Picture Setting ***/if[guide_frequency eq secont_tine]then call 6059endif

/*** Attribution Setting ***/if[#[value 1] eq 98]then #[attribute 2] = att_integer else #[attribute 2] = att_not_usem99

O8605 ;############################################### Compensation/*** Guide Picture Setting ***/if[guide_frequency eq secont_tine]then if[cursor le 2]then if[previous_cursor ge 3]then call fig_clear endif call 6060 endif if[cursor eq 4 || cursor eq 5]then call 6060 endif if[cursor eq 3 || cursor gt 5]then if[previous_cursor eq 1 || previous_cursor eq 2]then call fig_clear endif #32=40 call 6061 endif previous_cursor = cursorendif

/*** Attribution Setting ***/if[#[value 1] eq 4]then #[attribute 1] = att_character + att_not_output else #[attribute 1] = att_characterif[#[value 2] eq 4]then #[attribute 2] = att_character + att_not_output else #[attribute 2] = att_characterif[#[value 1] eq 40 || #[value 1] eq 41 || #[value 1] eq 42]then ; Cutter Comp. #[attribute 4] = att_integer + att_detailelse #[attribute 4] = att_not_useendifif[#[value 2] eq 43 || #[value 2] eq 44 || #[value 2] eq 49]then ; Length Comp.

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

-140-

#[attribute 5] = att_integer + att_detailelse #[attribute 5] = att_not_useendifif[#[value 3] ne 0]then #[attribute 9] = att_decimal else #[attribute 9] = att_not_usem99

O8606 ;############################################### Line/*** Guide Picture Setting ***/if[guide_frequency eq secont_tine]then #32=1 call 6061endif

/*** Attribution Setting ***/if[#[value 1] ne 0]then #[attribute 5] = att_decimal else #[attribute 5] = att_not_usem99

O8607 ;############################################### CW Circle/*** Guide Picture Setting ***/if[guide_frequency eq secont_tine]then if[cursor eq 2]then call fig_clear call 6056 endif if[cursor GE 3]then if[previous_cursor lt 3]then call fig_clear endif call 6062 endif previous_cursor = cursorendif

/*** Attribution Setting ***/if[#[value 1] eq 0]then #[attribute 2] = att_character + att_not_output else #[attribute 2] = att_characterif[#[value 2] eq 17]then #[attribute 3] = att_decimal #[attribute 4] = att_decimal #[attribute 5] = att_not_use #[attribute 7] = att_decimal #[attribute 8] = att_decimal #[attribute 9] = att_not_useendifif[#[value 2] eq 18]then #[attribute 3] = att_decimal #[attribute 4] = att_not_use #[attribute 5] = att_decimal #[attribute 7] = att_decimal #[attribute 8] = att_not_use #[attribute 9] = att_decimalendifif[#[value 2] eq 19]then #[attribute 3] = att_not_use #[attribute 4] = att_decimal #[attribute 5] = att_decimal #[attribute 7] = att_not_use #[attribute 8] = att_decimal #[attribute 9] = att_decimalendif

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

-141-

m99

O8608 ;############################################### CCW Circle/*** Guide Picture Setting ***/if[guide_frequency eq secont_tine]then if[cursor eq 2]then call fig_clear call 6056 endif if[cursor GE 3]then if[previous_cursor lt 3]then call fig_clear endif call 6062 endif previous_cursor = cursorendif

/*** Attribution Setting ***/if[#[value 1] eq 0]then #[attribute 2] = att_character + att_not_output else #[attribute 2] = att_characterif[#[value 2] eq 17]then #[attribute 3] = att_decimal #[attribute 4] = att_decimal #[attribute 5] = att_not_use #[attribute 7] = att_decimal #[attribute 8] = att_decimal #[attribute 9] = att_not_useendifif[#[value 2] eq 18]then #[attribute 3] = att_decimal #[attribute 4] = att_not_use #[attribute 5] = att_decimal #[attribute 7] = att_decimal #[attribute 8] = att_not_use #[attribute 9] = att_decimalendifif[#[value 2] eq 19]then #[attribute 3] = att_not_use #[attribute 4] = att_decimal #[attribute 5] = att_decimal #[attribute 7] = att_not_use #[attribute 8] = att_decimal #[attribute 9] = att_decimalendifm99

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

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

-142-

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

O6051 ;############################################### Work Coordinate/* Work Coordinatecolor red#20 = -32-shift_grap_X#1=#20#2=88+shift_grap_Y#3=#20 + 40#4=88+shift_grap_Y#5=0call fig_line#20 = -32-shift_grap_X#1=#20#2=89+shift_grap_Y#3=#20#4=128+shift_grap_Y#5=0call fig_line#20 = 24-shift_grap_X#1=#20#2=88+shift_grap_Y#3=#20 + 40#4=88+shift_grap_Y#5=0call fig_line#20 = 24-shift_grap_X#1=#20#2=89+shift_grap_Y#3=#20#4=128+shift_grap_Y#5=0call fig_line#20 = 80-shift_grap_X#1=#20#2=88+shift_grap_Y#3=#20 + 40#4=88+shift_grap_Y#5=0call fig_line#20 = 80-shift_grap_X#1=#20#2=89+shift_grap_Y#3=#20#4=128+shift_grap_Y#5=0call fig_line

/* Origincolor sky_blueG242X[40-shift_grap_X]Y[16+shift_grap_Y]G01X[40-shift_grap_X]Y[32+shift_grap_Y]G242X[32-shift_grap_X]Y[24+shift_grap_Y]G01X[48-shift_grap_X]Y[24+shift_grap_Y]G242X[46-shift_grap_X]Y[24+shift_grap_Y]G02X[46-shift_grap_X]Y[24+shift_grap_Y]I[40-shift_grap_X]J[24+shift_grap_Y]Q4

/* Line for Eeach Coordinates#1=40-shift_grap_X#2=24+shift_grap_Y#3=-32-shift_grap_X#4=88+shift_grap_Y#5=0call fig_line#3=24-shift_grap_X

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

-143-

call fig_line#3=80-shift_grap_Xcall fig_line

/* Characterscursor_offG243X[37-shift_char_X]Y[8-shift_char_Y](G54)G243X[44-shift_char_X]Y[8-shift_char_Y](G55)G243X[51-shift_char_X]Y[8-shift_char_Y](G56 ...)G243X[41-shift_char_X]Y[10-shift_char_Y](X)G243X[48-shift_char_X]Y[10-shift_char_Y](X)G243X[55-shift_char_X]Y[10-shift_char_Y](X)G243X[36-shift_char_X]Y[6-shift_char_Y](Y)G243X[43-shift_char_X]Y[6-shift_char_Y](Y)G243X[50-shift_char_X]Y[6-shift_char_Y](Y)m99

O6052 ;############################################### Work Size Pcolor redG242X[-32-shift_grap_X]Y[24+shift_grap_Y] /* RectangularG01X[40-shift_grap_X]Y[24+shift_grap_Y]G01X[56-shift_grap_X]Y[40+shift_grap_Y]G01X[-16-shift_grap_X]Y[40+shift_grap_Y]G01X[-32-shift_grap_X]Y[24+shift_grap_Y]G242X[-32-shift_grap_X]Y[104+shift_grap_Y]G01X[40-shift_grap_X]Y[104+shift_grap_Y]G01X[56-shift_grap_X]Y[120+shift_grap_Y]G01X[-16-shift_grap_X]Y[120+shift_grap_Y]G01X[-32-shift_grap_X]Y[104+shift_grap_Y]G242X[-32-shift_grap_X]Y[24+shift_grap_Y]G01X[-32-shift_grap_X]Y[104+shift_grap_Y]G242X[40-shift_grap_X]Y[24+shift_grap_Y]G01X[40-shift_grap_X]Y[104+shift_grap_Y]G242X[-16-shift_grap_X]Y[40+shift_grap_Y]G01X[-16-shift_grap_X]Y[120+shift_grap_Y]G242X[56-shift_grap_X]Y[40+shift_grap_Y]G01X[56-shift_grap_X]Y[120+shift_grap_Y]

G242X[80-shift_grap_X]Y[32+shift_grap_Y] /* CylinderG01X[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_Ycall fig_ellipse#1=80-shift_grap_X#2=144-shift_grap_X#3=32+shift_grap_Ycall fig_ellipseG242X[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_Ycall fig_ellipse#1=100-shift_grap_X#2=124-shift_grap_X#3=32+shift_grap_Ycall fig_ellipsem99

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

-144-

O6053 ;############################################### Work Size Rectangularcolor redG242X[0-shift_grap_X]Y[40+shift_grap_Y]G01X[96-shift_grap_X]Y[40+shift_grap_Y]G01X[144-shift_grap_X]Y[72+shift_grap_Y]G01X[48-shift_grap_X]Y[72+shift_grap_Y]G01X[0-shift_grap_X]Y[40+shift_grap_Y]G242X[0-shift_grap_X]Y[88+shift_grap_Y]G01X[96-shift_grap_X]Y[88+shift_grap_Y]G01X[144-shift_grap_X]Y[120+shift_grap_Y]G01X[48-shift_grap_X]Y[120+shift_grap_Y]G01X[0-shift_grap_X]Y[88+shift_grap_Y]G242X[0-shift_grap_X]Y[40+shift_grap_Y]G01X[0-shift_grap_X]Y[88+shift_grap_Y]G242X[96-shift_grap_X]Y[40+shift_grap_Y]G01X[96-shift_grap_X]Y[88+shift_grap_Y]G242X[48-shift_grap_X]Y[72+shift_grap_Y]G01X[48-shift_grap_X]Y[120+shift_grap_Y]G242X[144-shift_grap_X]Y[72+shift_grap_Y]G01X[144-shift_grap_X]Y[120+shift_grap_Y]

color sky_blueif[#[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_lineelse #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_lineendifG242X[0-shift_grap_X]Y[39+shift_grap_Y] /* for IG01X[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

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

-145-

#2=32+shift_grap_Y#3=95-shift_grap_X#4=#2#5=2call fig_lineG242X[-1-shift_grap_X]Y[40+shift_grap_Y] /* for KG01X[-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=2call fig_lineG242X[47-shift_grap_X]Y[72+shift_grap_Y] /* for JG01X[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=2call fig_line

/* Charactersif[#[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

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

-146-

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)endifm99

O6054 ;############################################### Work Size Cylindercolor redG242X[0-shift_grap_X]Y[0+shift_grap_Y]G01X[0-shift_grap_X]Y[136+shift_grap_Y]G242X[120-shift_grap_X]Y[0+shift_grap_Y]G01X[120-shift_grap_X]Y[136+shift_grap_Y]#1=0-shift_grap_X#2=120-shift_grap_X#3=136+shift_grap_Ycall fig_ellipse#1=0-shift_grap_X#2=120-shift_grap_X#3=0+shift_grap_Ycall fig_ellipseG242X[32-shift_grap_X]Y[0+shift_grap_Y]G01X[32-shift_grap_X]Y[136+shift_grap_Y]G242X[88-shift_grap_X]Y[0+shift_grap_Y]G01X[88-shift_grap_X]Y[136+shift_grap_Y]#1=32-shift_grap_X#2=88-shift_grap_X#3=136+shift_grap_Ycall fig_ellipse#1=32-shift_grap_X#2=88-shift_grap_X#3=0+shift_grap_Ycall fig_ellipseG242X[60-shift_grap_X]Y[136+shift_grap_Y]G01X[60-shift_grap_X]Y[0+shift_grap_Y]G01X[120-shift_grap_X]Y[0+shift_grap_Y]

color sky_blueG242X[59-shift_grap_X]Y[136+shift_grap_Y] /* for KG01X[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=2call fig_lineG242X[60-shift_grap_X]Y[-1+shift_grap_Y] /* for IG01X[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

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

-147-

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

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

O6055 ;############################################### ABS/INCcolor red#1=-8-shift_grap_X#2=56+shift_grap_Y#3=36-shift_grap_X#4=96+shift_grap_Y#5=0call fig_line#1=80-shift_grap_X#2=56+shift_grap_Y#3=124-shift_grap_X#4=96+shift_grap_Y#5=0call fig_line

color sky_blue#1=-16-shift_grap_X#2=40+shift_grap_Y#3=56-shift_grap_X#4=#2#5=0call fig_line#1=-16-shift_grap_X#2=40+shift_grap_Y#3=#1#4=120+shift_grap_Y#5=0call fig_line#1=72-shift_grap_X#2=40+shift_grap_Y#3=144-shift_grap_X

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

-148-

#4=#2#5=0call fig_line#1=72-shift_grap_X#2=40+shift_grap_Y#3=#1#4=120+shift_grap_Y#5=0call fig_lineG242X[36-shift_grap_X]Y[95+shift_grap_Y] /* for ABSG01X[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 INCG01X[124-shift_grap_X]Y[56+shift_grap_Y]G01X[124-shift_grap_X]Y[95+shift_grap_Y]

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

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

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

-149-

#1=#20#2=56+shift_grap_Y#3=#20#4=104+shift_grap_Y#5=0call fig_line

cursor_offG243X[42-shift_char_X]Y[12-shift_char_Y](X)G243X[36-shift_char_X]Y[8 -shift_char_Y](Y)G243X[50-shift_char_X]Y[12-shift_char_Y](Z)G243X[44-shift_char_X]Y[8 -shift_char_Y](X)G243X[58-shift_char_X]Y[12-shift_char_Y](Y)G243X[52-shift_char_X]Y[8 -shift_char_Y](Z)G243X[37-shift_char_X]Y[13-shift_char_Y](G17)G243X[45-shift_char_X]Y[13-shift_char_Y](G18)G243X[53-shift_char_X]Y[13-shift_char_Y](G19)m99

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

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

-150-

color redG242X[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=0call fig_line#1=100-shift_grap_X#2=112+shift_grap_Y#3=116-shift_grap_X#4=128+shift_grap_Y#5=0call fig_line#1=100-shift_grap_X#2=112+shift_grap_Y#3=100-shift_grap_X#4=128+shift_grap_Y#5=0call fig_line/* Characterscursor_offcolor whiteG243X[56-shift_char_X]Y[8-shift_char_Y](X)G243X[55-shift_char_X]Y[7-shift_char_Y](Y)G243X[51-shift_char_X]Y[7-shift_char_Y](Z)m99

O6058 ;############################################### Tool Defcolor blue /* WorkG242X[-7-shift_grap_X]Y[-23+32+shift_grap_Y]G01X[127-shift_grap_X]Y[-23+32+shift_grap_Y]G01X[127-shift_grap_X]Y[7+32+shift_grap_Y]G01X[-7-shift_grap_X]Y[7+32+shift_grap_Y]G01X[-7-shift_grap_X]Y[-23+32+shift_grap_Y]G206P0X[0-shift_grap_X]Y[0+32+shift_grap_Y]

color sky_blue /* Work EdgeG242X[-8-shift_grap_X]Y[-24+32+shift_grap_Y]G01X[128-shift_grap_X]Y[-24+32+shift_grap_Y]G01X[128-shift_grap_X]Y[8+32+shift_grap_Y]G01X[-8-shift_grap_X]Y[8+32+shift_grap_Y]G01X[-8-shift_grap_X]Y[-24+32+shift_grap_Y]

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

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

-151-

G01X[#20-3]Y[#21+25]G01X[#20-11]Y[#21+25]G01X[#20-11]Y[#21+55]G01X[#20+11]Y[#21+55]G01X[#20+11]Y[#21+25]G01X[#20+3]Y[#21+25]G01X[#20+3]Y[#21+8]G01X[#20]Y[#21+1]G206P0X[#20]Y[#21+40]if[cursor eq 5]then /* Next Tool #20=100-shift_grap_X #21=112+shift_grap_Y G242X[#20]Y[#21+1] G01X[#20-3]Y[#21+8] G01X[#20-3]Y[#21+25] G01X[#20-11]Y[#21+25] G01X[#20-11]Y[#21+55] G01X[#20+11]Y[#21+55] G01X[#20+11]Y[#21+25] G01X[#20+3]Y[#21+25] G01X[#20+3]Y[#21+8] G01X[#20]Y[#21+1] G206P0X[#20]Y[#21+40]endif

color purple /* Tool Edge#20=36-shift_grap_X /* Current Tool#21=96+shift_grap_YG242X[#20]Y[#21]G01X[#20-4]Y[#21+8]G01X[#20-4]Y[#21+24]G01X[#20-12]Y[#21+24]G01X[#20-12]Y[#21+56]G01X[#20+12]Y[#21+56]G01X[#20+12]Y[#21+24]G01X[#20+4]Y[#21+24]G01X[#20+4]Y[#21+8]G01X[#20]Y[#21]if[cursor eq 5]then /* Next Tool #20=100-shift_grap_X #21=112+shift_grap_Y G242X[#20]Y[#21] G01X[#20-4]Y[#21+8] G01X[#20-4]Y[#21+24] G01X[#20-12]Y[#21+24] G01X[#20-12]Y[#21+56] G01X[#20+12]Y[#21+56] G01X[#20+12]Y[#21+24] G01X[#20+4]Y[#21+24] G01X[#20+4]Y[#21+8] G01X[#20]Y[#21]endif

/* Linecolor greenif[ 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_lineendifG242X[32-shift_grap_X]Y[103+shift_grap_Y] /* for RG01X[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]

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

-152-

#1=31-shift_grap_X#2=80+shift_grap_Y#3=21-shift_grap_X#4=#2#5=1call fig_line#1=37-shift_grap_X#2=80+shift_grap_Y#3=47-shift_grap_X#4=#2#5=1call fig_line

/* Characters#1=1call fig_cursorG243X[44-shift_char_X]Y[5-shift_char_Y](T)#1=4call fig_cursorG243X[44-shift_char_X]Y[11-shift_char_Y](R)#1=5call fig_cursorif[cursor eq 5]then G243X[55-shift_char_X]Y[5-shift_char_Y](N)endifcursor_offm99

O6059 ;############################################### M codecall fig_language

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

O6060 ;############################################### Tool Offset/*** Cutter Compensation; Toolscolor blueG242X[16-shift_grap_X]Y[150+shift_grap_Y] /* G40G02X[16-shift_grap_X]Y[150+shift_grap_Y]I[16-shift_grap_X]J[136+shift_grap_Y]Q4G206P0X[16-shift_grap_X]Y[136+shift_grap_Y]G242X[80-shift_grap_X]Y[138+shift_grap_Y] /* G41G02X[80-shift_grap_X]Y[138+shift_grap_Y]I[80-shift_grap_X]J[152+shift_grap_Y]Q4G206P0X[80-shift_grap_X]Y[152+shift_grap_Y]G242X[80-shift_grap_X]Y[134+shift_grap_Y] /* G42G02X[80-shift_grap_X]Y[134+shift_grap_Y]I[80-shift_grap_X]J[120+shift_grap_Y]Q4G206P0X[80-shift_grap_X]Y[120+shift_grap_Y]color purpleG242X[16-shift_grap_X]Y[151+shift_grap_Y] /* G40G02X[16-shift_grap_X]Y[151+shift_grap_Y]I[16-shift_grap_X]J[136+shift_grap_Y]Q4G242X[80-shift_grap_X]Y[137+shift_grap_Y] /* G41G02X[80-shift_grap_X]Y[137+shift_grap_Y]I[80-shift_grap_X]J[152+shift_grap_Y]Q4

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

-153-

G242X[80-shift_grap_X]Y[135+shift_grap_Y] /* G42G02X[80-shift_grap_X]Y[135+shift_grap_Y]I[80-shift_grap_X]J[120+shift_grap_Y]Q4

/* Linecolor red#1=-16-shift_grap_X#2=136+shift_grap_Y#3=128-shift_grap_X#4=#2#5=0call fig_line

/* Characterscursor_offG243X[40-shift_char_X]Y[5-shift_char_Y](G40)G243X[53-shift_char_X]Y[5-shift_char_Y](G41)G243X[53-shift_char_X]Y[8-shift_char_Y](G42)

/*** Length Offset/* Toolcolor greenG242X[25-shift_grap_X]Y[57+shift_grap_Y]G01X[87-shift_grap_X]Y[57+shift_grap_Y]G01X[87-shift_grap_X]Y[87+shift_grap_Y]G01X[25-shift_grap_X]Y[87+shift_grap_Y]G01X[25-shift_grap_X]Y[57+shift_grap_Y]#1=45-shift_char_X#2=11-shift_char_Y#3=3call fig_characterG206P0X[80-shift_grap_X]Y[75+shift_grap_Y]color blueG242X[41-shift_grap_X]Y[1+shift_grap_Y]G01X[71-shift_grap_X]Y[1+shift_grap_Y]G01X[71-shift_grap_X]Y[55+shift_grap_Y]G01X[41-shift_grap_X]Y[55+shift_grap_Y]G01X[41-shift_grap_X]Y[1+shift_grap_Y]G206P0X[50-shift_grap_X]Y[30+shift_grap_Y]color purpleG242X[24-shift_grap_X]Y[56+shift_grap_Y]G01X[88-shift_grap_X]Y[56+shift_grap_Y]G01X[88-shift_grap_X]Y[88+shift_grap_Y]G01X[24-shift_grap_X]Y[88+shift_grap_Y]G01X[24-shift_grap_X]Y[56+shift_grap_Y]G242X[40-shift_grap_X]Y[55+shift_grap_Y]G01X[40-shift_grap_X]Y[0+shift_grap_Y]G01X[72-shift_grap_X]Y[0+shift_grap_Y]G01X[72-shift_grap_X]Y[55+shift_grap_Y]

/* Linecolor greenG242X[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=0call fig_line#1=88-shift_grap_X /* for G44#2=-1+shift_grap_Y#3=#1#4=-32+shift_grap_Y#5=0call fig_linecolor yellow /* for G49

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

-154-

#1=56-shift_grap_X#2=56+shift_grap_Ycall fig_mark

/* Characterscursor_offG243X[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 L0G243X[45-shift_char_X]Y[11-shift_char_Y](G49)m99

O6061 ;############################################### Line/* Input/** #32 1:called from Line 40:called from Compensation/* Output/** non/*********************************/color reddot_line#1=0-shift_grap_X#2=88+shift_grap_Y#3=104-shift_grap_X#4=120+shift_grap_Y#5=0call fig_linesolid_line#1=0-shift_grap_X#2=8+shift_grap_Y#3=104-shift_grap_X#4=40+shift_grap_Y#5=0call fig_line

/* Charactersif[#32 eq 1]then #1=1 else #1=3call fig_cursorG243X[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=6if[#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) endifelse 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)

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

-155-

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) endifendifif[#32 eq 1]then #1=3 else #1=7if[#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) endifelse 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) endifendifif[#32 eq 1]then #1=4 else #1=8if[#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)

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

-156-

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) endifelse 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) endifendifcursor_offG243X[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) endifelse 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) endifendifm99

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

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

-157-

#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_cwelse 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_ccwendif

/* Characterscursor_offif[#[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)endifif[#[value 2] eq 17]then

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

-158-

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

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

-159-

#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) endifendif#1=6call fig_cursorif[#[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=10call fig_cursorif[#[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)endifcursor_offif[#[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](')')endifm99

/****************************************************************************/*/* MACROSTR.SRC :: Strings for FIGSUB*.SRC/*/****************************************************************************

O6901 ;############################################### English; M codeN0001('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');

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

-160-

N0010(' subrogram');N0011('M99:End of subrogram');

; Contour/Line : Start Point TypeN0020('When you make the');N0021('island figure after the');N0022('pocket wall figure,');N0023('select "ISLAND". ');N0024('');N0025('When you continue');N0026('making the next groove');N0027('figure,');N0028('select "NXT MV".');N0029('');N0030('Another case,');N0031('select "START".');

; Contour/EndN0040('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 CopyN0060('START'); ; LinearN0061('POINT');N0062('END');N0063('POINT');N0064('START');N0065('POINT');N0066('END');N0067('POINT');N0068('BASE');N0069('AXIS');

; Canned CycleN0080('Initial');N0081('level');N0082('Point R');N0083('level');

; Contour : Approach/Escape TypeN0090('Circle');N0091('Tangent');N0092('Vertical');

; Canned CycleN0101('G81:No dwell');N0102('G82:With dwell');N0103('G83:Normal peck');N0104('G73:High-speed peck');N0105('G85:Feed retraction');N0106('G86:Rapid retraction');N0107('G88:Manual retraction');N0108('G89:With dwell');N0109('G76:Fine boring');N0110('G87:Back boring');N0111('G84:Tapping');N0112('G74:Left-hand tapping');

; Contour : Compensation DirectionN0121('Left');

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

-161-

N0122('Right');

; CHECK*.SRC messageN0900('Data is lacking.');N0901('Input error in menu param.');

M99

O6903 ;############################################### German; M codeN0001('M00:Program stop');N0002('M01:Optional stop');N0003('M02:End of program');N0004('M03:Spindle cw');N0005('M04:Spindle ccw');N0006('M05:Spindle stop');N0007('M06:Tool change');N0008('M30:end of program');N0009('M98:Calling of');N0010(' subrogram');N0011('M99:End of subrogram');

; Contour/Line : Start Point TypeN0020('When you make the');N0021('island figure after the');N0022('pocket wall figure,');N0023('select "ISLAND". ');N0024('');N0025('When you continue');N0026('making the next groove');N0027('figure,');N0028('select "NXT MV".');N0029('');N0030('Another case,');N0031('select "START".');

; Contour/EndN0040('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 CopyN0060('START'); ; LinearN0061('POINT');N0062('END');N0063('POINT');N0064('START');N0065('POINT');N0066('END');N0067('POINT');N0068('BASE');N0069('AXIS');

; Canned CycleN0080('Initial');N0081('level');N0082('Point R');N0083('level');

; Contour : Approach/Escape TypeN0090('Circle');

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

-162-

N0091('Tangent');N0092('Vertical');

; Canned CycleN0101('G81:No dwell');N0102('G82:With dwell');N0103('G83:Normal peck');N0104('G73:High-speed peck');N0105('G85:Feed retraction');N0106('G86:Rapid retraction');N0107('G88:Manual retraction');N0108('G89:With dwell');N0109('G76:Fine boring');N0110('G87:Back boring');N0111('G84:Tapping');N0112('G74:Left-hand tapping');

; Contour : Compensation DirectionN0121('Left');N0122('Right');

; CHECK*.SRC messageN0900('Data is lacking.');N0901('Input error in menu param.');

M99

O6904 ;############################################### french; M codeN0001('M00:Program stop');N0002('M01:Optional stop');N0003('M02:End of program');N0004('M03:Spindle cw');N0005('M04:Spindle ccw');N0006('M05:Spindle stop');N0007('M06:Tool change');N0008('M30:end of program');N0009('M98:Calling of');N0010(' subrogram');N0011('M99:End of subrogram');

; Contour/Line : Start Point TypeN0020('When you make the');N0021('island figure after the');N0022('pocket wall figure,');N0023('select "ISLAND". ');N0024('');N0025('When you continue');N0026('making the next groove');N0027('figure,');N0028('select "NXT MV".');N0029('');N0030('Another case,');N0031('select "START".');

; Contour/EndN0040('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

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

-163-

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

; Canned CycleN0080('Initial');N0081('level');N0082('Point R');N0083('level');

; Contour : Approach/Escape TypeN0090('Circle');N0091('Tangent');N0092('Vertical');

; Canned CycleN0101('G81:No dwell');N0102('G82:With dwell');N0103('G83:Normal peck');N0104('G73:High-speed peck');N0105('G85:Feed retraction');N0106('G86:Rapid retraction');N0107('G88:Manual retraction');N0108('G89:With dwell');N0109('G76:Fine boring');N0110('G87:Back boring');N0111('G84:Tapping');N0112('G74:Left-hand tapping');

; Contour : Compensation DirectionN0121('Left');N0122('Right');

; CHECK*.SRC messageN0900('Data is lacking.');N0901('Input error in menu param.');

M99

O6905 ;############################################### Italian; M codeN0001('M00:Program stop');N0002('M01:Optional stop');N0003('M02:End of program');N0004('M03:Spindle cw');N0005('M04:Spindle ccw');N0006('M05:Spindle stop');N0007('M06:Tool change');N0008('M30:end of program');N0009('M98:Calling of');N0010(' subrogram');N0011('M99:End of subrogram');

; Contour/Line : Start Point TypeN0020('When you make the');N0021('island figure after the');N0022('pocket wall figure,');N0023('select "ISLAND". ');N0024('');N0025('When you continue');

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

-164-

N0026('making the next groove');N0027('figure,');N0028('select "NXT MV".');N0029('');N0030('Another case,');N0031('select "START".');

; Contour/EndN0040('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 CopyN0060('START'); ; LinearN0061('POINT');N0062('END');N0063('POINT');N0064('START');N0065('POINT');N0066('END');N0067('POINT');N0068('BASE');N0069('AXIS');

; Canned CycleN0080('Initial');N0081('level');N0082('Point R');N0083('level');

; Contour : Approach/Escape TypeN0090('Circle');N0091('Tangent');N0092('Vertical');

; Canned CycleN0101('G81:No dwell');N0102('G82:With dwell');N0103('G83:Normal peck');N0104('G73:High-speed peck');N0105('G85:Feed retraction');N0106('G86:Rapid retraction');N0107('G88:Manual retraction');N0108('G89:With dwell');N0109('G76:Fine boring');N0110('G87:Back boring');N0111('G84:Tapping');N0112('G74:Left-hand tapping');

; Contour : Compensation DirectionN0121('Left');N0122('Right');

; CHECK*.SRC messageN0900('Data is lacking.');N0901('Input error in menu param.');

M99

O6906 ;############################################### Spanish; M code

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

-165-

N0001('M00:Program stop');N0002('M01:Optional stop');N0003('M02:End of program');N0004('M03:Spindle cw');N0005('M04:Spindle ccw');N0006('M05:Spindle stop');N0007('M06:Tool change');N0008('M30:end of program');N0009('M98:Calling of');N0010(' subrogram');N0011('M99:End of subrogram');

; Contour/Line : Start Point TypeN0020('When you make the');N0021('island figure after the');N0022('pocket wall figure,');N0023('select "ISLAND". ');N0024('');N0025('When you continue');N0026('making the next groove');N0027('figure,');N0028('select "NXT MV".');N0029('');N0030('Another case,');N0031('select "START".');

; Contour/EndN0040('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 CopyN0060('START'); ; LinearN0061('POINT');N0062('END');N0063('POINT');N0064('START');N0065('POINT');N0066('END');N0067('POINT');N0068('BASE');N0069('AXIS');

; Canned CycleN0080('Initial');N0081('level');N0082('Point R');N0083('level');

; Contour : Approach/Escape TypeN0090('Circle');N0091('Tangent');N0092('Vertical');

; Canned CycleN0101('G81:No dwell');N0102('G82:With dwell');N0103('G83:Normal peck');N0104('G73:High-speed peck');N0105('G85:Feed retraction');N0106('G86:Rapid retraction');

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

-166-

N0107('G88:Manual retraction');N0108('G89:With dwell');N0109('G76:Fine boring');N0110('G87:Back boring');N0111('G84:Tapping');N0112('G74:Left-hand tapping');

; Contour : Compensation DirectionN0121('Left');N0122('Right');

; CHECK*.SRC messageN0900('Data is lacking.');N0901('Input error in menu param.');

M99

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

-167-

3.4 INPUTTED DATA CHECKING

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

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

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

-168-

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

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

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

-169-

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

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

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

-170-

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

/* ############################################### LineO8806 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 CircleO8807 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

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

-171-

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

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

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

-172-

4 USER PROGRAMS FOR CONTOURPROFILE MENU

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

-173-

4.1 COMMENTS DEFINITION

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

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

O7111 ;############################################### Start PointN9999('START POINT');N9998('STRAT POINT(DETAIL SET)');N0001('START POINT X');N0002('START POINT Y');N0003('START POINT TYPE');N0004('ISLAND Z CO-ORD.');N0005('GROOVE Z CO-ORD.');

N0300('8');N0301("20 01 C010 20")('START ');N0302("20 01 C018 20")('ISLAND');N0303("20 01 C020 20")('NXT MV');N0351('1');N0352('2');N0353('3');M99

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

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

-174-

N0011('AUX. POINT X');N0012('AUX. POINT Y');N0013('AUX. DISTANCE');N0014('PAR. / VERT.');N0015('REF. BLOCK NO.');

N0400('29');N0401("20 01 C010 20")('RIGHT ');N0402("20 01 C018 20")(' R-UP ');N0403("20 01 C020 20")(' UP ');N0404("20 01 C028 20")(' L-UP ');N0405("20 01 C030 20")(' LEFT ');N0406("20 01 C038 20")('L-DOWN');N0407("20 01 C040 20")(' DOWN ');N0408("20 01 C048 20")('R-DOWN');N0451('1');N0452('2');N0453('3');N0454('4');N0455('5');N0456('6');N0457('7');N0458('8');

N1400('10');N1401("20 01 C010 20")(' PAR. ');N1402("20 01 C018 20")(' VERT.');N1451('1');N1452('2');M99

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

M99

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

M99

O7151 ;############################################### ChamferingN9999('CHAMFER');

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

-175-

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

O7161 ;############################################### Corner RN9999('ROUND');N9998('ROUND(DETAIL SET)');N0003('RADIUS');M99

O7171 ;############################################### EndN9999('END');N9998('END(DETAIL SET)');N0003('CONTINUE');

N0300('12');N0301("20 01 C010 20")(' END ');N0302("20 01 C018 20")(' CONT ');N0351('1');N0352('2');M99

O7181 ;############################################### Linear MovementN9999('SHIFT COPY');N9998('SHIFT COPY(DETAIL SET)');N0001('REPEAT NUMBER');M99

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

O7201 ;############################################### Mirror TransformationN9999('MIRROR COPY');N9998('MIRROR COPY(DETAIL SET)');N0001('BASE POINT X');N0002('BASE POINT Y');N0003('MIRROR AXIS ANGLE');M99

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

-176-

4.2 DATA ATTRIBUTE

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

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

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

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

-177-

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

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

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

-178-

#[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_endprevious_cursor = 1 /* Previous cursor position clearm99

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

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

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

-179-

#[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_endprevious_cursor = 1 /* Previous cursor position clearm99

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

O8417 ;############################################### End#[address 0] = 106#[address 1] = add_X#[attribute 1] = att_not_display + att_decimal#[address 2] = add_Y#[attribute 2] = att_not_display + att_decimal#[address 3] = add_P#[attribute 3] = att_character#[value 3] = 1#[address 4] = add_endprevious_cursor = 1 /* Previous cursor position clearm99

O8418 ;############################################### Linear Movement#[address 0] = -1#[address 1] = add_R#[attribute 1] = att_integer + att_not_output#[value 1] = #0#[address 2] = add_endprevious_cursor = 1 /* Previous cursor position clearm99

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

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

-180-

#[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_endprevious_cursor = 1 /* Previous cursor position clearm99

O8420 ;############################################### Mirror Transformation#[address 0] = -1#[address 1] = add_X#[attribute 1] = att_decimal + att_not_output#[value 1] = #0#[address 2] = add_Y#[attribute 2] = att_decimal + att_not_output#[value 2] = #0#[address 3] = add_K#[attribute 3] = att_decimal + att_not_output#[value 3] = #0#[address 4] = add_endprevious_cursor = 1 /* Previous cursor position clearm99

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

-181-

4.3 GUIDANCE DRAWING FIGURE

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

O8611 ;############################################### Start Point/*** Guide Picture Setting ***/if[guide_frequency eq secont_tine]then if[cursor eq 1 || cursor eq 2]then if[previous_cursor ne 1 && previous_cursor ne 2]then call fig_clear endif call 6071 endif if[cursor eq 3]then if[previous_cursor ne cursor]then call fig_clear endif call 6072 endif if[cursor eq 4]then call fig_clear call 6073 endif if[cursor eq 5]then call fig_clear call 6074 endif previous_cursor = cursorendif

/*** Attribution Setting ***/if[#[value 3] eq 1]then #[attribute 4] = att_not_use #[attribute 5] = att_not_useendifif[#[value 3] eq 2]then #[attribute 4] = att_decimal + att_detail #[attribute 5] = att_not_useendifif[#[value 3] eq 3]then #[attribute 4] = att_not_use #[attribute 5] = att_decimal + att_detailendifm99

O8612 ;############################################### Line/*** Guide Picture Setting ***/

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

-182-

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 = cursorendifm99

O8613 ;############################################### Circle CW/*** Guide Picture Setting ***/if[guide_frequency eq secont_tine]then if[cursor le 12]then if[previous_cursor gt 12]then call fig_clear endif call 6078 endif if[cursor eq 13 || cursor eq 14]then if[previous_cursor lt 13]then call fig_clear endif call 6079 endif previous_cursor = cursorendifm99

O8614 ;############################################### Circle CCW/*** Guide Picture Setting ***/if[guide_frequency eq secont_tine]then if[cursor le 12]then if[previous_cursor gt 12]then call fig_clear endif call 6078 endif if[cursor eq 13 || cursor eq 14]then if[previous_cursor lt 13]then call fig_clear endif call 6079 endif previous_cursor = cursorendifm99

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

-183-

O8615 ;############################################### Chamfering/*** Guide Picture Setting ***/if[guide_frequency eq secont_tine]then call 6080endifm99

O8616 ;############################################### Corner R/*** Guide Picture Setting ***/if[guide_frequency eq secont_tine]then call 6081endifm99

O8617 ;############################################### End/*** Guide Picture Setting ***/if[guide_frequency eq secont_tine]then call 6082endifm99

O8618 ;############################################### Linear Movement/*** Guide Picture Setting ***/if[guide_frequency eq secont_tine]then call 6083endifm99

O8619 ;############################################### Rotation/*** Guide Picture Setting ***/if[guide_frequency eq secont_tine]then call 6084endifm99

O8620 ;############################################### Mirror Transformation/*** Guide Picture Setting ***/if[guide_frequency eq secont_tine]then call 6085endifm99

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

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

-184-

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

O6071 ;############################################### Start Point/* Line for Figurecolor redG242X[0-shift_grap_X]Y[72+shift_grap_Y]G02X[48-shift_grap_X]Y[72+shift_grap_Y]I[24-shift_grap_X]J[60+shift_grap_Y]G03X[112-shift_grap_X]Y[72+shift_grap_Y]I[80-shift_grap_X]J[90+shift_grap_Y]#1=112-shift_grap_X#2=72+shift_grap_Y#3=136-shift_grap_X#4=104+shift_grap_Y#5=160-shift_grap_X#6=60+shift_grap_Y#7=0call fig_cw

/* yellow Cross Markcolor yellow#1=0-shift_grap_X#2=72+shift_grap_Ycall fig_mark

/* Characters#1=1call fig_cursorG243X[39-shift_char_X]Y[11-shift_char_Y](X)#1=2call fig_cursorG243X[41-shift_char_X]Y[11-shift_char_Y](Y)cursor_offG243X[38-shift_char_X]Y[11-shift_char_Y]('(')G243X[40-shift_char_X]Y[11-shift_char_Y](',')G243X[42-shift_char_X]Y[11-shift_char_Y](')')m99

O6072 ;############################################### Start Point Typecall fig_language

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

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

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

-185-

/* blue for Workcolor blueG242X[-23-shift_grap_X]Y[41+shift_grap_Y]G01X[143-shift_grap_X]Y[41+shift_grap_Y]G01X[143-shift_grap_X]Y[119+shift_grap_Y]G01X[121-shift_grap_X]Y[119+shift_grap_Y]G01X[121-shift_grap_X]Y[71+shift_grap_Y]G01X[79-shift_grap_X]Y[71+shift_grap_Y]G01X[79-shift_grap_X]Y[103+shift_grap_Y]G01X[41-shift_grap_X]Y[103+shift_grap_Y]G01X[41-shift_grap_X]Y[71+shift_grap_Y]G01X[-1-shift_grap_X]Y[71+shift_grap_Y]G01X[-1-shift_grap_X]Y[119+shift_grap_Y]G01X[-23-shift_grap_X]Y[119+shift_grap_Y]G01X[-23-shift_grap_X]Y[41+shift_grap_Y]G206P0X[0-shift_grap_X]Y[50+shift_grap_Y]

/* Edge Linecolor 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 Linecolor greenG242X[81-shift_grap_X]Y[104+shift_grap_Y]G01X[88-shift_grap_X]Y[104+shift_grap_Y]

/* Characterscursor_onG243X[51-shift_char_X]Y[8-shift_char_Y](Z)cursor_offm99

O6074 ;############################################### Escape Z/* blue for Workcolor blueG242X[-23-shift_grap_X]Y[25+shift_grap_Y]G01X[143-shift_grap_X]Y[25+shift_grap_Y]G01X[143-shift_grap_X]Y[103+shift_grap_Y]G01X[121-shift_grap_X]Y[103+shift_grap_Y]G01X[121-shift_grap_X]Y[71+shift_grap_Y]G01X[71-shift_grap_X]Y[71+shift_grap_Y]G01X[71-shift_grap_X]Y[103+shift_grap_Y]G01X[49-shift_grap_X]Y[103+shift_grap_Y]G01X[49-shift_grap_X]Y[71+shift_grap_Y]G01X[-1-shift_grap_X]Y[71+shift_grap_Y]G01X[-1-shift_grap_X]Y[103+shift_grap_Y]G01X[-23-shift_grap_X]Y[103+shift_grap_Y]G01X[-23-shift_grap_X]Y[25+shift_grap_Y]G206P0X[0-shift_grap_X]Y[50+shift_grap_Y]

/* green for Toolcolor greenG242X[9-shift_grap_X]Y[121+shift_grap_Y]

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

-186-

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 Linecolor sky_blue /* for Work(blue green)G242X[-24-shift_grap_X]Y[24+shift_grap_Y]G01X[144-shift_grap_X]Y[24+shift_grap_Y]G01X[144-shift_grap_X]Y[104+shift_grap_Y]G01X[120-shift_grap_X]Y[104+shift_grap_Y]G01X[120-shift_grap_X]Y[72+shift_grap_Y]G01X[72-shift_grap_X]Y[72+shift_grap_Y]G01X[72-shift_grap_X]Y[104+shift_grap_Y]G01X[48-shift_grap_X]Y[104+shift_grap_Y]G01X[48-shift_grap_X]Y[72+shift_grap_Y]G01X[0-shift_grap_X]Y[72+shift_grap_Y]G01X[0-shift_grap_X]Y[104+shift_grap_Y]G01X[-24-shift_grap_X]Y[104+shift_grap_Y]G01X[-24-shift_grap_X]Y[24+shift_grap_Y]color purple /* for Tools(purple)G242X[8-shift_grap_X]Y[120+shift_grap_Y]G01X[40-shift_grap_X]Y[120+shift_grap_Y]G01X[40-shift_grap_X]Y[136+shift_grap_Y]G01X[28-shift_grap_X]Y[136+shift_grap_Y]G01X[28-shift_grap_X]Y[152+shift_grap_Y]G01X[20-shift_grap_X]Y[152+shift_grap_Y]G01X[20-shift_grap_X]Y[136+shift_grap_Y]G01X[8-shift_grap_X]Y[136+shift_grap_Y]G01X[8-shift_grap_X]Y[120+shift_grap_Y]

/* red for Pathcolor reddot_lineG242X[24-shift_grap_X]Y[73+shift_grap_Y]G01X[24-shift_grap_X]Y[119+shift_grap_Y]#1=25-shift_grap_X#2=119+shift_grap_Y#3=64-shift_grap_X#4=#2#5=0call fig_lineG242X[65-shift_grap_X]Y[119+shift_grap_Y]G01X[96-shift_grap_X]Y[119+shift_grap_Y]#1=96-shift_grap_X#2=118+shift_grap_Y#3=#1#4=73+shift_grap_Y#5=0call fig_linesolid_line

/* green Linecolor greenG242X[7-shift_grap_X]Y[120+shift_grap_Y]G01X[-8-shift_grap_X]Y[120+shift_grap_Y]

/* Characterscursor_onG243X[38-shift_char_X]Y[7-shift_char_Y](R)cursor_offm99

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

-187-

O6075 ;############################################### Line(Normal)/* Line for Figurecolor red#1=16-shift_grap_X#2=8+shift_grap_Y#3=88-shift_grap_X#4=152+shift_grap_Y#5=0#8=10call fig_lineG242X[15-shift_grap_X]Y[9+shift_grap_Y]G01X[87-shift_grap_X]Y[153+shift_grap_Y]

/* green Linecolor greenG242X[16-shift_grap_X]Y[8+shift_grap_Y] /* X axisG01X[112-shift_grap_X]Y[8+shift_grap_Y]G242X[16-shift_grap_X]Y[8+shift_grap_Y] /* for LG01X[-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=2call 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=0call fig_ccw

/* yellow Cross Markcolor yellow#1=88-shift_grap_X#2=152+shift_grap_Ycall fig_mark

/* Characters#1=5call fig_cursorG243X[53-shift_char_X]Y[6-shift_char_Y](M)#1=6call fig_cursorG243X[55-shift_char_X]Y[6-shift_char_Y](N)#1=7call fig_cursorG243X[44-shift_char_X]Y[8-shift_char_Y](L)#1=8call fig_cursorG243X[46-shift_char_X]Y[13-shift_char_Y](K)cursor_offG243X[52-shift_char_X]Y[6-shift_char_Y]('(')G243X[54-shift_char_X]Y[6-shift_char_Y](',')G243X[56-shift_char_X]Y[6-shift_char_Y](')')m99

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

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

-188-

/* Line for Figurecolor red#1=16-shift_grap_X#2=8+shift_grap_Y#3=88-shift_grap_X#4=152+shift_grap_Y#5=0#8=10call fig_lineG242X[15-shift_grap_X]Y[9+shift_grap_Y]G01X[87-shift_grap_X]Y[153+shift_grap_Y]

/* green Linecolor greenG242X[16-shift_grap_X]Y[7+shift_grap_Y] /* for IG01X[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=2call fig_lineG242X[17-shift_grap_X]Y[8+shift_grap_Y] /* for JG01X[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=2call 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=2call fig_line

/* yellow Cross Markcolor yellow#1=0-shift_grap_X#2=136+shift_grap_Ycall fig_mark

/* Characters#1=9call fig_cursorG243X[46-shift_char_X]Y[16-shift_char_Y](I)#1=10call fig_cursorG243X[53-shift_char_X]Y[10-shift_char_Y](J)#1=11call fig_cursorG243X[41-shift_char_X]Y[6-shift_char_Y](U)#1=12call fig_cursorG243X[43-shift_char_X]Y[6-shift_char_Y](V)#1=13call fig_cursorG243X[43-shift_char_X]Y[8-shift_char_Y](D)cursor_offG243X[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](')')

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

-189-

m99

O6077 ;############################################### Line(Detail 2)/* Line for Figurecolor red#1=0-shift_grap_X#2=8+shift_grap_Y#3=96-shift_grap_X#4=40+shift_grap_Y#5=0call fig_lineG242X[96-shift_grap_X]Y[40+shift_grap_Y]G01X[104-shift_grap_X]Y[56+shift_grap_Y]G01X[88-shift_grap_X]Y[88+shift_grap_Y]G01X[56-shift_grap_X]Y[104+shift_grap_Y]dot_line#1=56-shift_grap_X#2=104+shift_grap_Y#3=8-shift_grap_X#4=88+shift_grap_Y#5=0;#8=10call fig_line#1=56-shift_grap_X#2=104+shift_grap_Y#3=40-shift_grap_X#4=152+shift_grap_Y#5=0;#8=10call fig_linesolid_line

/* green Line;color green;G242X51.5279Y101.7639;G01X49.2918Y106.236;G01X53.7639Y108.4721

/* Characters#1=14call fig_cursorG243X[43-shift_char_X]Y[7-shift_char_Y](E)#1=15call fig_cursorG243X[46-shift_char_X]Y[14-shift_char_Y](A)cursor_offm99

O6078 ;############################################### Circle(Normal)/* Line for Figurecolor redif[#[address 0] eq 102]then #1=-2.5641 #2=88 #3=81.2768 #4=158.3508 #5=136 #6=8 #7=0else #1=38.7232 #2=158.3508 #3=122.5641

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

-190-

#4=88 #5=-16 #6=8 #7=1endif#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=10call fig_cwif[#[address 0] eq 102]then #1=#1-1 else #1=#1+1G242X[#1]Y[#2+1]G02X[#3+1]Y[#4+1]I[#5]J[#6]/* green Linecolor greenif[#[address 0] eq 102]then #1=-2.5641 #2=88 #3=81.2768 #4=158.3508 #5=136 #6=8else #1=122.5641 #2=88 #3=38.7232 #4=158.3508 #5=-16 #6=8endifG242X[#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.5877else #1=-2.3192 #2=45.587728 #3=18.641 #4=28endifG242X[#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.846else #1=-16 #2=8 #3=106.5671 #4=110.846endif#1=#1-shift_grap_X#2=#2+shift_grap_Y#3=#3-shift_grap_X#4=#4+shift_grap_Y#5=0call fig_line

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

-191-

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

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

-192-

O6079 ;############################################### Circle(Detail)/* Line for Figurecolor redif[#[address 0] eq 102]then #1=-2.5641 #2=88 #3=81.2768 #4=158.3508 #5=136 #6=8 #7=0else #1=38.7232 #2=158.3508 #3=122.5641 #4=88 #5=-16 #6=8 #7=1endif#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=10call fig_cwif[#[address 0] eq 102]then #1=#1-1 else #1=#1+1G242X[#1]Y[#2+1]G02X[#3+1]Y[#4+1]I[#5]J[#6]/* green Linecolor greenif[#[address 0] eq 102]then #1=-2.5641 #2=88 #3=81.2768 #4=158.3508 #5=136 #6=8else #1=122.5641 #2=88 #3=38.7232 #4=158.3508 #5=-16 #6=8endifG242X[#1-shift_grap_X]Y[#2+shift_grap_Y]G01X[#5-shift_grap_X]Y[#6+shift_grap_Y]G01X[#3-shift_grap_X]Y[#4+shift_grap_Y]if[#[address 0] eq 102]then #1=-2.5641 #2=88 #3=81.2768 #4=158.3508else #1=122.5641 #2=88 #3=38.7232 #4=158.3508endif#1=#1-shift_grap_X#2=#2+shift_grap_Y#3=#3-shift_grap_X#4=#4+shift_grap_Y

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

-193-

#5=2call fig_lineif[#[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 Markcolor yellowif[#[address 0] eq 102]then #1=136-shift_grap_X else #1=-16-shift_grap_X#2=8+shift_grap_Ycall fig_mark/* Characters#1=13call fig_cursorif[#[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=14call fig_cursorif[#[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)endifcursor_offm99

O6080 ;############################################### Chamfering/* Line for Figurecolor redG242X[-8-shift_grap_X]Y[136+shift_grap_Y]G01X[72-shift_grap_X]Y[136+shift_grap_Y]G01X[104-shift_grap_X]Y[104+shift_grap_Y]G01X[104-shift_grap_X]Y[8+shift_grap_Y]G242X[-8-shift_grap_X]Y[135+shift_grap_Y]G01X[72-shift_grap_X]Y[135+shift_grap_Y]G01X[103-shift_grap_X]Y[104+shift_grap_Y]G01X[103-shift_grap_X]Y[8+shift_grap_Y]

/* green Linecolor greenG242X[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 CG01X[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

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

-194-

#4=105+shift_grap_Y#5=2call fig_line

/* Characterscursor_onG243X[55-shift_char_X]Y[7-shift_char_Y](I)cursor_offm99

O6081 ;############################################### Corner R/* Line for Figurecolor redG242X[-8-shift_grap_X]Y[136+shift_grap_Y]G01X[72-shift_grap_X]Y[136+shift_grap_Y]G02X[104-shift_grap_X]Y[104+shift_grap_Y]I[72-shift_grap_X]J[104+shift_grap_Y]G01X[104-shift_grap_X]Y[8+shift_grap_Y]G242X[-8-shift_grap_X]Y[135+shift_grap_Y]G01X[72-shift_grap_X]Y[135+shift_grap_Y]G02X[103-shift_grap_X]Y[104+shift_grap_Y]I[72-shift_grap_X]J[104+shift_grap_Y]G01X[103-shift_grap_X]Y[8+shift_grap_Y]

/* green Linecolor greenG242X[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=0call fig_line

/* Characterscursor_onG243X[48-shift_char_X]Y[9 -shift_char_Y](R)cursor_offm99

O6082 ;############################################### Endcall fig_language

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

O6083 ;############################################### Linear Movement/* Line for Figurecolor yellowG242X[-16-shift_grap_X]Y[8+shift_grap_Y]G01X[32-shift_grap_X]Y[8+shift_grap_Y]

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

-195-

G01X[32-shift_grap_X]Y[56+shift_grap_Y]color green /* greendot_lineG01X[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

/* Characterscall fig_languagecursor_offG243X[46-shift_char_X]Y[10-shift_char_Y](R1)G243X[52-shift_char_X]Y[7-shift_char_Y](R2)G243X[37-shift_char_X]Y[13 -shift_char_Y]P[#1+60]G243X[37-shift_char_X]Y[14 -shift_char_Y]P[#1+61]G243X[42-shift_char_X]Y[10 -shift_char_Y]P[#1+62]G243X[42-shift_char_X]Y[11 -shift_char_Y]P[#1+63]m99

O6084 ;############################################### Rotation/* Line for Figurecolor yellowG242X[131-shift_grap_X]Y[84+shift_grap_Y]G01X[138-shift_grap_X]Y[108+shift_grap_Y]G01X[116-shift_grap_X]Y[130+shift_grap_Y]G01X[92-shift_grap_X]Y[123+shift_grap_Y]color green /* greendot_lineG01X[90-shift_grap_X]Y[148+shift_grap_Y]G01X[62-shift_grap_X]Y[161+shift_grap_Y]G01X[41-shift_grap_X]Y[147+shift_grap_Y]G01X[31-shift_grap_X]Y[169+shift_grap_Y]G01X[0-shift_grap_X]Y[172+shift_grap_Y]G01X[-14-shift_grap_X]Y[151+shift_grap_Y]solid_line

/* green Linecolor greenG242X[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 KG03X[46-shift_grap_X]Y[58+shift_grap_Y]I[0-shift_grap_X]J[-8+shift_grap_Y]

/* yellow Cross Markcolor yellow#1=0-shift_grap_X#2=-8+shift_grap_Ycall fig_mark

/* Characters#1=2call fig_cursorG243X[39-shift_char_X]Y[16-shift_char_Y](X)#1=3call fig_cursorG243X[41-shift_char_X]Y[16-shift_char_Y](Y)#1=4call fig_cursor

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

-196-

G243X[48-shift_char_X]Y[11-shift_char_Y](K)

cursor_offG243X[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_languageG243X[54-shift_char_X]Y[11 -shift_char_Y]P[#1+64]G243X[54-shift_char_X]Y[12 -shift_char_Y]P[#1+65]G243X[52-shift_char_X]Y[5 -shift_char_Y]P[#1+62]G243X[52-shift_char_X]Y[6 -shift_char_Y]P[#1+63]m99

O6085 ;############################################### Mirror Transformation/* Line for Figurecolor yellowG242X[64-shift_grap_X]Y[104+shift_grap_Y]G02X[80-shift_grap_X]Y[120+shift_grap_Y]I[64-shift_grap_X]J[120+shift_grap_Y]G01X[112-shift_grap_X]Y[120+shift_grap_Y]color green /* greendot_lineG01X[112-shift_grap_X]Y[88+shift_grap_Y]G02X[96-shift_grap_X]Y[72+shift_grap_Y]I[112-shift_grap_X]J[72+shift_grap_Y]solid_line

/* green Linecolor greenG242X[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 KG03X[39-shift_grap_X]Y[47+shift_grap_Y]I[16-shift_grap_X]J[24+shift_grap_Y]

/* yellow Cross Markcolor yellow#1=0-shift_grap_X#2=8+shift_grap_Ycall fig_mark

/* Characters#1=1call fig_cursorG243X[39-shift_char_X]Y[15-shift_char_Y](X)#1=2call fig_cursorG243X[41-shift_char_X]Y[15-shift_char_Y](Y)#1=3call fig_cursorG243X[46-shift_char_X]Y[13-shift_char_Y](K)cursor_offG243X[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_languageG243X[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

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

-197-

/****************************************************************************/*/* MACROSTR.SRC :: Strings for FIGSUB*.SRC/*/****************************************************************************

O6901 ;############################################### English; M codeN0001('M00:Program stop');N0002('M01:Optional stop');N0003('M02:End of program');N0004('M03:Spindle cw');N0005('M04:Spindle ccw');N0006('M05:Spindle stop');N0007('M06:Tool change');N0008('M30:end of program');N0009('M98:Calling of');N0010(' subrogram');N0011('M99:End of subrogram');

; Contour/Line : Start Point TypeN0020('When you make the');N0021('island figure after the');N0022('pocket wall figure,');N0023('select "ISLAND". ');N0024('');N0025('When you continue');N0026('making the next groove');N0027('figure,');N0028('select "NXT MV".');N0029('');N0030('Another case,');N0031('select "START".');

; Contour/EndN0040('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 CopyN0060('START'); ; LinearN0061('POINT');N0062('END');N0063('POINT');N0064('START');N0065('POINT');N0066('END');N0067('POINT');N0068('BASE');N0069('AXIS');

; Canned CycleN0080('Initial');N0081('level');N0082('Point R');N0083('level');

; Contour : Approach/Escape TypeN0090('Circle');N0091('Tangent');

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

-198-

N0092('Vertical');

; Canned CycleN0101('G81:No dwell');N0102('G82:With dwell');N0103('G83:Normal peck');N0104('G73:High-speed peck');N0105('G85:Feed retraction');N0106('G86:Rapid retraction');N0107('G88:Manual retraction');N0108('G89:With dwell');N0109('G76:Fine boring');N0110('G87:Back boring');N0111('G84:Tapping');N0112('G74:Left-hand tapping');

; Contour : Compensation DirectionN0121('Left');N0122('Right');

; CHECK*.SRC messageN0900('Data is lacking.');N0901('Input error in menu param.');

M99

O6903 ;############################################### German; M codeN0001('M00:Program stop');N0002('M01:Optional stop');N0003('M02:End of program');N0004('M03:Spindle cw');N0005('M04:Spindle ccw');N0006('M05:Spindle stop');N0007('M06:Tool change');N0008('M30:end of program');N0009('M98:Calling of');N0010(' subrogram');N0011('M99:End of subrogram');

; Contour/Line : Start Point TypeN0020('When you make the');N0021('island figure after the');N0022('pocket wall figure,');N0023('select "ISLAND". ');N0024('');N0025('When you continue');N0026('making the next groove');N0027('figure,');N0028('select "NXT MV".');N0029('');N0030('Another case,');N0031('select "START".');

; Contour/EndN0040('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 CopyN0060('START'); ; Linear

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

-199-

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

; Canned CycleN0080('Initial');N0081('level');N0082('Point R');N0083('level');

; Contour : Approach/Escape TypeN0090('Circle');N0091('Tangent');N0092('Vertical');

; Canned CycleN0101('G81:No dwell');N0102('G82:With dwell');N0103('G83:Normal peck');N0104('G73:High-speed peck');N0105('G85:Feed retraction');N0106('G86:Rapid retraction');N0107('G88:Manual retraction');N0108('G89:With dwell');N0109('G76:Fine boring');N0110('G87:Back boring');N0111('G84:Tapping');N0112('G74:Left-hand tapping');

; Contour : Compensation DirectionN0121('Left');N0122('Right');

; CHECK*.SRC messageN0900('Data is lacking.');N0901('Input error in menu param.');

M99

O6904 ;############################################### french; M codeN0001('M00:Program stop');N0002('M01:Optional stop');N0003('M02:End of program');N0004('M03:Spindle cw');N0005('M04:Spindle ccw');N0006('M05:Spindle stop');N0007('M06:Tool change');N0008('M30:end of program');N0009('M98:Calling of');N0010(' subrogram');N0011('M99:End of subrogram');

; Contour/Line : Start Point TypeN0020('When you make the');N0021('island figure after the');N0022('pocket wall figure,');N0023('select "ISLAND". ');N0024('');N0025('When you continue');N0026('making the next groove');

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

-200-

N0027('figure,');N0028('select "NXT MV".');N0029('');N0030('Another case,');N0031('select "START".');

; Contour/EndN0040('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 CopyN0060('START'); ; LinearN0061('POINT');N0062('END');N0063('POINT');N0064('START');N0065('POINT');N0066('END');N0067('POINT');N0068('BASE');N0069('AXIS');

; Canned CycleN0080('Initial');N0081('level');N0082('Point R');N0083('level');

; Contour : Approach/Escape TypeN0090('Circle');N0091('Tangent');N0092('Vertical');

; Canned CycleN0101('G81:No dwell');N0102('G82:With dwell');N0103('G83:Normal peck');N0104('G73:High-speed peck');N0105('G85:Feed retraction');N0106('G86:Rapid retraction');N0107('G88:Manual retraction');N0108('G89:With dwell');N0109('G76:Fine boring');N0110('G87:Back boring');N0111('G84:Tapping');N0112('G74:Left-hand tapping');

; Contour : Compensation DirectionN0121('Left');N0122('Right');

; CHECK*.SRC messageN0900('Data is lacking.');N0901('Input error in menu param.');

M99

O6905 ;############################################### Italian; M codeN0001('M00:Program stop');

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

-201-

N0002('M01:Optional stop');N0003('M02:End of program');N0004('M03:Spindle cw');N0005('M04:Spindle ccw');N0006('M05:Spindle stop');N0007('M06:Tool change');N0008('M30:end of program');N0009('M98:Calling of');N0010(' subrogram');N0011('M99:End of subrogram');

; Contour/Line : Start Point TypeN0020('When you make the');N0021('island figure after the');N0022('pocket wall figure,');N0023('select "ISLAND". ');N0024('');N0025('When you continue');N0026('making the next groove');N0027('figure,');N0028('select "NXT MV".');N0029('');N0030('Another case,');N0031('select "START".');

; Contour/EndN0040('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 CopyN0060('START'); ; LinearN0061('POINT');N0062('END');N0063('POINT');N0064('START');N0065('POINT');N0066('END');N0067('POINT');N0068('BASE');N0069('AXIS');

; Canned CycleN0080('Initial');N0081('level');N0082('Point R');N0083('level');

; Contour : Approach/Escape TypeN0090('Circle');N0091('Tangent');N0092('Vertical');

; Canned CycleN0101('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');

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

-202-

N0108('G89:With dwell');N0109('G76:Fine boring');N0110('G87:Back boring');N0111('G84:Tapping');N0112('G74:Left-hand tapping');

; Contour : Compensation DirectionN0121('Left');N0122('Right');

; CHECK*.SRC messageN0900('Data is lacking.');N0901('Input error in menu param.');

M99

O6906 ;############################################### Spanish; M codeN0001('M00:Program stop');N0002('M01:Optional stop');N0003('M02:End of program');N0004('M03:Spindle cw');N0005('M04:Spindle ccw');N0006('M05:Spindle stop');N0007('M06:Tool change');N0008('M30:end of program');N0009('M98:Calling of');N0010(' subrogram');N0011('M99:End of subrogram');

; Contour/Line : Start Point TypeN0020('When you make the');N0021('island figure after the');N0022('pocket wall figure,');N0023('select "ISLAND". ');N0024('');N0025('When you continue');N0026('making the next groove');N0027('figure,');N0028('select "NXT MV".');N0029('');N0030('Another case,');N0031('select "START".');

; Contour/EndN0040('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 CopyN0060('START'); ; LinearN0061('POINT');N0062('END');N0063('POINT');N0064('START');N0065('POINT');N0066('END');N0067('POINT');N0068('BASE');N0069('AXIS');

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

-203-

; Canned CycleN0080('Initial');N0081('level');N0082('Point R');N0083('level');

; Contour : Approach/Escape TypeN0090('Circle');N0091('Tangent');N0092('Vertical');

; Canned CycleN0101('G81:No dwell');N0102('G82:With dwell');N0103('G83:Normal peck');N0104('G73:High-speed peck');N0105('G85:Feed retraction');N0106('G86:Rapid retraction');N0107('G88:Manual retraction');N0108('G89:With dwell');N0109('G76:Fine boring');N0110('G87:Back boring');N0111('G84:Tapping');N0112('G74:Left-hand tapping');

; Contour : Compensation DirectionN0121('Left');N0122('Right');

; CHECK*.SRC messageN0900('Data is lacking.');N0901('Input error in menu param.');

M99

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

-204-

4.4 INPUTTED DATA CHECKING

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

/* ############################################### Start PointO8811 input_error_flag = error_nonn99 m99

/* ############################################### LineO8812 input_error_flag = error_nonn99 m99

/* ############################################### Circle CWO8813 input_error_flag = error_nonn99 m99

/* ############################################### Circle CCWO8814 input_error_flag = error_nonn99 m99

/* ############################################### ChamferingO8815 input_error_flag = error_nonn99 m99

/* ############################################### Corner RO8816 input_error_flag = error_nonn99 m99

/* ############################################### EndO8817 input_error_flag = error_nonn99 m99

/* ############################################### Linear MovementO8818 input_error_flag = error_non

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

-205-

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

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

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

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

-206-

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

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

-207-

5 USER PROGRAMS FOR HOLE MACHININGMENU

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

-208-

5.1 COMMENTS DEFINITION

/****************************************************************************/*/* STRING3.SRC :: Canned Cycle (ENGLISH)/*/***** 7301: Softkey 1/***** 7311: Softkey 2/***** 7321: G81/G82/G83/G73/* G81 Drilling cycle, spot drilling cycle/* G82 Drilling cycle, counter boring cycle/* G83 Peck drilling cycle/* G73 High-speed peck drilling cycle/***** 7331: G85/G86/G88/G89/G76/G87/* G85 Boring cycle/* G86 Boring cycle/* G88 Boring cycle/* G89 Boring cycle/* G76 Fine boring cycle/* G87 Back boring cycle/***** 7341: G84/G74/* G84 Tapping cycle/* G74 Left-hand tapping cycle/****************************************************************************

O7301 ;############################################### Softkye 1N0001("20 01 C010 20")(' HOLE ');N0002("20 01 C018 20")('PATTER');N0003("20 01 C020 20")(' FACE ');N0004("20 01 C028 20")(' SIDE ');N0005("20 01 C030 20")('POCKET');M99

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

O7321 ;############################################### G81/G82/G83/G73N9999('DRILLING CYCLE');N9998('DRILLING CYCLE(DETAIL SET)');N0001('ABS / INC');N0002('RETURN POINT');N0003('MACHINE PATTERN');N0004('HOLE POINT X');N0005('HOLE POINT Y');N0006('Z POINT DISTANCE');N0007('R POINT DISTANCE');N0008('DWELL TIME');N0009('PITCH DEPTH');N0010('FEED RATE');N0011('TRABVEL SPEED');N0012('DWELL TIME');N0013('REPEAT NUMBER');

N0100('3');N0101("20 01 C010 20")('G90ABS');N0102("20 01 C018 20")('G91INC');N0103("20 01 C020 20")('NO-OUT');

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

-209-

N0151('90');N0152('91');N0153('3');

N0200('11');N0201("20 01 C010 20")('I-LVL ');N0202("20 01 C018 20")('R-LVL ');N0203("20 01 C020 20")('NO-OUT');N0251('98');N0252('99');N0253('3');

N0300('7');N0301("20 01 C010 20")('NO DWL');N0302("20 01 C018 20")('DWELL ');N0303("20 01 C020 20")(' PECK ');N0304("20 01 C028 20")('S-PECK');N0351('81');N0352('82');N0353('83');N0354('73');M99

O7331 ;############################################### G85/G86/G88/G89/G76/G87N9999('BORING CYCLE');N9998('BORING CYCLE(DETAIL SET)');N0001('ABS / INC');N0002('RETURN POINT');N0003('MACHINE PATTERN');N0004('HOLE POINT X');N0005('HOLE POINT Y');N0006('Z POINT DISTANCE');N0007('R POINT DISTANCE');N0008('TOOL SHIFT AMOUNT');N0009('DWELL TIME');N0010('FEED RATE');N0011('REPEAT NUMBER');

N0100('3');N0101("20 01 C010 20")('G90ABS');N0102("20 01 C018 20")('G91INC');N0103("20 01 C020 20")('NO-OUT');N0151('90');N0152('91');N0153('3');

N0200('11');N0201("20 01 C010 20")('I-LVL ');N0202("20 01 C018 20")('R-LVL ');N0203("20 01 C020 20")('NO-OUT');N0251('98');N0252('99');N0253('3');

N0300('32');N0301("20 01 C010 20")(' FEED ');N0302("20 01 C018 20")('RAPID ');N0303("20 01 C020 20")('MANUAL');N0304("20 01 C028 20")('DWELL ');N0305("20 01 C030 20")(' FINE ');N0306("20 01 C038 20")(' BACK ');N0351('85');N0352('86');N0353('88');N0354('89');

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

-210-

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

O7341 ;############################################### G84/G74N9999('TAPPING CYCLE');N9998('TAPPING CYCLE(DETAIL SET)');N0001('ABS / INC');N0002('RETURN POINT');N0003('MACHINE PATTERN');N0004('HOLE POINT X');N0005('HOLE POINT Y');N0006('Z POINT DISTANCE');N0007('R POINT DISTANCE');N0008('DWELL TIME');N0009('PITCH DEPTH');N0010('FEED RATE');N0011('REPEAT NUMBER');

N0100('3');N0101("20 01 C010 20")('G90ABS');N0102("20 01 C018 20")('G91INC');N0103("20 01 C020 20")('NO-OUT');N0151('90');N0152('91');N0153('3');

N0200('11');N0201("20 01 C010 20")('I-LVL ');N0202("20 01 C018 20")('R-LVL ');N0203("20 01 C020 20")('NO-OUT');N0251('98');N0252('99');N0253('3');

N0300('9');N0301("20 01 C010 20")(' TAP ');N0302("20 01 C018 20")('REVTAP');N0351('84');N0352('74');M99

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

-211-

5.2 DATA ATTRIBUTE

/****************************************************************************/*/* PROC3.SRC :: Canned Cycle/*/***** 8432: G81/G82/G83/G73/* G81 Drilling cycle, spot drilling cycle/* G82 Drilling cycle, counter boring cycle/* G83 Peck drilling cycle/* G73 High-speed peck drilling cycle/***** 8433: G85/G86/G88/G89/G87/G76/* G85 Boring cycle/* G86 Boring cycle/* G88 Boring cycle/* G89 Boring cycle/* G76 Fine boring cycle/* G87 Back boring cycle/***** 8434: G84/G74/* G84 Tapping cycle/* G74 Left-hand tapping cycle/****************************************************************************$INCLUDE SYMBOL.DEF

O8432 ;############################################### G81/G82/G83/G73#[address 0] = -1#[address 1] = add_G03G#[attribute 1] = att_character + att_detail#[value 1] = 3#[address 2] = add_G10G#[attribute 2] = att_character + att_detail#[value 2] = 3#[address 3] = add_G09G#[attribute 3] = att_character#[value 3] = 81#[address 4] = add_X#[attribute 4] = att_decimal + att_detail#[value 4] = #0#[address 5] = add_Y#[attribute 5] = att_decimal + att_detail#[value 5] = #0#[address 6] = add_Z#[attribute 6] = att_decimal#[value 6] = #0#[address 7] = add_R#[attribute 7] = att_decimal#[value 7] = #0#[address 8] = add_P#[attribute 8] = att_not_use#[value 8] = #0#[address 9] = add_Q#[attribute 9] = att_not_use#[value 9] = #0#[address 10] = add_F#[attribute 10] = att_decimal#[value 10] = #0#[address 11] = add_I#[attribute 11] = att_not_use#[value 11] = #0#[address 12] = add_P#[attribute 12] = att_not_use#[value 12] = #0#[address 13] = add_K#[attribute 13] = att_integer + att_detail

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

-212-

#[value 13] = 0#[address 14] = add_endprevious_cursor = 1 /* Previous cursor position clearm99

O8433 ;############################################### G85/G86/G88/G89/G87/G76#[address 0] = -1#[address 1] = add_G03G#[attribute 1] = att_character + att_detail#[value 1] = 3#[address 2] = add_G10G#[attribute 2] = att_character + att_detail#[value 2] = 3#[address 3] = add_G09G#[attribute 3] = att_character#[value 3] = 85#[address 4] = add_X#[attribute 4] = att_decimal + att_detail#[value 4] = #0#[address 5] = add_Y#[attribute 5] = att_decimal + att_detail#[value 5] = #0#[address 6] = add_Z#[attribute 6] = att_decimal#[value 6] = #0#[address 7] = add_R#[attribute 7] = att_decimal#[value 7] = #0#[address 8] = add_Q#[attribute 8] = att_not_use#[value 8] = #0#[address 9] = add_P#[attribute 9] = att_not_use#[value 9] = #0#[address 10] = add_F#[attribute 10] = att_decimal#[value 10] = #0#[address 11] = add_K#[attribute 11] = att_integer + att_detail#[value 11] = 0#[address 12] = add_endprevious_cursor = 1 /* Previous cursor position clearm99

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

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

-213-

#[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_endprevious_cursor = 1 /* Previous cursor position clearm99

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

-214-

5.3 GUIDANCE DRAWING FIGURE

/****************************************************************************/*/* FIG3.SRC :: Canned Cycle/*/***** 8632: G81/G82/G83/G73/* G81 Drilling cycle, spot drilling cycle/* G82 Drilling cycle, counter boring cycle/* G83 Peck drilling cycle/* G73 High-speed peck drilling cycle/***** 8633: G85/G86/G88/G89/G87/G76/* G85 Boring cycle/* G86 Boring cycle/* G88 Boring cycle/* G89 Boring cycle/* G76 Fine boring cycle/* G87 Back boring cycle/***** 8634: G84/G74/* G84 Tapping cycle/* G74 Left-hand tapping cycle/***** 8634: G76 Fine boring cycle/***** 8640: G85 Boring cycle/***** 8641: G86 Boring cycle/***** 8642: G87 Back boring cycle/***** 8643: G88 Boring cycle/***** 8644: G89 Boring cycle

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

O8632 ;############################################### G81/G82/G83/G73/*** Guide Picture Setting ***/if[guide_frequency ne secont_tine]goto 90if[cursor eq 1]then call fig_clear call 6055endifif[cursor eq 2]then call fig_clear call 6091endifif[cursor eq 3]then call fig_clear call fig_language cursor_off G243X[36-shift_char_X]Y[5-shift_char_Y]P[#1+101] G243X[36-shift_char_X]Y[6-shift_char_Y]P[#1+102] G243X[36-shift_char_X]Y[7-shift_char_Y]P[#1+103] G243X[36-shift_char_X]Y[8-shift_char_Y]P[#1+104]endifif[#[value 3] eq 81]then if[cursor eq 6 || cursor eq 7 || cursor eq 10]then if[previous_cursor ne 6 && previous_cursor ne 7]then call fig_clear endif call 6095 endifendifif[#[value 3] eq 82]then if[cursor ge 6 && cursor le 8]then if[previous_cursor lt 6 || previous_cursor gt 8]then call fig_clear endif

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

-215-

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 endifendifif[#[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 endifendifif[#[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 endifendifprevious_cursor = cursorn90

/*** Attribution Setting ***/if[#[value 1] eq 3]then #[attribute 1] = att_character + att_detail + att_not_output else #[attribute 1] = att_character + att_detailif[#[value 2] eq 3]then #[attribute 2] = att_character + att_detail + att_not_output else #[attribute 2] = att_character + att_detailif[#[value 3] eq 81]then #[attribute 8] = att_not_use #[attribute 9] = att_not_use #[attribute 11] = att_not_use #[attribute 12] = att_not_useendifif[#[value 3] eq 82]then #[attribute 8] = att_integer #[attribute 9] = att_not_use #[attribute 11] = att_not_use #[attribute 12] = att_not_useendif

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

-216-

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_detailendifif[#[value 3] eq 73]then #[attribute 8] = att_not_use #[attribute 9] = att_decimal #[attribute 11] = att_not_use #[attribute 12] = att_not_useendifm99

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

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

-217-

color white C blue L0 G243X[46-shift_char_X]Y[15-shift_char_Y](P) endif endifendifif[#[value 3] eq 89]then if[cursor eq 6 || cursor eq 7 || cursor eq 9]then if[previous_cursor ne 6 && previous_cursor ne 7 && previous_cursor ne 9]then call fig_clear endif call 6103 endif if[cursor eq 10]then if[previous_cursor ne 3]then color white C blue L0 G243X[46-shift_char_X]Y[15-shift_char_Y](P) endif endifendifif[#[value 3] eq 76]then if[cursor ge 6 && cursor le 9]then if[previous_cursor lt 6 || previous_cursor gt 9]then call fig_clear endif call 6094 endif if[cursor eq 10]then if[previous_cursor ne 3]then color white C blue L0 G243X[46-shift_char_X]Y[15-shift_char_Y](P) endif endifendifif[#[value 3] eq 87]then if[cursor ge 6 && cursor le 9]then if[previous_cursor lt 6 || previous_cursor gt 9]then call fig_clear endif call 6101 endif if[cursor eq 10]then if[previous_cursor ne 3]then color white C blue L0 G243X[45-shift_char_X]Y[11-shift_char_Y](P) endif endifendifprevious_cursor = cursorn90

/*** Attribution Setting ***/if[#[value 1] eq 3]then #[attribute 1] = att_character + att_detail + att_not_output else #[attribute 1] = att_character + att_detailif[#[value 2] eq 3]then #[attribute 2] = att_character + att_detail + att_not_output else #[attribute 2] = att_character + att_detailif[#[value 3] eq 85]then #[attribute 8] = att_not_use #[attribute 9] = att_not_useendifif[#[value 3] eq 86]then #[attribute 8] = att_not_use #[attribute 9] = att_not_useendifif[#[value 3] eq 88]then #[attribute 8] = att_not_use #[attribute 9] = att_integerendif

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

-218-

if[#[value 3] eq 89]then #[attribute 8] = att_not_use #[attribute 9] = att_integerendifif[#[value 3] eq 76]then #[attribute 8] = att_decimal #[attribute 9] = att_integerendifif[#[value 3] eq 87]then #[attribute 8] = att_decimal #[attribute 9] = att_integerendifm99

O8634 ;############################################### G84/G74if[guide_frequency ne secont_tine]goto 90if[cursor eq 1]then if[previous_cursor ne 1]then call fig_clear endif call 6055endifif[cursor eq 2]then if[previous_cursor ne 2]then call fig_clear endif call 6091endifif[cursor eq 3]then call fig_clear call fig_language cursor_off G243X[36-shift_char_X]Y[5-shift_char_Y]P[#1+111] G243X[36-shift_char_X]Y[6-shift_char_Y]P[#1+112]endifif[cursor ge 6 && cursor le 9]then if[previous_cursor lt 6 || previous_cursor gt 9]then call fig_clear endif call 6093endifif[cursor eq 5 || cursor eq 11]then if[previous_cursor eq 9]then color white C blue L0 G243X[41-shift_char_X]Y[12-shift_char_Y](Q) endifendifif[cursor eq 10]then if[previous_cursor ne 3]then color white C blue L0 G243X[51-shift_char_X]Y[16-shift_char_Y](P) endifendifprevious_cursor = cursorn90

/*** Attribution Setting ***/if[#[value 1] eq 3]then #[attribute 1] = att_character + att_detail + att_not_output else #[attribute 1] = att_character + att_detailif[#[value 2] eq 3]then #[attribute 2] = att_character + att_detail + att_not_output else #[attribute 2] = att_character + att_detailm99

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

-219-

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

O6091 ;############################################### Return point level/* Workcolor blue /* for InnerG242X[-31-shift_grap_X]Y[9+shift_grap_Y] /* Left WorkG01X[55-shift_grap_X]Y[9+shift_grap_Y]G01X[55-shift_grap_X]Y[71+shift_grap_Y]G01X[-31-shift_grap_X]Y[71+shift_grap_Y]G01X[-31-shift_grap_X]Y[9+shift_grap_Y]G206P0X[0-shift_grap_X]Y[40+shift_grap_Y]G242X[65-shift_grap_X]Y[9+shift_grap_Y] /* Right WorkG01X[151-shift_grap_X]Y[9+shift_grap_Y]G01X[151-shift_grap_X]Y[71+shift_grap_Y]G01X[65-shift_grap_X]Y[71+shift_grap_Y]G01X[65-shift_grap_X]Y[9+shift_grap_Y]G206P0X[100-shift_grap_X]Y[40+shift_grap_Y]color sky_blue /* for EdgeG242X[-32-shift_grap_X]Y[8+shift_grap_Y] /* Left WorkG01X[56-shift_grap_X]Y[8+shift_grap_Y]G01X[56-shift_grap_X]Y[72+shift_grap_Y]G01X[-32-shift_grap_X]Y[72+shift_grap_Y]G01X[-32-shift_grap_X]Y[8+shift_grap_Y]G242X[64-shift_grap_X]Y[8+shift_grap_Y] /* Right WorkG01X[152-shift_grap_X]Y[8+shift_grap_Y]G01X[152-shift_grap_X]Y[72+shift_grap_Y]G01X[64-shift_grap_X]Y[72+shift_grap_Y]G01X[64-shift_grap_X]Y[8+shift_grap_Y]

/* Tool#20=-8-shift_grap_X /* X coordinate of Top of Tool#21=139+shift_grap_Y /* Y coordinate of Top of Toolcolor green /* green for InnerG242X[#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 EdgeG242X[#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

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

-220-

#21=139+shift_grap_Y /* Y coordinate of Top of Toolcolor green /* green for InnerG242X[#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 EdgeG242X[#20]Y[#21]G01X[#20-8]Y[#21+5]G01X[#20-8]Y[#21+21]G01X[#20+8]Y[#21+21]G01X[#20+8]Y[#21+5]G01X[#20]Y[#21]

/* Circle for Pointcolor redG242X[-8-shift_grap_X]Y[138+shift_grap_Y] /* for G98G02X[-8-shift_grap_X]Y[138+shift_grap_Y]I[-8-shift_grap_X]J[136+shift_grap_Y]Q4G206P0X[-8-shift_grap_X]Y[136+shift_grap_Y]G242X[24-shift_grap_X]Y[138+shift_grap_Y]G02X[24-shift_grap_X]Y[138+shift_grap_Y]I[24-shift_grap_X]J[136+shift_grap_Y]Q4G206P0X[24-shift_grap_X]Y[136+shift_grap_Y]G242X[24-shift_grap_X]Y[90+shift_grap_Y]G02X[24-shift_grap_X]Y[90+shift_grap_Y]I[24-shift_grap_X]J[88+shift_grap_Y]Q4G206P0X[24-shift_grap_X]Y[88+shift_grap_Y]G242X[24-shift_grap_X]Y[42+shift_grap_Y]G02X[24-shift_grap_X]Y[42+shift_grap_Y]I[24-shift_grap_X]J[40+shift_grap_Y]Q4G206P0X[24-shift_grap_X]Y[40+shift_grap_Y]G242X[88-shift_grap_X]Y[138+shift_grap_Y] /* for G99G02X[88-shift_grap_X]Y[138+shift_grap_Y]I[88-shift_grap_X]J[136+shift_grap_Y]Q4G206P0X[88-shift_grap_X]Y[136+shift_grap_Y]G242X[120-shift_grap_X]Y[138+shift_grap_Y]G02X[120-shift_grap_X]Y[138+shift_grap_Y]I[120-shift_grap_X]J[136+shift_grap_Y]Q4G206P0X[120-shift_grap_X]Y[136+shift_grap_Y]G242X[120-shift_grap_X]Y[90+shift_grap_Y]G02X[120-shift_grap_X]Y[90+shift_grap_Y]I[120-shift_grap_X]J[88+shift_grap_Y]Q4G206P0X[120-shift_grap_X]Y[88+shift_grap_Y]G242X[120-shift_grap_X]Y[42+shift_grap_Y]G02X[120-shift_grap_X]Y[42+shift_grap_Y]I[120-shift_grap_X]J[40+shift_grap_Y]Q4G206P0X[120-shift_grap_X]Y[40+shift_grap_Y]

/* red for Pathcolor reddot_line /* for G98#1=-5-shift_grap_X#2=136+shift_grap_Y#3=21-shift_grap_X#4=#2#5=0call fig_line#1=24-shift_grap_X#2=133+shift_grap_Y#3=#1#4=91+shift_grap_Y#5=0call fig_linesolid_line#1=24-shift_grap_X#2=85+shift_grap_Y#3=#1#4=43+shift_grap_Y#5=0call fig_linedot_line

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

-221-

#1=40-shift_grap_X#2=40+shift_grap_Y#3=#1#4=136+shift_grap_Y#5=0call fig_line#1=91-shift_grap_X /* for G98#2=136+shift_grap_Y#3=117-shift_grap_X#4=#2#5=0call fig_line#1=120-shift_grap_X#2=133+shift_grap_Y#3=#1#4=91+shift_grap_Y#5=0call fig_linesolid_line#1=120-shift_grap_X#2=85+shift_grap_Y#3=#1#4=43+shift_grap_Y#5=0call fig_linedot_line#1=136-shift_grap_X#2=40+shift_grap_Y#3=#1#4=88+shift_grap_Y#5=0call fig_linesolid_line

/* Characterscursor_offG243X[40-shift_char_X]Y[15-shift_char_Y](G98)G243X[52-shift_char_X]Y[15-shift_char_Y](G99)

call fig_languageG243X[42-shift_char_X]Y[5-shift_char_Y] P[#1+80]G243X[42-shift_char_X]Y[6-shift_char_Y] P[#1+81]G243X[49-shift_char_X]Y[9-shift_char_Y] P[#1+82]G243X[50-shift_char_X]Y[10-shift_char_Y] P[#1+83]m99

O6092 ;############################################### G73 High-speed peck drilling cycle/* Workif[previous_cursor eq 6 || previous_cursor eq 7 || previous_cursor eq 9] goto 900color blue /* blue for InnerG242X[-31-shift_grap_X]Y[-31+shift_grap_Y]G01X[151-shift_grap_X]Y[-31+shift_grap_Y]G01X[151-shift_grap_X]Y[103+shift_grap_Y]G01X[-31-shift_grap_X]Y[103+shift_grap_Y]G01X[-31-shift_grap_X]Y[-31+shift_grap_Y]if[#[value 1] eq 91]then /* for Z #1=38-shift_char_X #2=12-shift_char_Y #3=1 call fig_characterelse #1=54-shift_char_X #2=16-shift_char_Y #3=1 call fig_character

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

-222-

endif#1=41-shift_char_X /* for Q#2=9-shift_char_Y#3=1call fig_character#2=12-shift_char_Ycall fig_character#2=15-shift_char_Ycall fig_characterG206P0X[0-shift_grap_X]Y[0+shift_grap_Y]color sky_blue /* blue green for EdgeG242X[-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 Toolcolor green /* green for InnerG242X[#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 EdgeG242X[#20]Y[#21]G01X[#20-8]Y[#21+5]G01X[#20-8]Y[#21+21]G01X[#20+8]Y[#21+21]G01X[#20+8]Y[#21+5]G01X[#20]Y[#21]

/* Circle for Pointcolor redG242X[16-shift_grap_X]Y[146+shift_grap_Y]G02X[16-shift_grap_X]Y[146+shift_grap_Y]I[16-shift_grap_X]J[144+shift_grap_Y]Q4G206P0X[16-shift_grap_X]Y[144+shift_grap_Y]G242X[40-shift_grap_X]Y[146+shift_grap_Y]G02X[40-shift_grap_X]Y[146+shift_grap_Y]I[40-shift_grap_X]J[144+shift_grap_Y]Q4G206P0X[40-shift_grap_X]Y[144+shift_grap_Y]G242X[40-shift_grap_X]Y[122+shift_grap_Y]G02X[40-shift_grap_X]Y[122+shift_grap_Y]I[40-shift_grap_X]J[120+shift_grap_Y]Q4G206P0X[40-shift_grap_X]Y[120+shift_grap_Y]G242X[104-shift_grap_X]Y[-22+shift_grap_Y]G02X[104-shift_grap_X]Y[-22+shift_grap_Y]I[104-shift_grap_X]J[-24+shift_grap_Y]Q4G206P0X[104-shift_grap_X]Y[-24+shift_grap_Y]

/* red for Pathcolor reddot_line#1=19-shift_grap_X#2=144+shift_grap_Y#3=37-shift_grap_X#4=#2#5=0call fig_line#1=40-shift_grap_X#2=141+shift_grap_Y#3=#1#4=123+shift_grap_Y#5=0call fig_linesolid_line

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

-223-

#1=40-shift_grap_X#2=117+shift_grap_Y#3=#1#4=73+shift_grap_Y#5=0call fig_linedot_line#1=56-shift_grap_X#2=73+shift_grap_Y#3=#1#4=103+shift_grap_Y#5=0call fig_linesolid_line#1=72-shift_grap_X#2=103+shift_grap_Y#3=#1#4=25+shift_grap_Y#5=0call fig_linedot_line#1=88-shift_grap_X#2=25+shift_grap_Y#3=#1#4=55+shift_grap_Y#5=0call fig_linesolid_line#1=104-shift_grap_X#2=55+shift_grap_Y#3=#1#4=-21+shift_grap_Y#5=0call fig_linedot_line#1=128-shift_grap_X#2=-23+shift_grap_Y#3=#1if[#[value 2] eq 99]then #4=120+shift_grap_Yelse #4=144+shift_grap_Yendif#5=0call fig_linesolid_line

/* green Linecolor greenG242X[16-shift_grap_X]Y[120+shift_grap_Y] /* for QG01X[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=2call fig_line#1=24-shift_grap_X#2=71+shift_grap_Y#3=#1#4=25+shift_grap_Y

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

-224-

#5=2call fig_line#1=24-shift_grap_X#2=23+shift_grap_Y#3=#1#4=-23+shift_grap_Y#5=2call fig_lineif[#[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_lineendif

/* CharactersN900if[#[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)endifif[cursor eq 9]then color -white C blue L1else color white C blue L0endifG243X[41-shift_char_X]Y[12-shift_char_Y](Q)color white C blue L0G243X[41-shift_char_X]Y[9-shift_char_Y](Q)G243X[41-shift_char_X]Y[15-shift_char_Y](Q)m99

O6093 ;############################################### G74 Left-hand tapping cycle/* Work

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

-225-

color blue /* blue for InnerG242X[-31-shift_grap_X]Y[-31+shift_grap_Y]G01X[151-shift_grap_X]Y[-31+shift_grap_Y]G01X[151-shift_grap_X]Y[103+shift_grap_Y]G01X[-31-shift_grap_X]Y[103+shift_grap_Y]G01X[-31-shift_grap_X]Y[-31+shift_grap_Y]if[#[value 1] eq 91]then /* for Z #1=38-shift_char_X #2=12-shift_char_Y #3=1 call fig_characterelse #1=54-shift_char_X #2=16-shift_char_Y #3=1 call fig_characterendif#1=51-shift_char_X /* for Q#2=16-shift_char_Y#3=1call fig_character#1=41-shift_char_X /* for Q#2=9-shift_char_Y#3=1call fig_character#2=12-shift_char_Ycall fig_character#2=15-shift_char_Ycall fig_characterG206P0X[0-shift_grap_X]Y[0+shift_grap_Y]color sky_blue /* blue green for EdgeG242X[-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 Toolcolor green /* green for InnerG242X[#20]Y[#21+1] /* Left SideG01X[#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 SideG01X[#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 EdgeG242X[#20]Y[#21] /* Left SideG01X[#20-8]Y[#21]G01X[#20-8-3]Y[#21+3*1]G01X[#20-8 ]Y[#21+3*2]

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

-226-

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 SideG01X[#20+8]Y[#21]G01X[#20+8+3]Y[#21+3*1]G01X[#20+8 ]Y[#21+3*2]G01X[#20+8+3]Y[#21+3*3]G01X[#20+8 ]Y[#21+3*4]G01X[#20+8+3]Y[#21+3*5]G01X[#20+8 ]Y[#21+3*6]G01X[#20+8]Y[#21+21]G01X[#20]Y[#21+21]

/* Circle for Pointcolor redG242X[16-shift_grap_X]Y[146+shift_grap_Y]G02X[16-shift_grap_X]Y[146+shift_grap_Y]I[16-shift_grap_X]J[144+shift_grap_Y]Q4G206P0X[16-shift_grap_X]Y[144+shift_grap_Y]G242X[40-shift_grap_X]Y[146+shift_grap_Y]G02X[40-shift_grap_X]Y[146+shift_grap_Y]I[40-shift_grap_X]J[144+shift_grap_Y]Q4G206P0X[40-shift_grap_X]Y[144+shift_grap_Y]G242X[40-shift_grap_X]Y[122+shift_grap_Y]G02X[40-shift_grap_X]Y[122+shift_grap_Y]I[40-shift_grap_X]J[120+shift_grap_Y]Q4G206P0X[40-shift_grap_X]Y[120+shift_grap_Y]G242X[104-shift_grap_X]Y[-22+shift_grap_Y]G02X[104-shift_grap_X]Y[-22+shift_grap_Y]I[104-shift_grap_X]J[-24+shift_grap_Y]Q4G206P0X[104-shift_grap_X]Y[-24+shift_grap_Y]

/* red for Pathcolor reddot_line#1=19-shift_grap_X#2=144+shift_grap_Y#3=37-shift_grap_X#4=#2#5=0call fig_line#1=40-shift_grap_X#2=141+shift_grap_Y#3=#1#4=123+shift_grap_Y#5=0call fig_linesolid_line#1=40-shift_grap_X#2=117+shift_grap_Y#3=#1#4=73+shift_grap_Y#5=0call fig_linedot_line#1=56-shift_grap_X#2=73+shift_grap_Y#3=#1#4=103+shift_grap_Y#5=0call fig_linesolid_line#1=72-shift_grap_X#2=103+shift_grap_Y#3=#1#4=25+shift_grap_Y#5=0

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

-227-

call fig_linedot_line#1=88-shift_grap_X#2=25+shift_grap_Y#3=#1#4=55+shift_grap_Y#5=0call fig_linesolid_line#1=104-shift_grap_X#2=55+shift_grap_Y#3=#1#4=-21+shift_grap_Y#5=0call fig_line#1=128-shift_grap_X#2=-23+shift_grap_Y#3=#1#4=120+shift_grap_Y#5=0call fig_lineif[#[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_lineendif

/* green Linecolor greenG242X[16-shift_grap_X]Y[120+shift_grap_Y] /* for QG01X[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=2call fig_line#1=24-shift_grap_X#2=71+shift_grap_Y#3=#1#4=25+shift_grap_Y#5=2call fig_line#1=24-shift_grap_X#2=23+shift_grap_Y#3=#1#4=-23+shift_grap_Y#5=2call fig_lineif[#[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]

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

-228-

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

/* Charactersif[#[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)endifif[cursor eq 8]then color -white C blue L1else color white C blue L0endifG243X[51-shift_char_X]Y[16-shift_char_Y](P)if[cursor eq 9]then color -white C blue L1else color white C blue L0endifG243X[41-shift_char_X]Y[12-shift_char_Y](Q)color white C blue L0G243X[41-shift_char_X]Y[9-shift_char_Y](Q)G243X[41-shift_char_X]Y[15-shift_char_Y](Q)m99

O6094 ;############################################### G76 Fine boring cycle/* Workcolor blue /* blue for InnerG242X[-23-shift_grap_X]Y[-23+shift_grap_Y]G01X[143-shift_grap_X]Y[-23+shift_grap_Y]G01X[143-shift_grap_X]Y[71+shift_grap_Y]G01X[-23-shift_grap_X]Y[71+shift_grap_Y]G01X[-23-shift_grap_X]Y[-23+shift_grap_Y]if[#[value 1] eq 91]then /* for Z #1=43-shift_char_X #2=12-shift_char_Y #3=1

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

-229-

call fig_characterelse #1=53-shift_char_X #2=14-shift_char_Y #3=1 call fig_characterendif#1=49-shift_char_X /* for Q#2=13-shift_char_Y#3=1call fig_character#1=46-shift_char_X /* for P#2=15-shift_char_Y#3=1call fig_characterG206P0X[0-shift_grap_X]Y[0+shift_grap_Y]color sky_blue /* blue green for EdgeG242X[-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 Toolcolor green /* green for InnerG242X[#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 EdgeG242X[#20]Y[#21]G01X[#20+4]Y[#21+4]G01X[#20+4]Y[#21+21]G01X[#20+4+13]Y[#21+21]G01X[#20+4+13]Y[#21]G01X[#20]Y[#21]

/* Circle for Pointcolor redG242X[24-shift_grap_X]Y[122+shift_grap_Y]G02X[24-shift_grap_X]Y[122+shift_grap_Y]I[24-shift_grap_X]J[120+shift_grap_Y]Q4G206P0X[24-shift_grap_X]Y[120+shift_grap_Y]G242X[56-shift_grap_X]Y[122+shift_grap_Y]G02X[56-shift_grap_X]Y[122+shift_grap_Y]I[56-shift_grap_X]J[120+shift_grap_Y]Q4G206P0X[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]Q4G206P0X[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]Q4G206P0X[56-shift_grap_X]Y[8+shift_grap_Y]G242X[96-shift_grap_X]Y[10+shift_grap_Y]G02X[96-shift_grap_X]Y[10+shift_grap_Y]I[96-shift_grap_X]J[8+shift_grap_Y]Q4G206P0X[96-shift_grap_X]Y[8+shift_grap_Y]if[#[value 2] eq 99]then G242X[96-shift_grap_X]Y[90+shift_grap_Y] G02X[96-shift_grap_X]Y[90+shift_grap_Y]I[96-shift_grap_X]J[88+shift_grap_Y]Q4 G206P0X[96-shift_grap_X]Y[88+shift_grap_Y]else G242X[96-shift_grap_X]Y[122+shift_grap_Y] ; G02X[96-shift_grap_X]Y[122+shift_grap_Y]I[96-shift_grap_X]J[120+shift_grap_Y]Q4 G206P0X[96-shift_grap_X]Y[120+shift_grap_Y]

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

-230-

endif

/* red for Pathcolor reddot_line#1=27-shift_grap_X#2=120+shift_grap_Y#3=53-shift_grap_X#4=#2#5=0call fig_line#1=56-shift_grap_X#2=117+shift_grap_Y#3=#1#4=91+shift_grap_Y#5=0call fig_linesolid_line#1=56-shift_grap_X#2=85+shift_grap_Y#3=#1#4=11+shift_grap_Y#5=0call fig_linedot_line#1=96-shift_grap_X#2=11+shift_grap_Y#3=#1if[#[value 2] eq 99]then #4=85+shift_grap_Yelse #4=117+shift_grap_Yendif#5=0call fig_line/* Shiftsolid_line#1=59-shift_grap_X#2=8+shift_grap_Y#3=93-shift_grap_Xcall fig_shiftif[#[value 2] eq 99]then #1=93-shift_grap_X #2=88+shift_grap_Y #3=59-shift_grap_X call fig_shiftelse #1=93-shift_grap_X #2=120+shift_grap_Y #3=59-shift_grap_X call fig_shiftendif

/* green Linecolor green#1=57-shift_grap_X /* for Q#2=20+shift_grap_Y#3=95-shift_grap_X#4=#2#5=2call fig_lineif[#[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]

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

-231-

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

/* Charactersif[#[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)endifif[cursor eq 8]then color -white C blue L1else color white C blue L0endifG243X[49-shift_char_X]Y[13-shift_char_Y](Q)if[cursor eq 9]then color -white C blue L1else color white C blue L0endifG243X[46-shift_char_X]Y[15-shift_char_Y](P)cursor_offm99

O6095 ;############################################### G81 Drilling cycle, spot drilling cycle/* Workcolor blue /* blue for InnerG242X[-23-shift_grap_X]Y[-23+shift_grap_Y]G01X[143-shift_grap_X]Y[-23+shift_grap_Y]G01X[143-shift_grap_X]Y[71+shift_grap_Y]G01X[-23-shift_grap_X]Y[71+shift_grap_Y]G01X[-23-shift_grap_X]Y[-23+shift_grap_Y]if[#[value 1] eq 91]then /* for Z #1=43-shift_char_X #2=12-shift_char_Y #3=1 call fig_characterelse

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

-232-

#1=50-shift_char_X #2=14-shift_char_Y #3=1 call fig_characterendifG206P0X[0-shift_grap_X]Y[0+shift_grap_Y]color sky_blue /* blue green for EdgeG242X[-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 Toolcolor green /* green for InnerG242X[#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 EdgeG242X[#20]Y[#21]G01X[#20-8]Y[#21+5]G01X[#20-8]Y[#21+21]G01X[#20+8]Y[#21+21]G01X[#20+8]Y[#21+5]G01X[#20]Y[#21]

/* Circle for Pointcolor redG242X[24-shift_grap_X]Y[122+shift_grap_Y]G02X[24-shift_grap_X]Y[122+shift_grap_Y]I[24-shift_grap_X]J[120+shift_grap_Y]Q4G206P0X[24-shift_grap_X]Y[120+shift_grap_Y]G242X[56-shift_grap_X]Y[122+shift_grap_Y]G02X[56-shift_grap_X]Y[122+shift_grap_Y]I[56-shift_grap_X]J[120+shift_grap_Y]Q4G206P0X[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]Q4G206P0X[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]Q4G206P0X[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]Q4G206P0X[72-shift_grap_X]Y[8+shift_grap_Y]if[#[value 2] eq 99]then G242X[72-shift_grap_X]Y[90+shift_grap_Y] G02X[72-shift_grap_X]Y[90+shift_grap_Y]I[72-shift_grap_X]J[88+shift_grap_Y]Q4 G206P0X[72-shift_grap_X]Y[88+shift_grap_Y]else G242X[72-shift_grap_X]Y[122+shift_grap_Y] G02X[72-shift_grap_X]Y[122+shift_grap_Y]I[72-shift_grap_X]J[120+shift_grap_Y]Q4 G206P0X[72-shift_grap_X]Y[120+shift_grap_Y]endif

/* red for Pathcolor reddot_line#1=27-shift_grap_X#2=120+shift_grap_Y#3=53-shift_grap_X#4=#2#5=0

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

-233-

call fig_line#1=56-shift_grap_X#2=117+shift_grap_Y#3=#1#4=91+shift_grap_Y#5=0call fig_linesolid_line#1=56-shift_grap_X#2=85+shift_grap_Y#3=#1#4=11+shift_grap_Y#5=0call fig_linedot_line#1=72-shift_grap_X#2=11+shift_grap_Y#3=#1if[#[value 2] eq 99]then #4=85+shift_grap_Yelse #4=117+shift_grap_Yendif#5=0call fig_linesolid_line

/* green Linecolor greenif[#[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_lineendif

/* CharactersG240P7C0if[#[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 endifelse

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

-234-

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 endifendifcursor_offm99

O6096 ;############################################### G82 Drilling cycle, counter boring cycle/* Workcolor blue /* blue for InnerG242X[-23-shift_grap_X]Y[-23+shift_grap_Y]G01X[143-shift_grap_X]Y[-23+shift_grap_Y]G01X[143-shift_grap_X]Y[71+shift_grap_Y]G01X[-23-shift_grap_X]Y[71+shift_grap_Y]G01X[-23-shift_grap_X]Y[-23+shift_grap_Y]if[#[value 1] eq 91]then /* for Z #1=43-shift_char_X #2=12-shift_char_Y #3=1 call fig_characterelse #1=50-shift_char_X #2=14-shift_char_Y #3=1 call fig_characterendif#1=46-shift_char_X#2=15-shift_char_Y#3=1call fig_characterG206P0X[0-shift_grap_X]Y[0+shift_grap_Y]color sky_blue /* blue green for EdgeG242X[-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 Toolcolor green /* green for InnerG242X[#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 EdgeG242X[#20]Y[#21]G01X[#20-8]Y[#21+5]G01X[#20-8]Y[#21+21]

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

-235-

G01X[#20+8]Y[#21+21]G01X[#20+8]Y[#21+5]G01X[#20]Y[#21]

/* Circle for Pointcolor redG242X[24-shift_grap_X]Y[122+shift_grap_Y]G02X[24-shift_grap_X]Y[122+shift_grap_Y]I[24-shift_grap_X]J[120+shift_grap_Y]Q4G206P0X[24-shift_grap_X]Y[120+shift_grap_Y]G242X[56-shift_grap_X]Y[122+shift_grap_Y]G02X[56-shift_grap_X]Y[122+shift_grap_Y]I[56-shift_grap_X]J[120+shift_grap_Y]Q4G206P0X[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]Q4G206P0X[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]Q4G206P0X[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]Q4G206P0X[72-shift_grap_X]Y[8+shift_grap_Y]if[#[value 2] eq 99]then G242X[72-shift_grap_X]Y[90+shift_grap_Y] G02X[72-shift_grap_X]Y[90+shift_grap_Y]I[72-shift_grap_X]J[88+shift_grap_Y]Q4 G206P0X[72-shift_grap_X]Y[88+shift_grap_Y]else G242X[72-shift_grap_X]Y[122+shift_grap_Y] G02X[72-shift_grap_X]Y[122+shift_grap_Y]I[72-shift_grap_X]J[120+shift_grap_Y]Q4 G206P0X[72-shift_grap_X]Y[120+shift_grap_Y]endif

/* red for Pathcolor reddot_line#1=27-shift_grap_X#2=120+shift_grap_Y#3=53-shift_grap_X#4=#2#5=0call fig_line#1=56-shift_grap_X#2=117+shift_grap_Y#3=#1#4=91+shift_grap_Y#5=0call fig_linesolid_line#1=56-shift_grap_X#2=85+shift_grap_Y#3=#1#4=11+shift_grap_Y#5=0call fig_linedot_line#1=72-shift_grap_X#2=11+shift_grap_Y#3=#1if[#[value 2] eq 99]then #4=85+shift_grap_Yelse #4=117+shift_grap_Yendif#5=0call fig_linesolid_line

/* green Line

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

-236-

color greenif[#[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_lineendif

/* CharactersG240P7C0if[#[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)endifif[cursor eq 8]then color -white C blue L1else color white C blue L0endifG243X[46-shift_char_X]Y[15-shift_char_Y](P)cursor_offm99

O6097 ;############################################### G83 Peck drilling cycle/* Workcolor blue /* blue for InnerG242X[-31-shift_grap_X]Y[-31+shift_grap_Y]G01X[151-shift_grap_X]Y[-31+shift_grap_Y]G01X[151-shift_grap_X]Y[103+shift_grap_Y]G01X[-31-shift_grap_X]Y[103+shift_grap_Y]G01X[-31-shift_grap_X]Y[-31+shift_grap_Y]if[#[value 1] eq 91]then /* for Z #1=38-shift_char_X #2=12-shift_char_Y #3=1 call fig_character

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

-237-

else #1=54-shift_char_X #2=16-shift_char_Y #3=1 call fig_characterendif#1=51-shift_char_X /* for P#2=16-shift_char_Y#3=1call fig_character#1=41-shift_char_X /* for Q#2=9-shift_char_Y#3=1call fig_character#2=12-shift_char_Ycall fig_character#2=15-shift_char_Ycall fig_characterG206P0X[0-shift_grap_X]Y[0+shift_grap_Y]color sky_blue /* blue green for EdgeG242X[-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 Toolcolor green /* green for InnerG242X[#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 EdgeG242X[#20]Y[#21]G01X[#20-8]Y[#21+5]G01X[#20-8]Y[#21+21]G01X[#20+8]Y[#21+21]G01X[#20+8]Y[#21+5]G01X[#20]Y[#21]

/* Circle for Pointcolor redG242X[16-shift_grap_X]Y[146+shift_grap_Y]G02X[16-shift_grap_X]Y[146+shift_grap_Y]I[16-shift_grap_X]J[144+shift_grap_Y]Q4G206P0X[16-shift_grap_X]Y[144+shift_grap_Y]G242X[40-shift_grap_X]Y[146+shift_grap_Y]G02X[40-shift_grap_X]Y[146+shift_grap_Y]I[40-shift_grap_X]J[144+shift_grap_Y]Q4G206P0X[40-shift_grap_X]Y[144+shift_grap_Y]G242X[40-shift_grap_X]Y[122+shift_grap_Y]G02X[40-shift_grap_X]Y[122+shift_grap_Y]I[40-shift_grap_X]J[120+shift_grap_Y]Q4G206P0X[40-shift_grap_X]Y[120+shift_grap_Y]G242X[40-shift_grap_X]Y[74+shift_grap_Y]G02X[40-shift_grap_X]Y[74+shift_grap_Y]I[40-shift_grap_X]J[72+shift_grap_Y]Q4G206P0X[40-shift_grap_X]Y[72+shift_grap_Y]G242X[72-shift_grap_X]Y[26+shift_grap_Y]G02X[72-shift_grap_X]Y[26+shift_grap_Y]I[72-shift_grap_X]J[24+shift_grap_Y]Q4G206P0X[72-shift_grap_X]Y[24+shift_grap_Y]G242X[104-shift_grap_X]Y[-22+shift_grap_Y]G02X[104-shift_grap_X]Y[-22+shift_grap_Y]I[104-shift_grap_X]J[-24+shift_grap_Y]Q4G206P0X[104-shift_grap_X]Y[-24+shift_grap_Y]

/* red for Path

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

-238-

color reddot_line#1=19-shift_grap_X#2=144+shift_grap_Y#3=37-shift_grap_X#4=#2#5=0call fig_line#1=40-shift_grap_X#2=141+shift_grap_Y#3=#1#4=123+shift_grap_Y#5=0call fig_linesolid_line#1=40-shift_grap_X#2=117+shift_grap_Y#3=#1#4=75+shift_grap_Y#5=0call fig_linedot_line#1=56-shift_grap_X#2=73+shift_grap_Y#3=#1#4=119+shift_grap_Y#5=0call fig_lineG242X[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=0call fig_linedot_line#1=88-shift_grap_X#2=25+shift_grap_Y#3=#1#4=119+shift_grap_Y#5=0call fig_lineG242X[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=0call fig_linedot_line#1=128-shift_grap_X#2=-23+shift_grap_Y#3=#1if[#[value 2] eq 99]then #4=119+shift_grap_Yelse #4=143+shift_grap_Yendif#5=0call fig_linesolid_line

/* green Line

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

-239-

color greenG242X[16-shift_grap_X]Y[120+shift_grap_Y] /* for QG01X[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=2call fig_line#1=24-shift_grap_X#2=71+shift_grap_Y#3=#1#4=25+shift_grap_Y#5=2call fig_line#1=24-shift_grap_X#2=23+shift_grap_Y#3=#1#4=-23+shift_grap_Y#5=2call fig_lineif[#[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_lineendifif[#[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

/* Charactersif[#[value 1] eq 91]then if[cursor eq 6]then color -white C blue L1

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

-240-

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)endifif[cursor eq 9]then color -white C blue L1else color white C blue L0endifG243X[41-shift_char_X]Y[12-shift_char_Y](Q)color white C blue L0G243X[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 L1else color white C blue L0endifG243X[51-shift_char_X]Y[16-shift_char_Y](P)cursor_offm99

O6098 ;############################################### G84 Tapping cycle/* Workcolor blue /* blue for InnerG242X[-31-shift_grap_X]Y[-31+shift_grap_Y]G01X[151-shift_grap_X]Y[-31+shift_grap_Y]G01X[151-shift_grap_X]Y[103+shift_grap_Y]G01X[-31-shift_grap_X]Y[103+shift_grap_Y]G01X[-31-shift_grap_X]Y[-31+shift_grap_Y]if[#[value 1] eq 91]then /* for Z #1=38-shift_char_X #2=12-shift_char_Y #3=1 call fig_characterelse #1=54-shift_char_X #2=16-shift_char_Y #3=1 call fig_characterendif#1=41-shift_char_X /* for Q#2=9-shift_char_Y#3=1call fig_character#2=12-shift_char_Ycall fig_character#2=15-shift_char_Ycall fig_characterG206P0X[0-shift_grap_X]Y[0+shift_grap_Y]color sky_blue /* blue green for Edge

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

-241-

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 Toolcolor green /* green for InnerG242X[#20]Y[#21+1] /* Left SideG01X[#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 SideG01X[#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 EdgeG242X[#20]Y[#21] /* Left SideG01X[#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 SideG01X[#20+8]Y[#21]G01X[#20+8+3]Y[#21+3*1]G01X[#20+8 ]Y[#21+3*2]G01X[#20+8+3]Y[#21+3*3]G01X[#20+8 ]Y[#21+3*4]G01X[#20+8+3]Y[#21+3*5]G01X[#20+8 ]Y[#21+3*6]G01X[#20+8]Y[#21+21]G01X[#20]Y[#21+21]

/* Circle for Pointcolor redG242X[16-shift_grap_X]Y[146+shift_grap_Y]G02X[16-shift_grap_X]Y[146+shift_grap_Y]I[16-shift_grap_X]J[144+shift_grap_Y]Q4G206P0X[16-shift_grap_X]Y[144+shift_grap_Y]G242X[40-shift_grap_X]Y[146+shift_grap_Y]G02X[40-shift_grap_X]Y[146+shift_grap_Y]I[40-shift_grap_X]J[144+shift_grap_Y]Q4G206P0X[40-shift_grap_X]Y[144+shift_grap_Y]G242X[40-shift_grap_X]Y[122+shift_grap_Y]G02X[40-shift_grap_X]Y[122+shift_grap_Y]I[40-shift_grap_X]J[120+shift_grap_Y]Q4G206P0X[40-shift_grap_X]Y[120+shift_grap_Y]G242X[104-shift_grap_X]Y[-22+shift_grap_Y]G02X[104-shift_grap_X]Y[-22+shift_grap_Y]I[104-shift_grap_X]J[-24+shift_grap_Y]Q4G206P0X[104-shift_grap_X]Y[-24+shift_grap_Y]

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

-242-

/* red for Pathcolor reddot_line#1=19-shift_grap_X#2=144+shift_grap_Y#3=37-shift_grap_X#4=#2#5=0call fig_line#1=40-shift_grap_X#2=141+shift_grap_Y#3=#1#4=123+shift_grap_Y#5=0call fig_linesolid_line#1=40-shift_grap_X#2=117+shift_grap_Y#3=#1#4=73+shift_grap_Y#5=0call fig_linedot_line#1=56-shift_grap_X#2=73+shift_grap_Y#3=#1#4=103+shift_grap_Y#5=0call fig_linesolid_line#1=72-shift_grap_X#2=103+shift_grap_Y#3=#1#4=25+shift_grap_Y#5=0call fig_linedot_line#1=88-shift_grap_X#2=25+shift_grap_Y#3=#1#4=55+shift_grap_Y#5=0call fig_linesolid_line#1=104-shift_grap_X#2=55+shift_grap_Y#3=#1#4=-21+shift_grap_Y#5=0call fig_line#1=128-shift_grap_X#2=-23+shift_grap_Y#3=#1#4=119+shift_grap_Y#5=0call fig_lineif[#[value 2] ne 99]then dot_line #1=128-shift_grap_X #2=121+shift_grap_Y #3=#1 #4=143+shift_grap_Y #5=0 call fig_line solid_lineendif

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

-243-

/* green Linecolor greenG242X[16-shift_grap_X]Y[120+shift_grap_Y] /* for QG01X[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=2call fig_line#1=24-shift_grap_X#2=71+shift_grap_Y#3=#1#4=25+shift_grap_Y#5=2call fig_line#1=24-shift_grap_X#2=23+shift_grap_Y#3=#1#4=-23+shift_grap_Y#5=2call fig_lineif[#[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_lineendif

/* Charactersif[#[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

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

-244-

color white C blue L0 endif G243X[54-shift_char_X]Y[16-shift_char_Y](Z) #1=6 call fig_cursor G243X[41-shift_char_X]Y[7-shift_char_Y](R)endifif[cursor eq 8]then color -white C blue L1else color white C blue L0endifG243X[41-shift_char_X]Y[12-shift_char_Y](Q)color white C blue L0G243X[41-shift_char_X]Y[9-shift_char_Y](Q)G243X[41-shift_char_X]Y[15-shift_char_Y](Q)cursor_offm99

O6099 ;############################################### G85 Boring cycle/* Workcolor blue /* blue for InnerG242X[-23-shift_grap_X]Y[-23+shift_grap_Y]G01X[143-shift_grap_X]Y[-23+shift_grap_Y]G01X[143-shift_grap_X]Y[71+shift_grap_Y]G01X[-23-shift_grap_X]Y[71+shift_grap_Y]G01X[-23-shift_grap_X]Y[-23+shift_grap_Y]if[#[value 1] eq 91]then /* for Z #1=43-shift_char_X #2=12-shift_char_Y #3=1 call fig_characterelse #1=50-shift_char_X #2=14-shift_char_Y #3=1 call fig_characterendifG206P0X[0-shift_grap_X]Y[0+shift_grap_Y]color sky_blue /* blue green for EdgeG242X[-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 Toolcolor green /* green for InnerG242X[#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 EdgeG242X[#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]

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

-245-

G01X[#20-9]Y[#21-2]G01X[#20-6]Y[#21+3]G206P0X[#20-5]Y[#21+2]G206P0X[#20-7]Y[#21]

/* Circle for Pointcolor redG242X[24-shift_grap_X]Y[122+shift_grap_Y]G02X[24-shift_grap_X]Y[122+shift_grap_Y]I[24-shift_grap_X]J[120+shift_grap_Y]Q4G206P0X[24-shift_grap_X]Y[120+shift_grap_Y]G242X[56-shift_grap_X]Y[122+shift_grap_Y]G02X[56-shift_grap_X]Y[122+shift_grap_Y]I[56-shift_grap_X]J[120+shift_grap_Y]Q4G206P0X[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]Q4G206P0X[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]Q4G206P0X[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]Q4G206P0X[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]Q4G206P0X[72-shift_grap_X]Y[88+shift_grap_Y]

/* red for PathG240P1dot_line#1=27-shift_grap_X#2=120+shift_grap_Y#3=53-shift_grap_X#4=#2#5=0call fig_line#1=56-shift_grap_X#2=117+shift_grap_Y#3=#1#4=91+shift_grap_Y#5=0call fig_linesolid_line#1=56-shift_grap_X#2=85+shift_grap_Y#3=#1#4=11+shift_grap_Y#5=0call fig_line#1=72-shift_grap_X#2=11+shift_grap_Y#3=#1#4=85+shift_grap_Y#5=0call fig_lineif[#[value 2] ne 99]then dot_line #1=72-shift_grap_X #2=91+shift_grap_Y #3=#1 #4=120+shift_grap_Y #5=0 call fig_line solid_lineendif

/* green Linecolor green

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

-246-

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_lineendif

/* Charactersif[#[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 endifelse 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 endifendifcursor_offm99

O6100 ;############################################### G86 Boring cycle/* Workcolor blue /* blue for InnerG242X[-23-shift_grap_X]Y[-23+shift_grap_Y]G01X[143-shift_grap_X]Y[-23+shift_grap_Y]G01X[143-shift_grap_X]Y[71+shift_grap_Y]G01X[-23-shift_grap_X]Y[71+shift_grap_Y]G01X[-23-shift_grap_X]Y[-23+shift_grap_Y]if[#[value 1] eq 91]then /* for Z

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

-247-

#1=43-shift_char_X #2=12-shift_char_Y #3=1 call fig_characterelse #1=50-shift_char_X #2=14-shift_char_Y #3=1 call fig_characterendifG206P0X[0-shift_grap_X]Y[0+shift_grap_Y]color sky_blue /* blue green for EdgeG242X[-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 Toolcolor green /* green for InnerG242X[#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 EdgeG242X[#20]Y[#21]G01X[#20-8]Y[#21+5]G01X[#20-8]Y[#21+21]G01X[#20+8]Y[#21+21]G01X[#20+8]Y[#21+5]G01X[#20]Y[#21]G242X[#20-3]Y[#21+1]G01X[#20-9]Y[#21-2]G01X[#20-6]Y[#21+3]G206P0X[#20-5]Y[#21+2]G206P0X[#20-7]Y[#21]

/* Circle for Pointcolor redG242X[24-shift_grap_X]Y[122+shift_grap_Y]G02X[24-shift_grap_X]Y[122+shift_grap_Y]I[24-shift_grap_X]J[120+shift_grap_Y]Q4G206P0X[24-shift_grap_X]Y[120+shift_grap_Y]G242X[56-shift_grap_X]Y[122+shift_grap_Y]G02X[56-shift_grap_X]Y[122+shift_grap_Y]I[56-shift_grap_X]J[120+shift_grap_Y]Q4G206P0X[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]Q4G206P0X[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]Q4G206P0X[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]Q4G206P0X[72-shift_grap_X]Y[8+shift_grap_Y]if[#[value 2] eq 99]then G242X[72-shift_grap_X]Y[90+shift_grap_Y] G02X[72-shift_grap_X]Y[90+shift_grap_Y]I[72-shift_grap_X]J[88+shift_grap_Y]Q4 G206P0X[72-shift_grap_X]Y[88+shift_grap_Y]else G242X[72-shift_grap_X]Y[122+shift_grap_Y] G02X[72-shift_grap_X]Y[122+shift_grap_Y]I[72-shift_grap_X]J[120+shift_grap_Y]Q4 G206P0X[72-shift_grap_X]Y[120+shift_grap_Y]

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

-248-

endif

/* red for Pathcolor reddot_line#1=27-shift_grap_X#2=120+shift_grap_Y#3=53-shift_grap_X#4=#2#5=0call fig_line#1=56-shift_grap_X#2=117+shift_grap_Y#3=#1#4=91+shift_grap_Y#5=0call fig_linesolid_line#1=56-shift_grap_X#2=85+shift_grap_Y#3=#1#4=11+shift_grap_Y#5=0call fig_linedot_lineif[#[value 2] eq 99]then #1=72-shift_grap_X #2=11+shift_grap_Y #3=#1 #4=85+shift_grap_Y #5=0 call fig_lineelse #1=72-shift_grap_X #2=11+shift_grap_Y #3=#1 #4=117+shift_grap_Y #5=0 call fig_lineendifsolid_line

/* green Linecolor greenif[#[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_lineendif

/* Charactersif[#[value 1] eq 91]then if[cursor eq 6]then color -white C blue L1

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

-249-

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 endifelse 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 endifendifcursor_offm99

O6101 ;############################################### G87 Back boring cycle/* Workcolor blue /* blue for InnerG242X[-23-shift_grap_X]Y[9+shift_grap_Y]G01X[143-shift_grap_X]Y[9+shift_grap_Y]G01X[143-shift_grap_X]Y[71+shift_grap_Y]G01X[-23-shift_grap_X]Y[71+shift_grap_Y]G01X[-23-shift_grap_X]Y[9+shift_grap_Y]if[#[value 1] eq 91]then /* for Z,R #1=43-shift_char_X #2=13-shift_char_Y #3=1 call fig_character #1=41-shift_char_X #2=11-shift_char_Y #3=1 call fig_characterelse #1=44-shift_char_X #2=12-shift_char_Y #3=1 call fig_characterendif#1=45-shift_char_X /* for P#2=11-shift_char_Y#3=1call fig_characterG206P0X[0-shift_grap_X]Y[24+shift_grap_Y]color sky_blue /* blue green for EdgeG242X[-24-shift_grap_X]Y[8+shift_grap_Y]G01X[144-shift_grap_X]Y[8+shift_grap_Y]G01X[144-shift_grap_X]Y[72+shift_grap_Y]

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

-250-

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 Toolcolor green /* green for InnerG242X[#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 EdgeG242X[#20]Y[#21]G01X[#20+4]Y[#21+4]G01X[#20+4]Y[#21+21]G01X[#20+4+13]Y[#21+21]G01X[#20+4+13]Y[#21]G01X[#20]Y[#21]

/* Circle for Pointcolor redG242X[16-shift_grap_X]Y[122+shift_grap_Y]G02X[16-shift_grap_X]Y[122+shift_grap_Y]I[16-shift_grap_X]J[120+shift_grap_Y]Q4G206P0X[16-shift_grap_X]Y[120+shift_grap_Y]G242X[48-shift_grap_X]Y[122+shift_grap_Y]G02X[48-shift_grap_X]Y[122+shift_grap_Y]I[48-shift_grap_X]J[120+shift_grap_Y]Q4G206P0X[48-shift_grap_X]Y[120+shift_grap_Y]G242X[112-shift_grap_X]Y[122+shift_grap_Y]G02X[112-shift_grap_X]Y[122+shift_grap_Y]I[112-shift_grap_X]J[120+shift_grap_Y]Q4G206P0X[112-shift_grap_X]Y[120+shift_grap_Y]G242X[112-shift_grap_X]Y[-6+shift_grap_Y]G02X[112-shift_grap_X]Y[-6+shift_grap_Y]I[112-shift_grap_X]J[-8+shift_grap_Y]Q4G206P0X[112-shift_grap_X]Y[-8+shift_grap_Y]G242X[48-shift_grap_X]Y[-6+shift_grap_Y]G02X[48-shift_grap_X]Y[-6+shift_grap_Y]I[48-shift_grap_X]J[-8+shift_grap_Y]Q4G206P0X[48-shift_grap_X]Y[-8+shift_grap_Y]G242X[48-shift_grap_X]Y[58+shift_grap_Y]G02X[48-shift_grap_X]Y[58+shift_grap_Y]I[48-shift_grap_X]J[56+shift_grap_Y]Q4G206P0X[48-shift_grap_X]Y[56+shift_grap_Y]

/* red for Pathcolor reddot_line#1=19-shift_grap_X#2=120+shift_grap_Y#3=45-shift_grap_X#4=#2#5=0call fig_linesolid_line#1=51-shift_grap_X#2=120+shift_grap_Y#3=109-shift_grap_Xcall fig_shiftdot_line#1=112-shift_grap_X#2=117+shift_grap_Y#3=#1#4=-5+shift_grap_Y#5=0call fig_linesolid_line#1=109-shift_grap_X#2=-8+shift_grap_Y

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

-251-

#3=51-shift_grap_Xcall fig_shift#1=48-shift_grap_X#2=-5+shift_grap_Y#3=#1#4=53+shift_grap_Y#5=0call fig_line#1=51-shift_grap_X#2=56+shift_grap_Y#3=95-shift_grap_Xcall fig_shiftdot_line#1=96-shift_grap_X#2=57+shift_grap_Y#3=#1#4=88+shift_grap_Y#5=0call fig_linesolid_line#1=93-shift_grap_X#2=88+shift_grap_Y#3=48-shift_grap_Xcall fig_shift

/* green Linecolor greenG242X[48-shift_grap_X]Y[123+shift_grap_Y] /* for QG01X[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=2call fig_lineif[#[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_lineendif

/* Charactersif[#[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

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

-252-

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

O6102 ;############################################### G88 Boring cycle/* Workcolor blue /* blue for InnerG242X[-23-shift_grap_X]Y[-23+shift_grap_Y]G01X[143-shift_grap_X]Y[-23+shift_grap_Y]G01X[143-shift_grap_X]Y[71+shift_grap_Y]G01X[-23-shift_grap_X]Y[71+shift_grap_Y]G01X[-23-shift_grap_X]Y[-23+shift_grap_Y]if[#[value 1] eq 91]then /* for Z #1=43-shift_char_X #2=12-shift_char_Y #3=1 call fig_characterelse #1=50-shift_char_X #2=14-shift_char_Y #3=1 call fig_characterendif#1=46-shift_char_X /* for P#2=15-shift_char_Y#3=1call fig_characterG206P0X[0-shift_grap_X]Y[0+shift_grap_Y]color sky_blue /* blue green for EdgeG242X[-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 Toolcolor green /* green for InnerG242X[#20+1]Y[#21+1]G01X[#20+5]Y[#21+4]G01X[#20+5]Y[#21+20]G01X[#20+4+12]Y[#21+20]

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

-253-

G01X[#20+4+12]Y[#21+1]G01X[#20+1]Y[#21+1]G206P0X[#20+8]Y[#21+5]color purple /* purple for EdgeG242X[#20]Y[#21]G01X[#20+4]Y[#21+4]G01X[#20+4]Y[#21+21]G01X[#20+4+13]Y[#21+21]G01X[#20+4+13]Y[#21]G01X[#20]Y[#21]

/* Circle for Pointcolor redG242X[24-shift_grap_X]Y[122+shift_grap_Y]G02X[24-shift_grap_X]Y[122+shift_grap_Y]I[24-shift_grap_X]J[120+shift_grap_Y]Q4G206P0X[24-shift_grap_X]Y[120+shift_grap_Y]G242X[56-shift_grap_X]Y[122+shift_grap_Y]G02X[56-shift_grap_X]Y[122+shift_grap_Y]I[56-shift_grap_X]J[120+shift_grap_Y]Q4G206P0X[56-shift_grap_X]Y[120+shift_grap_Y]G242X[56-shift_grap_X]Y[92+shift_grap_Y]G02X[56-shift_grap_X]Y[92+shift_grap_Y]I[56-shift_grap_X]J[90+shift_grap_Y]Q4G206P0X[56-shift_grap_X]Y[90+shift_grap_Y]G242X[56-shift_grap_X]Y[10+shift_grap_Y]G02X[56-shift_grap_X]Y[10+shift_grap_Y]I[56-shift_grap_X]J[8+shift_grap_Y]Q4G206P0X[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]Q4G206P0X[72-shift_grap_X]Y[8+shift_grap_Y]if[#[value 2] eq 99]then G242X[72-shift_grap_X]Y[92+shift_grap_Y] G02X[72-shift_grap_X]Y[92+shift_grap_Y]I[72-shift_grap_X]J[90+shift_grap_Y]Q4 G206P0X[72-shift_grap_X]Y[90+shift_grap_Y]else G242X[72-shift_grap_X]Y[122+shift_grap_Y] G02X[72-shift_grap_X]Y[122+shift_grap_Y]I[72-shift_grap_X]J[120+shift_grap_Y]Q4 G206P0X[72-shift_grap_X]Y[120+shift_grap_Y]endif

/* red for Pathcolor reddot_line#1=27-shift_grap_X#2=120+shift_grap_Y#3=53-shift_grap_X#4=#2#5=0call fig_line#1=56-shift_grap_X#2=117+shift_grap_Y#3=#1#4=93+shift_grap_Y#5=0call fig_linesolid_line#1=56-shift_grap_X#2=87+shift_grap_Y#3=#1#4=11+shift_grap_Y#5=0call fig_lineG242X[72-shift_grap_X]Y[11+shift_grap_Y] /* HandleG02X[72-shift_grap_X]Y[30+shift_grap_Y]I[72+20-shift_grap_X]J[20+shift_grap_Y]G242X[72-shift_grap_X]Y[30+shift_grap_Y]G03X[72-shift_grap_X]Y[49+shift_grap_Y]I[72-20-shift_grap_X]J[40+shift_grap_Y]G242X[72-shift_grap_X]Y[49+shift_grap_Y]G02X[72-shift_grap_X]Y[68+shift_grap_Y]I[72+20-shift_grap_X]J[59+shift_grap_Y];G242X72Y[68+shift_grap_Y]

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

-254-

;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=0call fig_ccwif[#[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_lineendif

/* green Linecolor greenif[#[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_lineendif

/* Charactersif[#[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)endifif[cursor eq 9]then color -white C blue L1else color white C blue L0

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

-255-

endifG243X[46-shift_char_X]Y[15-shift_char_Y](P)cursor_offm99

O6103 ;############################################### G89 Boring cycle/* Workcolor blue /* blue for InnerG242X[-23-shift_grap_X]Y[-23+shift_grap_Y]G01X[143-shift_grap_X]Y[-23+shift_grap_Y]G01X[143-shift_grap_X]Y[71+shift_grap_Y]G01X[-23-shift_grap_X]Y[71+shift_grap_Y]G01X[-23-shift_grap_X]Y[-23+shift_grap_Y]if[#[value 1] eq 91]then /* for Z #1=43-shift_char_X #2=12-shift_char_Y #3=1 call fig_characterelse #1=50-shift_char_X #2=14-shift_char_Y #3=1 call fig_characterendif#1=46-shift_char_X /* for P#2=15-shift_char_Y#3=1call fig_characterG206P0X[0-shift_grap_X]Y[0+shift_grap_Y]color sky_blue /* blue green for EdgeG242X[-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 Toolcolor green /* green for InnerG242X[#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 EdgeG242X[#20]Y[#21]G01X[#20-8]Y[#21+5]G01X[#20-8]Y[#21+21]G01X[#20+8]Y[#21+21]G01X[#20+8]Y[#21+5]G01X[#20]Y[#21]G242X[#20-3]Y[#21+1]G01X[#20-9]Y[#21-2]G01X[#20-6]Y[#21+3]G206P0X[#20-5]Y[#21+2]G206P0X[#20-7]Y[#21]

/* Circle for Pointcolor redG242X[24-shift_grap_X]Y[122+shift_grap_Y]G02X[24-shift_grap_X]Y[122+shift_grap_Y]I[24-shift_grap_X]J[120+shift_grap_Y]Q4G206P0X[24-shift_grap_X]Y[120+shift_grap_Y]

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

-256-

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]Q4G206P0X[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]Q4G206P0X[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]Q4G206P0X[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]Q4G206P0X[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]Q4G206P0X[72-shift_grap_X]Y[88+shift_grap_Y]

/* red for Pathcolor reddot_line#1=27-shift_grap_X#2=120+shift_grap_Y#3=53-shift_grap_X#4=#2#5=0call fig_line#1=56-shift_grap_X#2=117+shift_grap_Y#3=#1#4=91+shift_grap_Y#5=0call fig_linesolid_line#1=56-shift_grap_X#2=85+shift_grap_Y#3=#1#4=11+shift_grap_Y#5=0call fig_lineif[#[value 2] eq 99]then dot_line #1=72-shift_grap_X #2=10+shift_grap_Y #3=#1 #4=85+shift_grap_Y #5=0 call fig_lineelse #1=72-shift_grap_X #2=10+shift_grap_Y #3=#1 #4=85+shift_grap_Y #5=0 call fig_line dot_line #1=72-shift_grap_X #2=91+shift_grap_Y #3=#1 #4=120+shift_grap_Y #5=0 call fig_lineendifsolid_line

/* green Linecolor greenif[#[value 1] eq 91]then /* for R & Z G242X[32-shift_grap_X]Y[88+shift_grap_Y]

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

-257-

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_lineendif

/* Charactersif[#[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)endifif[cursor eq 9]then color -white C blue L1else color white C blue L0endifG243X[46-shift_char_X]Y[15-shift_char_Y](P)cursor_offm99

/****************************************************************************/*/* MACROSTR.SRC :: Strings for FIGSUB*.SRC/*/****************************************************************************

O6901 ;############################################### English; M codeN0001('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');

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

-258-

N0010(' subrogram');N0011('M99:End of subrogram');

; Contour/Line : Start Point TypeN0020('When you make the');N0021('island figure after the');N0022('pocket wall figure,');N0023('select "ISLAND". ');N0024('');N0025('When you continue');N0026('making the next groove');N0027('figure,');N0028('select "NXT MV".');N0029('');N0030('Another case,');N0031('select "START".');

; Contour/EndN0040('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 CopyN0060('START'); ; LinearN0061('POINT');N0062('END');N0063('POINT');N0064('START');N0065('POINT');N0066('END');N0067('POINT');N0068('BASE');N0069('AXIS');

; Canned CycleN0080('Initial');N0081('level');N0082('Point R');N0083('level');

; Contour : Approach/Escape TypeN0090('Circle');N0091('Tangent');N0092('Vertical');

; Canned CycleN0101('G81:No dwell');N0102('G82:With dwell');N0103('G83:Normal peck');N0104('G73:High-speed peck');N0105('G85:Feed retraction');N0106('G86:Rapid retraction');N0107('G88:Manual retraction');N0108('G89:With dwell');N0109('G76:Fine boring');N0110('G87:Back boring');N0111('G84:Tapping');N0112('G74:Left-hand tapping');

; Contour : Compensation DirectionN0121('Left');

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

-259-

N0122('Right');

; CHECK*.SRC messageN0900('Data is lacking.');N0901('Input error in menu param.');

M99

O6903 ;############################################### German; M codeN0001('M00:Program stop');N0002('M01:Optional stop');N0003('M02:End of program');N0004('M03:Spindle cw');N0005('M04:Spindle ccw');N0006('M05:Spindle stop');N0007('M06:Tool change');N0008('M30:end of program');N0009('M98:Calling of');N0010(' subrogram');N0011('M99:End of subrogram');

; Contour/Line : Start Point TypeN0020('When you make the');N0021('island figure after the');N0022('pocket wall figure,');N0023('select "ISLAND". ');N0024('');N0025('When you continue');N0026('making the next groove');N0027('figure,');N0028('select "NXT MV".');N0029('');N0030('Another case,');N0031('select "START".');

; Contour/EndN0040('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 CopyN0060('START'); ; LinearN0061('POINT');N0062('END');N0063('POINT');N0064('START');N0065('POINT');N0066('END');N0067('POINT');N0068('BASE');N0069('AXIS');

; Canned CycleN0080('Initial');N0081('level');N0082('Point R');N0083('level');

; Contour : Approach/Escape TypeN0090('Circle');

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

-260-

N0091('Tangent');N0092('Vertical');

; Canned CycleN0101('G81:No dwell');N0102('G82:With dwell');N0103('G83:Normal peck');N0104('G73:High-speed peck');N0105('G85:Feed retraction');N0106('G86:Rapid retraction');N0107('G88:Manual retraction');N0108('G89:With dwell');N0109('G76:Fine boring');N0110('G87:Back boring');N0111('G84:Tapping');N0112('G74:Left-hand tapping');

; Contour : Compensation DirectionN0121('Left');N0122('Right');

; CHECK*.SRC messageN0900('Data is lacking.');N0901('Input error in menu param.');

M99

O6904 ;############################################### french; M codeN0001('M00:Program stop');N0002('M01:Optional stop');N0003('M02:End of program');N0004('M03:Spindle cw');N0005('M04:Spindle ccw');N0006('M05:Spindle stop');N0007('M06:Tool change');N0008('M30:end of program');N0009('M98:Calling of');N0010(' subrogram');N0011('M99:End of subrogram');

; Contour/Line : Start Point TypeN0020('When you make the');N0021('island figure after the');N0022('pocket wall figure,');N0023('select "ISLAND". ');N0024('');N0025('When you continue');N0026('making the next groove');N0027('figure,');N0028('select "NXT MV".');N0029('');N0030('Another case,');N0031('select "START".');

; Contour/EndN0040('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

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

-261-

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

; Canned CycleN0080('Initial');N0081('level');N0082('Point R');N0083('level');

; Contour : Approach/Escape TypeN0090('Circle');N0091('Tangent');N0092('Vertical');

; Canned CycleN0101('G81:No dwell');N0102('G82:With dwell');N0103('G83:Normal peck');N0104('G73:High-speed peck');N0105('G85:Feed retraction');N0106('G86:Rapid retraction');N0107('G88:Manual retraction');N0108('G89:With dwell');N0109('G76:Fine boring');N0110('G87:Back boring');N0111('G84:Tapping');N0112('G74:Left-hand tapping');

; Contour : Compensation DirectionN0121('Left');N0122('Right');

; CHECK*.SRC messageN0900('Data is lacking.');N0901('Input error in menu param.');

M99

O6905 ;############################################### Italian; M codeN0001('M00:Program stop');N0002('M01:Optional stop');N0003('M02:End of program');N0004('M03:Spindle cw');N0005('M04:Spindle ccw');N0006('M05:Spindle stop');N0007('M06:Tool change');N0008('M30:end of program');N0009('M98:Calling of');N0010(' subrogram');N0011('M99:End of subrogram');

; Contour/Line : Start Point TypeN0020('When you make the');N0021('island figure after the');N0022('pocket wall figure,');N0023('select "ISLAND". ');N0024('');N0025('When you continue');

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

-262-

N0026('making the next groove');N0027('figure,');N0028('select "NXT MV".');N0029('');N0030('Another case,');N0031('select "START".');

; Contour/EndN0040('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 CopyN0060('START'); ; LinearN0061('POINT');N0062('END');N0063('POINT');N0064('START');N0065('POINT');N0066('END');N0067('POINT');N0068('BASE');N0069('AXIS');

; Canned CycleN0080('Initial');N0081('level');N0082('Point R');N0083('level');

; Contour : Approach/Escape TypeN0090('Circle');N0091('Tangent');N0092('Vertical');

; Canned CycleN0101('G81:No dwell');N0102('G82:With dwell');N0103('G83:Normal peck');N0104('G73:High-speed peck');N0105('G85:Feed retraction');N0106('G86:Rapid retraction');N0107('G88:Manual retraction');N0108('G89:With dwell');N0109('G76:Fine boring');N0110('G87:Back boring');N0111('G84:Tapping');N0112('G74:Left-hand tapping');

; Contour : Compensation DirectionN0121('Left');N0122('Right');

; CHECK*.SRC messageN0900('Data is lacking.');N0901('Input error in menu param.');

M99

O6906 ;############################################### Spanish; M code

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

-263-

N0001('M00:Program stop');N0002('M01:Optional stop');N0003('M02:End of program');N0004('M03:Spindle cw');N0005('M04:Spindle ccw');N0006('M05:Spindle stop');N0007('M06:Tool change');N0008('M30:end of program');N0009('M98:Calling of');N0010(' subrogram');N0011('M99:End of subrogram');

; Contour/Line : Start Point TypeN0020('When you make the');N0021('island figure after the');N0022('pocket wall figure,');N0023('select "ISLAND". ');N0024('');N0025('When you continue');N0026('making the next groove');N0027('figure,');N0028('select "NXT MV".');N0029('');N0030('Another case,');N0031('select "START".');

; Contour/EndN0040('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 CopyN0060('START'); ; LinearN0061('POINT');N0062('END');N0063('POINT');N0064('START');N0065('POINT');N0066('END');N0067('POINT');N0068('BASE');N0069('AXIS');

; Canned CycleN0080('Initial');N0081('level');N0082('Point R');N0083('level');

; Contour : Approach/Escape TypeN0090('Circle');N0091('Tangent');N0092('Vertical');

; Canned CycleN0101('G81:No dwell');N0102('G82:With dwell');N0103('G83:Normal peck');N0104('G73:High-speed peck');N0105('G85:Feed retraction');N0106('G86:Rapid retraction');

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

-264-

N0107('G88:Manual retraction');N0108('G89:With dwell');N0109('G76:Fine boring');N0110('G87:Back boring');N0111('G84:Tapping');N0112('G74:Left-hand tapping');

; Contour : Compensation DirectionN0121('Left');N0122('Right');

; CHECK*.SRC messageN0900('Data is lacking.');N0901('Input error in menu param.');

M99

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

-265-

5.4 INPUTTED DATA CHECKING

/****************************************************************************/*/* CHECK3.SRC :: Canned Cycle/*/***** 8832: G81/G82/G83/G73/* G81 Drilling cycle, spot drilling cycle/* G82 Drilling cycle, counter boring cycle/* G83 Peck drilling cycle/* G73 High-speed peck drilling cycle/***** 8833: G85/G86/G88/G89/G87/G76/* G85 Boring cycle/* G86 Boring cycle/* G88 Boring cycle/* G89 Boring cycle/* G76 Fine boring cycle/* G87 Back boring cycle/***** 8834: G84/G74/* G84 Tapping cycle/* G74 Left-hand tapping cycle/****************************************************************************$INCLUDE SYMBOL.DEF

/* ############################################### G81/G82/G83/G73O8832 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 */

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

-266-

if[#[attribute 11] ne att_not_use]then error_item = 11 if[#[value 11] eq 0 || #[value 11] lt 0]goto 98 endif /* Dwell Time */ if[#[attribute 12] ne att_not_use]then error_item = 12 if[#[value 12] lt 0]goto 98 endif /* Repeat Number */ error_item = 13 if[#[value 13] lt 0 || #[value 13] gt 9999]goto 98 goto 99 /* Data is lacking. */n97 input_error_flag = error_on call fig_language color red C white L0 G243X1Y24 P[#1+900] goto 99 /* Input error in menu param. */n98 input_error_flag = error_on call fig_language color red C white L0 G243X1Y24 P[#1+901]n99 m99

/* ############################################### G85/G86/G88/G89/G87/G76O8833 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 */

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

-267-

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

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

-268-

6 USER PROGRAMS FOR HOLE PATTERNMENU

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

-269-

6.1 COMMENTS DEFINITION

/****************************************************************************/*/* STRING4.SRC :: Hole Pattern (ENGLISH)/*/***** 7401: Softkey/***** 7411: Points/***** 7421: Line/***** 7431: Grid/***** 7441: Square/***** 7451: Circle/***** 7461: Arc/****************************************************************************

O7401 ;############################################### SoftkyeN0001("20 01 C010 20")('POINTS');N0002("20 01 C018 20")(' LINE ');N0003("20 01 C020 20")(' GRID ');N0004("20 01 C028 20")('SQUARE');N0005("20 01 C030 20")('CIRCLE');N0006("20 01 C038 20")(' ARC ');M99

O7411 ;############################################### PointsN9999('POINTS');N9998('POINTS (DETAIL SET)');N0001('POINT X');N0002('POINT Y');N0003('POINT-2 X');N0004('POINT-2 Y');N0005('POINT-3 X');N0006('POINT-3 Y');N0007('POINT-4 X');N0008('POINT-4 Y');N0009('POINT-5 X');N0010('POINT-5 Y');N0011('POINT-6 X');N0012('POINT-6 Y');N0013('POINT-7 X');N0014('POINT-7 Y');N0015('POINT-8 X');N0016('POINT-8 Y');N0017('PATTERN CONT.');

N1700('12');N1701("20 01 C010 20")(' END ');N1702("20 01 C018 20")(' CONT ');N1751('1');N1752('2');M99

O7421 ;############################################### LineN9999('LINE');N9998('LINE (DETAIL SET)');N0001('SPACE');N0002('START POINT X');N0003('START POINT Y');N0004('LINE ANGLE');N0005('HOLES NUMBER');

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

-270-

N0006('PITCH SPACE');N0007('LINE LENGTH');N0008('OMIT POINT-1');N0009('OMIT POINT-2');N0010('OMIT POINT-3');N0011('OMIT POINT-4');N0012('PITCH SPACE-1');N0013('PITCH SPACE-2');N0014('PITCH SPACE-3');N0015('PITCH SPACE-4');N0016('PITCH SPACE-5');N0017('PITCH SPACE-6');N0018('PITCH SPACE-7');N0019('PITCH SPACE-8');N0020('PITCH SPACE-9');N0021('PITCH SPACE-10');N0022('PATTERN CONT.');

N0100('13');N0101("20 01 C010 20")(' SAME ');N0102("20 01 C018 20")('DIFFER');N0151('1');N0152('2');N2200('12');N2201("20 01 C010 20")(' END ');N2202("20 01 C018 20")(' CONT ');N2251('1');N2252('2');M99

O7431 ;############################################### GridN9999('GRID');N9998('GRID (DETAIL SET)');N0001('START POINT X');N0002('START POINT Y');N0003('U-LENGTH');N0004('V-LENGTH');N0005('U-NUMBER');N0006('V-NUMBER');N0007('X-U ANGLE');N0008('U-V ANGLE');N0009('OMIT POINT-1');N0010('OMIT POINT-2');N0011('OMIT POINT-3');N0012('OMIT POINT-4');N0013('PATTERN CONT.');

N1300('12');N1301("20 01 C010 20")(' END ');N1302("20 01 C018 20")(' CONT ');N1351('1');N1352('2');M99

O7441 ;############################################### SquareN9999('SQUARE');N9998('SQUARE (DETAIL SET)');N0001('START POINT X');N0002('START POINT Y');N0003('U-LENGTH');N0004('V-LENGTH');N0005('U-NUMBER');N0006('V-NUMBER');

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

-271-

N0007('X-U ANGLE');N0008('U-V ANGLE');N0009('OMIT POINT-1');N0010('OMIT POINT-2');N0011('OMIT POINT-3');N0012('OMIT POINT-4');N0013('PATTERN CONT.');

N1300('12');N1301("20 01 C010 20")(' END ');N1302("20 01 C018 20")(' CONT ');N1351('1');N1352('2');M99

O7451 ;############################################### CircleN9999('CIRCLE');N9998('CIRCLE(DETAIL SET)');N0001('CENTER POINT X');N0002('CENTER POINT Y');N0003('RADIUS');N0004('START ANGLE');N0005('HOLE NUMBER');N0006('OMIT POINT-1');N0007('OMIT POINT-2');N0008('OMIT POINT-3');N0009('OMIT POINT-4');N0010('PATTERN CONT.');

N1000('12');N1001("20 01 C010 20")(' END ');N1002("20 01 C018 20")(' CONT ');N1051('1');N1052('2');

M99

O7461 ;############################################### ArcN9999('ARC');N9998('ARC (DETAIL SET)');N0001('PATTERN FORM');N0002('CENTER POINT X');N0003('CENTER POINT Y');N0004('RADIUS');N0005('START ANGLE');N0006('PITCH ANGLE');N0007('HOLE NUMBER');N0008('OMIT POINT-1');N0009('OMIT POINT-2');N0010('OMIT POINT-3');N0011('OMIT POINT-4');N0012('PITCH ANGLE-1');N0013('PITCH ANGLE-2');N0014('PITCH ANGLE-3');N0015('PITCH ANGLE-4');N0016('PITCH ANGLE-5');N0017('PITCH ANGLE-6');N0018('PITCH ANGLE-7');N0019('PITCH ANGLE-8');N0020('PITCH ANGLE-9');N0021('PITCH ANGLE-10');N0022('PATTERN CONT.');

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

-272-

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

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

-273-

6.2 DATA ATTRIBUTE

/****************************************************************************/*/* PROC4.SRC :: Hole Pattern/*/***** 8441: Points/***** 8442: Line/***** 8443: Grid/***** 8444: Square/***** 8445: Circle/***** 8446: Arc/****************************************************************************$INCLUDE SYMBOL.DEF

O8441 ;############################################### Points#[address 0] = 200#[address 1] = add_X#[attribute 1] = att_decimal#[value 1] = #0#[address 2] = add_Y#[attribute 2] = att_decimal#[value 2] = #0#[address 3] = add_A#[attribute 3] = att_not_use#[value 3] = #0#[address 4] = add_B#[attribute 4] = att_not_use#[value 4] = #0#[address 5] = add_C#[attribute 5] = att_not_use#[value 5] = #0#[address 6] = add_D#[attribute 6] = att_not_use#[value 6] = #0#[address 7] = add_E#[attribute 7] = att_not_use#[value 7] = #0#[address 8] = add_F#[attribute 8] = att_not_use#[value 8] = #0#[address 9] = add_H#[attribute 9] = att_not_use#[value 9] = #0#[address 10] = add_I#[attribute 10] = att_not_use#[value 10] = #0#[address 11] = add_J#[attribute 11] = att_not_use#[value 11] = #0#[address 12] = add_K#[attribute 12] = att_not_use#[value 12] = #0#[address 13] = add_L#[attribute 13] = att_not_use#[value 13] = #0#[address 14] = add_M#[attribute 14] = att_not_use#[value 14] = #0#[address 15] = add_N#[attribute 15] = att_not_use#[value 15] = #0#[address 16] = add_P#[attribute 16] = att_not_use

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

-274-

#[value 16] = #0#[address 17] = add_Q#[attribute 17] = att_character#[value 17] = 1#[address 18] = add_endprevious_cursor = 1 /* Previous cursor position clearm99

O8442 ;############################################### Line#[address 0] = 201#[address 1] = add_W#[attribute 1] = att_character#[value 1] = 1#[address 2] = add_X#[attribute 2] = att_decimal#[value 2] = #0#[address 3] = add_Y#[attribute 3] = att_decimal#[value 3] = #0#[address 4] = add_A#[attribute 4] = att_decimal#[value 4] = 0#[address 5] = add_N#[attribute 5] = att_integer#[value 5] = #0#[address 6] = add_P#[attribute 6] = att_decimal#[value 6] = #0#[address 7] = add_L#[attribute 7] = att_decimal#[value 7] = #0#[address 8] = add_B#[attribute 8] = att_integer + att_detail#[value 8] = #0#[address 9] = add_C#[attribute 9] = att_integer + att_detail#[value 9] = #0#[address 10] = add_D#[attribute 10] = att_integer + att_detail#[value 10] = #0#[address 11] = add_E#[attribute 11] = att_not_use#[value 11] = #0#[address 12] = add_B#[attribute 12] = att_not_use#[value 12] = #0#[address 13] = add_C#[attribute 13] = att_not_use#[value 13] = #0#[address 14] = add_D#[attribute 14] = att_not_use#[value 14] = #0#[address 15] = add_E#[attribute 15] = att_not_use#[value 15] = #0#[address 16] = add_F#[attribute 16] = att_not_use#[value 16] = #0#[address 17] = add_H#[attribute 17] = att_not_use#[value 17] = #0#[address 18] = add_I#[attribute 18] = att_not_use#[value 18] = #0#[address 19] = add_J

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

-275-

#[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_endprevious_cursor = 1 /* Previous cursor position clearm99

O8443 ;############################################### Grid#[address 0] = 202#[address 1] = add_X#[attribute 1] = att_decimal#[value 1] = #0#[address 2] = add_Y#[attribute 2] = att_decimal#[value 2] = #0#[address 3] = add_U#[attribute 3] = att_decimal#[value 3] = #0#[address 4] = add_V#[attribute 4] = att_decimal#[value 4] = #0#[address 5] = add_I#[attribute 5] = att_integer#[value 5] = #0#[address 6] = add_J#[attribute 6] = att_integer#[value 6] = #0#[address 7] = add_K#[attribute 7] = att_decimal + att_detail#[value 7] = 0#[address 8] = add_L#[attribute 8] = att_decimal + att_detail#[value 8] = 90#[address 9] = add_B#[attribute 9] = att_integer + att_detail#[value 9] = #0#[address 10] = add_C#[attribute 10] = att_integer + att_detail#[value 10] = #0#[address 11] = add_D#[attribute 11] = att_integer + att_detail#[value 11] = #0#[address 12] = add_E#[attribute 12] = att_integer + att_detail#[value 12] = #0#[address 13] = add_Q#[attribute 13] = att_character#[value 13] = 1#[address 14] = add_endprevious_cursor = 1 /* Previous cursor position clearm99

O8444 ;############################################### Square#[address 0] = 203#[address 1] = add_X

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

-276-

#[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_endprevious_cursor = 1 /* Previous cursor position clearm99

O8445 ;############################################### Circle#[address 0] = 204#[address 1] = add_X#[attribute 1] = att_decimal#[value 1] = #0#[address 2] = add_Y#[attribute 2] = att_decimal#[value 2] = #0#[address 3] = add_R#[attribute 3] = att_decimal#[value 3] = #0#[address 4] = add_A#[attribute 4] = att_decimal#[value 4] = 0#[address 5] = add_N#[attribute 5] = att_integer#[value 5] = #0#[address 6] = add_B#[attribute 6] = att_integer + att_detail#[value 6] = #0#[address 7] = add_C#[attribute 7] = att_integer + att_detail#[value 7] = #0

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

-277-

#[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_endprevious_cursor = 1 /* Previous cursor position clearm99

O8446 ;############################################### Arc#[address 0] = 205#[address 1] = add_W#[attribute 1] = att_character#[value 1] = 1#[address 2] = add_X#[attribute 2] = att_decimal#[value 2] = #0#[address 3] = add_Y#[attribute 3] = att_decimal#[value 3] = #0#[address 4] = add_R#[attribute 4] = att_decimal#[value 4] = #0#[address 5] = add_A#[attribute 5] = att_decimal#[value 5] = 0#[address 6] = add_P#[attribute 6] = att_decimal#[value 6] = #0#[address 7] = add_N#[attribute 7] = att_integer#[value 7] = #0#[address 8] = add_B#[attribute 8] = att_integer + att_detail#[value 8] = #0#[address 9] = add_C#[attribute 9] = att_integer + att_detail#[value 9] = #0#[address 10] = add_D#[attribute 10] = att_integer + att_detail#[value 10] = #0#[address 11] = add_E#[attribute 11] = att_integer + att_detail#[value 11] = #0#[address 12] = add_B#[attribute 12] = att_not_use#[value 12] = #0#[address 13] = add_C#[attribute 13] = att_not_use#[value 13] = #0#[address 14] = add_D#[attribute 14] = att_not_use#[value 14] = #0#[address 15] = add_E#[attribute 15] = att_not_use#[value 15] = #0#[address 16] = add_F#[attribute 16] = att_not_use#[value 16] = #0#[address 17] = add_H#[attribute 17] = att_not_use

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

-278-

#[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_endprevious_cursor = 1 /* Previous cursor position clearm99

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

-279-

6.3 GUIDANCE DRAWING FIGURE

/****************************************************************************/*/* FIG4.SRC :: Hole Pattern/*/***** 8641: Points/***** 8642: Line/***** 8643: Grid/***** 8644: Square/***** 8645: Circle/***** 8646: Arc/****************************************************************************$INCLUDE SYMBOL.DEF

O8641 ;############################################### Points/*** Guide Picture Setting ***/if[guide_frequency eq secont_tine]then call 6111endif

/*** Attribution Setting ***/if[#[value 1] ne #0 && #[value 2] ne #0]then #[attribute 3] = att_decimal #[attribute 4] = att_decimalendifif[#[value 3] ne #0 && #[value 4] ne #0]then #[attribute 5] = att_decimal #[attribute 6] = att_decimalendifif[#[value 5] ne #0 && #[value 6] ne #0]then #[attribute 7] = att_decimal #[attribute 8] = att_decimalendifif[#[value 7] ne #0 && #[value 8] ne #0]then #[attribute 9] = att_decimal #[attribute 10] = att_decimalendifif[#[value 9] ne #0 && #[value 10] ne #0]then #[attribute 11] = att_decimal #[attribute 12] = att_decimalendifif[#[value 11] ne #0 && #[value 12] ne #0]then #[attribute 13] = att_decimal #[attribute 14] = att_decimalendifif[#[value 13] ne #0 && #[value 14] ne #0]then #[attribute 15] = att_decimal #[attribute 16] = att_decimalendifm99

O8642 ;############################################### Line/*** Guide Picture Setting ***/if[guide_frequency eq secont_tine]then if[previous_cursor eq 1]then call fig_clear endif if[#[value 1] eq 2]then call 6113 else call 6112

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

-280-

endif previous_cursor = cursorendif

/*** Attribution Setting ***/if[#[value 1] eq 1]then #[attribute 5] = att_integer #[attribute 6] = att_decimal #[attribute 7] = att_decimal + att_detail #[attribute 8] = att_integer + att_detail #[attribute 9] = att_integer + att_detail #[attribute 10] = att_integer + att_detail #[attribute 11] = att_integer + att_detail #[attribute 12] = att_not_use #[attribute 13] = att_not_use #[attribute 14] = att_not_use #[attribute 15] = att_not_use #[attribute 16] = att_not_use #[attribute 17] = att_not_use #[attribute 18] = att_not_use #[attribute 19] = att_not_use #[attribute 20] = att_not_use #[attribute 21] = att_not_useelse #[attribute 5] = att_not_use #[attribute 6] = att_not_use #[attribute 7] = att_not_use #[attribute 8] = att_not_use #[attribute 9] = att_not_use #[attribute 10] = att_not_use #[attribute 11] = att_not_use #[attribute 12] = att_decimal #[attribute 13] = att_decimal #[attribute 14] = att_decimal #[attribute 15] = att_decimal + att_detail #[attribute 16] = att_decimal + att_detail #[attribute 17] = att_decimal + att_detail #[attribute 18] = att_decimal + att_detail #[attribute 19] = att_decimal + att_detail #[attribute 20] = att_decimal + att_detail #[attribute 21] = att_decimal + att_detailendifm99

O8643 ;############################################### Grid/*** Guide Picture Setting ***/if[guide_frequency eq secont_tine]then call 6114endifm99

O8644 ;############################################### Square/*** Guide Picture Setting ***/if[guide_frequency eq secont_tine]then call 6114endifm99

O8645 ;############################################### Circle/*** Guide Picture Setting ***/if[guide_frequency eq secont_tine]then

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

-281-

call 6115endifm99

O8646 ;############################################### Arc/*** Guide Picture Setting ***/if[guide_frequency eq secont_tine]then if[previous_cursor eq 1]then call fig_clear endif if[#[value 1] eq 1]then call 6116 endif if[#[value 1] eq 2]then call 6117 endif previous_cursor = cursorendif

/*** Attribution Setting ***/if[#[value 1] eq 1]then #[attribute 6] = att_decimal #[attribute 7] = att_integer #[attribute 8] = att_integer + att_detail #[attribute 9] = att_integer + att_detail #[attribute 10] = att_integer + att_detail #[attribute 11] = att_integer + att_detail #[attribute 12] = att_not_use #[attribute 13] = att_not_use #[attribute 14] = att_not_use #[attribute 15] = att_not_use #[attribute 16] = att_not_use #[attribute 17] = att_not_use #[attribute 18] = att_not_use #[attribute 19] = att_not_use #[attribute 20] = att_not_use #[attribute 21] = att_not_useelse #[attribute 6] = att_not_use #[attribute 7] = att_not_use #[attribute 8] = att_not_use #[attribute 9] = att_not_use #[attribute 10] = att_not_use #[attribute 11] = att_not_use #[attribute 12] = att_decimal #[attribute 13] = att_decimal #[attribute 14] = att_decimal + att_detail #[attribute 15] = att_decimal + att_detail #[attribute 16] = att_decimal + att_detail #[attribute 17] = att_decimal + att_detail #[attribute 18] = att_decimal + att_detail #[attribute 19] = att_decimal + att_detail #[attribute 20] = att_decimal + att_detail #[attribute 21] = att_decimal + att_detailendifm99

/****************************************************************************/*/* FIGSUB4.SRC :: Hole Pattern/*/***** 6111: Points/***** 6112: Line (Same space)

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

-282-

/***** 6113: Line (Different space)/***** 6114: Grid and Square/***** 6115: Circle/***** 6116: Arc (Same space)/***** 6117: Arc (Different space)/****************************************************************************$INCLUDE SYMBOL.DEF

O6111 ;############################################### Group of pointscolor blue /* blue for WorkG242X[-20-shift_grap_X]Y[-10+shift_grap_Y]G01X[140-shift_grap_X]Y[-10+shift_grap_Y]G01X[140-shift_grap_X]Y[160+shift_grap_Y]G01X[-20-shift_grap_X]Y[160+shift_grap_Y]G01X[-20-shift_grap_X]Y[-10+shift_grap_Y]G242X[30-shift_grap_X]Y[46+shift_grap_Y]G02X[30-shift_grap_X]Y[46+shift_grap_Y]I[30-shift_grap_X]J[40+shift_grap_Y]Q4G242X[90-shift_grap_X]Y[26+shift_grap_Y]G02X[90-shift_grap_X]Y[26+shift_grap_Y]I[90-shift_grap_X]J[20+shift_grap_Y]Q4G242X[120-shift_grap_X]Y[46+shift_grap_Y]G02X[120-shift_grap_X]Y[46+shift_grap_Y]I[120-shift_grap_X]J[40+shift_grap_Y]Q4G242X[50-shift_grap_X]Y[76+shift_grap_Y]G02X[50-shift_grap_X]Y[76+shift_grap_Y]I[50-shift_grap_X]J[70+shift_grap_Y]Q4G242X[100-shift_grap_X]Y[96+shift_grap_Y]G02X[100-shift_grap_X]Y[96+shift_grap_Y]I[100-shift_grap_X]J[90+shift_grap_Y]Q4G242X[20-shift_grap_X]Y[126+shift_grap_Y]G02X[20-shift_grap_X]Y[126+shift_grap_Y]I[20-shift_grap_X]J[120+shift_grap_Y]Q4G242X[80-shift_grap_X]Y[146+shift_grap_Y]G02X[80-shift_grap_X]Y[146+shift_grap_Y]I[80-shift_grap_X]J[140+shift_grap_Y]Q4G206P0X[0-shift_grap_X]Y[0+shift_grap_Y]

color white /* white for RemovalG242X[30-shift_grap_X]Y[44+shift_grap_Y]G02X[30-shift_grap_X]Y[44+shift_grap_Y]I[30-shift_grap_X]J[40+shift_grap_Y]Q4G206P0X[30-shift_grap_X]Y[40+shift_grap_Y]G242X[90-shift_grap_X]Y[24+shift_grap_Y]G02X[90-shift_grap_X]Y[24+shift_grap_Y]I[90-shift_grap_X]J[20+shift_grap_Y]Q4G206P0X[90-shift_grap_X]Y[20+shift_grap_Y]G242X[120-shift_grap_X]Y[44+shift_grap_Y]G02X[120-shift_grap_X]Y[44+shift_grap_Y]I[120-shift_grap_X]J[40+shift_grap_Y]Q4G206P0X[120-shift_grap_X]Y[40+shift_grap_Y]G242X[50-shift_grap_X]Y[74+shift_grap_Y]G02X[50-shift_grap_X]Y[74+shift_grap_Y]I[50-shift_grap_X]J[70+shift_grap_Y]Q4G206P0X[50-shift_grap_X]Y[70+shift_grap_Y]G242X[100-shift_grap_X]Y[94+shift_grap_Y]G02X[100-shift_grap_X]Y[94+shift_grap_Y]I[100-shift_grap_X]J[90+shift_grap_Y]Q4G206P0X[100-shift_grap_X]Y[90+shift_grap_Y]G242X[20-shift_grap_X]Y[124+shift_grap_Y]G02X[20-shift_grap_X]Y[124+shift_grap_Y]I[20-shift_grap_X]J[120+shift_grap_Y]Q4G206P0X[20-shift_grap_X]Y[120+shift_grap_Y]G242X[80-shift_grap_X]Y[144+shift_grap_Y]G02X[80-shift_grap_X]Y[144+shift_grap_Y]I[80-shift_grap_X]J[140+shift_grap_Y]Q4G206P0X[80-shift_grap_X]Y[140+shift_grap_Y]color purple /* purple LineG242X[30-shift_grap_X]Y[45+shift_grap_Y]G02X[30-shift_grap_X]Y[45+shift_grap_Y]I[30-shift_grap_X]J[40+shift_grap_Y]Q4G242X[90-shift_grap_X]Y[25+shift_grap_Y]G02X[90-shift_grap_X]Y[25+shift_grap_Y]I[90-shift_grap_X]J[20+shift_grap_Y]Q4G242X[120-shift_grap_X]Y[45+shift_grap_Y]G02X[120-shift_grap_X]Y[45+shift_grap_Y]I[120-shift_grap_X]J[40+shift_grap_Y]Q4G242X[50-shift_grap_X]Y[75+shift_grap_Y]G02X[50-shift_grap_X]Y[75+shift_grap_Y]I[50-shift_grap_X]J[70+shift_grap_Y]Q4G242X[100-shift_grap_X]Y[95+shift_grap_Y]G02X[100-shift_grap_X]Y[95+shift_grap_Y]I[100-shift_grap_X]J[90+shift_grap_Y]Q4G242X[20-shift_grap_X]Y[125+shift_grap_Y]G02X[20-shift_grap_X]Y[125+shift_grap_Y]I[20-shift_grap_X]J[120+shift_grap_Y]Q4

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

-283-

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]Q4G242X[-21-shift_grap_X]Y[-11+shift_grap_Y]G01X[141-shift_grap_X]Y[-11+shift_grap_Y]G01X[141-shift_grap_X]Y[161+shift_grap_Y]G01X[-21-shift_grap_X]Y[161+shift_grap_Y]G01X[-21-shift_grap_X]Y[-11+shift_grap_Y]m99

O6112 ;############################################### Line (Same space)

color blue /* blue for WorkG242X[-24-shift_grap_X]Y[-24+shift_grap_Y]G01X[144-shift_grap_X]Y[-24+shift_grap_Y]G01X[144-shift_grap_X]Y[168+shift_grap_Y]G01X[-24-shift_grap_X]Y[168+shift_grap_Y]G01X[-24-shift_grap_X]Y[-24+shift_grap_Y]G242X[16-shift_grap_X]Y[30+shift_grap_Y]G02X[16-shift_grap_X]Y[30+shift_grap_Y]I[16-shift_grap_X]J[24+shift_grap_Y]Q4G242X[48-shift_grap_X]Y[62+shift_grap_Y]G02X[48-shift_grap_X]Y[62+shift_grap_Y]I[48-shift_grap_X]J[56+shift_grap_Y]Q4G242X[80-shift_grap_X]Y[94+shift_grap_Y]G02X[80-shift_grap_X]Y[94+shift_grap_Y]I[80-shift_grap_X]J[88+shift_grap_Y]Q4G242X[112-shift_grap_X]Y[126+shift_grap_Y]G02X[112-shift_grap_X]Y[126+shift_grap_Y]I[112-shift_grap_X]J[120+shift_grap_Y]Q4#1=39-shift_char_X /* for (X,Y)#2=15-shift_char_Y#3=5call fig_character#1=48-shift_char_X /* for A#2=12-shift_char_Y#3=1call fig_character#1=52-shift_char_X /* for N#2=7-shift_char_Y#3=1call fig_character#1=41-shift_char_X /* for P#2=11-shift_char_Y#3=1call fig_character#1=43-shift_char_X /* for L#2=8-shift_char_Y#3=1call fig_character#1=40-shift_char_X /* for 1#2=13-shift_char_Y#3=1call fig_character#1=44-shift_char_X /* for 2#2=11-shift_char_Y#3=1call fig_character#1=48-shift_char_X /* for 3#2=9-shift_char_Y#3=1call fig_characterG206P0X[120-shift_grap_X]Y[0+shift_grap_Y]

/* white for Removalcolor whiteG242X[16-shift_grap_X]Y[28+shift_grap_Y]G02X[16-shift_grap_X]Y[28+shift_grap_Y]I[16-shift_grap_X]J[24+shift_grap_Y]Q4G206P0X[16-shift_grap_X]Y[24+shift_grap_Y]G242X[48-shift_grap_X]Y[60+shift_grap_Y]

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

-284-

G02X[48-shift_grap_X]Y[60+shift_grap_Y]I[48-shift_grap_X]J[56+shift_grap_Y]Q4G206P0X[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]Q4G206P0X[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]Q4G206P0X[112-shift_grap_X]Y[120+shift_grap_Y]

color purpleG242X[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]Q4G242X[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]Q4G242X[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]Q4G242X[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]Q4G242X[-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 greenG242X[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=2call fig_line#1=-15-shift_grap_X#2=57+shift_grap_Y#3=79-shift_grap_X#4=151+shift_grap_Y#5=2call fig_lineG242X[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]

/* Charactersif[cursor eq 2]then color -white C blue L1else color white C blue L0endifG243X[40-shift_char_X]Y[15-shift_char_Y](X)if[cursor eq 3]then color -white C blue L1else color white C blue L0endifG243X[42-shift_char_X]Y[15-shift_char_Y](Y)if[cursor eq 4]then color -white C blue L1else color white C blue L0endifG243X[48-shift_char_X]Y[12-shift_char_Y](A)

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

-285-

if[cursor eq 5]then color -white C blue L1else color white C blue L0endifG243X[52-shift_char_X]Y[7-shift_char_Y](N)if[cursor eq 6]then color -white C blue L1else color white C blue L0endifG243X[41-shift_char_X]Y[11-shift_char_Y](P)if[cursor eq 7]then color -white C blue L1else color white C blue L0endifG243X[43-shift_char_X]Y[8-shift_char_Y](L)color white C blue L0G243X[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_offm99

O6113 ;############################################### Line (Different space)/* blue for Workcolor blueG242X[-24-shift_grap_X]Y[-24+shift_grap_Y]G01X[144-shift_grap_X]Y[-24+shift_grap_Y]G01X[144-shift_grap_X]Y[168+shift_grap_Y]G01X[-24-shift_grap_X]Y[168+shift_grap_Y]G01X[-24-shift_grap_X]Y[-24+shift_grap_Y]G242X[16-shift_grap_X]Y[30+shift_grap_Y]G02X[16-shift_grap_X]Y[30+shift_grap_Y]I[16-shift_grap_X]J[24+shift_grap_Y]Q4G242X[48-shift_grap_X]Y[62+shift_grap_Y]G02X[48-shift_grap_X]Y[62+shift_grap_Y]I[48-shift_grap_X]J[56+shift_grap_Y]Q4G242X[96-shift_grap_X]Y[110+shift_grap_Y]G02X[96-shift_grap_X]Y[110+shift_grap_Y]I[96-shift_grap_X]J[104+shift_grap_Y]Q4G242X[112-shift_grap_X]Y[126+shift_grap_Y]G02X[112-shift_grap_X]Y[126+shift_grap_Y]I[112-shift_grap_X]J[120+shift_grap_Y]Q4#1=39-shift_char_X /* for (X,Y)#2=15-shift_char_Y#3=5call fig_character#1=48-shift_char_X /* for A#2=12-shift_char_Y#3=1call fig_character#1=42-shift_char_X /* for B#2=11-shift_char_Y#3=1call fig_character#1=47-shift_char_X /* for C#2=9-shift_char_Y#3=1call fig_character#1=51-shift_char_X /* for D#2=7-shift_char_Y#3=1call fig_characterG206P0X[0-shift_grap_X]Y[16+shift_grap_Y]

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

-286-

/* white for Removalcolor whiteG242X[16-shift_grap_X]Y[28+shift_grap_Y]G02X[16-shift_grap_X]Y[28+shift_grap_Y]I[16-shift_grap_X]J[24+shift_grap_Y]Q4G206P0X[16-shift_grap_X]Y[24+shift_grap_Y]G242X[48-shift_grap_X]Y[60+shift_grap_Y]G02X[48-shift_grap_X]Y[60+shift_grap_Y]I[48-shift_grap_X]J[56+shift_grap_Y]Q4G206P0X[48-shift_grap_X]Y[56+shift_grap_Y]G242X[96-shift_grap_X]Y[108+shift_grap_Y]G02X[96-shift_grap_X]Y[108+shift_grap_Y]I[96-shift_grap_X]J[104+shift_grap_Y]Q4G206P0X[96-shift_grap_X]Y[104+shift_grap_Y]G242X[112-shift_grap_X]Y[124+shift_grap_Y]G02X[112-shift_grap_X]Y[124+shift_grap_Y]I[112-shift_grap_X]J[120+shift_grap_Y]Q4G206P0X[112-shift_grap_X]Y[120+shift_grap_Y]

color purpleG242X[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]Q4G242X[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]Q4G242X[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]Q4G242X[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]Q4G242X[-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 greenG242X[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=2call fig_line#1=41-shift_grap_X#2=65+shift_grap_Y#3=87-shift_grap_X#4=111+shift_grap_Y#5=2call fig_line#1=89-shift_grap_X#2=113+shift_grap_Y#3=103-shift_grap_X#4=127+shift_grap_Y#5=2call fig_lineG242X[48-shift_grap_X]Y[56+shift_grap_Y] /* common to same distanceG02X[89.756-shift_grap_X]Y[24+shift_grap_Y]I[16-shift_grap_X]J[24+shift_grap_Y] /* common to same distance

/* Charactersif[cursor eq 2]then color -white C blue L1

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

-287-

else color white C blue L0endifG243X[40-shift_char_X]Y[15-shift_char_Y](X)if[cursor eq 3]then color -white C blue L1else color white C blue L0endifG243X[42-shift_char_X]Y[15-shift_char_Y](Y)if[cursor eq 4]then color -white C blue L1else color white C blue L0endifG243X[48-shift_char_X]Y[12-shift_char_Y](A)if[cursor eq 12]then color -white C blue L1else color white C blue L0endifG243X[42-shift_char_X]Y[11-shift_char_Y](B)if[cursor eq 13]then color -white C blue L1else color white C blue L0endifG243X[47-shift_char_X]Y[9-shift_char_Y](C)if[cursor eq 14]then color -white C blue L1else color white C blue L0endifG243X[51-shift_char_X]Y[7-shift_char_Y](D)color white C blue L0G243X[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_offm99

O6114 ;############################################### Grid and Square/* blue for Workcolor blueG242X[-36-shift_grap_X]Y[-32+shift_grap_Y]G01X[156-shift_grap_X]Y[-32+shift_grap_Y]G01X[156-shift_grap_X]Y[176+shift_grap_Y]G01X[-36-shift_grap_X]Y[176+shift_grap_Y]G01X[-36-shift_grap_X]Y[-32+shift_grap_Y]#20=6 /* Radius#21=4-shift_grap_X /* Center X ;1st Row#22=12+shift_grap_Y /* Center YG242X[#21]Y[#22+#20]G02X[#21]Y[#22+#20]I[#21]J[#22]#22=#22+16*3G242X[#21]Y[#22+#20]G02X[#21]Y[#22+#20]I[#21]J[#22]#22=#22+16*3G242X[#21]Y[#22+#20]G02X[#21]Y[#22+#20]I[#21]J[#22]#21=52-shift_grap_X /* 2nd Row#22=28+shift_grap_YG242X[#21]Y[#22+#20]G02X[#21]Y[#22+#20]I[#21]J[#22]#22=#22+16*3

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

-288-

if[#[address 0] eq 202]then G242X[#21]Y[#22+#20] /* Only Grid G02X[#21]Y[#22+#20]I[#21]J[#22] /* Only Gridendif#22=#22+16*3G242X[#21]Y[#22+#20]G02X[#21]Y[#22+#20]I[#21]J[#22]#21=100-shift_grap_X /* 3rd Row#22=44+shift_grap_YG242X[#21]Y[#22+#20]G02X[#21]Y[#22+#20]I[#21]J[#22]#22=#22+16*3if[#[address 0] eq 202]then G242X[#21]Y[#22+#20] /* Only Grid G02X[#21]Y[#22+#20]I[#21]J[#22] /* Only Gridendif#22=#22+16*3G242X[#21]Y[#22+#20]G02X[#21]Y[#22+#20]I[#21]J[#22]#21=148-shift_grap_X /* 4th Row#22=60+shift_grap_YG242X[#21]Y[#22+#20]G02X[#21]Y[#22+#20]I[#21]J[#22]#22=#22+16*3G242X[#21]Y[#22+#20]G02X[#21]Y[#22+#20]I[#21]J[#22]#22=#22+16*3G242X[#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=5call fig_character#1=48-shift_char_X /* for U#2=6-shift_char_Y#3=1call fig_character#1=37-shift_char_X /* for V#2=12-shift_char_Y#3=1call fig_character#1=57-shift_char_X /* for I#2=12-shift_char_Y#3=1call fig_character#1=39-shift_char_X /* for J#2=9-shift_char_Y#3=1call fig_character#1=49-shift_char_X /* for K#2=14-shift_char_Y#3=1call fig_character#1=48-shift_char_X /* for L#2=12-shift_char_Y#3=1call fig_character#1=40-shift_char_X /* for 1#2=15-shift_char_Y#3=1call fig_character#1=46-shift_char_X /* for 2#2=14-shift_char_Y#3=1call fig_character#1=52-shift_char_X /* for 3#2=13-shift_char_Y

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

-289-

#3=1call fig_character#1=39-shift_char_X /* for 1#2=14-shift_char_Y#3=1call fig_character#1=39-shift_char_X /* for 2#2=11-shift_char_Y#3=1call fig_characterG206P0X[50-shift_grap_X]Y[0+shift_grap_Y]

/* white for Removalcolor white#20=4 /* Radius#21=4-shift_grap_X /* Center X ;1st Row#22=12+shift_grap_Y /* Center YG242X[#21]Y[#22+#20]G02X[#21]Y[#22+#20]I[#21]J[#22]G206P0X[#21]Y[#22]#22=#22+16*3G242X[#21]Y[#22+#20]G02X[#21]Y[#22+#20]I[#21]J[#22]G206P0X[#21]Y[#22]#22=#22+16*3G242X[#21]Y[#22+#20]G02X[#21]Y[#22+#20]I[#21]J[#22]G206P0X[#21]Y[#22]#21=52-shift_grap_X ;2nd Row#22=28+shift_grap_YG242X[#21]Y[#22+#20]G02X[#21]Y[#22+#20]I[#21]J[#22]G206P0X[#21]Y[#22]#22=#22+16*3if[#[address 0] eq 202]then G242X[#21]Y[#22+#20] ;Only Grid G02X[#21]Y[#22+#20]I[#21]J[#22] ;Only Grid G206P0X[#21]Y[#22] ;Only Gridendif#22=#22+16*3G242X[#21]Y[#22+#20]G02X[#21]Y[#22+#20]I[#21]J[#22]G206P0X[#21]Y[#22]#21=100-shift_grap_X ;3rd Row#22=44+shift_grap_YG242X[#21]Y[#22+#20]G02X[#21]Y[#22+#20]I[#21]J[#22]G206P0X[#21]Y[#22]#22=#22+16*3if[#[address 0] eq 202]then G242X[#21]Y[#22+#20] ;Only Grid G02X[#21]Y[#22+#20]I[#21]J[#22] ;Only Grid G206P0X[#21]Y[#22] ;Only Gridendif#22=#22+16*3G242X[#21]Y[#22+#20]G02X[#21]Y[#22+#20]I[#21]J[#22]G206P0X[#21]Y[#22]#21=148-shift_grap_X ;4th Row#22=60+shift_grap_YG242X[#21]Y[#22+#20]G02X[#21]Y[#22+#20]I[#21]J[#22]G206P0X[#21]Y[#22]#22=#22+16*3G242X[#21]Y[#22+#20]G02X[#21]Y[#22+#20]I[#21]J[#22]G206P0X[#21]Y[#22]

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

-290-

#22=#22+16*3G242X[#21]Y[#22+#20]G02X[#21]Y[#22+#20]I[#21]J[#22]G206P0X[#21]Y[#22]

/* purple linecolor purple#20=5 /* Radius#21=4-shift_grap_X /* Center X ;1st Row#22=12+shift_grap_Y /* Center YG242X[#21]Y[#22+#20]G02X[#21]Y[#22+#20]I[#21]J[#22]#22=#22+16*3G242X[#21]Y[#22+#20]G02X[#21]Y[#22+#20]I[#21]J[#22]#22=#22+16*3G242X[#21]Y[#22+#20]G02X[#21]Y[#22+#20]I[#21]J[#22]#21=52-shift_grap_X /* 2nd Row#22=28+shift_grap_YG242X[#21]Y[#22+#20]G02X[#21]Y[#22+#20]I[#21]J[#22]#22=#22+16*3if[#[address 0] eq 202]then G242X[#21]Y[#22+#20] /* Only Grid G02X[#21]Y[#22+#20]I[#21]J[#22] /* Only Gridendif#22=#22+16*3G242X[#21]Y[#22+#20]G02X[#21]Y[#22+#20]I[#21]J[#22]#21=100-shift_grap_X /* 3rd Row#22=44+shift_grap_YG242X[#21]Y[#22+#20]G02X[#21]Y[#22+#20]I[#21]J[#22]#22=#22+16*3if[#[address 0] eq 202]then G242X[#21]Y[#22+#20] /* Only Grid G02X[#21]Y[#22+#20]I[#21]J[#22] /* Only Gridendif#22=#22+16*3G242X[#21]Y[#22+#20]G02X[#21]Y[#22+#20]I[#21]J[#22]#21=148-shift_grap_X /* 4th Row#22=60+shift_grap_YG242X[#21]Y[#22+#20]G02X[#21]Y[#22+#20]I[#21]J[#22]#22=#22+16*3G242X[#21]Y[#22+#20]G02X[#21]Y[#22+#20]I[#21]J[#22]#22=#22+16*3G242X[#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 WorkG01X[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 Linecolor greenG242X[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

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

-291-

G242X[52-shift_grap_X]Y[28+shift_grap_Y] ;Only Grid G01X[52-shift_grap_X]Y[124+shift_grap_Y] ;Only Grid G242X[100-shift_grap_X]Y[48+shift_grap_Y] ;Only Grid G01X[100-shift_grap_X]Y[140+shift_grap_Y] ;Only Grid G242X[4-shift_grap_X]Y[60+shift_grap_Y] ;Only Grid G01X[148-shift_grap_X]Y[108+shift_grap_Y] ;Only Gridendif#1=74-shift_grap_X#2=12+shift_grap_Y#3=70.408-shift_grap_X#4=34.136+shift_grap_Y#5=4-shift_grap_X#6=12+shift_grap_Y#7=2call fig_ccw#1=70.408-shift_grap_X#2=34.136+shift_grap_Y#3=4-shift_grap_X#4=82+shift_grap_Y#5=4-shift_grap_X#6=12+shift_grap_Y#7=2call fig_ccwG242X[4-shift_grap_X]Y[12+shift_grap_Y]G01X[-12-shift_grap_X]Y[12+shift_grap_Y]G242X[4-shift_grap_X]Y[108+shift_grap_Y]G01X[-12-shift_grap_X]Y[108+shift_grap_Y]#1=-8-shift_grap_X#2=13+shift_grap_Y#3=-8-shift_grap_X#4=107+shift_grap_Y#5=2call fig_lineG242X[4-shift_grap_X]Y[108+shift_grap_Y]G01X[-1.333333-shift_grap_X]Y[124+shift_grap_Y]G242X[148-shift_grap_X]Y[156+shift_grap_Y]G01X[142.66667-shift_grap_X]Y[172+shift_grap_Y]#1=7.6666665-shift_grap_X#2=116+shift_grap_Y#3=144.33333-shift_grap_X#4=163+shift_grap_Y#5=2call fig_line

/* Charactersif[cursor eq 1]then color -white C blue L1else color white C blue L0endifG243X[39-shift_char_X]Y[16-shift_char_Y](X)if[cursor eq 2]then color -white C blue L1else color white C blue L0endifG243X[41-shift_char_X]Y[16-shift_char_Y](Y)if[cursor eq 3]then color -white C blue L1else color white C blue L0endifG243X[48-shift_char_X]Y[6-shift_char_Y](U)if[cursor eq 4]then color -white C blue L1else color white C blue L0

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

-292-

endifG243X[37-shift_char_X]Y[12-shift_char_Y](V)if[cursor eq 5]then color -white C blue L1else color white C blue L0endifG243X[57-shift_char_X]Y[12-shift_char_Y](I)if[cursor eq 6]then color -white C blue L1else color white C blue L0endifG243X[39-shift_char_X]Y[9-shift_char_Y](J)if[cursor eq 7]then color -white C blue L1else color white C blue L0endifG243X[49-shift_char_X]Y[14-shift_char_Y](K)if[cursor eq 8]then color -white C blue L1else color white C blue L0endifG243X[48-shift_char_X]Y[12-shift_char_Y](L)color white C blue L0G243X[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_offm99

O6115 ;############################################### Circle/* blue for Workcolor blueG242X[-16-shift_grap_X]Y[-8+shift_grap_Y]G01X[136-shift_grap_X]Y[-8+shift_grap_Y]G01X[136-shift_grap_X]Y[152+shift_grap_Y]G01X[-16-shift_grap_X]Y[152+shift_grap_Y]G01X[-16-shift_grap_X]Y[-8+shift_grap_Y]#20=6 /* Radius#21=60+45.254-shift_grap_X /* Center X#22=72+45.254+shift_grap_Y /* Center YG242X[#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 YG242X[#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 YG242X[#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 YG242X[#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

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

-293-

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 YG242X[#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=5call fig_character#1=45-shift_char_X /* for R#2=9-shift_char_Y#3=1call fig_character#1=51-shift_char_X /* for A#2=10-shift_char_Y#3=1call fig_character#1=56-shift_char_X /* for N#2=12-shift_char_Y#3=1call fig_character#1=54-shift_char_X /* for 1#2=7-shift_char_Y#3=1call fig_character#1=44-shift_char_X /* for 2#2=6-shift_char_Y#3=1call fig_character#1=38-shift_char_X /* for 3#2=9-shift_char_Y#3=1call fig_characterG206P0X[0-shift_grap_X]Y[0+shift_grap_Y]

/* white for Removalcolor white#20=4 /* Radius#21=60+45.254-shift_grap_X /* Center X#22=72+45.254+shift_grap_Y /* Center YG242X[#21]Y[#22+#20]G02X[#21]Y[#22+#20]I[#21]J[#22]G206P0X#21Y#22#21=60-16.564-shift_grap_X /* Center X#22=72+61.819+shift_grap_Y /* Center YG242X[#21]Y[#22+#20]G02X[#21]Y[#22+#20]I[#21]J[#22]G206P0X#21Y#22#21=60-61.819-shift_grap_X /* Center X#22=72+16.564+shift_grap_Y /* Center YG242X[#21]Y[#22+#20]G02X[#21]Y[#22+#20]I[#21]J[#22]G206P0X#21Y#22#21=60-45.254-shift_grap_X /* Center X#22=72-45.254+shift_grap_Y /* Center YG242X[#21]Y[#22+#20]G02X[#21]Y[#22+#20]I[#21]J[#22]G206P0X#21Y#22#21=60+16.564-shift_grap_X /* Center X#22=72-61.819+shift_grap_Y /* Center YG242X[#21]Y[#22+#20]G02X[#21]Y[#22+#20]I[#21]J[#22]G206P0X#21Y#22#21=60+61.819-shift_grap_X /* Center X#22=72-16.564+shift_grap_Y /* Center YG242X[#21]Y[#22+#20]

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

-294-

G02X[#21]Y[#22+#20]I[#21]J[#22]G206P0X#21Y#22

/* purple linecolor purple#20=5 /* Radius#21=60+45.254-shift_grap_X /* Center X#22=72+45.254+shift_grap_Y /* Center YG242X[#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 YG242X[#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 YG242X[#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 YG242X[#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 YG242X[#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 YG242X[#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 Linecolor greenG242X[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]Q4G242X[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=2call 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=2call fig_ccw

/* yellow Cross Markcolor yellow#1=60-shift_grap_X /* Center#2=72+shift_grap_Ycall fig_mark

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

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

-295-

else color white C blue L0endifG243X[46-shift_char_X]Y[11-shift_char_Y](X)if[cursor eq 2]then color -white C blue L1else color white C blue L0endifG243X[48-shift_char_X]Y[11-shift_char_Y](Y)if[cursor eq 3]then color -white C blue L1else color white C blue L0endifG243X[45-shift_char_X]Y[9-shift_char_Y](R)if[cursor eq 4]then color -white C blue L1else color white C blue L0endifG243X[51-shift_char_X]Y[10-shift_char_Y](A)if[cursor eq 5]then color -white C blue L1else color white C blue L0endifG243X[56-shift_char_X]Y[12-shift_char_Y](N)color white C blue L0G243X[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_offm99

O6116 ;############################################### Arc (Same space)/* blue for Workcolor blueG242X[-20-shift_grap_X]Y[-8+shift_grap_Y]G01X[140-shift_grap_X]Y[-8+shift_grap_Y]G01X[140-shift_grap_X]Y[152+shift_grap_Y]G01X[-20-shift_grap_X]Y[152+shift_grap_Y]G01X[-20-shift_grap_X]Y[-8+shift_grap_Y]#20=6 /* Radius#21=60+51.962-shift_grap_X /* Center X#22=56+30+shift_grap_Y /* Center YG242X[#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 YG242X[#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 YG242X[#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 YG242X[#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

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

-296-

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=5call fig_character#1=44-shift_char_X /* for R#2=10-shift_char_Y#3=1call fig_character#1=51-shift_char_X /* for A#2=11-shift_char_Y#3=1call fig_character#1=49-shift_char_X /* for P#2=10-shift_char_Y#3=1call fig_character#1=38-shift_char_X /* for N#2=12-shift_char_Y#3=1call fig_character#1=55-shift_char_X /* for 1#2=9-shift_char_Y#3=1call fig_character#1=50-shift_char_X /* for 2#2=7-shift_char_Y#3=1call fig_character#1=44-shift_char_X /* for 3#2=7-shift_char_Y#3=1call fig_characterG206P0X[0-shift_grap_X]Y[0+shift_grap_Y]

/* white for Removalcolor white#20=4 /* Radius#21=60+51.962-shift_grap_X /* Center X#22=56+30+shift_grap_Y /* Center YG242X[#21]Y[#22+#20]G02X[#21]Y[#22+#20]I[#21]J[#22]G206P0X#21Y#22#21=60+20.521-shift_grap_X /* Center X#22=56+56.382+shift_grap_Y /* Center YG242X[#21]Y[#22+#20]G02X[#21]Y[#22+#20]I[#21]J[#22]G206P0X#21Y#22#21=60-20.521-shift_grap_X /* Center X#22=56+56.382+shift_grap_Y /* Center YG242X[#21]Y[#22+#20]G02X[#21]Y[#22+#20]I[#21]J[#22]G206P0X#21Y#22#21=60-51.962-shift_grap_X /* Center X#22=56+30+shift_grap_Y /* Center YG242X[#21]Y[#22+#20]G02X[#21]Y[#22+#20]I[#21]J[#22]G206P0X#21Y#22#21=60-59.088-shift_grap_X /* Center X#22=56-10.419+shift_grap_Y /* Center YG242X[#21]Y[#22+#20]G02X[#21]Y[#22+#20]I[#21]J[#22]G206P0X#21Y#22

/* purple linecolor purple

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

-297-

#20=5 /* Radius#21=60+51.962-shift_grap_X /* Center X#22=56+30+shift_grap_Y /* Center YG242X[#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 YG242X[#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 YG242X[#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 YG242X[#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 YG242X[#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 Linecolor greenG242X[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=2call fig_lineG242X[80-shift_grap_X]Y[56+shift_grap_Y]G03X[60+6.84-shift_grap_X]Y[56+18.794+shift_grap_Y]I[60-shift_grap_X]J[56+shift_grap_Y]

/* yellow Cross Markcolor yellow#1=60-shift_grap_X /* Center#2=56+shift_grap_Ycall fig_mark

/* Charactersif[cursor eq 2]then color -white C blue L1else color white C blue L0endifG243X[46-shift_char_X]Y[12-shift_char_Y](X)if[cursor eq 3]then color -white C blue L1else color white C blue L0endifG243X[48-shift_char_X]Y[12-shift_char_Y](Y)if[cursor eq 4]then color -white C blue L1else

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

-298-

color white C blue L0endifG243X[44-shift_char_X]Y[10-shift_char_Y](R)if[cursor eq 5]then color -white C blue L1else color white C blue L0endifG243X[51-shift_char_X]Y[11-shift_char_Y](A)if[cursor eq 6]then color -white C blue L1else color white C blue L0endifG243X[49-shift_char_X]Y[10-shift_char_Y](P)if[cursor eq 7]then color -white C blue L1else color white C blue L0endifG243X[38-shift_char_X]Y[12-shift_char_Y](N)color white C blue L0G243X[45-shift_char_X]Y[12-shift_char_Y]('(')G243X[47-shift_char_X]Y[12-shift_char_Y](',')G243X[49-shift_char_X]Y[12-shift_char_Y](')')G243X[55-shift_char_X]Y[9-shift_char_Y](1)G243X[50-shift_char_X]Y[7-shift_char_Y](2)G243X[44-shift_char_X]Y[7-shift_char_Y](3)cursor_offm99

O6117 ;############################################### Arc (Different space)/* blue for Workcolor blueG242X[-20-shift_grap_X]Y[-8+shift_grap_Y]G01X[140-shift_grap_X]Y[-8+shift_grap_Y]G01X[140-shift_grap_X]Y[152+shift_grap_Y]G01X[-20-shift_grap_X]Y[152+shift_grap_Y]G01X[-20-shift_grap_X]Y[-8+shift_grap_Y]#20=6 /* Radius#21=60+56.382-shift_grap_X /* Center X#22=56+20.521+shift_grap_Y /* Center YG242X[#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 YG242X[#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 YG242X[#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 YG242X[#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 YG242X[#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=5call fig_character#1=43-shift_char_X /* for R

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

-299-

#2=12-shift_char_Y#3=1call fig_character#1=52-shift_char_X /* for A#2=11-shift_char_Y#3=1call fig_character#1=50-shift_char_X /* for B#2=10-shift_char_Y#3=1call fig_character#1=47-shift_char_X /* for C#2=9-shift_char_Y#3=1call fig_character#1=43-shift_char_X /* for D#2=10-shift_char_Y#3=1call fig_characterG206P0X[0-shift_grap_X]Y[0+shift_grap_Y]

/* white for Removalcolor white#20=4 /* Radius#21=60+56.382-shift_grap_X /* Center X#22=56+20.521+shift_grap_Y /* Center YG242X[#21]Y[#22+#20]G02X[#21]Y[#22+#20]I[#21]J[#22]G206P0X#21Y#22#21=60+10.419-shift_grap_X /* Center X#22=56+59.088+shift_grap_Y /* Center YG242X[#21]Y[#22+#20]G02X[#21]Y[#22+#20]I[#21]J[#22]G206P0X#21Y#22#21=60-20.521-shift_grap_X /* Center X#22=56+56.382+shift_grap_Y /* Center YG242X[#21]Y[#22+#20]G02X[#21]Y[#22+#20]I[#21]J[#22]G206P0X#21Y#22#21=60-59.088-shift_grap_X /* Center X#22=56+10.419+shift_grap_Y /* Center YG242X[#21]Y[#22+#20]G02X[#21]Y[#22+#20]I[#21]J[#22]G206P0X#21Y#22#21=60-59.088-shift_grap_X /* Center X#22=56-10.419+shift_grap_Y /* Center YG242X[#21]Y[#22+#20]G02X[#21]Y[#22+#20]I[#21]J[#22]G206P0X#21Y#22

/* purple linecolor purple#20=5 /* Radius#21=60+56.382-shift_grap_X /* Center X#22=56+20.521+shift_grap_Y /* Center YG242X[#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 YG242X[#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 YG242X[#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

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

-300-

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 YG242X[#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 Linecolor greenG242X[130-shift_grap_X]Y[56+shift_grap_Y]G01X[60-shift_grap_X]Y[56+shift_grap_Y]G01X[60+56.382-shift_grap_X]Y[56+20.521+shift_grap_Y]G242X[60+10.419-shift_grap_X]Y[56+59.088+shift_grap_Y]G01X[60-shift_grap_X]Y[56+shift_grap_Y]G01X[60-20.521-shift_grap_X]Y[56+56.382+shift_grap_Y]G242X[60-59.088-shift_grap_X]Y[56+10.419+shift_grap_Y]G01X[60-shift_grap_X]Y[56+shift_grap_Y]G01X[60-59.088-shift_grap_X]Y[56-10.419+shift_grap_Y]G242X[90-shift_grap_X]Y[56+shift_grap_Y]G03X[60-29.544-shift_grap_X]Y[56+5.209+shift_grap_Y]I[60-shift_grap_X]J[56+shift_grap_Y]G242X[60+56.382-shift_grap_X]Y[56+20.521+shift_grap_Y]G03X[60-59.088-shift_grap_X]Y[56-10.419+shift_grap_Y]I[60-shift_grap_X]J[56+shift_grap_Y]

/* yellow Cross Markcolor yellow#1=60-shift_grap_X /* Center#2=56+shift_grap_Ycall fig_mark

/* Charactersif[cursor eq 2]then color -white C blue L1else color white C blue L0endifG243X[46-shift_char_X]Y[12-shift_char_Y](X)if[cursor eq 3]then color -white C blue L1else color white C blue L0endifG243X[48-shift_char_X]Y[12-shift_char_Y](Y)if[cursor eq 4]then color -white C blue L1else color white C blue L0endifG243X[43-shift_char_X]Y[12-shift_char_Y](R)if[cursor eq 5]then color -white C blue L1else color white C blue L0endifG243X[52-shift_char_X]Y[11-shift_char_Y](A)if[cursor eq 12]then color -white C blue L1else color white C blue L0endifG243X[50-shift_char_X]Y[10-shift_char_Y](B)if[cursor eq 13]then color -white C blue L1

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

-301-

else color white C blue L0endifG243X[47-shift_char_X]Y[9-shift_char_Y](C)if[cursor eq 14]then color -white C blue L1else color white C blue L0endifG243X[43-shift_char_X]Y[10-shift_char_Y](D)color white C blue L0G243X[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_offm99

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

-302-

6.4 INPUTTED DATA CHECKING

/****************************************************************************/*/* CHECK4.SRC :: Hole Pattern/*/***** 8841: Points/***** 8842: Line/***** 8843: Grid/***** 8844: Square/***** 8845: Circle/***** 8846: Arc/****************************************************************************$INCLUDE SYMBOL.DEF

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

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

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

-303-

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

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

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

-304-

O8844 input_error_flag = error_non /* Start Point X */ error_item = 1 if[#[value 1] eq #0]goto 97 /* Start Point Y */ error_item = 2 if[#[value 2] eq #0]goto 97 /* U-Length */ error_item = 3 if[#[value 3] eq #0]goto 97 if[#[value 3] le 0]goto 98 /* V-Length */ error_item = 4 if[#[value 4] eq #0]goto 97 if[#[value 4] le 0]goto 98 /* U-Number */ error_item = 5 if[#[value 5] eq #0]goto 97 if[#[value 5] le 0]goto 98 /* V-Number */ error_item = 6 if[#[value 6] eq #0]goto 97 if[#[value 6] le 0]goto 98 /* Pattern Cont. */ error_item = 13 if[#[value 13] eq #0]goto 97 if[#[value 13] lt 1 || #[value 13] gt 2]goto 98 goto 99 /* Data is lacking. */n97 input_error_flag = error_on call fig_language color red C white L0 G243X1Y24 P[#1+900] goto 99 /* Input error in menu param. */n98 input_error_flag = error_on call fig_language color red C white L0 G243X1Y24 P[#1+901]n99 m99

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

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

-305-

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

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

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

-306-

7 USER PROGRAMS FOR FACING MENU

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

-307-

7.1 COMMENTS DEFINITION

/****************************************************************************/*/* STRING5.SRC :: Face/*/***** 7601: Softkey/***** 7611: Square/***** 7622: Circle/****************************************************************************

O7601 ;############################################### SoftkyeN0001("20 01 C010 20")('SQUARE');N0002("20 01 C018 20")('CIRCLE');M99

O7611 ;############################################### SquareN9999('SQUARE FACE');N9998('SQUARE FACE(DETAIL SET)');N0001('MACH. PROCESS');N0002('CLEARANCE');N0003('END POINT Z');N0004('REMOVAL DEPTH');N0005('REMOVAL PITCH');N0006('FINISHING ALW.');N0007('FEED RATE');N0008('CUTTING WIDTH%');N0009('CUT DIRECTION');N0011('CENTER POINT X');N0012('CENTER POINT Y');N0013('U-LENGTH');N0014('V-LENGTH');N0015('INCLINE ANGLE');N0016('START POINT SEL.');N0017('APPROACH GAP');N0018('ESCAPE GAP');N0019('U-WIDTH');N0020('V-WIDTH');

N0100('15');N0101("20 01 C010 20")('ROUGH ');N0102("20 01 C018 20")('FINISH');N0151('1');N0152('2');

N0900('16');N0901("20 01 C010 20")('UNIDIR');N0902("20 01 C018 20")('BIDIR ');N0903("20 01 C020 20")(' RING ');N0951('1');N0952('2');N0953('3');

N1600('18');N1601("20 01 C010 20")(' [1] ');N1602("20 01 C010 20")(' [2] ');N1603("20 01 C010 20")(' [3] ');N1604("20 01 C010 20")(' [4] ');N1651('1');N1652('2');N1653('3');N1654('4');

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

-308-

M99

O7621 ;############################################### CircleN9999('CIRCLE FACE');N9998('CIRCLE FACE(DETAIL SET)');N0001('MACH. PROCESS');N0002('CLEARANCE');N0003('END POINT Z');N0004('REMOVAL DEPTH');N0005('REMOVAL PITCH');N0006('FINISHING ALW.');N0007('FEED RATE');N0008('CUTTING WIDTH%');N0009('CUT DIRECTION');N0011('CENTER POINT X');N0012('CENTER POINT Y');N0013('RADIUS');N0014('START POINT SEL.');N0015('APPROACH GAP');N0016('ESCAPE GAP');N0017('RING WIDTH');

N0100('15');N0101("20 01 C010 20")('ROUGH ');N0102("20 01 C018 20")('FINISH');N0151('1');N0152('2');

N0900('17');N0901("20 01 C010 20")('UNIDIR');N0902("20 01 C018 20")('BIDIR ');N0903("20 01 C020 20")(' RING ');N0951('1');N0952('2');N0953('3');

N1400('18');N1401("20 01 C010 20")(' [1] ');N1402("20 01 C010 20")(' [2] ');N1403("20 01 C010 20")(' [3] ');N1404("20 01 C010 20")(' [4] ');N1451('1');N1452('2');N1453('3');N1454('4');M99

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

-309-

7.2 DATA ATTRIBUTE

/****************************************************************************/*/* PROC5.SRC :: Face/*/***** 8461: Square/***** 8462: Circle/****************************************************************************$INCLUDE SYMBOL.DEF

O8461 ;############################################### Square#[address 0] = 210#[address 1] = add_P#[attribute 1] = att_character#[value 1] = 1#[address 2] = add_L#[attribute 2] = att_decimal + att_detail#[value 2] = 3#[address 3] = add_Z#[attribute 3] = att_decimal#[value 3] = #0#[address 4] = add_B#[attribute 4] = att_decimal#[value 4] = #0#[address 5] = add_J#[attribute 5] = att_decimal#[value 5] = #0#[address 6] = add_H#[attribute 6] = att_decimal#[value 6] = 0#[address 7] = add_F#[attribute 7] = att_decimal#[value 7] = #0#[address 8] = add_C#[attribute 8] = att_decimal#[value 8] = 70#[address 9] = add_W#[attribute 9] = att_character + att_detail#[value 9] = 1#[address 10] = add_W ;DUMMY#[attribute 10] = att_new_page#[value 10] = #0 ;DUMMY#[address 11] = add_X#[attribute 11] = att_decimal#[value 11] = #0#[address 12] = add_Y#[attribute 12] = att_decimal#[value 12] = #0#[address 13] = add_U#[attribute 13] = att_decimal#[value 13] = #0#[address 14] = add_V#[attribute 14] = att_decimal#[value 14] = #0#[address 15] = add_A#[attribute 15] = att_decimal + att_detail#[value 15] = 0#[address 16] = add_E#[attribute 16] = att_character + att_detail#[value 16] = 1#[address 17] = add_M#[attribute 17] = att_decimal + att_detail#[value 17] = 5

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

-310-

#[address 18] = add_N#[attribute 18] = att_decimal + att_detail#[value 18] = 5#[address 19] = add_Q#[attribute 19] = att_not_use#[value 19] = #0#[address 20] = add_R#[attribute 20] = att_not_use#[value 20] = #0#[address 21] = add_endprevious_cursor = 1 /* Previous cursor position clearm99

O8462 ;############################################### Circle#[address 0] = 211#[address 1] = add_P#[attribute 1] = att_character#[value 1] = 1#[address 2] = add_L#[attribute 2] = att_decimal + att_detail#[value 2] = 3#[address 3] = add_Z#[attribute 3] = att_decimal#[value 3] = #0#[address 4] = add_B#[attribute 4] = att_decimal#[value 4] = #0#[address 5] = add_J#[attribute 5] = att_decimal#[value 5] = #0#[address 6] = add_H#[attribute 6] = att_decimal#[value 6] = 0#[address 7] = add_F#[attribute 7] = att_decimal#[value 7] = #0#[address 8] = add_C#[attribute 8] = att_decimal#[value 8] = 70#[address 9] = add_W#[attribute 9] = att_character + att_detail#[value 9] = 1#[address 10] = add_W ;DUMMY#[attribute 10] = att_new_page#[value 10] = #0 ;DUMMY#[address 11] = add_X#[attribute 11] = att_decimal#[value 11] = #0#[address 12] = add_Y#[attribute 12] = att_decimal#[value 12] = #0#[address 13] = add_R#[attribute 13] = att_decimal#[value 13] = #0#[address 14] = add_E#[attribute 14] = att_character + att_detail#[value 14] = 1#[address 15] = add_M#[attribute 15] = att_decimal + att_detail#[value 15] = 5#[address 16] = add_N#[attribute 16] = att_decimal + att_detail#[value 16] = 5#[address 17] = add_Q#[attribute 17] = att_not_use

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

-311-

#[value 17] = #0#[address 18] = add_endprevious_cursor = 1 /* Previous cursor position clearm99

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

-312-

7.3 GUIDANCE DRAWING FIGURE

/****************************************************************************/*/* FIG5.SRC :: Face/*/***** 8661: Square/***** 8662: Circle/****************************************************************************$INCLUDE SYMBOL.DEF

O8661 ;############################################### Squareif[#[value 9] eq 3]then #1=6124 else #1=6123/*** Guide Picture Setting ***/if[guide_frequency ne secont_tine]goto 90if[cursor le 8]then if[cursor eq 2]then call #1 else if[previous_cursor gt 8 || previous_cursor eq 2]then call fig_clear endif call 6122 endifelse if[cursor eq 15]then call fig_clear call 6121 else if[previous_cursor eq 15]then call fig_clear endif if[previous_cursor lt 9 && previous_cursor ne 2]then call fig_clear endif call #1 endifendifprevious_cursor = cursorn90

/*** Attribution Setting ***/if[#[value 1] eq 1]then /* Rough #[attribute 4] = att_decimal #[attribute 5] = att_decimal #[attribute 6] = att_decimalelse /* Finish #[attribute 4] = att_not_use #[attribute 5] = att_not_use #[attribute 6] = att_not_useendifif[#[value 9] eq 3]then /* Ring #[attribute 19] = att_decimal + att_detail #[attribute 20] = att_decimal + att_detailelse /* Uni Dir or Bi Dir #[attribute 19] = att_not_use #[attribute 20] = att_not_useendifm99

O8662 ;############################################### Circle

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

-313-

if[#[value 9] eq 3]then #1=6126 else #1=6125/*** Guide Picture Setting ***/if[guide_frequency ne secont_tine]goto 90if[cursor le 8]then if[cursor eq 2]then call #1 else if[previous_cursor gt 8 || previous_cursor eq 2]then call fig_clear endif call 6122 endifelse if[previous_cursor le 9 && previous_cursor ne 2]then call fig_clear endif if[previous_cursor eq 9]then call fig_clear endif call #1endifprevious_cursor = cursorn90

/*** Attribution Setting ***/if[#[value 1] eq 1]then /* Rough #[attribute 4] = att_decimal #[attribute 5] = att_decimal #[attribute 6] = att_decimalelse /* Finish #[attribute 4] = att_not_use #[attribute 5] = att_not_use #[attribute 6] = att_not_useendifif[#[value 9] eq 3]then /* Ring #[attribute 17] = att_decimal + att_detailelse /* Uni Dir or Bi Dir #[attribute 17] = att_not_useendifm99

/****************************************************************************/*/* FIGSUB5.SRC :: Face/*/***** 6121: Angle/***** 6122: Prepare/***** 6123: Square Uni/Bi Dir/***** 6124: Square Ring/***** 6125: Circle Uni/Bi Dir/***** 6126: Circle Ring/****************************************************************************$INCLUDE SYMBOL.DEF

O6121 ;############################################### Angle/* blue for Workcolor blueG242X[24-shift_grap_X]Y[21+shift_grap_Y]G01X[119-shift_grap_X]Y[68+shift_grap_Y]G01X[88-shift_grap_X]Y[131+shift_grap_Y]G01X[-7-shift_grap_X]Y[84+shift_grap_Y]G01X[24-shift_grap_X]Y[21+shift_grap_Y]#1=45-shift_char_X /* for (X,Y)

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

-314-

#2=11-shift_char_Y#3=5call fig_character#1=51-shift_char_X /* for A#2=10-shift_char_Y#3=1call fig_characterG206P0X[24-shift_grap_X]Y[68+shift_grap_Y]

/* Edge Linecolor purpleG242X[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 Linecolor greenG242X[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=0call fig_line#1=-24-shift_grap_X#2=4+shift_grap_Y#3=-24-shift_grap_X#4=132+shift_grap_Y#5=0call fig_line

/* yellow Cross Markcolor yellow#1=56-shift_grap_X#2=76+shift_grap_Ycall fig_mark

/* Characterscolor -white C blue L1G243X[51-shift_char_X]Y[10-shift_char_Y](A)color white C blue L0G243X[45-shift_char_X]Y[11-shift_char_Y]('(X,Y)')cursor_offm99

O6122 ;############################################### Prepare/* blue for Workcolor blueG242X[-15-shift_grap_X]Y[41+shift_grap_Y]G01X[111-shift_grap_X]Y[41+shift_grap_Y]G01X[111-shift_grap_X]Y[63+shift_grap_Y]G01X[-15-shift_grap_X]Y[63+shift_grap_Y]G01X[-15-shift_grap_X]Y[41+shift_grap_Y]G206P0X[0-shift_grap_X]Y[50+shift_grap_Y]

/* blue green for Finishcolor sky_blueG242X[-15-shift_grap_X]Y[65+shift_grap_Y]

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

-315-

G01X[111-shift_grap_X]Y[65+shift_grap_Y]G01X[111-shift_grap_X]Y[71+shift_grap_Y]G01X[-15-shift_grap_X]Y[71+shift_grap_Y]G01X[-15-shift_grap_X]Y[65+shift_grap_Y]G206P0X[0-shift_grap_X]Y[67+shift_grap_Y]

/* white for Removalcolor whiteG242X[-15-shift_grap_X]Y[73+shift_grap_Y]G01X[111-shift_grap_X]Y[73+shift_grap_Y]G01X[111-shift_grap_X]Y[87+shift_grap_Y]G01X[33-shift_grap_X]Y[87+shift_grap_Y]G01X[33-shift_grap_X]Y[79+shift_grap_Y]G01X[-15-shift_grap_X]Y[79+shift_grap_Y]G01X[-15-shift_grap_X]Y[73+shift_grap_Y]G206P0X[0-shift_grap_X]Y[75+shift_grap_Y]

/* Toolcolor greenG242X[-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 Linecolor sky_blueG242X[-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 purpleG242X[-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 ToolG01X[-17-shift_grap_X]Y[80+shift_grap_Y]G242X[32-shift_grap_X]Y[80+shift_grap_Y]G01X[28-shift_grap_X]Y[96+shift_grap_Y]G01X[-20-shift_grap_X]Y[96+shift_grap_Y]G01X[-24-shift_grap_X]Y[80+shift_grap_Y]G242X[-4-shift_grap_X]Y[97+shift_grap_Y]G01X[-4-shift_grap_X]Y[112+shift_grap_Y]G242X[12-shift_grap_X]Y[97+shift_grap_Y]G01X[12-shift_grap_X]Y[112+shift_grap_Y]G242X[-4-shift_grap_X]Y[112+shift_grap_Y]G02X[4-shift_grap_X]Y[112+shift_grap_Y]I[0-shift_grap_X]J[112-4+shift_grap_Y]G03X[12-shift_grap_X]Y[112+shift_grap_Y]I[8-shift_grap_X]J[112+4+shift_grap_Y]G03X[4-shift_grap_X]Y[112+shift_grap_Y]I[8-shift_grap_X]J[112-4+shift_grap_Y]

/* red for Pathcolor redG242X[33-shift_grap_X]Y[80+shift_grap_Y]G01X[111-shift_grap_X]Y[80+shift_grap_Y]

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

-316-

/* green Linecolor greenG242X[-17-shift_grap_X]Y[72+shift_grap_Y] /* for HG01X[-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=1call fig_line#1=-20-shift_grap_X#2=63+shift_grap_Y#3=#1#4=57+shift_grap_Y#5=1call fig_lineG242X[113-shift_grap_X]Y[88+shift_grap_Y] /* for BG01X[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=2call fig_lineG242X[113-shift_grap_X]Y[80+shift_grap_Y] /* for JG01X[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=1call fig_line#1=116-shift_grap_X#2=79+shift_grap_Y#3=#1#4=69+shift_grap_Y#5=1call fig_line

/* Characters#1=3call fig_cursorG243X[57-shift_char_X]Y[11-shift_char_Y](Z)#1=4call fig_cursorG243X[57-shift_char_X]Y[10-shift_char_Y](B)#1=5call fig_cursorG243X[55-shift_char_X]Y[10-shift_char_Y](J)#1=6call fig_cursorG243X[36-shift_char_X]Y[11-shift_char_Y](H)cursor_offm99

O6123 ;############################################### Square Uni/Bi Dir/* blue for Workcolor blueG242X[9-shift_grap_X]Y[25+shift_grap_Y]G01X[95-shift_grap_X]Y[25+shift_grap_Y]

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

-317-

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=5call fig_characterG206P0X[50-shift_grap_X]Y[50+shift_grap_Y]

/* green for Toolcolor greenG242X[-1-shift_grap_X]Y[104+shift_grap_Y]G02X[-1-shift_grap_X]Y[104+shift_grap_Y]I[-16-shift_grap_X]J[104+shift_grap_Y]Q4G206P0X[-16-shift_grap_X]Y[104+shift_grap_Y]G242X[105-shift_grap_X]Y[40+shift_grap_Y]G02X[105-shift_grap_X]Y[40+shift_grap_Y]I[120-shift_grap_X]J[40+shift_grap_Y]Q4G206X[120-shift_grap_X]Y[40+shift_grap_Y]

/* Edge Linecolor 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]Q4G242X[104-shift_grap_X]Y[40+shift_grap_Y]G02X[104-shift_grap_X]Y[40+shift_grap_Y]I[120-shift_grap_X]J[40+shift_grap_Y]Q4

/* red for Pathcolor redG242X[120-shift_grap_X]Y[40+shift_grap_Y]G01X[-16-shift_grap_X]Y[40+shift_grap_Y]dot_lineif[#[value 9] eq 1]then G01X[120-shift_grap_X]Y[72+shift_grap_Y] solid_line G01X[-16-shift_grap_X]Y[72+shift_grap_Y]else G01X[-16-shift_grap_X]Y[72+shift_grap_Y] solid_line G01X[120-shift_grap_X]Y[72+shift_grap_Y]endifsolid_lineG01X[120-shift_grap_X]Y[104+shift_grap_Y]solid_lineG01X[-16-shift_grap_X]Y[104+shift_grap_Y]if[#[value 9] eq 1]then ;Direction of Cutting #1=16-shift_grap_X #2=40+shift_grap_Y #3=18-shift_grap_X #4=40+shift_grap_Y #5=1 call fig_line #1=16-shift_grap_X #2=72+shift_grap_Y #3=18-shift_grap_X #4=72+shift_grap_Y #5=1 call fig_line #1=16-shift_grap_X #2=104+shift_grap_Y #3=18-shift_grap_X #4=104+shift_grap_Y #5=1

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

-318-

call fig_lineelse #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_lineendif#1=105-shift_grap_X /* (1)#2=16+shift_grap_Y#3=115-shift_grap_X#4=16+shift_grap_Y#5=1call fig_line#1=105-shift_grap_X /* (2)#2=112+shift_grap_Y#3=115-shift_grap_X#4=112+shift_grap_Y#5=1call fig_line#1=-1-shift_grap_X /* (3)#2=32+shift_grap_Y#3=-11-shift_grap_X#4=32+shift_grap_Y#5=1call fig_line#1=-1-shift_grap_X /* (4)#2=128+shift_grap_Y#3=-11-shift_grap_X#4=128+shift_grap_Y#5=1call fig_line

/* green Linecolor greenG242X[0-shift_grap_X]Y[104+shift_grap_Y] /* for NG01X[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=1call fig_line#1=9-shift_grap_X#2=143+shift_grap_Y#3=19-shift_grap_X#4=#2#5=1call fig_lineG242X[96-shift_grap_X]Y[121+shift_grap_Y] /* for UG01X[96-shift_grap_X]Y[136+shift_grap_Y]#1=9-shift_grap_X

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

-319-

#2=135+shift_grap_Y#3=95-shift_grap_X#4=#2#5=2call fig_lineG242X[97-shift_grap_X]Y[120+shift_grap_Y] /* for VG01X[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=2call fig_lineG242X[96-shift_grap_X]Y[23+shift_grap_Y] /* for MG01X[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=1call fig_line#1=105-shift_grap_X#2=0+shift_grap_Y#3=115-shift_grap_X#4=#2#5=1call fig_line

/* yellow Cross Markcolor yellow#1=52-shift_grap_X /* Center#2=72+shift_grap_Ycall fig_mark

/* Charactersif[cursor eq 11]then color -white C blue L1else color white C blue L0endifG243X[45-shift_char_X]Y[11-shift_char_Y](X)if[cursor eq 12]then color -white C blue L1else color white C blue L0endifG243X[47-shift_char_X]Y[11-shift_char_Y](Y)

#1=13call fig_cursorG243X[46-shift_char_X]Y[6-shift_char_Y](U)#1=14call fig_cursorG243X[58-shift_char_X]Y[10-shift_char_Y](V);call fig_cursorcursor_offG243X[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=17call fig_cursorG243X[52-shift_char_X]Y[16-shift_char_Y](M)

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

-320-

#1=18call fig_cursorG243X[40-shift_char_X]Y[5-shift_char_Y](N)

color white C blue L0G243X[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_offm99

O6124 ;############################################### Square Ring/* blue for Workcolor blueG242X[1-shift_grap_X]Y[25+shift_grap_Y] /* Outer SquareG01X[95-shift_grap_X]Y[25+shift_grap_Y]G01X[95-shift_grap_X]Y[119+shift_grap_Y]G01X[1-shift_grap_X]Y[119+shift_grap_Y]G01X[1-shift_grap_X]Y[25+shift_grap_Y]G242X[31-shift_grap_X]Y[55+shift_grap_Y] /* Inner SquareG01X[65-shift_grap_X]Y[55+shift_grap_Y]G01X[65-shift_grap_X]Y[89+shift_grap_Y]G01X[31-shift_grap_X]Y[89+shift_grap_Y]G01X[31-shift_grap_X]Y[55+shift_grap_Y]G242X[72-shift_grap_X]Y[57+shift_grap_Y] /* ToolG02X[72-shift_grap_X]Y[57+shift_grap_Y]I[72-shift_grap_X]J[48+shift_grap_Y]Q4#1=48-shift_char_X /* for '('#2=11-shift_char_Y#3=1call fig_characterG206P0X[10-shift_grap_X]Y[40+shift_grap_Y]

/* green for Toolcolor greenG242X[72-shift_grap_X]Y[55+shift_grap_Y] /* Start ToolG02X[72-shift_grap_X]Y[55+shift_grap_Y]I[72-shift_grap_X]J[48+shift_grap_Y]Q4G206P0X[72-shift_grap_X]Y[48+shift_grap_Y]G242X[112-shift_grap_X]Y[39+shift_grap_Y] /* End ToolG02X[112-shift_grap_X]Y[39+shift_grap_Y]I[112-shift_grap_X]J[32+shift_grap_Y]Q4G206P0X[112-shift_grap_X]Y[32+shift_grap_Y]

/* Edge Linecolor sky_blue /* for Work(blue green)G242X[0-shift_grap_X]Y[24 +shift_grap_Y] /* Outer SquareG01X[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 SquareG01X[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 ToolG02X[72-shift_grap_X]Y[56+shift_grap_Y]I[72-shift_grap_X]J[48+shift_grap_Y]Q4G242X[112-shift_grap_X]Y[40+shift_grap_Y] /* End ToolG02X[112-shift_grap_X]Y[40+shift_grap_Y]I[112-shift_grap_X]J[32+shift_grap_Y]Q4

/* red for Pathcolor redG242X[95-shift_grap_X]Y[32+shift_grap_Y]G01X[8-shift_grap_X]Y[32+shift_grap_Y]G01X[8-shift_grap_X]Y[112+shift_grap_Y]G01X[88-shift_grap_X]Y[112+shift_grap_Y]

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

-321-

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=1call fig_line#1=25-shift_grap_X#2=40+shift_grap_Y#3=26-shift_grap_X#4=40+shift_grap_Y#5=1call fig_line#1=25-shift_grap_X#2=48+shift_grap_Y#3=26-shift_grap_X#4=48+shift_grap_Y#5=1call fig_line#1=113-shift_grap_X /* (1)#2=16+shift_grap_Y#3=123-shift_grap_X#4=16+shift_grap_Y#5=1call fig_line#1=97-shift_grap_X /* (2)#2=112+shift_grap_Y#3=107-shift_grap_X#4=112+shift_grap_Y#5=1call fig_line /* (3)#1=-1-shift_grap_X#2=32+shift_grap_Y#3=-11-shift_grap_X#4=32+shift_grap_Y#5=1call fig_line#1=-1-shift_grap_X /* (4)#2=112+shift_grap_Y#3=-11-shift_grap_X#4=112+shift_grap_Y#5=1call fig_line

/* green Linecolor greenG242X[0-shift_grap_X]Y[121+shift_grap_Y] /* for UG01X[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=2call fig_lineG242X[97-shift_grap_X]Y[24+shift_grap_Y] /* for VG01X[128-shift_grap_X]Y[24+shift_grap_Y]G242X[97-shift_grap_X]Y[120+shift_grap_Y]

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

-322-

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=2call fig_lineG242X[96-shift_grap_X]Y[23+shift_grap_Y] /* for MG01X[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=1call fig_line#1=105-shift_grap_X#2=18+shift_grap_Y#3=115-shift_grap_X#4=18+shift_grap_Y#5=1call fig_lineG242X[65-shift_grap_X]Y[56+shift_grap_Y] /* for NG01X[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=1call fig_line#1=100-shift_grap_X#2=57+shift_grap_Y#3=100-shift_grap_X#4=67+shift_grap_Y#5=1call fig_lineG242X[64-shift_grap_X]Y[23+shift_grap_Y] /* for QG01X[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=2call fig_lineG242X[65-shift_grap_X]Y[88+shift_grap_Y] /* for RG01X[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=2call fig_line

/* yellow Cross Markcolor yellow#1=48-shift_grap_X /* Center#2=72+shift_grap_Ycall fig_mark

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

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

-323-

call fig_cursorG243X[47-shift_char_X]Y[11-shift_char_Y](Y)#1=13call fig_cursorG243X[46-shift_char_X]Y[6-shift_char_Y](U)#1=14call fig_cursorG243X[56-shift_char_X]Y[10-shift_char_Y](V)#1=17call fig_cursorG243X[52-shift_char_X]Y[15-shift_char_Y](M)#1=18call fig_cursorG243X[53-shift_char_X]Y[12-shift_char_Y](N)#1=19call fig_cursorG243X[49-shift_char_X]Y[15-shift_char_Y](Q)#1=20call fig_cursorG243X[53-shift_char_X]Y[9-shift_char_Y](R)

color white C blue L0G243X[48-shift_char_X]Y[11-shift_char_Y](')')cursor_offG243X[44-shift_char_X]Y[11-shift_char_Y]('(')G243X[46-shift_char_X]Y[11-shift_char_Y](',')G243X[55-shift_char_X]Y[14-shift_char_Y]('(1)')G243X[53-shift_char_X]Y[8-shift_char_Y]('(2)')G243X[36-shift_char_X]Y[13-shift_char_Y]('(3)')G243X[36-shift_char_X]Y[8-shift_char_Y]('(4)')m99

O6125 ;############################################### Circle Uni/Bi Dir/* blue for Workcolor blueG242X[56-shift_grap_X]Y[25+shift_grap_Y]G02X[56-shift_grap_X]Y[25+shift_grap_Y]I[56-shift_grap_X]J[72+shift_grap_Y]Q4#1=44-shift_char_X /* for (X,Y)#2=11-shift_char_Y#3=5call fig_character#1=48-shift_char_X /* for R#2=9-shift_char_Y#3=1call fig_characterG206P0X[56-shift_grap_X]Y[40+shift_grap_Y]

/* green for Toolcolor greenG242X[115.777-shift_grap_X]Y[47+shift_grap_Y] /* Start ToolG02X[115.777-shift_grap_X]Y[47+shift_grap_Y]I[115.777-shift_grap_X]J[40+shift_grap_Y]Q4G206P0X[115.777-shift_grap_X]Y[40+shift_grap_Y]G242X[-3.777-shift_grap_X]Y[111+shift_grap_Y] /* End ToolG02X[-3.777-shift_grap_X]Y[111+shift_grap_Y]I[-3.777-shift_grap_X]J[104+shift_grap_Y]Q4G206P0X[-3.777-shift_grap_X]Y[104+shift_grap_Y]

/* Edge Linecolor 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]Q4color purple /* Tools(purple)G242X[115.777-shift_grap_X]Y[48+shift_grap_Y] /* Start ToolG02X[115.777-shift_grap_X]Y[48+shift_grap_Y]I[115.777-shift_grap_X]J[40+shift_grap_Y]Q4G242X[-3.777-shift_grap_X]Y[112+shift_grap_Y] /* End ToolG02X[-3.777-shift_grap_X]Y[112+shift_grap_Y]I[-3.777-shift_grap_X]J[104+shift_grap_Y]Q4

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

-324-

/* red for Pathcolor redG242X[115.777-shift_grap_X]Y[40+shift_grap_Y]G01X[-3.777-shift_grap_X]Y[40+shift_grap_Y]dot_lineif[#[value 9] eq 1]then G01X[128-shift_grap_X]Y[72+shift_grap_Y] solid_line G01X[-16-shift_grap_X]Y[72+shift_grap_Y]else G01X[-16-shift_grap_X]Y[72+shift_grap_Y] solid_line G01X[128-shift_grap_X]Y[72+shift_grap_Y]endifdot_lineG01X[115.777-shift_grap_X]Y[104+shift_grap_Y]solid_lineG01X[-3.777-shift_grap_X]Y[104+shift_grap_Y]if[#[value 9] eq 1]then /* Arrows for Cutting Direction #1=48-shift_grap_X #2=40+shift_grap_Y #3=49-shift_grap_X #4=#2 #5=1 call fig_line #1=48-shift_grap_X #2=72+shift_grap_Y #3=49-shift_grap_X #4=#2 #5=1 call fig_line #1=48-shift_grap_X #2=104+shift_grap_Y #3=49-shift_grap_X #4=#2 #5=1 call fig_lineelse #1=48-shift_grap_X #2=40+shift_grap_Y #3=49-shift_grap_X #4=#2 #5=1 call fig_line #1=48-shift_grap_X #2=104+shift_grap_Y #3=49-shift_grap_X #4=#2 #5=1 call fig_line #1=54-shift_grap_X #2=72+shift_grap_Y #3=53-shift_grap_X #4=#2 #5=1 call fig_lineendif#1=112-shift_grap_X /* (1)#2=29+shift_grap_Y#3=122-shift_grap_X#4=#2#5=1call fig_line#1=112-shift_grap_X /* (2)#2=115+shift_grap_Y#3=122-shift_grap_X

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

-325-

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

/* green Linecolor greenG242X[98.318-shift_grap_X]Y[49.4362+shift_grap_Y] /* ApproachG01X[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] /* EscapeG01X[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=0call fig_line

/* yellow Cross Markcolor yellow#1=56-shift_grap_X /* Center#2=72+shift_grap_Ycall fig_mark

/* Charactersif[cursor eq 11]then color -white C blue L1else color white C blue L0endifG243X[45-shift_char_X]Y[11-shift_char_Y](X)if[cursor eq 12]then color -white C blue L1else color white C blue L0endifG243X[47-shift_char_X]Y[11-shift_char_Y](Y)if[cursor eq 13]then color -white C blue L1else color white C blue L0endifG243X[48-shift_char_X]Y[9-shift_char_Y](R)#1=15call fig_cursorG243X[50-shift_char_X]Y[14-shift_char_Y](M)#1=16call fig_cursorG243X[42-shift_char_X]Y[7-shift_char_Y](N)

color white C blue L0G243X[44-shift_char_X]Y[11-shift_char_Y]('(')

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

-326-

G243X[46-shift_char_X]Y[11-shift_char_Y](',')G243X[48-shift_char_X]Y[11-shift_char_Y](')')cursor_offG243X[55-shift_char_X]Y[13-shift_char_Y]('(1)')G243X[55-shift_char_X]Y[8-shift_char_Y]('(2)')G243X[36-shift_char_X]Y[13-shift_char_Y]('(3)')G243X[36-shift_char_X]Y[8-shift_char_Y]('(4)')m99

O6126 ;############################################### Circle Ring/* blue for Workcolor blueG242X[9-shift_grap_X]Y[88+shift_grap_Y]G02X[9-shift_grap_X]Y[88+shift_grap_Y]I[60-shift_grap_X]J[88+shift_grap_Y]Q4G242X[39-shift_grap_X]Y[88+shift_grap_Y]G02X[39-shift_grap_X]Y[88+shift_grap_Y]I[60-shift_grap_X]J[88+shift_grap_Y]Q4#1=43-shift_char_X /* for Q#2=9-shift_char_Y#3=1call fig_character#1=49-shift_char_X /* for R#2=8-shift_char_Y#3=1call fig_characterG206P0X[30-shift_grap_X]Y[70+shift_grap_Y]

/* green for Toolcolor greenG242X[105-shift_grap_X]Y[44+shift_grap_Y] /* Start ToolG02X[105-shift_grap_X]Y[44+shift_grap_Y]I[112-shift_grap_X]J[44+shift_grap_Y]Q4G206P0X[112-shift_grap_X]Y[44+shift_grap_Y]G242X[41-shift_grap_X]Y[60+shift_grap_Y] /* End ToolG02X[41-shift_grap_X]Y[60+shift_grap_Y]I[48-shift_grap_X]J[60+shift_grap_Y]Q4G206P0X[48-shift_grap_X]Y[60+shift_grap_Y]

/* Edge Linecolor 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]Q4G242X[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]Q4color purple /* for Work(purple)G242X[104-shift_grap_X]Y[44+shift_grap_Y] /* Start ToolG02X[104-shift_grap_X]Y[44+shift_grap_Y]I[112-shift_grap_X]J[44+shift_grap_Y]Q4G242X[40-shift_grap_X]Y[60+shift_grap_Y] /* End ToolG02X[40-shift_grap_X]Y[60+shift_grap_Y]I[48-shift_grap_X]J[60+shift_grap_Y]Q4

/* red for Pathcolor redG242X[60-shift_grap_X]Y[44+shift_grap_Y]G02X[60-shift_grap_X]Y[44+shift_grap_Y]I[60-shift_grap_X]J[88+shift_grap_Y]Q4G242X[60-shift_grap_X]Y[60+shift_grap_Y]G02X[60-shift_grap_X]Y[60+shift_grap_Y]I[60-shift_grap_X]J[88+shift_grap_Y]Q4G242X[112-shift_grap_X]Y[44+shift_grap_Y]G01X[61-shift_grap_X]Y[44+shift_grap_Y]G242X[59-shift_grap_X]Y[60+shift_grap_Y]G01X[48-shift_grap_X]Y[60+shift_grap_Y]#1=60-shift_grap_X#2=44+shift_grap_Y#3=61-shift_grap_X#4=#2#5=1call fig_line#1=48-shift_grap_X#2=60+shift_grap_Y

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

-327-

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

/* green Linecolor greenG242X[99.6961-shift_grap_X]Y[54.411+shift_grap_Y] /* for MG01X[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 NG01X[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=2call 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=0call fig_line

/* yellow Cross Markcolor yellow#1=60-shift_grap_X /* Center#2=88+shift_grap_Ycall fig_mark

/* Charactersif[cursor eq 13]then color -white C blue L1else color white C blue L0endifG243X[49-shift_char_X]Y[8-shift_char_Y](R)if[cursor eq 17]then color -white C blue L1

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

-328-

else color white C blue L0endifG243X[43-shift_char_X]Y[9-shift_char_Y](Q)

#1=11call fig_cursorG243X[46-shift_char_X]Y[10-shift_char_Y](X)#1=12call fig_cursorG243X[48-shift_char_X]Y[10-shift_char_Y](Y)#1=15call fig_cursorG243X[55-shift_char_X]Y[10-shift_char_Y](M)#1=16call fig_cursorG243X[46-shift_char_X]Y[14-shift_char_Y](N)

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

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

-329-

7.4 INPUTTED DATA CHECKING

/****************************************************************************/*/* CHECK5.SRC :: Face/*/***** 8861: Square/***** 8862: Circle/****************************************************************************$INCLUDE SYMBOL.DEF

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

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

-330-

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

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

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

-331-

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

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

-332-

8 USER PROGRAMS FOR SIDE CUTTINGMENU

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

-333-

8.1 COMMENTS DEFINITION

/****************************************************************************/*/* STRING6.SRC :: Side (ENGLISH)/*/***** 7701: Softkey/***** 7711: Square/***** 7721: Circle/***** 7731: Track/***** 7741: One Side/***** 7751: Contour/****************************************************************************

O7701 ;############################################### SoftkyeN0001("20 01 C010 20")('SQUARE');N0002("20 01 C018 20")('CIRCLE');N0003("20 01 C020 20")('TRACK ');N0004("20 01 C028 20")('ONE SD');N0005("20 01 C030 20")('CONTR ');M99

O7711 ;############################################### SquareN9999('SQUARE SIDE');N9998('SQUARE SIDE(DETAIL SET)');N0001('MACH. PROCESS');N0002('CLEARANCE');N0003('END POINT Z');N0004('SIDE REMOVAL');N0005('SIDE PITCH');N0006('SIDE FINISH');N0007('BOTTOM REMOVAL');N0008('BOTTOM PITCH');N0009('BOTTOM FINISH');N0011('TAPER ANGLE');N0012('CHAMFER REMOVAL');N0013('TOOL SMALL DIA.');N0014('CHAMFER ANGLE');N0015('TOOL OUT DEPTH');N0016('TOOL CORNER-R');N0017('FEED RATE');N0018('Z-CUT FEED RATE');N0020('MACH. SHAPE');N0021('CENTER POINT X');N0022('CENTER POINT Y');N0023('U-LENGTH');N0024('V-LENGTH');N0025('CUT DIRECTION');N0026('CORNER TYPE');N0027('CORNER R/C');N0028('INCLINE ANGLE');N0029('APPROACH GAP');N0030('APPROACH/ESCAPE');N0031('START POINT SEL.');N0032('START POINT SEL.');

N0100('19');N0101("20 01 C010 20")('ROUGH ');N0102("20 01 C018 20")('B-FIN ');N0103("20 01 C020 20")('S-FIN ');N0104("20 01 C028 20")('CHAMF ');N0151('1');

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

-334-

N0152('2');N0153('3');N0154('4');

N2000('20');N2001("20 01 C010 20")('OUTSID');N2002("20 01 C018 20")('INSIDE');N2051('1');N2052('2');

N2500('21');N2501("20 01 C010 20")('DOWNCT');N2502("20 01 C018 20")('UPCUT ');N2551('1');N2552('2');

N2600('22');N2601("20 01 C010 20")(' R ');N2602("20 01 C018 20")(' C ');N2651('1');N2652('2');

N3100('18');N3101("20 01 C028 20")(' [1] ');N3102("20 01 C030 20")(' [2] ');N3151('1');N3152('2');

N3200('18');N3201("20 01 C038 20")(' [1] ');N3202("20 01 C040 20")(' [2] ');N3251('1');N3252('2');

M99

O7721 ;############################################### CircleN9999('CIRCLE SIDE');N9998('CIRCLE SIDE(DETAIL SET)');N0001('MACH. PROCESS');N0002('CLEARANCE');N0003('END POINT Z');N0004('SIDE REMOVAL');N0005('SIDE PITCH');N0006('SIDE FINISH');N0007('BOTTOM REMOVAL');N0008('BOTTOM PITCH');N0009('BOTTOM FINISH');N0011('TAPER ANGLE');N0012('CHAMFER REMOVAL');N0013('TOOL SMALL DIA.');N0014('CHAMFER ANGLE');N0015('TOOL OUT DEPTH');N0016('TOOL CORNER-R');N0017('FEED RATE');N0018('Z-CUT FEED RATE');N0020('MACH. SHAPE');N0021('CENTER POINT X');N0022('CENTER POINT Y');N0023('RADIUS');N0024('CUT DIRECTION');N0025('APPROACH GAP');N0026('APPROACH/ESCAPE');N0027('START POINT SEL.');N0028('START POINT SEL.');

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

-335-

N0100('19');N0101("20 01 C010 20")('ROUGH ');N0102("20 01 C018 20")('B-FIN ');N0103("20 01 C020 20")('S-FIN ');N0104("20 01 C028 20")('CHAMF ');N0151('1');N0152('2');N0153('3');N0154('4');

N2000('23');N2001("20 01 C010 20")('OUTSID');N2002("20 01 C018 20")('INSIDE');N2051('1');N2052('2');

N2400('21');N2401("20 01 C010 20")('DOWNCT');N2402("20 01 C018 20")('UPCUT ');N2451('1');N2452('2');

N2700('18');N2701("20 01 C028 20")(' [1] ');N2702("20 01 C030 20")(' [2] ');N2751('1');N2752('2');

N2800('18');N2801("20 01 C038 20")(' [1] ');N2802("20 01 C040 20")(' [2] ');N2851('1');N2852('2');

M99

O7731 ;############################################### TrackN9999('TRACK SIDE');N9998('TRACK SIDE(DETAIL SET)');N0001('MACH. PROCESS');N0002('CLEARANCE');N0003('END POINT Z');N0004('SIDE REMOVAL');N0005('SIDE PITCH');N0006('SIDE FINISH');N0007('BOTTOM REMOVAL');N0008('BOTTOM PITCH');N0009('BOTTOM FINISH');N0011('TAPER ANGLE');N0012('CHAMFER REMOVAL');N0013('TOOL SMALL DIA.');N0014('CHAMFER ANGLE');N0015('TOOL OUT DEPTH');N0016('TOOL CORNER-R');N0017('FEED RATE');N0018('Z-CUT FEED RATE');N0020('MACH. SHAPE');N0021('CENTER POINT X');N0022('CENTER POINT Y');N0023('CENTER DISTANCE');N0024('RADIUS');N0025('CUT DIRECTION');N0026('INCLINE ANGLE');N0027('APPROACH GAP');

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

-336-

N0028('APPROACH/ESCAPE');N0029('START POINT SEL.');N0030('START POINT SEL.');

N0100('19');N0101("20 01 C010 20")('ROUGH ');N0102("20 01 C018 20")('B-FIN ');N0103("20 01 C020 20")('S-FIN ');N0104("20 01 C028 20")('CHAMF ');N0151('1');N0152('2');N0153('3');N0154('4');

N2000('24');N2001("20 01 C010 20")('OUTSID');N2002("20 01 C018 20")('INSIDE');N2051('1');N2052('2');

N2500('21');N2501("20 01 C010 20")('DOWNCT');N2502("20 01 C018 20")('UPCUT ');N2551('1');N2552('2');

N2900('18');N2901("20 01 C028 20")(' [1] ');N2902("20 01 C030 20")(' [2] ');N2951('1');N2952('2');

N3000('18');N3001("20 01 C038 20")(' [1] ');N3002("20 01 C040 20")(' [2] ');N3051('1');N3052('2');

M99

O7741 ;############################################### One SideN9999('ONE SIDE');N9998('ONE SIDE(DETAIL SET)');N0001('MACH. PROCESS');N0002('CLEARANCE');N0003('END POINT Z');N0004('SIDE REMOVAL');N0005('SIDE PITCH');N0006('SIDE FINISH');N0007('BOTTOM REMOVAL');N0008('BOTTOM PITCH');N0009('BOTTOM FINISH');N0011('TAPER ANGLE');N0012('CHAMFER REMOVAL');N0013('TOOL SMALL DIA.');N0014('CHAMFER ANGLE');N0015('TOOL OUT DEPTH');N0016('TOOL CORNER-R');N0017('FEED RATE');N0020('CENTER POINT X');N0021('CENTER POINT Y');N0022('U-LENGTH');N0023('CUT DIRECTION');N0024('INCLINE ANGLE');N0025('APPROACH/ESCAPE');

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

-337-

N0026('ESCAPE/APPROACH');

N0100('19');N0101("20 01 C010 20")('ROUGH ');N0102("20 01 C018 20")('B-FIN ');N0103("20 01 C020 20")('S-FIN ');N0104("20 01 C028 20")('CHAMF ');N0151('1');N0152('2');N0153('3');N0154('4');

N2300('31');N2301("20 01 C010 20")('1-DOWN');N2302("20 01 C018 20")(' 2-UP ');N2303("20 01 C020 20")(' 3-UP ');N2304("20 01 C018 20")('4-DOWN');N2351('1');N2352('2');N2353('3');N2354('4');M99

O7751 ;############################################### ContourN9999('CONTOUR SIDE');N9998('CONTOUR SIDE(DETAIL SET)');N0001('MACH. PROCESS');N0002('CLEARANCE');N0003('END POINT Z');N0004('SIDE REMOVAL');N0005('SIDE PITCH');N0006('SIDE FINISH');N0007('BOTTOM REMOVAL');N0008('BOTTOM PITCH');N0009('BOTTOM FINISH');N0017('FEED RATE');N0018('CUTTING WIDTH%');N0019('Z-CUT FEED RATE');N0020('CUT DIRECTION');N0021('APPROACH TYPE');N0022('APPROACH RADIUS');N0023('APPROACH ANGLE');N0024('APPROACH DISTANCE');N0025('ESCAPE TYPE');N0026('ESCAPE RADIUS');N0027('ESCAPE ANGLE');N0028('ESCAPE DISTANCE');N0029('COMP. DIRECTION');

N0100('19');N0101("20 01 C010 20")('ROUGH ');N0102("20 01 C018 20")('B-FIN ');N0103("20 01 C020 20")('S-FIN ');N0151('1');N0152('2');N0153('3');

N2000('21');N2001("20 01 C010 20")('DOWNCT');N2002("20 01 C018 20")('UPCUT ');N2051('1');N2052('2');

N2100('25');N2101("20 01 C010 20")('CIRCLE');

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

-338-

N2102("20 01 C018 20")('TANGNT');N2103("20 01 C020 20")('VERTCL');N2151('1');N2152('2');N2153('3');

N2500('26');N2501("20 01 C010 20")('CIRCLE');N2502("20 01 C018 20")('TANGNT');N2503("20 01 C020 20")('VERTCL');N2551('1');N2552('2');N2553('3');

N2900('5');N2901("20 01 C028 20")(' LEFT ');N2902("20 01 C030 20")(' RIGHT');N2951('1');N2952('2');M99

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

-339-

8.2 DATA ATTRIBUTE

/****************************************************************************/*/* PROC6.SRC :: Side/*/***** 8471: Square/***** 8472: Circle/***** 8473: Track/***** 8474: One Side/***** 8475: Contour/****************************************************************************$INCLUDE SYMBOL.DEF

O8471 ;############################################### Square#[address 0] = 220#[address 1] = add_P#[attribute 1] = att_character#[value 1] = 1#[address 2] = add_L#[attribute 2] = att_decimal + att_detail#[value 2] = 3#[address 3] = add_Z#[attribute 3] = att_decimal#[value 3] = #0#[address 4] = add_S#[attribute 4] = att_decimal#[value 4] = #0#[address 5] = add_I#[attribute 5] = att_decimal#[value 5] = #0#[address 6] = add_D#[attribute 6] = att_decimal#[value 6] = 0#[address 7] = add_B#[attribute 7] = att_decimal#[value 7] = #0#[address 8] = add_J#[attribute 8] = att_decimal#[value 8] = #0#[address 9] = add_H#[attribute 9] = att_decimal#[value 9] = 0#[address 10] = add_H ;DUMMY#[value 10] = #0 ;DUMMY#[address 11] = add_T /* not use now/* #[attribute 11] = att_decimal + att_detail /* not use now#[attribute 11] = att_not_use /* not use now#[value 11] = 0 /* not use now#[address 12] = add_C#[attribute 12] = att_not_use#[value 12] = #0#[address 13] = add_D#[attribute 13] = att_not_use#[value 13] = #0#[address 14] = add_J#[attribute 14] = att_not_use#[value 14] = #0#[address 15] = add_H#[attribute 15] = att_not_use#[value 15] = #0#[address 16] = add_C#[attribute 16] = att_not_use#[value 16] = #0

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

-340-

#[address 17] = add_F#[attribute 17] = att_decimal#[value 17] = #0#[address 18] = add_E#[attribute 18] = att_decimal#[value 18] = #0#[attribute 19] = att_not_use#[address 20] = add_M#[attribute 20] = att_character#[value 20] = #0#[address 21] = add_X#[attribute 21] = att_decimal#[value 21] = #0#[address 22] = add_Y#[attribute 22] = att_decimal#[value 22] = #0#[address 23] = add_U#[attribute 23] = att_decimal#[value 23] = #0#[address 24] = add_V#[attribute 24] = att_decimal#[value 24] = #0#[address 25] = add_W#[attribute 25] = att_character + att_detail#[value 25] = 1#[address 26] = add_Q#[attribute 26] = att_character + att_detail#[value 26] = 1#[address 27] = add_R#[attribute 27] = att_decimal + att_detail#[value 27] = 0#[address 28] = add_A#[attribute 28] = att_decimal + att_detail#[value 28] = 0#[address 29] = add_K#[attribute 29] = att_decimal + att_detail#[value 29] = 5#[address 30] = add_K#[attribute 30] = att_not_use#[value 30] = #0#[address 31] = add_N#[attribute 31] = att_character + att_detail#[value 31] = 1#[address 32] = add_N#[attribute 32] = att_character + att_detail#[value 32] = 1#[address 33] = add_endprevious_cursor = 1 /* Previous cursor position clearm99

O8472 ;############################################### Circle#[address 0] = 221#[address 1] = add_P#[attribute 1] = att_character#[value 1] = 1#[address 2] = add_L#[attribute 2] = att_decimal + att_detail#[value 2] = 3#[address 3] = add_Z#[attribute 3] = att_decimal#[value 3] = #0#[address 4] = add_S#[attribute 4] = att_decimal#[value 4] = #0#[address 5] = add_I

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

-341-

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

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

-342-

#[address 28] = add_N#[attribute 28] = att_character + att_detail#[value 28] = 1#[address 29] = add_endprevious_cursor = 1 /* Previous cursor position clearm99

O8473 ;############################################### Track#[address 0] = 222#[address 1] = add_P#[attribute 1] = att_character#[value 1] = 1#[address 2] = add_L#[attribute 2] = att_decimal + att_detail#[value 2] = 3#[address 3] = add_Z#[attribute 3] = att_decimal#[value 3] = #0#[address 4] = add_S#[attribute 4] = att_decimal#[value 4] = #0#[address 5] = add_I#[attribute 5] = att_decimal#[value 5] = #0#[address 6] = add_D#[attribute 6] = att_decimal#[value 6] = 0#[address 7] = add_B#[attribute 7] = att_decimal#[value 7] = #0#[address 8] = add_J#[attribute 8] = att_decimal#[value 8] = #0#[address 9] = add_H#[attribute 9] = att_decimal#[value 9] = 0#[address 10] = add_H ;DUMMY#[attribute 10] = att_new_page#[value 10] = #0 ;DUMMY#[address 11] = add_T /* not use now/* #[attribute 11] = att_decimal + att_detail /* not use now#[attribute 11] = att_not_use /* not use now#[value 11] = 0 /* not use now#[address 12] = add_C#[attribute 12] = att_not_use#[value 12] = #0#[address 13] = add_D#[attribute 13] = att_not_use#[value 13] = #0#[address 14] = add_J#[attribute 14] = att_not_use#[value 14] = #0#[address 15] = add_H#[attribute 15] = att_not_use#[value 15] = #0#[address 16] = add_C#[attribute 16] = att_not_use#[value 16] = #0#[address 17] = add_F#[attribute 17] = att_decimal#[value 17] = #0#[address 18] = add_E#[attribute 18] = att_decimal#[value 18] = #0#[attribute 19] = att_not_use

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

-343-

#[address 20] = add_M#[attribute 20] = att_character#[value 20] = #0#[address 21] = add_X#[attribute 21] = att_decimal#[value 21] = #0#[address 22] = add_Y#[attribute 22] = att_decimal#[value 22] = #0#[address 23] = add_U#[attribute 23] = att_decimal#[value 23] = #0#[address 24] = add_R#[attribute 24] = att_decimal#[value 24] = #0#[address 25] = add_W#[attribute 25] = att_character + att_detail#[value 25] = 1#[address 26] = add_A#[attribute 26] = att_decimal + att_detail#[value 26] = 0#[address 27] = add_K#[attribute 27] = att_decimal + att_detail#[value 27] = 5#[address 28] = add_K#[attribute 28] = att_not_use#[value 28] = #0#[address 29] = add_N#[attribute 29] = att_character + att_detail#[value 29] = 1#[address 30] = add_N#[attribute 30] = att_character + att_detail#[value 30] = 1#[address 31] = add_endprevious_cursor = 1 /* Previous cursor position clearm99

O8474 ;############################################### One Side#[address 0] = 223#[address 1] = add_P#[attribute 1] = att_character#[value 1] = 1#[address 2] = add_L#[attribute 2] = att_decimal + att_detail#[value 2] = 3#[address 3] = add_Z#[attribute 3] = att_decimal#[value 3] = #0#[address 4] = add_S#[attribute 4] = att_decimal#[value 4] = #0#[address 5] = add_I#[attribute 5] = att_decimal#[value 5] = #0#[address 6] = add_D#[attribute 6] = att_decimal#[value 6] = 0#[address 7] = add_B#[attribute 7] = att_decimal#[value 7] = #0#[address 8] = add_J#[attribute 8] = att_decimal#[value 8] = #0#[address 9] = add_H#[attribute 9] = att_decimal

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

-344-

#[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_endprevious_cursor = 1 /* Previous cursor position clearm99

O8475 ;############################################### Contour#[address 0] = 224#[address 1] = add_P#[attribute 1] = att_character#[value 1] = 1#[address 2] = add_L#[attribute 2] = att_decimal + att_detail#[value 2] = 3#[address 3] = add_Z#[attribute 3] = att_decimal#[value 3] = #0#[address 4] = add_S

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

-345-

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

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

-346-

#[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_endprevious_cursor = 1 /* Previous cursor position clearm99

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

-347-

8.3 GUIDANCE DRAWING FIGURE

/****************************************************************************/*/* FIG6.SRC :: Side/*/***** 8671: Square/***** 8672: Circle/***** 8673: Track/***** 8674: One Side/***** 8675: Contour/****************************************************************************$INCLUDE SYMBOL.DEF

O8671 ;############################################### Square/*** Guide Picture Setting ***/if[guide_frequency ne secont_tine]goto 90if[cursor le 18]then if[cursor eq 11]then call fig_clear call 6132 goto 1 endif if[cursor eq 13]then call fig_clear call 6159 goto 1 endif if[cursor eq 14]then call fig_clear call 6160 goto 1 endif if[cursor eq 15]then call fig_clear call 6161 goto 1 endif if[cursor eq 16]then call fig_clear call 6162 goto 1 endif if[previous_cursor gt 18 || previous_cursor eq 11 || previous_cursor eq 2]then call fig_clear endif if[previous_cursor eq 15]then call fig_clear endif call 6131else if[cursor eq 28]then call fig_clear call 6121 else if[previous_cursor eq 28]then call fig_clear endif if[previous_cursor le 18]then call fig_clear endif if[previous_cursor eq 20]then call fig_clear endif

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

-348-

if[#[value 20] eq 2]then call 6134 else call 6133 endif endifendifn1previous_cursor = cursorn90

/*** Attribution Setting ***/if[#[value 1] eq 1]then /* Rough #[attribute 4] = att_decimal #[attribute 5] = att_decimal #[attribute 6] = att_decimal #[attribute 8] = att_decimal #[attribute 9] = att_decimal #[attribute 10] = att_new_page #[attribute 12] = att_not_use #[attribute 13] = att_not_use #[attribute 14] = att_not_use #[attribute 15] = att_not_use if[#[value 11] ne #0 && #[value 11] ne 0]then #[attribute 16] = att_decimal else #[attribute 16] = att_not_use endif #[attribute 19] = att_not_use if[#[value 20] eq 2]then #[attribute 26] = att_not_use else #[attribute 26] = att_character + att_detail endif #[attribute 29] = att_decimal + att_detail #[attribute 30] = att_not_useendifif[#[value 1] eq 2]then /* Bottom Finish #[attribute 4] = att_decimal #[attribute 5] = att_decimal #[attribute 6] = att_decimal #[attribute 8] = att_not_use #[attribute 9] = att_decimal #[attribute 10] = att_new_page #[attribute 12] = att_not_use #[attribute 13] = att_not_use #[attribute 14] = att_not_use #[attribute 15] = att_not_use if[#[value 11] ne #0 && #[value 11] ne 0]then #[attribute 16] = att_decimal else #[attribute 16] = att_not_use endif #[attribute 19] = att_not_use if[#[value 20] eq 2]then #[attribute 26] = att_not_use else #[attribute 26] = att_character + att_detail endif #[attribute 29] = att_decimal + att_detail #[attribute 30] = att_not_useendifif[#[value 1] eq 3]then /* Side Finish #[attribute 4] = att_not_use #[attribute 5] = att_not_use #[attribute 6] = att_not_use #[attribute 8] = att_decimal

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

-349-

#[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_detailendifif[#[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_detailendifif[#[value 20] ne 2]then #[attribute 31] = att_character + att_detail #[attribute 32] = att_not_useelse #[attribute 31] = att_not_use #[attribute 32] = att_character + att_detailendifm99

O8672 ;############################################### Circle/*** Guide Picture Setting ***/if[guide_frequency ne secont_tine]goto 90if[cursor le 18]then if[cursor eq 11]then call fig_clear call 6132 goto 1 endif if[cursor eq 13]then call fig_clear call 6159 goto 1 endif if[cursor eq 14]then

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

-350-

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 6131else 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 endifendifn1previous_cursor = cursorn90

/*** Attribution Setting ***/if[#[value 1] eq 1]then /* Rough #[attribute 4] = att_decimal #[attribute 5] = att_decimal #[attribute 6] = att_decimal #[attribute 8] = att_decimal #[attribute 9] = att_decimal #[attribute 10] = att_new_page #[attribute 12] = att_not_use #[attribute 13] = att_not_use #[attribute 14] = att_not_use #[attribute 15] = att_not_use if[#[value 11] ne #0 && #[value 11] ne 0]then #[attribute 16] = att_decimal else #[attribute 16] = att_not_use endif #[attribute 19] = att_not_use #[attribute 25] = att_decimal + att_detail #[attribute 26] = att_not_useendifif[#[value 1] eq 2]then /* Bottom Finish #[attribute 4] = att_decimal #[attribute 5] = att_decimal #[attribute 6] = att_decimal #[attribute 8] = att_not_use #[attribute 9] = att_decimal #[attribute 10] = att_new_page #[attribute 12] = att_not_use

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

-351-

#[attribute 13] = att_not_use #[attribute 14] = att_not_use #[attribute 15] = att_not_use if[#[value 11] ne #0 && #[value 11] ne 0]then #[attribute 16] = att_decimal else #[attribute 16] = att_not_use endif #[attribute 19] = att_not_use #[attribute 25] = att_decimal + att_detail #[attribute 26] = att_not_useendifif[#[value 1] eq 3]then /* Side Finish #[attribute 4] = att_not_use #[attribute 5] = att_not_use #[attribute 6] = att_not_use #[attribute 8] = att_decimal #[attribute 9] = att_decimal #[attribute 10] = att_new_page #[attribute 12] = att_not_use #[attribute 13] = att_not_use #[attribute 14] = att_not_use #[attribute 15] = att_not_use if[#[value 11] ne #0 && #[value 11] ne 0]then #[attribute 16] = att_decimal else #[attribute 16] = att_not_use endif #[attribute 19] = att_not_use #[attribute 25] = att_not_use #[attribute 26] = att_decimal + att_detailendifif[#[value 1] eq 4]then /* Chamfer #[attribute 4] = att_not_use #[attribute 5] = att_not_use #[attribute 6] = att_not_use #[attribute 8] = att_not_use #[attribute 9] = att_not_use #[attribute 10] = att_not_use #[attribute 12] = att_decimal #[attribute 13] = att_decimal #[attribute 14] = att_decimal #[attribute 15] = att_decimal #[attribute 16] = att_not_use #[attribute 19] = att_not_use #[attribute 25] = att_not_use #[attribute 26] = att_decimal + att_detailendifif[#[value 20] ne 2]then #[attribute 27] = att_character + att_detail #[attribute 28] = att_not_useelse #[attribute 27] = att_not_use #[attribute 28] = att_character + att_detailendifm99

O8673 ;############################################### Track/*** Guide Picture Setting ***/if[guide_frequency ne secont_tine]goto 90if[cursor le 18]then if[cursor eq 11]then call fig_clear call 6132 goto 1

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

-352-

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 6131else 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 endifendifn1previous_cursor = cursorn90

/*** Attribution Setting ***/if[#[value 1] eq 1]then /* Rough #[attribute 4] = att_decimal #[attribute 5] = att_decimal #[attribute 6] = att_decimal #[attribute 8] = att_decimal #[attribute 9] = att_decimal #[attribute 10] = att_new_page #[attribute 12] = att_not_use #[attribute 13] = att_not_use #[attribute 14] = att_not_use #[attribute 15] = att_not_use if[#[value 11] ne #0 && #[value 11] ne 0]then

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

-353-

#[attribute 16] = att_decimal else #[attribute 16] = att_not_use endif #[attribute 19] = att_not_use #[attribute 27] = att_decimal + att_detail #[attribute 28] = att_not_useendifif[#[value 1] eq 2]then /* Bottom Finish #[attribute 4] = att_decimal #[attribute 5] = att_decimal #[attribute 6] = att_decimal #[attribute 8] = att_not_use #[attribute 9] = att_decimal #[attribute 10] = att_new_page #[attribute 12] = att_not_use #[attribute 13] = att_not_use #[attribute 14] = att_not_use #[attribute 15] = att_not_use if[#[value 11] ne #0 && #[value 11] ne 0]then #[attribute 16] = att_decimal else #[attribute 16] = att_not_use endif #[attribute 19] = att_not_use #[attribute 27] = att_decimal + att_detail #[attribute 28] = att_not_useendifif[#[value 1] eq 3]then /* Side Finish #[attribute 4] = att_not_use #[attribute 5] = att_not_use #[attribute 6] = att_not_use #[attribute 8] = att_decimal #[attribute 9] = att_decimal #[attribute 10] = att_new_page #[attribute 12] = att_not_use #[attribute 13] = att_not_use #[attribute 14] = att_not_use #[attribute 15] = att_not_use if[#[value 11] ne #0 && #[value 11] ne 0]then #[attribute 16] = att_decimal else #[attribute 16] = att_not_use endif #[attribute 19] = att_not_use #[attribute 27] = att_not_use #[attribute 28] = att_decimal + att_detailendifif[#[value 1] eq 4]then /* Chamfer #[attribute 4] = att_not_use #[attribute 5] = att_not_use #[attribute 6] = att_not_use #[attribute 8] = att_not_use #[attribute 9] = att_not_use #[attribute 10] = att_not_use #[attribute 12] = att_decimal #[attribute 13] = att_decimal #[attribute 14] = att_decimal #[attribute 15] = att_decimal #[attribute 16] = att_not_use #[attribute 19] = att_not_use #[attribute 27] = att_not_use #[attribute 28] = att_decimal + att_detailendifif[#[value 20] ne 2]then #[attribute 29] = att_character + att_detail #[attribute 30] = att_not_use

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

-354-

else #[attribute 29] = att_not_use #[attribute 30] = att_character + att_detailendifm99

O8674 ;############################################### One Side/*** Guide Picture Setting ***/if[guide_frequency ne secont_tine]goto 90if[cursor le 18]then if[cursor eq 11]then call fig_clear call 6132 goto 1 endif if[cursor eq 13]then call fig_clear call 6159 goto 1 endif if[cursor eq 14]then call fig_clear call 6160 goto 1 endif if[cursor eq 15]then call fig_clear call 6161 goto 1 endif if[cursor eq 16]then call fig_clear call 6162 goto 1 endif if[previous_cursor gt 18 || previous_cursor eq 11 || previous_cursor eq 2]then call fig_clear endif if[previous_cursor eq 15]then call fig_clear endif call 6131else if[cursor eq 24]then call fig_clear call 6121 else if[previous_cursor le 18 || previous_cursor eq 24]then call fig_clear endif call 6139 endifendifn1previous_cursor = cursorn90

/*** Attribution Setting ***/if[#[value 1] eq 1]then /* Rough #[attribute 4] = att_decimal #[attribute 5] = att_decimal #[attribute 6] = att_decimal #[attribute 8] = att_decimal #[attribute 9] = att_decimal

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

-355-

#[attribute 10] = att_new_page #[attribute 12] = att_not_use #[attribute 13] = att_not_use #[attribute 14] = att_not_use #[attribute 15] = att_not_use if[#[value 11] ne #0 && #[value 11] ne 0]then #[attribute 16] = att_decimal else #[attribute 16] = att_not_use endif #[attribute 18] = att_not_use #[attribute 19] = att_not_useendifif[#[value 1] eq 2]then /* Bottom Finish #[attribute 4] = att_decimal #[attribute 5] = att_decimal #[attribute 6] = att_decimal #[attribute 8] = att_not_use #[attribute 9] = att_decimal #[attribute 10] = att_new_page #[attribute 12] = att_not_use #[attribute 13] = att_not_use #[attribute 14] = att_not_use #[attribute 15] = att_not_use if[#[value 11] ne #0 && #[value 11] ne 0]then #[attribute 16] = att_decimal else #[attribute 16] = att_not_use endif #[attribute 18] = att_not_use #[attribute 19] = att_not_useendifif[#[value 1] eq 3]then /* Side Finish #[attribute 4] = att_not_use #[attribute 5] = att_not_use #[attribute 6] = att_not_use #[attribute 8] = att_decimal #[attribute 9] = att_decimal #[attribute 10] = att_new_page #[attribute 12] = att_not_use #[attribute 13] = att_not_use #[attribute 14] = att_not_use #[attribute 15] = att_not_use if[#[value 11] ne #0 && #[value 11] ne 0]then #[attribute 16] = att_decimal else #[attribute 16] = att_not_use endif #[attribute 18] = att_not_use #[attribute 19] = att_not_useendifif[#[value 1] eq 4]then /* Chamfer #[attribute 4] = att_not_use #[attribute 5] = att_not_use #[attribute 6] = att_not_use #[attribute 8] = att_not_use #[attribute 9] = att_not_use #[attribute 10] = att_not_use #[attribute 12] = att_decimal #[attribute 13] = att_decimal #[attribute 14] = att_decimal #[attribute 15] = att_decimal #[attribute 16] = att_not_use #[attribute 18] = att_not_use #[attribute 19] = att_not_useendifm99

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

-356-

O8675 ;############################################### Contour/*** Guide Picture Setting ***/if[guide_frequency ne secont_tine]goto 90if[cursor le 20]then if[previous_cursor gt 20 || previous_cursor eq 2]then call fig_clear endif call 6131endifif[cursor eq 21 || cursor eq 25]then call fig_clear call 6140endifif[cursor eq 22 || cursor eq 23]then if[previous_cursor ne 22 && previous_cursor ne 23]then call fig_clear endif call 6141endifif[cursor eq 26 || cursor eq 27]then if[previous_cursor ne 26 && previous_cursor ne 27]then call fig_clear endif call 6141endifif[cursor eq 24]then call fig_clear if[#[value 21] eq 3]then call 6143 else call 6142 endifendifif[cursor eq 28]then call fig_clear if[#[value 25] eq 3]then call 6143 else call 6142 endifendifif[cursor eq 29]then call fig_clear call 6144endifprevious_cursor = cursorn90

/*** Attribution Setting ***/if[#[value 1] eq 1]then /* Rough #[attribute 4] = att_decimal #[attribute 6] = att_decimal #[attribute 8] = att_decimal #[attribute 18] = att_decimalendifif[#[value 1] eq 2]then /* Bottom Finish #[attribute 4] = att_decimal #[attribute 6] = att_decimal #[attribute 8] = att_not_use #[attribute 18] = att_decimalendifif[#[value 1] eq 3]then /* Side Finish #[attribute 4] = att_not_use #[attribute 6] = att_not_use

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

-357-

#[attribute 8] = att_not_use #[attribute 18] = att_not_useendifif[#[value 21] eq 1]then #[attribute 22] = att_decimal + att_detail #[attribute 23] = att_decimal + att_detail #[attribute 24] = att_not_useelse #[attribute 22] = att_not_use #[attribute 23] = att_not_use #[attribute 24] = att_decimal + att_detailendifif[#[value 25] eq 1]then #[attribute 26] = att_decimal + att_detail #[attribute 27] = att_decimal + att_detail #[attribute 28] = att_not_useelse #[attribute 26] = att_not_use #[attribute 27] = att_not_use #[attribute 28] = att_decimal + att_detailendifm99

/****************************************************************************/*/* FIGSUB6.SRC :: Side/*/***** 6131: Prepare/***** 6132: Taper Angle/***** 6133: Square Outer/***** 6134: Square Inner/***** 6135: Circle Outer/***** 6136: Circle Inner/***** 6137: Track Outer/***** 6138: Track Inner/***** 6139: One Side/***** 6140: Contour : Approach/Escape Type/***** 6141: Contour : Approach/Escape Circle/***** 6142: Contour : Approach/Escape Tangent/***** 6143: Contour : Approach/Escape Vertical/***** 6144: Contour : Compensation Direction/****************************************************************************$INCLUDE SYMBOL.DEF

O6131 ;############################################### Prepare/* blue for Workcolor blueG242X[-15-shift_grap_X]Y[17+shift_grap_Y]G01X[103-shift_grap_X]Y[17+shift_grap_Y]G01X[103-shift_grap_X]Y[143+shift_grap_Y]if[#[address 0] ne 224]then G01X[64-shift_grap_X]Y[143+shift_grap_Y] G01X[49-shift_grap_X]Y[128+shift_grap_Y]else G01X[49-shift_grap_X]Y[143+shift_grap_Y]endifG01X[49-shift_grap_X]Y[47+shift_grap_Y]G01X[-15-shift_grap_X]Y[47+shift_grap_Y]G01X[-15-shift_grap_X]Y[17+shift_grap_Y]G206P0X[0-shift_grap_X]Y[30+shift_grap_Y]

/* blue green for Finishcolor sky_blueG242X[-15-shift_grap_X]Y[49+shift_grap_Y]

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

-358-

G01X[47-shift_grap_X]Y[49+shift_grap_Y]G01X[47-shift_grap_X]Y[143+shift_grap_Y]G01X[41-shift_grap_X]Y[143+shift_grap_Y]G01X[41-shift_grap_X]Y[55+shift_grap_Y]G01X[-15-shift_grap_X]Y[55+shift_grap_Y]G01X[-15-shift_grap_X]Y[49+shift_grap_Y]G206P0X[0-shift_grap_X]Y[51+shift_grap_Y]if[#[address 0] ne 224]then G242X[62-shift_grap_X]Y[143+shift_grap_Y] G01X[49-shift_grap_X]Y[143+shift_grap_Y] G01X[49-shift_grap_X]Y[130+shift_grap_Y] G01X[62-shift_grap_X]Y[143+shift_grap_Y] G206P0X[50-shift_grap_X]Y[140+shift_grap_Y]endif

/* white for Removalcolor whiteG242X[-15-shift_grap_X]Y[57+shift_grap_Y]G01X[39-shift_grap_X]Y[57+shift_grap_Y]G01X[39-shift_grap_X]Y[143+shift_grap_Y]G01X[-15-shift_grap_X]Y[143+shift_grap_Y]G01X[-15-shift_grap_X]Y[57+shift_grap_Y]G206P0X[0-shift_grap_X]Y[70+shift_grap_Y]

/* Edge Linecolor sky_blueG242X[-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]endifcolor purpleif[#[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]endifG01X[-16-shift_grap_X]Y[144+shift_grap_Y]G01X[-16-shift_grap_X]Y[48+shift_grap_Y]G242X[-15-shift_grap_X]Y[48+shift_grap_Y]G01X[48-shift_grap_X]Y[48+shift_grap_Y]G01X[48-shift_grap_X]Y[143+shift_grap_Y]G242X[-15-shift_grap_X]Y[56+shift_grap_Y]G01X[40-shift_grap_X]Y[56+shift_grap_Y]G01X[40-shift_grap_X]Y[143+shift_grap_Y]if[#[address 0] ne 224]then G242X[63-shift_grap_X]Y[144+shift_grap_Y] G01X[48-shift_grap_X]Y[129+shift_grap_Y]endif

/* red for Pathcolor redG242X[-15-shift_grap_X]Y[112+shift_grap_Y]G01X[39-shift_grap_X]Y[112+shift_grap_Y]G242X[-15-shift_grap_X]Y[80+shift_grap_Y]G01X[39-shift_grap_X]Y[80+shift_grap_Y]

/* green Linecolor greenif[#[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]

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

-359-

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_lineendifG242X[105-shift_grap_X]Y[144+shift_grap_Y] /* for BG01X[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=2call fig_lineG242X[41-shift_grap_X]Y[112+shift_grap_Y] /* for JG01X[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=2call fig_lineG242X[49-shift_grap_X]Y[56+shift_grap_Y] /* for HG01X[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=1call fig_line#1=108-shift_grap_X#2=47+shift_grap_Y#3=#1#4=37+shift_grap_Y#5=1call fig_lineG242X[-16-shift_grap_X]Y[15+shift_grap_Y] /* for SG01X[-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=2call fig_lineG242X[40-shift_grap_X]Y[47+shift_grap_Y] /* for DG01X[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=1call fig_line#1=49-shift_grap_X#2=10+shift_grap_Y#3=59-shift_grap_X

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

-360-

#4=#2#5=1call fig_line

/* Charactersif[#[address 0] ne 224]then #1=12 call fig_cursor G243X[46-shift_char_X]Y[5-shift_char_Y](C)endif#1=7call fig_cursorG243X[56-shift_char_X]Y[9-shift_char_Y](B)#1=8call fig_cursorG243X[54-shift_char_X]Y[7-shift_char_Y](J)#1=9call fig_cursorG243X[54-shift_char_X]Y[11-shift_char_Y](H)#1=3call fig_cursorG243X[56-shift_char_X]Y[12-shift_char_Y](Z)#1=4call fig_cursorG243X[41-shift_char_X]Y[15-shift_char_Y](S)#1=6call fig_cursorG243X[45-shift_char_X]Y[15-shift_char_Y](D)m99

O6132 ;############################################### Taper Angle/* blue for Workcolor blueG242X[1-shift_grap_X]Y[9+shift_grap_Y]G01X[111-shift_grap_X]Y[9+shift_grap_Y]G01X[111-shift_grap_X]Y[151+shift_grap_Y]G01X[57-shift_grap_X]Y[151+shift_grap_Y]G01X[41-shift_grap_X]Y[55+shift_grap_Y]G01X[1-shift_grap_X]Y[55+shift_grap_Y]G01X[1-shift_grap_X]Y[9+shift_grap_Y]#1=46-shift_char_X#2=12-shift_char_Y#3=1call fig_characterG206P0X[60-shift_grap_X]Y[20+shift_grap_Y]

/* blue green for Finishcolor greenG242X[1-shift_grap_X]Y[57+shift_grap_Y]G01X[39-shift_grap_X]Y[57+shift_grap_Y]G01X[55-shift_grap_X]Y[151+shift_grap_Y]G01X[45-shift_grap_X]Y[151+shift_grap_Y]G01X[45-shift_grap_X]Y[119+shift_grap_Y]G01X[31-shift_grap_X]Y[119+shift_grap_Y]G01X[31-shift_grap_X]Y[63+shift_grap_Y]G01X[1-shift_grap_X]Y[63+shift_grap_Y]G01X[1-shift_grap_X]Y[57+shift_grap_Y]G206P0X[5-shift_grap_X]Y[60+shift_grap_Y]

/* white for Removalcolor whiteG242X[1-shift_grap_X]Y[65+shift_grap_Y]G01X[31-shift_grap_X]Y[65+shift_grap_Y]G01X[31-shift_grap_X]Y[121+shift_grap_Y]G01X[43-shift_grap_X]Y[121+shift_grap_Y]

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

-361-

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 linecolor purpleG242X[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 Linecolor greenG242X[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]

/* Characterscolor -white C blue L1G243X[46-shift_char_X]Y[12-shift_char_Y](T)cursor_offm99

O6133 ;############################################### Square Outer/* blue for Workcolor blueG242X[8-shift_grap_X]Y[25+shift_grap_Y]G01X[96-shift_grap_X]Y[25+shift_grap_Y]G03X[103-shift_grap_X]Y[32+shift_grap_Y]I[96-shift_grap_X]J[32+shift_grap_Y]G01X[103-shift_grap_X]Y[112+shift_grap_Y]G03X[96-shift_grap_X]Y[119+shift_grap_Y]I[96-shift_grap_X]J[112+shift_grap_Y]G01X[8-shift_grap_X]Y[119+shift_grap_Y]G03X[1-shift_grap_X]Y[112+shift_grap_Y]I[8-shift_grap_X]J[112+shift_grap_Y]G01X[1-shift_grap_X]Y[32+shift_grap_Y]G03X[8-shift_grap_X]Y[25+shift_grap_Y]I[8-shift_grap_X]J[32+shift_grap_Y]#1=44-shift_char_X /* for (X,Y)#2=11-shift_char_Y#3=5call fig_character#1=51-shift_char_X /* for R#2=9-shift_char_Y#3=1call fig_characterG206P0X[60-shift_grap_X]Y[100+shift_grap_Y]

/* green for Toolcolor greenif[#[value 1] eq 3 || #[value 1] eq 4]then G242X[135-shift_grap_X]Y[88+shift_grap_Y] /* Start Tool G02X[135-shift_grap_X]Y[88+shift_grap_Y]I[128-shift_grap_X]J[88+shift_grap_Y]Q4 G206P0X[128-shift_grap_X]Y[88+shift_grap_Y] G242X[135-shift_grap_X]Y[56+shift_grap_Y] /* End Tool

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

-362-

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 Linecolor 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]Q4else 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]Q4endif

/* red for Pathcolor redG242X[8-shift_grap_X]Y[16+shift_grap_Y]G01X[96-shift_grap_X]Y[16+shift_grap_Y]G03X[112-shift_grap_X]Y[32+shift_grap_Y]I[96-shift_grap_X]J[32+shift_grap_Y]G01X[112-shift_grap_X]Y[112+shift_grap_Y]G03X[96-shift_grap_X]Y[128+shift_grap_Y]I[96-shift_grap_X]J[112+shift_grap_Y]G01X[8-shift_grap_X]Y[128+shift_grap_Y]G03X[-8-shift_grap_X]Y[112+shift_grap_Y]I[8-shift_grap_X]J[112+shift_grap_Y]G01X[-8-shift_grap_X]Y[32+shift_grap_Y]G03X[8-shift_grap_X]Y[16+shift_grap_Y]I[8-shift_grap_X]J[32+shift_grap_Y]#1=56-shift_grap_X#2=128+shift_grap_Y#3=55-shift_grap_X#4=#2#5=1call fig_line#1=50-shift_grap_X#2=16+shift_grap_Y#3=51-shift_grap_X#4=#2#5=1call fig_lineif[#[value 1] eq 3 || #[value 1] eq 4]then #1=128-shift_grap_X #2=88+shift_grap_Y #3=128-shift_grap_X #4=56+shift_grap_Y #5=128-shift_grap_X #6=72+shift_grap_Y #7=0 call fig_ccwelse G242X[128-shift_grap_X]Y[72+shift_grap_Y] G01X[113-shift_grap_X]Y[72+shift_grap_Y]endif

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

-363-

/* green Linecolor greenG242X[0-shift_grap_X]Y[113+shift_grap_Y] /* for UG01X[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=2call fig_lineG242X[7-shift_grap_X]Y[120+shift_grap_Y] /* for VG01X[-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=2call 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=0call fig_line

/* yellow Cross Markcolor yellow#1=52-shift_grap_X /* Center#2=72+shift_grap_Ycall fig_mark

/* Charactersif[cursor eq 21]then color -white C blue L1else color white C blue L0endifG243X[45-shift_char_X]Y[11-shift_char_Y](X)if[cursor eq 22]then color -white C blue L1else color white C blue L0endifG243X[47-shift_char_X]Y[11-shift_char_Y](Y)if[cursor eq 27]then color -white C blue L1else color white C blue L0endifG243X[51-shift_char_X]Y[9-shift_char_Y](R)#1=23call fig_cursorG243X[46-shift_char_X]Y[6-shift_char_Y](U)#1=24call fig_cursorG243X[37-shift_char_X]Y[10-shift_char_Y](V)color white C blue L0G243X[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_offm99

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

-364-

O6134 ;############################################### Square Inner/* blue for Workcolor blueG242X[-31-shift_grap_X]Y[17+shift_grap_Y]G01X[135-shift_grap_X]Y[17+shift_grap_Y]G01X[135-shift_grap_X]Y[127+shift_grap_Y]G01X[-31-shift_grap_X]Y[127+shift_grap_Y]G01X[-31-shift_grap_X]Y[17+shift_grap_Y]G242X[-8-shift_grap_X]Y[31+shift_grap_Y]G01X[112-shift_grap_X]Y[31+shift_grap_Y]G03X[121-shift_grap_X]Y[40+shift_grap_Y]I[112-shift_grap_X]J[40+shift_grap_Y]G01X[121-shift_grap_X]Y[104+shift_grap_Y]G03X[112-shift_grap_X]Y[113+shift_grap_Y]I[112-shift_grap_X]J[104+shift_grap_Y]G01X[-8-shift_grap_X]Y[113+shift_grap_Y]G03X[-17-shift_grap_X]Y[104+shift_grap_Y]I[-8-shift_grap_X]J[104+shift_grap_Y]G01X[-17-shift_grap_X]Y[40+shift_grap_Y]G03X[-8-shift_grap_X]Y[31+shift_grap_Y]I[-8-shift_grap_X]J[40+shift_grap_Y]G206P0X[0-shift_grap_X]Y[24+shift_grap_Y]

/* green for Toolcolor greenif[#[value 1] eq 3 || #[value 1] eq 4]then G242X[1-shift_grap_X]Y[88+shift_grap_Y] /* Start Tool G02X[1-shift_grap_X]Y[88+shift_grap_Y]I[8-shift_grap_X]J[88+shift_grap_Y]Q4 G206P0X[8-shift_grap_X]Y[88+shift_grap_Y] G242X[1-shift_grap_X]Y[56+shift_grap_Y] /* End Tool G02X[1-shift_grap_X]Y[56+shift_grap_Y]I[8-shift_grap_X]J[56+shift_grap_Y]Q4 G206P0X[8-shift_grap_X]Y[56+shift_grap_Y]else G242X[1-shift_grap_X]Y[72+shift_grap_Y] G02X[1-shift_grap_X]Y[72+shift_grap_Y]I[8-shift_grap_X]J[72+shift_grap_Y]Q4 G206P0X[8-shift_grap_X]Y[72+shift_grap_Y]endif

/* Edge Linecolor 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]Q4else 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]Q4endif

/* red for Pathcolor redG242X[0-shift_grap_X]Y[40+shift_grap_Y]G01X[104-shift_grap_X]Y[40+shift_grap_Y]

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

-365-

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=1call fig_lineif[#[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_ccwelse G242X[8-shift_grap_X]Y[72+shift_grap_Y] G01X[-7-shift_grap_X]Y[72+shift_grap_Y]endif

/* green Linecolor greenG242X[-16-shift_grap_X]Y[107+shift_grap_Y] /* for UG01X[-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=2call fig_lineG242X[115-shift_grap_X]Y[112+shift_grap_Y] /* for VG01X[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=2call 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=0call fig_line

/* yellow Cross Markcolor yellow#1=52-shift_grap_X /* Center#2=72+shift_grap_Ycall fig_mark

/* Characters#1=21call fig_cursorG243X[45-shift_char_X]Y[11-shift_char_Y](X)#1=22

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

-366-

call fig_cursorG243X[47-shift_char_X]Y[11-shift_char_Y](Y)#1=23call fig_cursorG243X[46-shift_char_X]Y[6-shift_char_Y](U)#1=24call fig_cursorG243X[58-shift_char_X]Y[10-shift_char_Y](V)#1=27call fig_cursorG243X[52-shift_char_X]Y[9-shift_char_Y](R)cursor_offG243X[44-shift_char_X]Y[11-shift_char_Y]('(')G243X[46-shift_char_X]Y[11-shift_char_Y](',')G243X[48-shift_char_X]Y[11-shift_char_Y](')')m99

O6135 ;############################################### Circle Outer/* blue for Workcolor blueG242X[95-shift_grap_X]Y[72+shift_grap_Y]G02X[95-shift_grap_X]Y[72+shift_grap_Y]I[48-shift_grap_X]J[72+shift_grap_Y]Q4#1=43-shift_char_X /* for (X,Y)#2=11-shift_char_Y#3=5call fig_character#1=47-shift_char_X /* for R#2=9-shift_char_Y#3=1call fig_characterG206P0X[48-shift_grap_X]Y[40+shift_grap_Y]

/* green for Toolcolor greenif[#[value 1] eq 3 || #[value 1] eq 4]then G242X[113-shift_grap_X]Y[88+shift_grap_Y] /* Start Tool G02X[113-shift_grap_X]Y[88+shift_grap_Y]I[120-shift_grap_X]J[88+shift_grap_Y]Q4 G206P0X[120-shift_grap_X]Y[88+shift_grap_Y] G242X[113-shift_grap_X]Y[56+shift_grap_Y] /* End Tool G02X[113-shift_grap_X]Y[56+shift_grap_Y]I[120-shift_grap_X]J[56+shift_grap_Y]Q4 G206P0X[120-shift_grap_X]Y[56+shift_grap_Y]else G242X[113-shift_grap_X]Y[72+shift_grap_Y] G02X[113-shift_grap_X]Y[72+shift_grap_Y]I[120-shift_grap_X]J[72+shift_grap_Y]Q4 G206P0X[120-shift_grap_X]Y[72+shift_grap_Y]endif

/* Edge Linecolor 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]Q4color 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]Q4else 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]Q4endif

/* red for Pathcolor redG242X[104-shift_grap_X]Y[72+shift_grap_Y]

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

-367-

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=1call fig_lineif[#[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_ccwelse G242X[120-shift_grap_X]Y[72+shift_grap_Y] G01X[105-shift_grap_X]Y[72+shift_grap_Y]endif

/* green Linecolor 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=0call fig_line

/* yellow Cross Markcolor yellow#1=48-shift_grap_X /* Center#2=72+shift_grap_Ycall fig_mark

/* Charactersif[cursor eq 21]then color -white C blue L1else color white C blue L0endifG243X[44-shift_char_X]Y[11-shift_char_Y](X)if[cursor eq 22]then color -white C blue L1else color white C blue L0endifG243X[46-shift_char_X]Y[11-shift_char_Y](Y)if[cursor eq 23]then color -white C blue L1else color white C blue L0endifG243X[47-shift_char_X]Y[9-shift_char_Y](R)

color white C blue L0G243X[43-shift_char_X]Y[11-shift_char_Y]('(')G243X[45-shift_char_X]Y[11-shift_char_Y](',')G243X[47-shift_char_X]Y[11-shift_char_Y](')')cursor_offm99

O6136 ;############################################### Circle Inner/* blue for Work

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

-368-

color blueG242X[-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]Q4G206P0X[0-shift_grap_X]Y[0+shift_grap_Y]

/* green for Toolcolor greenif[#[value 1] eq 3 || #[value 1] eq 4]then G242X[1-shift_grap_X]Y[88+shift_grap_Y] /* Start Tool G02X[1-shift_grap_X]Y[88+shift_grap_Y]I[8-shift_grap_X]J[88+shift_grap_Y]Q4 G206P0X[8-shift_grap_X]Y[88+shift_grap_Y] G242X[1-shift_grap_X]Y[56+shift_grap_Y] /* End Tool G02X[1-shift_grap_X]Y[56+shift_grap_Y]I[8-shift_grap_X]J[56+shift_grap_Y]Q4 G206P0X[8-shift_grap_X]Y[56+shift_grap_Y]else G242X[1-shift_grap_X]Y[72+shift_grap_Y] G02X[1-shift_grap_X]Y[72+shift_grap_Y]I[8-shift_grap_X]J[72+shift_grap_Y]Q4 G206P0X[8-shift_grap_X]Y[72+shift_grap_Y]endif

/* Edge Linecolor 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]Q4G242X[-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]Q4else 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]Q4endif

/* red for Pathcolor redG242X[-8-shift_grap_X]Y[72+shift_grap_Y]G02X[-8-shift_grap_X]Y[72+shift_grap_Y]I[60-shift_grap_X]J[72+shift_grap_Y]Q4#1=60-shift_grap_X#2=4+shift_grap_Y#3=59-shift_grap_X#4=#2#5=1call fig_lineif[#[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_ccwelse G242X[8-shift_grap_X]Y[72+shift_grap_Y] G01X[-7-shift_grap_X]Y[72+shift_grap_Y]

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

-369-

endif

/* green Linecolor 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=0call fig_line

/* yellow Cross Markcolor yellow#1=60-shift_grap_X /* Center#2=72+shift_grap_Ycall fig_mark

/* Characters#1=21call fig_cursorG243X[46-shift_char_X]Y[11-shift_char_Y](X)#1=22call fig_cursorG243X[48-shift_char_X]Y[11-shift_char_Y](Y)#1=23call fig_cursorG243X[49-shift_char_X]Y[9-shift_char_Y](R)

cursor_offG243X[45-shift_char_X]Y[11-shift_char_Y]('(')G243X[47-shift_char_X]Y[11-shift_char_Y](',')G243X[49-shift_char_X]Y[11-shift_char_Y](')')m99

O6137 ;############################################### Track Outer/* blue for Workcolor blueG242X[8-shift_grap_X]Y[41+shift_grap_Y]G01X[88-shift_grap_X]Y[41+shift_grap_Y]G03X[88-shift_grap_X]Y[103+shift_grap_Y]I[88-shift_grap_X]J[72+shift_grap_Y]G01X[8-shift_grap_X]Y[103+shift_grap_Y]G03X[8-shift_grap_X]Y[41+shift_grap_Y]I[8-shift_grap_X]J[72+shift_grap_Y]#1=38-shift_char_X /* for (X,Y)#2=11-shift_char_Y#3=5call fig_character#1=46-shift_char_X /* for Q#2=11-shift_char_Y#3=1call fig_character#1=51-shift_char_X /* for R#2=10-shift_char_Y#3=1call fig_characterG206P0X[60-shift_grap_X]Y[50+shift_grap_Y]

/* green for Toolcolor greenif[#[value 1] eq 3 || #[value 1] eq 4]then G242X[137-shift_grap_X]Y[88+shift_grap_Y] /* Start Tool G02X[137-shift_grap_X]Y[88+shift_grap_Y]I[144-shift_grap_X]J[88+shift_grap_Y]Q4 G206P0X[144-shift_grap_X]Y[88+shift_grap_Y] G242X[137-shift_grap_X]Y[56+shift_grap_Y] /* End Tool G02X[137-shift_grap_X]Y[56+shift_grap_Y]I[144-shift_grap_X]J[56+shift_grap_Y]Q4 G206P0X[144-shift_grap_X]Y[56+shift_grap_Y]

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

-370-

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 Linecolor 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]Q4else 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]Q4endif

/* red for Pathcolor redG242X[8-shift_grap_X]Y[32+shift_grap_Y]G01X[88-shift_grap_X]Y[32+shift_grap_Y]G03X[88-shift_grap_X]Y[112+shift_grap_Y]I[88-shift_grap_X]J[72+shift_grap_Y]G01X[8-shift_grap_X]Y[112+shift_grap_Y]G03X[8-shift_grap_X]Y[32+shift_grap_Y]I[8-shift_grap_X]J[72+shift_grap_Y]#1=40-shift_grap_X#2=32+shift_grap_Y#3=41-shift_grap_X#4=#2#5=1call fig_line#1=46-shift_grap_X#2=112+shift_grap_Y#3=45-shift_grap_X#4=#2#5=1call fig_lineif[#[value 1] eq 3 || #[value 1] eq 4]then #1=144-shift_grap_X #2=88+shift_grap_Y #3=144-shift_grap_X #4=56+shift_grap_Y #5=144-shift_grap_X #6=72+shift_grap_Y #7=0 call fig_ccwelse G242X[144-shift_grap_X]Y[72+shift_grap_Y] G01X[129-shift_grap_X]Y[72+shift_grap_Y]endif

/* green Linecolor green#1=9-shift_grap_X /* for U#2=72+shift_grap_Y#3=87-shift_grap_X#4=#2#5=2call fig_line#1=88-shift_grap_X /* for R#2=72+shift_grap_Y

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

-371-

#3=110.6274-shift_grap_X#4=94.9274+shift_grap_Y#5=0call fig_line

/* yellow Cross Markcolor yellow#1=8-shift_grap_X /* Left#2=72+shift_grap_Ycall fig_mark#1=88-shift_grap_X /* Right#2=72+shift_grap_Ycall fig_mark

/* Charactersif[cursor eq 21]then color -white C blue L1else color white C blue L0endifG243X[39-shift_char_X]Y[11-shift_char_Y](X)if[cursor eq 22]then color -white C blue L1else color white C blue L0endifG243X[41-shift_char_X]Y[11-shift_char_Y](Y)if[cursor eq 23]then color -white C blue L1else color white C blue L0endifG243X[46-shift_char_X]Y[11-shift_char_Y](U)if[cursor eq 24]then color -white C blue L1else color white C blue L0endifG243X[51-shift_char_X]Y[10-shift_char_Y](R)

color white C blue L0G243X[38-shift_char_X]Y[11-shift_char_Y]('(')G243X[40-shift_char_X]Y[11-shift_char_Y](',')G243X[42-shift_char_X]Y[11-shift_char_Y](')')cursor_offm99

O6138 ;############################################### Track Inner/* blue for Workcolor blueG242X[-31-shift_grap_X]Y[9+shift_grap_Y]G01X[151-shift_grap_X]Y[9+shift_grap_Y]G01X[151-shift_grap_X]Y[135+shift_grap_Y]G01X[-31-shift_grap_X]Y[135+shift_grap_Y]G01X[-31-shift_grap_X]Y[9+shift_grap_Y]G242X[24-shift_grap_X]Y[23+shift_grap_Y]G01X[96-shift_grap_X]Y[23+shift_grap_Y]G03X[96-shift_grap_X]Y[121+shift_grap_Y]I[96-shift_grap_X]J[72+shift_grap_Y]G01X[24-shift_grap_X]Y[121+shift_grap_Y]G03X[24-shift_grap_X]Y[23+shift_grap_Y]I[24-shift_grap_X]J[72+shift_grap_Y]G206P0X[0-shift_grap_X]Y[24+shift_grap_Y]

/* green for Toolcolor greenif[#[value 1] eq 3 || #[value 1] eq 4]then

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

-372-

G242X[7-shift_grap_X]Y[88+shift_grap_Y] /* Start Tool G02X[7-shift_grap_X]Y[88+shift_grap_Y]I[0-shift_grap_X]J[88+shift_grap_Y]Q4 G206P0X[0-shift_grap_X]Y[88+shift_grap_Y] G242X[7-shift_grap_X]Y[56+shift_grap_Y] /* End Tool G02X[7-shift_grap_X]Y[56+shift_grap_Y]I[0-shift_grap_X]J[56+shift_grap_Y]Q4 G206P0X[0-shift_grap_X]Y[56+shift_grap_Y]else G242X[7-shift_grap_X]Y[72+shift_grap_Y] G02X[7-shift_grap_X]Y[72+shift_grap_Y]I[0-shift_grap_X]J[72+shift_grap_Y]Q4 G206P0X[0-shift_grap_X]Y[72+shift_grap_Y]endif

/* Edge Linecolor 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]Q4else 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]Q4endif

/* red for Pathcolor redG242X[24-shift_grap_X]Y[32+shift_grap_Y]G01X[96-shift_grap_X]Y[32+shift_grap_Y]G03X[96-shift_grap_X]Y[112+shift_grap_Y]I[96-shift_grap_X]J[72+shift_grap_Y]G01X[24-shift_grap_X]Y[112+shift_grap_Y]G03X[24-shift_grap_X]Y[32+shift_grap_Y]I[24-shift_grap_X]J[72+shift_grap_Y]#1=64-shift_grap_X#2=32+shift_grap_Y#3=63-shift_grap_X#4=#2#5=1call fig_line#1=58-shift_grap_X#2=112+shift_grap_Y#3=59-shift_grap_X#4=#2#5=1call fig_lineif[#[value 1] eq 3 || #[value 1] eq 4]then #1=0-shift_grap_X #2=88+shift_grap_Y #3=0-shift_grap_X #4=56+shift_grap_Y #5=0-shift_grap_X #6=72+shift_grap_Y #7=0 call fig_ccwelse G242X[0-shift_grap_X]Y[72+shift_grap_Y] G01X[-15-shift_grap_X]Y[72+shift_grap_Y]endif

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

-373-

/* green Linecolor 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=0call fig_line#1=25-shift_grap_X /* for U#2=72+shift_grap_Y#3=95-shift_grap_X#4=#2#5=2call fig_line

/* yellow Cross Markcolor yellow#1=24-shift_grap_X /* Left#2=72+shift_grap_Ycall fig_mark#1=96-shift_grap_X /* Right#2=72+shift_grap_Ycall fig_mark

/* Characters#1=21call fig_cursorG243X[42-shift_char_X]Y[11-shift_char_Y](X)#1=22call fig_cursorG243X[44-shift_char_X]Y[11-shift_char_Y](Y)#1=23call fig_cursorG243X[47-shift_char_X]Y[10-shift_char_Y](U)#1=24call fig_cursorG243X[53-shift_char_X]Y[9-shift_char_Y](R)

cursor_offG243X[41-shift_char_X]Y[11-shift_char_Y]('(')G243X[43-shift_char_X]Y[11-shift_char_Y](',')G243X[45-shift_char_X]Y[11-shift_char_Y](')')m99

O6139 ;############################################### One Side/* blue for Workcolor blueG242X[1-shift_grap_X]Y[25+shift_grap_Y]G01X[111-shift_grap_X]Y[25+shift_grap_Y]G01X[111-shift_grap_X]Y[55+shift_grap_Y]G01X[1-shift_grap_X]Y[55+shift_grap_Y]G01X[1-shift_grap_X]Y[25+shift_grap_Y]#1=45-shift_char_X /* for (X,Y)(Lower)#2=13-shift_char_Y#3=5call fig_characterG206P0X[20-shift_grap_X]Y[40+shift_grap_Y]G242X[1-shift_grap_X]Y[73+shift_grap_Y]G01X[111-shift_grap_X]Y[73+shift_grap_Y]G01X[111-shift_grap_X]Y[103+shift_grap_Y]G01X[1-shift_grap_X]Y[103+shift_grap_Y]G01X[1-shift_grap_X]Y[73+shift_grap_Y]#1=45-shift_char_X /* for (X,Y)(Upper)#2=9-shift_char_Y

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

-374-

#3=5call fig_characterG206P0X[20-shift_grap_X]Y[88+shift_grap_Y]

/* green for Toolcolor greenG242X[121-shift_grap_X]Y[16+shift_grap_Y] /* (1)G02X[121-shift_grap_X]Y[16+shift_grap_Y]I[128-shift_grap_X]J[16+shift_grap_Y]G206P0X[128-shift_grap_X]Y[16+shift_grap_Y]G242X[121-shift_grap_X]Y[112+shift_grap_Y] /* (2)G02X[121-shift_grap_X]Y[112+shift_grap_Y]I[128-shift_grap_X]J[112+shift_grap_Y]G206P0X[128-shift_grap_X]Y[112+shift_grap_Y]G242X[-9-shift_grap_X]Y[16+shift_grap_Y] /* (3)G02X[-9-shift_grap_X]Y[16+shift_grap_Y]I[-16-shift_grap_X]J[16+shift_grap_Y]G206P0X[-16-shift_grap_X]Y[16+shift_grap_Y]G242X[-9-shift_grap_X]Y[112+shift_grap_Y] /* (4)G02X[-9-shift_grap_X]Y[112+shift_grap_Y]I[-16-shift_grap_X]J[112+shift_grap_Y]G206P0X[-16-shift_grap_X]Y[112+shift_grap_Y]

/* Edge Linecolor sky_blue /* for Work(blue green)G242X[0-shift_grap_X]Y[24+shift_grap_Y]G01X[112-shift_grap_X]Y[24+shift_grap_Y]G01X[112-shift_grap_X]Y[56+shift_grap_Y]G01X[0-shift_grap_X]Y[56+shift_grap_Y]G01X[0-shift_grap_X]Y[24+shift_grap_Y]G242X[0-shift_grap_X]Y[72+shift_grap_Y]G01X[112-shift_grap_X]Y[72+shift_grap_Y]G01X[112-shift_grap_X]Y[104+shift_grap_Y]G01X[0-shift_grap_X]Y[104+shift_grap_Y]G01X[0-shift_grap_X]Y[72+shift_grap_Y]color purple /* for Tools(purple)G242X[120-shift_grap_X]Y[16+shift_grap_Y] /* (1)G02X[120-shift_grap_X]Y[16+shift_grap_Y]I[128-shift_grap_X]J[16+shift_grap_Y]G242X[120-shift_grap_X]Y[112+shift_grap_Y] /* (2)G02X[120-shift_grap_X]Y[112+shift_grap_Y]I[128-shift_grap_X]J[112+shift_grap_Y]G242X[-8-shift_grap_X]Y[16+shift_grap_Y] /* (3)G02X[-8-shift_grap_X]Y[16+shift_grap_Y]I[-16-shift_grap_X]J[16+shift_grap_Y]G242X[-8-shift_grap_X]Y[112+shift_grap_Y] /* (4)G02X[-8-shift_grap_X]Y[112+shift_grap_Y]I[-16-shift_grap_X]J[112+shift_grap_Y]

/* red for Pathcolor red#1=104-shift_grap_X#2=16+shift_grap_Y#3=118-shift_grap_X#4=#2#5=1call fig_line#1=104-shift_grap_X#2=112+shift_grap_Y#3=118-shift_grap_X#4=#2#5=1call fig_line#1=8-shift_grap_X#2=16+shift_grap_Y#3=-6-shift_grap_X#4=#2#5=1call fig_line#1=8-shift_grap_X#2=112+shift_grap_Y#3=-6-shift_grap_X#4=#2#5=1call fig_line

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

-375-

/* green Linecolor greenG242X[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=2call fig_lineG242X[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=2call fig_lineG242X[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=1call fig_line#1=111-shift_grap_X#2=96+shift_grap_Y#3=101-shift_grap_X#4=#2#5=1call fig_lineG242X[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=1call fig_line#1=111-shift_grap_X#2=32+shift_grap_Y#3=101-shift_grap_X#4=#2#5=1call fig_lineG242X[-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=1call fig_line#1=1-shift_grap_X#2=96+shift_grap_Y#3=11-shift_grap_X#4=#2#5=1call fig_lineG242X[-8-shift_grap_X]Y[17+shift_grap_Y] /* for N(Lower)G01X[-8-shift_grap_X]Y[40+shift_grap_Y]

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

-376-

#1=-9-shift_grap_X#2=32+shift_grap_Y#3=-19-shift_grap_X#4=#2#5=1call fig_line#1=1-shift_grap_X#2=32+shift_grap_Y#3=11-shift_grap_X#4=#2#5=1call fig_line

/* yellow Cross Markcolor yellow#1=56-shift_grap_X /* (X,Y)(Upper)#2=104+shift_grap_Ycall fig_mark#1=56-shift_grap_X /* (X,Y)(Lower)#2=24+shift_grap_Ycall fig_mark

/* Charactersif[cursor eq 20]then color -white C blue L1else color white C blue L0endifG243X[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 L1else color white C blue L0endifG243X[48-shift_char_X]Y[9-shift_char_Y](Y)G243X[48-shift_char_X]Y[13-shift_char_Y](Y)

#1=22call fig_cursorG243X[46-shift_char_X]Y[7-shift_char_Y](U)G243X[46-shift_char_X]Y[15-shift_char_Y](U)#1=25call fig_cursorG243X[54-shift_char_X]Y[10-shift_char_Y](M)G243X[54-shift_char_X]Y[12-shift_char_Y](M)#1=26call fig_cursorG243X[39-shift_char_X]Y[10-shift_char_Y](N)G243X[39-shift_char_X]Y[12-shift_char_Y](N)

color white C blue L0G243X[45-shift_char_X]Y[9-shift_char_Y]('(')G243X[47-shift_char_X]Y[9-shift_char_Y](',')G243X[49-shift_char_X]Y[9-shift_char_Y](')')G243X[45-shift_char_X]Y[13-shift_char_Y]('(')G243X[47-shift_char_X]Y[13-shift_char_Y](',')G243X[49-shift_char_X]Y[13-shift_char_Y](')')cursor_offG243X[54-shift_char_X]Y[15-shift_char_Y]('(1)')G243X[54-shift_char_X]Y[7-shift_char_Y]('(2)')G243X[37-shift_char_X]Y[15-shift_char_Y]('(3)')G243X[37-shift_char_X]Y[7-shift_char_Y]('(4)')m99

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

-377-

O6140 ;############################################### Contour : Approach/Escape Typeif[#[address 0] eq 224]then #19=21 else #19=26

/* blue for Workcolor blue#20=144+shift_grap_YG242X[-24-shift_grap_X]Y[#20-23]G01X[-24-shift_grap_X]Y[#20+23]G02X[-24-shift_grap_X]Y[#20-23]I[-34-shift_grap_X]J#20G206P0X[-16-shift_grap_X]Y#20#20=80+shift_grap_YG242X[-24-shift_grap_X]Y[#20-23]G01X[-24-shift_grap_X]Y[#20+23]G02X[-24-shift_grap_X]Y[#20-23]I[-34-shift_grap_X]J#20G206P0X[-16-shift_grap_X]Y#20#20=16+shift_grap_YG242X[-24-shift_grap_X]Y[#20-23]G01X[-24-shift_grap_X]Y[#20+23]G02X[-24-shift_grap_X]Y[#20-23]I[-34-shift_grap_X]J#20G206P0X[-16-shift_grap_X]Y#20

/* Edge Linecolor sky_blue /* for Work(blue green)#20=144+shift_grap_YG242X[-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_YG242X[-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_YG242X[-24-shift_grap_X]Y[#20+24]G02X[-24-shift_grap_X]Y[#20-24]I[-34-shift_grap_X]J#20

/* red for Pathcolor redif[cursor eq #19]then #1=9-shift_grap_X #2=160+shift_grap_Y #3=-7-shift_grap_X #4=144+shift_grap_Yelse #1=-7-shift_grap_X #2=144+shift_grap_Y #3=9-shift_grap_X #4=128+shift_grap_Yendif#5=9-shift_grap_X#6=144+shift_grap_Y#7=0call fig_ccwif[cursor eq #19]then #2=104+shift_grap_Y #4=80+shift_grap_Yelse #2=80+shift_grap_Y #4=56+shift_grap_Yendif#1=-7-shift_grap_X#3=#1#5=0call fig_line#1=17-shift_grap_X#2=16+shift_grap_Y#3=-7-shift_grap_X

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

-378-

#4=#2if[cursor eq #19]then #5=0else #5=1endifcall fig_line

/* Characters#8509 = string_o_numbercolor whitecall fig_languageG243X[43-shift_char_X]Y[6 -shift_char_Y]P[#1+90]G243X[43-shift_char_X]Y[10-shift_char_Y]P[#1+91]G243X[43-shift_char_X]Y[14-shift_char_Y]P[#1+92]m99

O6141 ;############################################### Contour : Approach/Escape Circleif[#[address 0] eq 224]then #19=22 else #19=27

/* blue for Workcolor blue#20=72+shift_grap_YG242X[-8-shift_grap_X]Y[#20-95]G01X[-8-shift_grap_X]Y[#20+95]G02X[-8-shift_grap_X]Y[#20-95]I[-136-shift_grap_X]J#20G206P0X[0-shift_grap_X]Y#20

/* Edge Linecolor sky_blue /* for Work(blue green)#20=72+shift_grap_YG242X[-8-shift_grap_X]Y[#20+96]G02X[-8-shift_grap_X]Y[#20-96]I[-136-shift_grap_X]J#20

/* red for Pathcolor redif[cursor lt [#19+2]]then #1=105-shift_grap_X #2=152+shift_grap_Y #3=25-shift_grap_X #4=72+shift_grap_Yelse #1=25-shift_grap_X #2=72+shift_grap_Y #3=105-shift_grap_X #4=-8+shift_grap_Yendif#5=105-shift_grap_X#6=72+shift_grap_Y#7=0call fig_ccw

/* green Linecolor greenif[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

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

-379-

G03X[89-shift_grap_X]Y[72+shift_grap_Y]I[105-shift_grap_X]J[72+shift_grap_Y]else G242X[105-shift_grap_X]Y[72+shift_grap_Y] /* Radius G01X[105-shift_grap_X]Y[-8+shift_grap_Y] #1=105-shift_grap_X #2=72+shift_grap_Y #3=25-shift_grap_X #4=#2 #5=0 call fig_line G242X[89-shift_grap_X]Y[72+shift_grap_Y] /* for Angle G03X[105-shift_grap_X]Y[56+shift_grap_Y]I[105-shift_grap_X]J[72+shift_grap_Y]endif

/* yellow Cross Markcolor yellow#1=105-shift_grap_X#2=72+shift_grap_Ycall fig_mark

/* Charactersif[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)endifm99

O6142 ;############################################### Contour : Approach/Escape Tangentif[#[address 0] eq 224]then #19=23 else #19=28

/* blue for Workcolor blue#20=72+shift_grap_YG242X[40-shift_grap_X]Y[#20-95]G01X[40-shift_grap_X]Y[#20+95]G02X[40-shift_grap_X]Y[#20-95]I[-88-shift_grap_X]J#20G206P0X[48-shift_grap_X]Y#20

/* Edge Linecolor sky_blue /* for Work(blue green)#20=72+shift_grap_YG242X[40-shift_grap_X]Y[#20+96]G02X[40-shift_grap_X]Y[#20-96]I[-88-shift_grap_X]J#20

/* red for Pathcolor redif[cursor eq #19]then #1=73-shift_grap_X #2=152+shift_grap_Y #3=#1 #4=73+shift_grap_Yelse #1=73-shift_grap_X

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

-380-

#2=71+shift_grap_Y #3=#1 #4=-8+shift_grap_Yendif#5=0call fig_line

/* green Linecolor greenG242X[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_Yelse 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_Yendif#5=2call fig_line

/* Characterscursor_onif[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)endifcursor_offm99

O6143 ;############################################### Contour : Approach/Escape Verticalif[#[address 0] eq 224]then #19=23 else #19=28

/* blue for Workcolor blue#20=72+shift_grap_YG242X[0-shift_grap_X]Y[#20-95]G01X[0-shift_grap_X]Y[#20+95]G02X[0-shift_grap_X]Y[#20-95]I[-128-shift_grap_X]J#20G206P0X[8-shift_grap_X]Y#20

/* Edge Linecolor sky_blue /* for Work(blue green)#20=72+shift_grap_YG242X[0-shift_grap_X]Y[#20+96]G02X[0-shift_grap_X]Y[#20-96]I[-128-shift_grap_X]J#20

/* red for Pathcolor red#1=120-shift_grap_X#2=72+shift_grap_Y#3=33-shift_grap_X#4=#2if[cursor eq #19]then #5=0

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

-381-

else #5=1endifcall fig_line

/* green Linecolor greenG242X[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=2call fig_line

/* Characterscursor_onif[cursor eq #19]then G243X49Y9(M)else G243X49Y9(X)endifcursor_offm99

O6144 ;############################################### Contour : Compensation Direction/* blue for Workcolor blueG242X[ 1-shift_grap_X]Y[64+shift_grap_Y]G01 X[ 1-shift_grap_X]Y[41+shift_grap_Y]G01 X[95-shift_grap_X]Y[41+shift_grap_Y]G01 X[95-shift_grap_X]Y[64+shift_grap_Y]G01 X[ 1-shift_grap_X]Y[64+shift_grap_Y]G206P0X[8-shift_grap_X]Y[48+shift_grap_Y]

G242X[ 1-shift_grap_X]Y[ 96+shift_grap_Y]G01 X[ 1-shift_grap_X]Y[119+shift_grap_Y]G01 X[95-shift_grap_X]Y[119+shift_grap_Y]G01 X[95-shift_grap_X]Y[ 96+shift_grap_Y]G01 X[ 1-shift_grap_X]Y[ 96+shift_grap_Y]G206P0X[8-shift_grap_X]Y[104+shift_grap_Y]

/* Edge Linecolor sky_blue /* for Work(blue green)G242X[ 0-shift_grap_X]Y[64+shift_grap_Y]G01 X[ 0-shift_grap_X]Y[40+shift_grap_Y]G01 X[96-shift_grap_X]Y[40+shift_grap_Y]G01 X[96-shift_grap_X]Y[64+shift_grap_Y]

G242X[ 0-shift_grap_X]Y[ 96+shift_grap_Y]G01 X[ 0-shift_grap_X]Y[120+shift_grap_Y]G01 X[96-shift_grap_X]Y[120+shift_grap_Y]G01 X[96-shift_grap_X]Y[ 96+shift_grap_Y]

/* Toolscolor greenG242X[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]Q4G206P0X[40-shift_grap_X]Y[24+shift_grap_Y]color purpleG242X[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

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

-382-

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]Q4G206P0X[40-shift_grap_X]Y[137+shift_grap_Y]color purpleG242X[32-shift_grap_X]Y[151+shift_grap_Y]G02 X[32-shift_grap_X]Y[151+shift_grap_Y]I[32-shift_grap_X]J[136+shift_grap_Y]Q4

/* red for Pathcolor red#1=32-shift_grap_X#2=24+shift_grap_Y#3=80-shift_grap_X#4=#2#5=0call fig_line#1=32-shift_grap_X#2=136+shift_grap_Y#3=80-shift_grap_X#4=#2#5=0call fig_line

/* Characterscolor whitecall fig_languageG243X[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

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

-383-

8.4 INPUTTED DATA CHECKING

/****************************************************************************/*/* CHECK6.SRC :: Side/*/***** 8871: Square/***** 8872: Circle/***** 8873: Track/***** 8874: One Side/***** 8875: Contour/****************************************************************************$INCLUDE SYMBOL.DEF

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

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

-384-

if[#[value 12] le 0]goto 98 endif /* Tool Small Dia.*/ if[#[attribute 13] ne att_not_use]then error_item = 13 if[#[value 13] lt 0]goto 98 endif /* Chamfer Angle */ if[#[attribute 14] ne att_not_use]then error_item = 14 if[#[value 14] eq 0]goto 98 if[#[value 14] lt 0]goto 98 endif /* Tool Out Depth */ if[#[attribute 15] ne att_not_use]then error_item = 15 if[#[value 15] lt 0]goto 98 endif /* Tool Corner-R */ if[#[attribute 16] ne att_not_use]then error_item = 16 if[#[value 16] lt 0]goto 98 endif /* Feed Rate */ error_item = 17 if[#[value 17] eq #0]goto 97 if[#[value 17] le 0]goto 98 /* Z-Cut Feed Rate */ error_item = 18 if[#[value 18] eq #0]goto 97 if[#[value 18] le 0]goto 98 /* Mach. Shape */ error_item = 20 if[#[value 20] eq #0]goto 97 if[#[value 20] lt 1 || #[value 20] gt 2]goto 98 /* Center Point X */ error_item =21 if[#[value 21] eq #0]goto 97 /* Center Point Y */ error_item =22 if[#[value 22] eq #0]goto 97 /* U-Length */ error_item = 23 if[#[value 23] eq #0]goto 97 if[#[value 23] le 0]goto 98 /* V-Length */ error_item = 24 if[#[value 24] eq #0]goto 97 if[#[value 24] le 0]goto 98 /* Cut Direction */ error_item = 25 if[#[value 25] eq #0]goto 97 if[#[value 25] lt 1 || #[value 25] gt 2]goto 98 /* Corner Type */ if[#[attribute 26] ne att_not_use]then error_item = 26 if[#[value 26] eq #0]goto 97 if[#[value 26] lt 1 || #[value 26] gt 2]goto 98 endif /* Corner R/C */ error_item = 27 if[#[value 27] lt 0]goto 98 /* Approach Gap */ if[#[attribute 29] ne att_not_use]then error_item = 29 if[#[value 29] eq #0]goto 97 if[#[value 29] le 0]goto 98

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

-385-

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

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

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

-386-

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

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

-387-

if[#[attribute 25] ne att_not_use]then error_item = 25 if[#[value 25] eq #0]goto 97 if[#[value 25] le 0]goto 98 endif /* Approach / Escape */ if[#[attribute 26] ne att_not_use]then error_item = 26 if[#[value 26] eq 0]goto 98 if[#[value 26] lt 0]goto 98 endif /* Start Point Sel. */ if[#[attribute 27] ne att_not_use]then error_item = 27 if[#[value 27] eq #0]goto 97 if[#[value 27] lt 1 || #[value 27] gt 2]goto 98 endif /* Start Point Sel. */ if[#[attribute 28] ne att_not_use]then error_item = 28 if[#[value 28] eq #0]goto 97 if[#[value 28] lt 1 || #[value 28] gt 2]goto 98 endif goto 99 /* Data is lacking. */n97 input_error_flag = error_on call fig_language color red C white L0 G243X1Y24 P[#1+900] goto 99 /* Input error in menu param. */n98 input_error_flag = error_on call fig_language color red C white L0 G243X1Y24 P[#1+901]n99 m99

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

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

-388-

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

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

-389-

error_item = 24 if[#[value 24] eq #0]goto 97 if[#[value 24] le 0]goto 98 /* Cut Direction */ error_item = 25 if[#[value 25] eq #0]goto 97 if[#[value 25] lt 1 || #[value 25] gt 2]goto 98 /* Approach Gap */ if[#[attribute 27] ne att_not_use]then error_item = 27 if[#[value 27] eq #0]goto 97 if[#[value 27] le 0]goto 98 endif /* Approach / Escape */ if[#[attribute 28] ne att_not_use]then error_item = 28 if[#[value 28] eq 0]goto 98 if[#[value 28] lt 0]goto 98 endif /* Start Point Sel. */ if[#[attribute 29] ne att_not_use]then error_item = 29 if[#[value 29] eq #0]goto 97 if[#[value 29] lt 1 || #[value 29] gt 2]goto 98 endif /* Start Point Sel. */ if[#[attribute 30] ne att_not_use]then error_item = 30 if[#[value 30] eq #0]goto 97 if[#[value 30] lt 1 || #[value 30] gt 2]goto 98 endif goto 99 /* Data is lacking. */n97 input_error_flag = error_on call fig_language color red C white L0 G243X1Y24 P[#1+900] goto 99 /* Input error in menu param. */n98 input_error_flag = error_on call fig_language color red C white L0 G243X1Y24 P[#1+901]n99 m99

/* ############################################### One SideO8874 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

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

-390-

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

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

-391-

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

/* ############################################### ContourO8875 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% */

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

-392-

if[#[attribute 18] ne att_not_use]then error_item = 18 if[#[value 18] eq #0]goto 97 if[#[value 18] le 0]goto 98 endif /* Z-Cut Feed Rate */ error_item = 19 if[#[value 19] eq #0]goto 97 if[#[value 19] le 0]goto 98 /* Cut Direction */ error_item = 20 if[#[value 20] eq #0]goto 97 if[#[value 20] lt 1 || #[value 20] gt 2]goto 98 /* Approach Type */ error_item = 21 if[#[value 21] eq #0]goto 97 if[#[value 21] lt 1 || #[value 21] gt 3]goto 98 /* Approach Radius */ if[#[attribute 22] ne att_not_use]then error_item = 22 if[#[value 22] eq #0]goto 97 if[#[value 22] le 0]goto 98 endif /* Approach Angle */ if[#[attribute 23] ne att_not_use]then error_item = 23 if[#[value 23] eq #0]goto 97 if[#[value 23] le 0]goto 98 endif /* Approach Distance */ if[#[attribute 24] ne att_not_use]then error_item = 24 if[#[value 24] eq #0]goto 97 if[#[value 24] le 0]goto 98 endif /* Escape Type */ error_item = 25 if[#[value 25] eq #0]goto 97 if[#[value 25] lt 1 || #[value 25] gt 3]goto 98 /* Escape Radius */ if[#[attribute 26] ne att_not_use]then error_item = 26 if[#[value 26] eq #0]goto 97 if[#[value 26] le 0]goto 98 endif /* Escape Angle */ if[#[attribute 27] ne att_not_use]then error_item = 27 if[#[value 27] eq #0]goto 97 if[#[value 27] le 0]goto 98 endif /* Escape Distance */ if[#[attribute 28] ne att_not_use]then error_item = 28 if[#[value 28] eq #0]goto 97 if[#[value 28] le 0]goto 98 endif /* Comp. Direction */ error_item = 29 if[#[value 29] eq #0]goto 97 if[#[value 29] lt 1 || #[value 29] gt 2]goto 98 goto 99 /* Data is lacking. */n97 input_error_flag = error_on call fig_language color red C white L0 G243X1Y24 P[#1+900]

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

-393-

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

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

-394-

9 USER PROGRAMS FOR POCKETING MENU

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

-395-

9.1 COMMENTS DEFINITION

/****************************************************************************/*/* STRING7.SRC :: Pocket (ENGLISH)/*/***** 7801: Softkey/***** 7811: Square/***** 7821: Circle/***** 7831: Track/***** 7841: Groove/***** 7851: Contour Pocket/***** 7861: Contour Groove/****************************************************************************

O7801 ;############################################### SoftkyeN0001("20 01 C010 20")('SQUARE');N0002("20 01 C018 20")('CIRCLE');N0003("20 01 C020 20")('TRACK ');N0004("20 01 C028 20")('GROOVE');N0005("20 01 C030 20")('CONTR ');N0006("20 01 C038 20")('C-GROV');M99

O7811 ;############################################### SquareN9999('SQUARE POCKET');N9998('SQUARE POCKET(DETAIL SET)');N0001('MACH. PROCESS');N0002('CLEARANCE');N0003('END POINT Z');N0004('REMOVAL DEPTH');N0005('REMOVAL PITCH');N0006('BOTTOM FINISH');N0007('SIDE FINISH');N0008('CHAMFER REMOVAL');N0010('FEED RATE');N0011('CUTTING WIDTH%');N0012('Z-CUT FEED RATE');N0013('TOOL SMALL DIA.');N0014('CHAMFER ANGLE');N0015('TOOL OUT DEPTH');N0017('CENTER POINT X');N0018('CENTER POINT Y');N0019('U-LENGTH');N0020('V-LENGTH');N0021('CUT DIRECTION');N0022('CORNER-R RADIUS');N0023('INCLINE ANGLE');N0024('START POINT SEL.');N0026('ROUGH MACH. D-CODE');N0027('CYCLE SELECTION');N0028('R POINT DISTANCE');N0029('PITCH DEPTH');N0030('TRAVEL SPEED');N0031('DWELL TIME');N0032('APPROACH/ESCAPE');

N0100('27');N0101("20 01 C010 20")('ROUGH ');N0102("20 01 C018 20")('B-FIN ');N0103("20 01 C020 20")('S-FIN ');N0104("20 01 C028 20")('CHAMF ');

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

-396-

N0105("20 01 C030 20")(' HOLE ');N0151('1');N0152('2');N0153('3');N0154('4');N0155('5');

N2100('21');N2101("20 01 C010 20")('DOWNCT');N2102("20 01 C018 20")('UPCUT ');N2151('1');N2152('2');

N2400('28');N2401("20 01 C010 20")(' [1] ');N2402("20 01 C018 20")(' [2] ');N2451('1');N2452('2');

N2700('7');N2701("20 01 C010 20")(' G81 ');N2702("20 01 C020 20")(' G83 ');N2751('1');N2752('2');M99

O7821 ;############################################### CircleN9999('CIRCLE POCKET');N9998('CIRCLE POCKET(DETAIL SET)');N0001('MACH. PROCESS');N0002('CLEARANCE');N0003('END POINT Z');N0004('REMOVAL DEPTH');N0005('REMOVAL PITCH');N0006('BOTTOM FINISH');N0007('SIDE FINISH');N0008('CHAMFER REMOVAL');N0010('FEED RATE');N0011('CUTTING WIDTH%');N0012('Z-CUT FEED RATE');N0013('TOOL SMALL DIA.');N0014('CHAMFER ANGLE');N0015('TOOL OUT DEPTH');N0017('CENTER POINT X');N0018('CENTER POINT Y');N0019('RADIUS');N0020('CUT DIRECTION');N0021('START POINT SEL.');N0023('ROUGH MACH. D-CODE');N0024('CYCLE SELECTION');N0025('R POINT DISTANCE');N0026('PITCH DEPTH');N0027('TRAVEL SPEED');N0028('DWELL TIME');N0029('APPROACH/ESCAPE');

N0100('27');N0101("20 01 C010 20")('ROUGH ');N0102("20 01 C018 20")('B-FIN ');N0103("20 01 C020 20")('S-FIN ');N0104("20 01 C028 20")('CHAMF ');N0105("20 01 C030 20")(' HOLE ');N0151('1');N0152('2');N0153('3');

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

-397-

N0154('4');N0155('5');

N2000('21');N2001("20 01 C010 20")('DOWNCT');N2002("20 01 C018 20")('UPCUT ');N2051('1');N2052('2');

N2100('28');N2101("20 01 C010 20")(' [1] ');N2102("20 01 C018 20")(' [2] ');N2151('1');N2152('2');

N2400('7');N2401("20 01 C010 20")(' G81 ');N2402("20 01 C020 20")(' G83 ');N2451('1');N2452('2');M99

O7831 ;############################################### TrackN9999('TRACK POCKET');N9998('TRACK POCKET(DETAIL SET)');N0001('MACH. PROCESS');N0002('CLEARANCE');N0003('END POINT Z');N0004('REMOVAL DEPTH');N0005('REMOVAL PITCH');N0006('BOTTOM FINISH');N0007('SIDE FINISH');N0008('CHAMFER REMOVAL');N0010('FEED RATE');N0011('CUTTING WIDTH%');N0012('Z-CUT FEED RATE');N0013('TOOL SMALL DIA.');N0014('CHAMFER ANGLE');N0015('TOOL OUT DEPTH');N0017('CENTER POINT X');N0018('CENTER POINT Y');N0019('CENTER DISTANCE');N0020('RADIUS');N0021('CUT DIRECTION');N0022('INCLINE ANGLE');N0023('START POINT SEL.');N0025('ROUGH MACH. D-CODE');N0026('CYCLE SELECTION');N0027('R POINT DISTANCE');N0028('PITCH DEPTH');N0029('TRAVEL SPEED');N0030('DWELL TIME');N0031('APPROACH/ESCAPE');

N0100('27');N0101("20 01 C010 20")('ROUGH ');N0102("20 01 C018 20")('B-FIN ');N0103("20 01 C020 20")('S-FIN ');N0104("20 01 C028 20")('CHAMF ');N0105("20 01 C030 20")(' HOLE ');N0151('1');N0152('2');N0153('3');N0154('4');N0155('5');

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

-398-

N2100('21');N2101("20 01 C010 20")('DOWNCT');N2102("20 01 C018 20")('UPCUT ');N2151('1');N2152('2');

N2300(' 28');N2301("20 01 C010 20")(' [1] ');N2302("20 01 C018 20")(' [2] ');N2351('1');N2352('2');

N2600('7');N2601("20 01 C010 20")(' G81 ');N2602("20 01 C020 20")(' G83 ');N2651('1');N2652('2');M99

O7841 ;############################################### GrooveN9999('GROOVE');N9998('GROOVE(DETAIL SET)');N0001('MACH. PROCESS');N0002('CLEARANCE');N0003('END POINT Z');N0004('REMOVAL DEPTH');N0005('REMOVAL PITCH');N0006('BOTTOM FINISH');N0007('SIDE FINISH');N0008('CHAMFER REMOVAL');N0010('FEED RATE');N0011('CUTTING WIDTH%');N0012('Z-CUT FEED RATE');N0013('TOOL SMALL DIA.');N0014('CHAMFER ANGLE');N0015('TOOL OUT DEPTH');N0017('CENTER POINT X');N0018('CENTER POINT Y');N0019('U-LENGTH');N0020('GROOVE WIDTH');N0021('CUT DIRECTION');N0022('INCLINE ANGLE');N0023('START POINT SEL.');N0024('APPROACH ALW.');N0025('ESCAPE ALW.');

N0100('27');N0101("20 01 C010 20")('ROUGH ');N0102("20 01 C018 20")('B-FIN ');N0103("20 01 C020 20")('S-FIN ');N0104("20 01 C028 20")('CHAMF ');N0151('1');N0152('2');N0153('3');N0154('4');

N2100('21');N2101("20 01 C010 20")('DOWNCT');N2102("20 01 C018 20")('UPCUT ');N2151('1');N2152('2');

N2300('18');N2301("20 01 C030 20")(' [1] ');

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

-399-

N2302("20 01 C028 20")(' [2] ');N2351('1');N2352('2');M99

O7851 ;############################################### Contour PocketN9999('CONTOUR POCKET');N9998('CONTOUR POCKET(DETAIL SET)');N0001('MACH. PROCESS');N0002('CLEARANCE');N0003('END POINT Z');N0004('REMOVAL DEPTH');N0005('REMOVAL PITCH');N0006('BOTTOM FINISH');N0007('SIDE FINISH');N0010('FEED RATE');N0011('CUTTING WIDTH%');N0012('Z-CUT FEED RATE');N0013('CUT DIRECTION');N0014('CUT METHOD');N0019('ROUGH MACH. D-CODE');N0020('CYCLE SELECTION');N0021('R POINT DISTANCE');N0022('PITCH DEPTH');N0023(' TRAVEL SPEED');N0024('DWELL TIME');N0025('APPROACH TYPE');N0026('APPROACH RADIUS');N0027('APPROACH ANGLE');N0028('APPROACH DISTANCE');N0029('ESCAPE TYPE');N0030('ESCAPE RADIUS');N0031('ESCAPE ANGLE');N0032('ESCAPE DISTANCE');N0033('COMP. DIRECTION');

N0100('27');N0101("20 01 C010 20")('ROUGH ');N0102("20 01 C018 20")('B-FIN ');N0103("20 01 C020 20")('S-FIN ');N0104("20 01 C030 20")(' HOLE ');N0151('1');N0152('2');N0153('3');N0154('5');

N1300('21');N1301("20 01 C010 20")('DOWNCT');N1302("20 01 C018 20")('UPCUT ');N1351('1');N1352('2');

N1400('28');N1401("20 01 C010 20")('INSIDE');N1402("20 01 C018 20")('OUTSID');N1451('1');N1452('2');

N2000('7');N2001("20 01 C010 20")(' G81 ');N2002("20 01 C020 20")(' G83 ');N2051('1');N2052('2');

N2500('25');

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

-400-

N2501("20 01 C010 20")('CIRCLE');N2502("20 01 C018 20")('TANGNT');N2503("20 01 C020 20")('VERTCL');N2551('1');N2552('2');N2553('3');

N2900('26');N2901("20 01 C010 20")('CIRCLE');N2902("20 01 C018 20")('TANGNT');N2903("20 01 C020 20")('VERTCL');N2951('1');N2952('2');N2953('3');

N3300('5');N3301("20 01 C028 20")(' LEFT ');N3302("20 01 C030 20")(' RIGHT');N3351('1');N3352('2');M99

O7861 ;############################################### Contour GrooveN9999('CONTOUR GROOVE');N9998('CONTOUR GROOVE(DETAIL SET)');N0001('MACH. PROCESS');N0002('CLEARANCE');N0003('END POINT Z');N0004('REMOVAL DEPTH');N0005('REMOVAL PITCH');N0006('BOTTOM FINISH');N0007('SIDE FINISH');N0010('FEED RATE');N0011('CUTTING WIDTH%');N0012('Z-CUT FEED RATE');N0013('CUT DIRECTION');N0014('GROOVE WIDTH');N0019('ROUGH MACH. D-CODE');N0020('CYCLE SELECTION');N0021('R POINT DISTANCE');N0022('PITCH DEPTH');N0023(' TRAVEL SPEED');N0024('DWELL TIME');N0025('APPROACH TYPE');N0026('APPROACH RADIUS');N0027('APPROACH ANGLE');N0028('APPROACH DISTANCE');N0029('ESCAPE TYPE');N0030('ESCAPE RADIUS');N0031('ESCAPE ANGLE');N0032('ESCAPE DISTANCE');N0033('COMP. DIRECTION');

N0100('27');N0101("20 01 C010 20")('ROUGH ');N0102("20 01 C018 20")('B-FIN ');N0103("20 01 C020 20")('S-FIN ');N0104("20 01 C030 20")(' HOLE ');N0151('1');N0152('2');N0153('3');N0154('5');

N1300('21');N1301("20 01 C010 20")('DOWNCT');N1302("20 01 C018 20")('UPCUT ');

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

-401-

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

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

-402-

9.2 DATA ATTRIBUTE

/****************************************************************************/*/* PROC7.SRC :: Pocket/*/***** 8481: Square/***** 8482: Circle/***** 8483: Track/***** 8484: Groove/***** 8485: Contour Pocket/***** 8486: Contour Groove/****************************************************************************$INCLUDE SYMBOL.DEF

O8481 ;############################################### Square#[address 0] = 230#[address 1] = add_P#[attribute 1] = att_character#[value 1] = 1#[address 2] = add_L#[attribute 2] = att_decimal + att_detail#[value 2] = 3#[address 3] = add_Z#[attribute 3] = att_decimal#[value 3] = #0#[address 4] = add_B#[attribute 4] = att_decimal#[value 4] = #0#[address 5] = add_J#[attribute 5] = att_decimal#[value 5] = #0#[address 6] = add_H#[attribute 6] = att_decimal#[value 6] = 0#[address 7] = add_D#[attribute 7] = att_decimal#[value 7] = 0#[address 8] = add_C#[attribute 8] = att_not_use#[value 8] = #0#[address 9] = add_C ;DUMMY#[attribute 9] = att_new_page#[value 9] = #0 ;DUMMY#[address 10] = add_F#[attribute 10] = att_decimal#[value 10] = #0#[address 11] = add_C#[attribute 11] = att_decimal#[value 11] = 70#[address 12] = add_E#[attribute 12] = att_decimal#[value 12] = #0#[address 13] = add_D#[attribute 13] = att_not_use#[value 13] = #0#[address 14] = add_J#[attribute 14] = att_not_use#[value 14] = #0#[address 15] = add_H#[attribute 15] = att_not_use#[value 15] = #0#[attribute 16] = att_not_use#[address 17] = add_X

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

-403-

#[attribute 17] = att_decimal#[value 17] = #0#[address 18] = add_Y#[attribute 18] = att_decimal#[value 18] = #0#[address 19] = add_U#[attribute 19] = att_decimal#[value 19] = #0#[address 20] = add_V#[attribute 20] = att_decimal#[value 20] = #0#[address 21] = add_W#[attribute 21] = att_character + att_detail#[value 21] = 1#[address 22] = add_R#[attribute 22] = att_decimal + att_detail#[value 22] = 0#[address 23] = add_A#[attribute 23] = att_decimal + att_detail#[value 23] = 0#[address 24] = add_N#[attribute 24] = att_not_use#[value 24] = #0#[attribute 25] = att_not_use#[address 26] = add_L#[attribute 26] = att_not_use#[value 26] = #0#[address 27] = add_S#[attribute 27] = att_not_use#[value 27] = 1#[address 28] = add_I#[attribute 28] = att_not_use#[value 28] = #0#[address 29] = add_Q#[attribute 29] = att_not_use#[value 29] = #0#[address 30] = add_C#[attribute 30] = att_not_use#[value 30] = #0#[address 31] = add_E#[attribute 31] = att_not_use#[value 31] = #0#[address 32] = add_K#[attribute 32] = att_not_use#[value 32] = #0#[address 33] = add_endprevious_cursor = 1 /* Previous cursor position clearm99

O8482 ;############################################### Circle#[address 0] = 231#[address 1] = add_P#[attribute 1] = att_character#[value 1] = 1#[address 2] = add_L#[attribute 2] = att_decimal + att_detail#[value 2] = 3#[address 3] = add_Z#[attribute 3] = att_decimal#[value 3] = #0#[address 4] = add_B#[attribute 4] = att_decimal#[value 4] = #0#[address 5] = add_J#[attribute 5] = att_decimal

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

-404-

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

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

-405-

#[attribute 29] = att_not_use#[value 29] = #0#[address 30] = add_endprevious_cursor = 1 /* Previous cursor position clearm99

O8483 ;############################################### Track#[address 0] = 232#[address 1] = add_P#[attribute 1] = att_character#[value 1] = 1#[address 2] = add_L#[attribute 2] = att_decimal + att_detail#[value 2] = 3#[address 3] = add_Z#[attribute 3] = att_decimal#[value 3] = #0#[address 4] = add_B#[attribute 4] = att_decimal#[value 4] = #0#[address 5] = add_J#[attribute 5] = att_decimal#[value 5] = #0#[address 6] = add_H#[attribute 6] = att_decimal#[value 6] = 0#[address 7] = add_D#[attribute 7] = att_decimal#[value 7] = 0#[address 8] = add_C#[attribute 8] = att_not_use#[value 8] = #0#[address 9] = add_C ;DUMMY#[attribute 9] = att_new_page#[value 9] = #0 ;DUMMY#[address 10] = add_F#[attribute 10] = att_decimal#[value 10] = #0#[address 11] = add_C#[attribute 11] = att_decimal#[value 11] = 70#[address 12] = add_E#[attribute 12] = att_decimal#[value 12] = #0#[address 13] = add_D#[attribute 13] = att_not_use#[value 13] = #0#[address 14] = add_J#[attribute 14] = att_not_use#[value 14] = #0#[address 15] = add_H#[attribute 15] = att_not_use#[value 15] = #0#[attribute 16] = att_not_use#[address 17] = add_X#[attribute 17] = att_decimal#[value 17] = #0#[address 18] = add_Y#[attribute 18] = att_decimal#[value 18] = #0#[address 19] = add_U#[attribute 19] = att_decimal#[value 19] = #0#[address 20] = add_R#[attribute 20] = att_decimal

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

-406-

#[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_endprevious_cursor = 1 /* Previous cursor position clearm99

O8484 ;############################################### Groove#[address 0] = 233#[address 1] = add_P#[attribute 1] = att_character#[value 1] = 1#[address 2] = add_L#[attribute 2] = att_decimal + att_detail#[value 2] = 3#[address 3] = add_Z#[attribute 3] = att_decimal#[value 3] = #0#[address 4] = add_B#[attribute 4] = att_decimal#[value 4] = #0#[address 5] = add_J#[attribute 5] = att_decimal#[value 5] = #0#[address 6] = add_H#[attribute 6] = att_decimal#[value 6] = 0#[address 7] = add_D#[attribute 7] = att_decimal#[value 7] = 0#[address 8] = add_C#[attribute 8] = att_not_use#[value 8] = #0#[address 9] = add_C ;DUMMY#[attribute 9] = att_new_page#[value 9] = #0 ;DUMMY

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

-407-

#[address 10] = add_F#[attribute 10] = att_decimal#[value 10] = #0#[address 11] = add_C#[attribute 11] = att_decimal#[value 11] = 70#[address 12] = add_E#[attribute 12] = att_decimal#[value 12] = #0#[address 13] = add_D#[attribute 13] = att_not_use#[value 13] = #0#[address 14] = add_J#[attribute 14] = att_not_use#[value 14] = #0#[address 15] = add_H#[attribute 15] = att_not_use#[value 15] = #0#[attribute 16] = att_not_use#[address 17] = add_X#[attribute 17] = att_decimal#[value 17] = #0#[address 18] = add_Y#[attribute 18] = att_decimal#[value 18] = #0#[address 19] = add_U#[attribute 19] = att_decimal#[value 19] = #0#[address 20] = add_V#[attribute 20] = att_decimal#[value 20] = #0#[address 21] = add_W#[attribute 21] = att_character + att_detail#[value 21] = 1#[address 22] = add_A#[attribute 22] = att_decimal + att_detail#[value 22] = 0#[address 23] = add_N#[attribute 23] = att_character + att_detail#[value 23] = 1#[address 24] = add_K#[attribute 24] = att_decimal + att_detail#[value 24] = 5#[address 25] = add_M#[attribute 25] = att_decimal + att_detail#[value 25] = 5#[address 26] = add_endprevious_cursor = 1 /* Previous cursor position clearm99

O8485 ;############################################### Contour Pocket#[address 0] = 234

#[address 1] = add_P#[attribute 1] = att_character#[value 1] = 1#[address 2] = add_L#[attribute 2] = att_decimal + att_detail#[value 2] = 3#[address 3] = add_Z#[attribute 3] = att_decimal#[value 3] = #0#[address 4] = add_B#[attribute 4] = att_decimal#[value 4] = #0

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

-408-

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

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

-409-

#[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_endprevious_cursor = 1 /* Previous cursor position clearm99

O8486 ;############################################### Contour Groove#[address 0] = 235#[address 1] = add_P#[attribute 1] = att_character#[value 1] = 1#[address 2] = add_L#[attribute 2] = att_decimal + att_detail#[value 2] = 3#[address 3] = add_Z#[attribute 3] = att_decimal#[value 3] = #0#[address 4] = add_B#[attribute 4] = att_decimal#[value 4] = #0#[address 5] = add_J#[attribute 5] = att_decimal#[value 5] = #0#[address 6] = add_H#[attribute 6] = att_decimal#[value 6] = 0#[address 7] = add_D#[attribute 7] = att_decimal#[value 7] = 0#[address 8] = add_C#[attribute 8] = att_not_use#[value 8] = #0#[address 9] = add_C ;DUMMY#[attribute 9] = att_new_page#[value 9] = #0 ;DUMMY#[address 10] = add_F#[attribute 10] = att_decimal#[value 10] = #0#[address 11] = add_C ; Not use now#[attribute 11] = att_decimal ; Not use now#[value 11] = 70 ; Not use now#[address 12] = add_E#[attribute 12] = att_decimal#[value 12] = #0#[address 13] = add_W#[attribute 13] = att_character + att_detail#[value 13] = 1#[address 14] = add_V#[attribute 14] = att_decimal

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

-410-

#[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_endprevious_cursor = 1 /* Previous cursor position clearm99

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

-411-

9.3 GUIDANCE DRAWING FIGURE

/****************************************************************************/*/* FIG7.SRC :: Pocket/*/***** 8681: Square/***** 8682: Circle/***** 8683: Track/***** 8684: Groove/***** 8685: Contour Pocket/***** 8686: Contour Groove/****************************************************************************$INCLUDE SYMBOL.DEF

O8681 ;############################################### Square/*** Guide Picture Setting ***/if[guide_frequency ne secont_tine]goto 90if[cursor le 12]then if[cursor eq 2]then call fig_clear call 6152 else if[previous_cursor gt 12 || previous_cursor eq 2]then call fig_clear endif call 6151 endif goto 1endifif[cursor eq 13]then call fig_clear call 6159 goto 1endifif[cursor eq 14]then call fig_clear call 6160 goto 1endifif[cursor eq 15]then call fig_clear call 6161 goto 1endifif[cursor le 24 || cursor eq 32]then if[cursor eq 23]then call fig_clear call 6121 goto 1 endif if[previous_cursor le 15 || previous_cursor gt 24 || previous_cursor eq 23]then if[previous_cursor ne 2 || previous_cursor eq 23]then call fig_clear endif endif call 6152else if[previous_cursor eq 1 || previous_cursor lt 28]then call fig_clear endif cursor = cursor - 25 if[#[value 27] eq 2]then call 6158

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

-412-

else call 6157 endif cursor = cursor + 25endifn1previous_cursor = cursorn90

/*** Attribution Setting ***/if[#[value 1] eq 1]then #[attribute 5] = att_decimal #[attribute 6] = att_decimal #[attribute 7] = att_decimal #[attribute 8] = att_not_use #[attribute 9] = att_new_page #[attribute 10] = att_decimal #[attribute 11] = att_decimal #[attribute 12] = att_decimal #[attribute 13] = att_not_use #[attribute 14] = att_not_use #[attribute 15] = att_not_use #[attribute 16] = att_not_use #[attribute 21] = att_character + att_detail #[attribute 27] = att_not_use #[attribute 29] = att_not_use #[attribute 32] = att_not_useendifif[#[value 1] eq 2]then #[attribute 5] = att_not_use #[attribute 6] = att_decimal #[attribute 7] = att_decimal #[attribute 8] = att_not_use #[attribute 9] = att_not_use #[attribute 10] = att_decimal #[attribute 11] = att_decimal #[attribute 12] = att_decimal #[attribute 13] = att_not_use #[attribute 14] = att_not_use #[attribute 15] = att_not_use #[attribute 16] = att_new_page #[attribute 21] = att_character + att_detail #[attribute 27] = att_not_use #[attribute 29] = att_not_use #[attribute 32] = att_not_useendifif[#[value 1] eq 3]then #[attribute 5] = att_decimal #[attribute 6] = att_decimal #[attribute 7] = att_not_use #[attribute 8] = att_not_use #[attribute 9] = att_not_use #[attribute 10] = att_decimal #[attribute 11] = att_not_use #[attribute 12] = att_decimal #[attribute 13] = att_not_use #[attribute 14] = att_not_use #[attribute 15] = att_not_use #[attribute 16] = att_new_page #[attribute 21] = att_character + att_detail #[attribute 27] = att_not_use #[attribute 29] = att_not_use #[attribute 32] = att_decimal + att_detailendifif[#[value 1] eq 4]then #[attribute 5] = att_not_use #[attribute 6] = att_not_use

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

-413-

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

O8682 ;############################################### Circle/*** Guide Picture Setting ***/if[guide_frequency ne secont_tine]goto 90if[cursor le 12]then if[cursor eq 2]then call fig_clear call 6153 else if[previous_cursor gt 12 || previous_cursor eq 2]then call fig_clear endif call 6151 endif goto 1endifif[cursor eq 13]then call fig_clear call 6159 goto 1endifif[cursor eq 14]then call fig_clear call 6160 goto 1endifif[cursor eq 15]then

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

-414-

call fig_clear call 6161 goto 1endifif[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 6153else 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 + 22endifn1previous_cursor = cursorn90

/*** Attribution Setting ***/if[#[value 1] eq 1]then #[attribute 5] = att_decimal #[attribute 6] = att_decimal #[attribute 7] = att_decimal #[attribute 8] = att_not_use #[attribute 9] = att_new_page #[attribute 10] = att_decimal #[attribute 11] = att_decimal #[attribute 12] = att_decimal #[attribute 13] = att_not_use #[attribute 14] = att_not_use #[attribute 15] = att_not_use #[attribute 16] = att_not_use #[attribute 20] = att_character + att_detail #[attribute 24] = att_not_use #[attribute 26] = att_not_use #[attribute 29] = att_not_useendifif[#[value 1] eq 2]then #[attribute 5] = att_not_use #[attribute 6] = att_decimal #[attribute 7] = att_decimal #[attribute 8] = att_not_use #[attribute 9] = att_not_use #[attribute 10] = att_decimal #[attribute 11] = att_decimal #[attribute 12] = att_decimal #[attribute 13] = att_not_use #[attribute 14] = att_not_use #[attribute 15] = att_not_use #[attribute 16] = att_new_page #[attribute 20] = att_character + att_detail #[attribute 24] = att_not_use #[attribute 26] = att_not_use #[attribute 29] = att_not_useendifif[#[value 1] eq 3]then #[attribute 5] = att_decimal #[attribute 6] = att_decimal

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

-415-

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

O8683 ;############################################### Track/*** Guide Picture Setting ***/if[guide_frequency ne secont_tine]goto 90if[cursor le 12]then if[cursor eq 2]then call fig_clear call 6154 else

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

-416-

if[previous_cursor gt 12 || previous_cursor eq 2]then call fig_clear endif call 6151 endif goto 1endifif[cursor eq 13]then call fig_clear call 6159 goto 1endifif[cursor eq 14]then call fig_clear call 6160 goto 1endifif[cursor eq 15]then call fig_clear call 6161 goto 1endifif[cursor le 24 || cursor eq 31]then if[cursor eq 22]then call fig_clear call 6121 goto 1 endif if[previous_cursor lt 17 || previous_cursor gt 23 || previous_cursor eq 22]then if[previous_cursor ne 2 || previous_cursor eq 22]then call fig_clear endif endif call 6154else if[previous_cursor eq 1 || previous_cursor lt 27]then call fig_clear endif cursor = cursor - 24 if[#[value 26] eq 2]then call 6158 else call 6157 endif cursor = cursor + 24endifn1previous_cursor = cursorn90

/*** Attribution Setting ***/if[#[value 1] eq 1]then #[attribute 5] = att_decimal #[attribute 6] = att_decimal #[attribute 7] = att_decimal #[attribute 8] = att_not_use #[attribute 9] = att_new_page #[attribute 10] = att_decimal #[attribute 11] = att_decimal #[attribute 12] = att_decimal #[attribute 13] = att_not_use #[attribute 14] = att_not_use #[attribute 15] = att_not_use #[attribute 16] = att_not_use #[attribute 21] = att_character + att_detail #[attribute 26] = att_not_use #[attribute 28] = att_not_use

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

-417-

#[attribute 31] = att_not_useendifif[#[value 1] eq 2]then #[attribute 5] = att_not_use #[attribute 6] = att_decimal #[attribute 7] = att_decimal #[attribute 8] = att_not_use #[attribute 9] = att_not_use #[attribute 10] = att_decimal #[attribute 11] = att_decimal #[attribute 12] = att_decimal #[attribute 13] = att_not_use #[attribute 14] = att_not_use #[attribute 15] = att_not_use #[attribute 16] = att_new_page #[attribute 21] = att_character + att_detail #[attribute 26] = att_not_use #[attribute 28] = att_not_use #[attribute 31] = att_not_useendifif[#[value 1] eq 3]then #[attribute 5] = att_decimal #[attribute 6] = att_decimal #[attribute 7] = att_not_use #[attribute 8] = att_not_use #[attribute 9] = att_not_use #[attribute 10] = att_decimal #[attribute 11] = att_not_use #[attribute 12] = att_decimal #[attribute 13] = att_not_use #[attribute 14] = att_not_use #[attribute 15] = att_not_use #[attribute 16] = att_new_page #[attribute 21] = att_character + att_detail #[attribute 26] = att_not_use #[attribute 28] = att_not_use #[attribute 31] = att_decimal + att_detailendifif[#[value 1] eq 4]then #[attribute 5] = att_not_use #[attribute 6] = att_not_use #[attribute 7] = att_not_use #[attribute 8] = att_decimal #[attribute 9] = att_not_use #[attribute 10] = att_decimal #[attribute 11] = att_not_use #[attribute 12] = att_decimal #[attribute 13] = att_decimal #[attribute 14] = att_decimal #[attribute 15] = att_decimal #[attribute 16] = att_not_use #[attribute 21] = att_character + att_detail #[attribute 26] = att_not_use #[attribute 28] = att_not_use #[attribute 31] = att_decimal + att_detailendifif[#[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

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

-418-

#[attribute 15] = att_not_use #[attribute 16] = att_new_page #[attribute 21] = att_not_use #[attribute 26] = att_character if[#[value 26] eq 1]then #[attribute 28] = att_not_use else #[attribute 28] = att_decimal endif #[attribute 31] = att_not_useendifm99

O8684 ;############################################### Groove/*** Guide Picture Setting ***/if[guide_frequency ne secont_tine]goto 90if[cursor le 12]then if[cursor eq 2]then call fig_clear call 6155 else if[previous_cursor gt 12 || previous_cursor eq 2]then call fig_clear endif call 6151 endif goto 1endifif[cursor eq 13]then call fig_clear call 6159 goto 1endifif[cursor eq 14]then call fig_clear call 6160 goto 1endifif[cursor eq 15]then call fig_clear call 6161 goto 1endifif[cursor eq 22]then call fig_clear call 6121else if[previous_cursor lt 17 || previous_cursor eq 22]then if[previous_cursor ne 2]then call fig_clear endif endif call 6155endifn1previous_cursor = cursorn90

/*** Attribution Setting ***/if[#[value 1] eq 1]then #[attribute 5] = att_decimal #[attribute 6] = att_decimal #[attribute 7] = att_decimal #[attribute 8] = att_not_use #[attribute 9] = att_new_page

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

-419-

#[attribute 10] = att_decimal #[attribute 11] = att_decimal #[attribute 12] = att_not_use #[attribute 13] = att_not_use #[attribute 14] = att_not_use #[attribute 15] = att_not_use #[attribute 16] = att_not_useendifif[#[value 1] eq 2]then #[attribute 5] = att_not_use #[attribute 6] = att_decimal #[attribute 7] = att_decimal #[attribute 8] = att_not_use #[attribute 9] = att_not_use #[attribute 10] = att_decimal #[attribute 11] = att_decimal #[attribute 12] = att_not_use #[attribute 13] = att_not_use #[attribute 14] = att_not_use #[attribute 15] = att_not_use #[attribute 16] = att_new_pageendifif[#[value 1] eq 3]then #[attribute 5] = att_decimal #[attribute 6] = att_decimal #[attribute 7] = att_not_use #[attribute 8] = att_not_use #[attribute 9] = att_not_use #[attribute 10] = att_decimal #[attribute 11] = att_not_use #[attribute 12] = att_not_use #[attribute 13] = att_not_use #[attribute 14] = att_not_use #[attribute 15] = att_not_use #[attribute 16] = att_new_pageendifif[#[value 1] eq 4]then #[attribute 5] = att_not_use #[attribute 6] = att_not_use #[attribute 7] = att_not_use #[attribute 8] = att_decimal #[attribute 9] = att_not_use #[attribute 10] = att_decimal #[attribute 11] = att_not_use #[attribute 12] = att_not_use #[attribute 13] = att_decimal #[attribute 14] = att_decimal #[attribute 15] = att_decimal #[attribute 16] = att_new_pageendifm99

O8685 ;############################################### Contour Pocket/*** Guide Picture Setting ***/if[guide_frequency ne secont_tine]goto 90if[cursor le 14]then if[previous_cursor gt 12 || previous_cursor eq 2]then call fig_clear endif call 6151 goto 1endifif[cursor le 24]then if[previous_cursor lt 21 || previous_cursor eq 33]then call fig_clear

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

-420-

endif cursor = cursor - 18 if[#[value 20] eq 2]then call 6158 else call 6157 endif cursor = cursor + 18 goto 1endifif[cursor eq 25 || cursor eq 29]then call fig_clear call 6140endifif[cursor eq 26 || cursor eq 27]then if[previous_cursor ne 26 && previous_cursor ne 27]then call fig_clear endif call 6141endifif[cursor eq 30 || cursor eq 31]then if[previous_cursor ne 30 && previous_cursor ne 31]then call fig_clear endif call 6141endifif[cursor eq 28]then call fig_clear if[#[value 25] eq 3]then call 6143 else call 6142 endifendifif[cursor eq 32]then call fig_clear if[#[value 29] eq 3]then call 6143 else call 6142 endifendifif[cursor eq 33]then call fig_clear call 6144endifn1previous_cursor = cursorn90

/*** Attribution Setting ***/if[#[value 1] eq 1]then #[attribute 5] = att_decimal #[attribute 6] = att_decimal #[attribute 7] = att_decimal #[attribute 9] = att_new_page #[attribute 10] = att_decimal #[attribute 11] = att_decimal #[attribute 12] = att_decimal #[attribute 14] = att_character + att_detail #[attribute 18] = att_not_use #[attribute 19] = att_not_use #[attribute 20] = att_not_use #[attribute 22] = att_not_use #[attribute 25] = att_not_use #[attribute 26] = att_not_use #[attribute 27] = att_not_use

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

-421-

#[attribute 28] = att_not_use #[attribute 29] = att_not_use #[attribute 30] = att_not_use #[attribute 31] = att_not_use #[attribute 32] = att_not_useendifif[#[value 1] eq 2]then #[attribute 5] = att_not_use #[attribute 6] = att_decimal #[attribute 7] = att_decimal #[attribute 9] = att_not_use #[attribute 10] = att_decimal #[attribute 11] = att_decimal #[attribute 12] = att_decimal #[attribute 14] = att_character + att_detail #[attribute 18] = att_not_use #[attribute 19] = att_not_use #[attribute 20] = att_not_use #[attribute 22] = att_not_use #[attribute 25] = att_not_use #[attribute 26] = att_not_use #[attribute 27] = att_not_use #[attribute 28] = att_not_use #[attribute 29] = att_not_use #[attribute 30] = att_not_use #[attribute 31] = att_not_use #[attribute 32] = att_not_useendifif[#[value 1] eq 3]then #[attribute 5] = att_not_use #[attribute 6] = att_decimal #[attribute 7] = att_not_use #[attribute 9] = att_not_use #[attribute 10] = att_decimal #[attribute 11] = att_not_use #[attribute 12] = att_decimal #[attribute 14] = att_not_use #[attribute 18] = att_not_use #[attribute 19] = att_not_use #[attribute 20] = att_not_use #[attribute 22] = att_not_use #[attribute 25] = att_character + att_detail if[#[value 25] eq 1]then #[attribute 26] = att_decimal + att_detail #[attribute 27] = att_decimal + att_detail #[attribute 28] = att_not_use else #[attribute 26] = att_not_use #[attribute 27] = att_not_use #[attribute 28] = att_decimal + att_detail endif #[attribute 29] = att_character + att_detail if[#[value 29] eq 1]then #[attribute 30] = att_decimal + att_detail #[attribute 31] = att_decimal + att_detail #[attribute 32] = att_not_use else #[attribute 30] = att_not_use #[attribute 31] = att_not_use #[attribute 32] = att_decimal + att_detail endifendifif[#[value 1] eq 4]thenendifif[#[value 1] eq 5]then #[attribute 5] = att_not_use #[attribute 6] = att_not_use

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

-422-

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

O8686 ;############################################### Contour Groove/*** Guide Picture Setting ***/if[guide_frequency ne secont_tine]goto 90if[cursor le 14]then if[previous_cursor gt 12 || previous_cursor eq 2]then call fig_clear endif call 6156 goto 1endifif[cursor le 24]then if[previous_cursor lt 21 || previous_cursor eq 33]then call fig_clear endif cursor = cursor - 18 if[#[value 20] eq 2]then call 6158 else call 6157 endif cursor = cursor + 18 goto 1endifif[cursor eq 25 || cursor eq 29]then call fig_clear call 6140endifif[cursor eq 26 || cursor eq 27]then if[previous_cursor ne 26 && previous_cursor ne 27]then call fig_clear endif call 6141endifif[cursor eq 30 || cursor eq 31]then if[previous_cursor ne 30 && previous_cursor ne 31]then call fig_clear endif call 6141endifif[cursor eq 28]then

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

-423-

call fig_clear if[#[value 25] eq 3]then call 6143 else call 6142 endifendifif[cursor eq 32]then call fig_clear if[#[value 29] eq 3]then call 6143 else call 6142 endifendifif[cursor eq 33]then call fig_clear call 6144endifn1previous_cursor = cursorn90

/*** Attribution Setting ***/if[#[value 1] eq 1]then #[attribute 5] = att_decimal #[attribute 6] = att_decimal #[attribute 7] = att_decimal #[attribute 9] = att_new_page #[attribute 10] = att_decimal #[attribute 11] = att_decimal #[attribute 12] = att_decimal #[attribute 18] = att_not_use #[attribute 19] = att_not_use #[attribute 20] = att_not_use #[attribute 22] = att_not_use #[attribute 25] = att_not_use #[attribute 26] = att_not_use #[attribute 27] = att_not_use #[attribute 28] = att_not_use #[attribute 29] = att_not_use #[attribute 30] = att_not_use #[attribute 31] = att_not_use #[attribute 32] = att_not_useendifif[#[value 1] eq 2]then #[attribute 5] = att_not_use #[attribute 6] = att_decimal #[attribute 7] = att_decimal #[attribute 9] = att_not_use #[attribute 10] = att_decimal #[attribute 11] = att_decimal #[attribute 12] = att_decimal #[attribute 18] = att_not_use #[attribute 19] = att_not_use #[attribute 20] = att_not_use #[attribute 22] = att_not_use #[attribute 25] = att_not_use #[attribute 26] = att_not_use #[attribute 27] = att_not_use #[attribute 28] = att_not_use #[attribute 29] = att_not_use #[attribute 30] = att_not_use #[attribute 31] = att_not_use #[attribute 32] = att_not_useendifif[#[value 1] eq 3]then

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

-424-

#[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 endifendifif[#[value 1] eq 4]thenendifif[#[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_useendifm99

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

-425-

/****************************************************************************/*/* FIGSUB7.SRC :: Pocket/*/***** 6151: Prepare/***** 6152: Square/***** 6153: Circle/***** 6154: Track/***** 6155: Groove/***** 6156: Contour Groove/***** 6157: G81 for Hole/***** 6158: G83 for Hole/***** 6159: Tool Small Dia./***** 6160: Chamfer Angle/***** 6161: Tool Out Depth/***** 6162: Tool Corner R/****************************************************************************$INCLUDE SYMBOL.DEF

O6151 ;############################################### Prepare/* blue for Workcolor blueG242X[-23-shift_grap_X]Y[1+shift_grap_Y]G01X[111-shift_grap_X]Y[1+shift_grap_Y]G01X[111-shift_grap_X]Y[111+shift_grap_Y]

if[#[address 0] ne 234 && #[address 0] ne 235]then G01X[98-shift_grap_X]Y[111+shift_grap_Y] G01X[89-shift_grap_X]Y[102+shift_grap_Y]else G01X[89-shift_grap_X]Y[111+shift_grap_Y]endifG01X[89-shift_grap_X]Y[47+shift_grap_Y]G01X[-1-shift_grap_X]Y[47+shift_grap_Y]if[#[address 0] ne 234 && #[address 0] ne 235]then G01X[-1-shift_grap_X]Y[102+shift_grap_Y] G01X[-10-shift_grap_X]Y[111+shift_grap_Y]else G01X[-1-shift_grap_X]Y[111+shift_grap_Y]endifG01X[-23-shift_grap_X]Y[111+shift_grap_Y]G01X[-23-shift_grap_X]Y[1+shift_grap_Y]#1=50-shift_char_X /* for H#2=13-shift_char_Y#3=1call fig_characterG206P0X[0-shift_grap_X]Y[8+shift_grap_Y]

/* blue green for Finishcolor sky_blueif[#[address 0] ne 234 && #[address 0] ne 235]then G242X[-9-shift_grap_X]Y[111+shift_grap_Y]else G242X[1-shift_grap_X]Y[111+shift_grap_Y]endifG01X[1-shift_grap_X]Y[102+shift_grap_Y]G01X[1-shift_grap_X]Y[49+shift_grap_Y]G01X[87-shift_grap_X]Y[49+shift_grap_Y]if[#[address 0] ne 234 && #[address 0] ne 235]then G01X[87-shift_grap_X]Y[102+shift_grap_Y] G01X[97-shift_grap_X]Y[111+shift_grap_Y]else G01X[87-shift_grap_X]Y[111+shift_grap_Y]endifG01X[81-shift_grap_X]Y[111+shift_grap_Y]G01X[81-shift_grap_X]Y[55+shift_grap_Y]

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

-426-

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]endifG206P0X[8-shift_grap_X]Y[50+shift_grap_Y]

/* white for Removalcolor whiteG242X[9-shift_grap_X]Y[111+shift_grap_Y]G01X[9-shift_grap_X]Y[57+shift_grap_Y]G01X[79-shift_grap_X]Y[57+shift_grap_Y]G01X[79-shift_grap_X]Y[111+shift_grap_Y]G01X[9-shift_grap_X]Y[111+shift_grap_Y]G206P0X[50-shift_grap_X]Y[80+shift_grap_Y]

/* Edge Linecolor sky_blue /* blue greenif[#[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]endifG01X[-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]endifcolor purple /* purpleG242X[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]endifif[#[address 0] ne 234 && #[address 0] ne 235]then G242X[-10-shift_grap_X]Y[112+shift_grap_Y] /* Slant G01X[0-shift_grap_X]Y[102+shift_grap_Y] G242X[98-shift_grap_X]Y[112+shift_grap_Y] G01X[88-shift_grap_X]Y[102+shift_grap_Y]endif

/* red for Pathcolor redG242X[9-shift_grap_X]Y[93+shift_grap_Y]G01X[79-shift_grap_X]Y[93+shift_grap_Y]G242X[9-shift_grap_X]Y[74+shift_grap_Y]G01X[79-shift_grap_X]Y[74+shift_grap_Y]

/* green Linecolor greenif[#[address 0] ne 234 && #[address 0] ne 235]then

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

-427-

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_lineendifG242X[113-shift_grap_X]Y[112+shift_grap_Y] /* for BG01X[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=2call fig_lineG242X[81-shift_grap_X]Y[93+shift_grap_Y] /* for JG01X[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=2call fig_lineG242X[81-shift_grap_X]Y[56+shift_grap_Y] /* for DG01X[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=1call fig_line#1=116-shift_grap_X#2=47+shift_grap_Y#3=#1#4=37+shift_grap_Y#5=1call fig_lineG242X[80-shift_grap_X]Y[55+shift_grap_Y] /* for HG01X[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=1call fig_line#1=79-shift_grap_X#2=42+shift_grap_Y#3=69-shift_grap_X#4=#2#5=1call fig_line

/* Characters

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

-428-

if[#[address 0] ne 234 && #[address 0] ne 235]then #1=8 call fig_cursor G243X[51-shift_char_X]Y[7-shift_char_Y](C)endif#1=4call fig_cursorG243X[57-shift_char_X]Y[10-shift_char_Y](B)#1=5call fig_cursorG243X[55-shift_char_X]Y[9-shift_char_Y](J)#1=6call fig_cursorG243X[55-shift_char_X]Y[11-shift_char_Y](H)#1=3call fig_cursorG243X[57-shift_char_X]Y[12-shift_char_Y](Z)if[cursor eq 7]then color -white C blue L1else color white C blue L0endifG243X[50-shift_char_X]Y[13-shift_char_Y](D)cursor_offm99

O6152 ;############################################### Square/* blue for Workcolor blueG242X[-23-shift_grap_X]Y[17+shift_grap_Y] /* OuterG01X[127-shift_grap_X]Y[17+shift_grap_Y]G01X[127-shift_grap_X]Y[127+shift_grap_Y]G01X[-23-shift_grap_X]Y[127+shift_grap_Y]G01X[-23-shift_grap_X]Y[17+shift_grap_Y]G242X[-8-shift_grap_X]Y[31+shift_grap_Y] /* InnerG01X[104-shift_grap_X]Y[31+shift_grap_Y]G03X[113-shift_grap_X]Y[40+shift_grap_Y]I[104-shift_grap_X]J[40+shift_grap_Y]G01X[113-shift_grap_X]Y[104+shift_grap_Y]G03X[104-shift_grap_X]Y[113+shift_grap_Y]I[104-shift_grap_X]J[104+shift_grap_Y]G01X[-8-shift_grap_X]Y[113+shift_grap_Y]G03X[-17-shift_grap_X]Y[104+shift_grap_Y]I[-8-shift_grap_X]J[104+shift_grap_Y]G01X[-17-shift_grap_X]Y[40+shift_grap_Y]G03X[-8-shift_grap_X]Y[31+shift_grap_Y]I[-8-shift_grap_X]J[40+shift_grap_Y]G206P0X[0-shift_grap_X]Y[24+shift_grap_Y]

/* green for Toolcolor greenif[#[value 1] eq 3 || #[value 1] eq 4]then G242X[1-shift_grap_X]Y[88 +shift_grap_Y] /* Start Tool G02X[1-shift_grap_X]Y[88+shift_grap_Y]I[8-shift_grap_X]J[88+shift_grap_Y]Q4 G206P0X[8-shift_grap_X]Y[88+shift_grap_Y] G242X[1-shift_grap_X]Y[56 +shift_grap_Y] /* End Tool G02X[1-shift_grap_X]Y[56+shift_grap_Y]I[8-shift_grap_X]J[56+shift_grap_Y]Q4 G206P0X[8-shift_grap_X]Y[56+shift_grap_Y]else G242X[9-shift_grap_X]Y[72+shift_grap_Y] /* Start Tool G02X[9-shift_grap_X]Y[72+shift_grap_Y]I[16-shift_grap_X]J[72+shift_grap_Y]Q4 G206P0X[16-shift_grap_X]Y[72+shift_grap_Y] G242X[111-shift_grap_X]Y[72+shift_grap_Y] /* End Tool G02X[111-shift_grap_X]Y[72+shift_grap_Y]I[104-shift_grap_X]J[72+shift_grap_Y]Q4 G206P0X[104-shift_grap_X]Y[72+shift_grap_Y]endif

/* Edge Linecolor sky_blue /* for Work(blue green)

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

-429-

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]Q4else 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]Q4endif

/* red for Pathcolor redG242X[-4-shift_grap_X]Y[40+shift_grap_Y]G01X[100-shift_grap_X]Y[40+shift_grap_Y]G03X[104-shift_grap_X]Y[44+shift_grap_Y]I[100-shift_grap_X]J[44+shift_grap_Y]G01X[104-shift_grap_X]Y[100+shift_grap_Y]G03X[100-shift_grap_X]Y[104+shift_grap_Y]I[100-shift_grap_X]J[100+shift_grap_Y]G01X[-4-shift_grap_X]Y[104+shift_grap_Y]G03X[-8-shift_grap_X]Y[100+shift_grap_Y]I[-4-shift_grap_X]J[100+shift_grap_Y]G01X[-8-shift_grap_X]Y[44+shift_grap_Y]G03X[-4-shift_grap_X]Y[40+shift_grap_Y]I[-4-shift_grap_X]J[44+shift_grap_Y]if[#[value 1] eq 3 || #[value 1] eq 4]then #1=8-shift_grap_X #2=88+shift_grap_Y #3=8-shift_grap_X #4=56+shift_grap_Y #5=8-shift_grap_X #6=72+shift_grap_Y #7=0 call fig_ccwelse G242X[12-shift_grap_X]Y[56+shift_grap_Y] G01X[84-shift_grap_X]Y[56+shift_grap_Y] G03X[88-shift_grap_X]Y[60+shift_grap_Y]I[84-shift_grap_X]J[60+shift_grap_Y] G01X[88-shift_grap_X]Y[84+shift_grap_Y] G03X[84-shift_grap_X]Y[88+shift_grap_Y]I[84-shift_grap_X]J[84+shift_grap_Y] G01X[12-shift_grap_X]Y[88+shift_grap_Y] G03X[8-shift_grap_X]Y[84+shift_grap_Y]I[12-shift_grap_X]J[84+shift_grap_Y] G01X[8-shift_grap_X]Y[60+shift_grap_Y] G03X[12-shift_grap_X]Y[56+shift_grap_Y]I[12-shift_grap_X]J[60+shift_grap_Y] G242X[16-shift_grap_X]Y[72+shift_grap_Y] G01X[103-shift_grap_X]Y[72+shift_grap_Y]endif

/* green Linecolor greenG242X[-16-shift_grap_X]Y[105+shift_grap_Y] /* for UG01X[-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]

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

-430-

#1=-15-shift_grap_X#2=133+shift_grap_Y#3=111-shift_grap_X#4=#2#5=2call fig_lineG242X[105-shift_grap_X]Y[112+shift_grap_Y] /* for VG01X[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=2call fig_lineG242X[96-shift_grap_X]Y[96+shift_grap_Y] /* for RG01X[108-shift_grap_X]Y[108+shift_grap_Y]

/* yellow Cross Markcolor yellow#1=48-shift_grap_X /* (X,Y)#2=72+shift_grap_Ycall fig_mark

/* Characters#1=17call fig_cursorG243X[45-shift_char_X]Y[11-shift_char_Y](X)#1=18call fig_cursorG243X[47-shift_char_X]Y[11-shift_char_Y](Y)#1=19call fig_cursorG243X[46-shift_char_X]Y[6-shift_char_Y](U)#1=20call fig_cursorG243X[57-shift_char_X]Y[10-shift_char_Y](V)#1=22call fig_cursorG243X[51-shift_char_X]Y[9-shift_char_Y](R)cursor_offG243X[44-shift_char_X]Y[11-shift_char_Y]('(')G243X[46-shift_char_X]Y[11-shift_char_Y](',')G243X[48-shift_char_X]Y[11-shift_char_Y](')')m99

O6153 ;############################################### Circle/* blue for Workcolor blueG242X[-23-shift_grap_X]Y[72+shift_grap_Y]G02X[-23-shift_grap_X]Y[72+shift_grap_Y]I[56-shift_grap_X]J[72+shift_grap_Y]Q4G242X[-1-shift_grap_X]Y[72+shift_grap_Y]G02X[-1-shift_grap_X]Y[72+shift_grap_Y]I[56-shift_grap_X]J[72+shift_grap_Y]Q4G206P0X[56-shift_grap_X]Y[0+shift_grap_Y]

/* green for Toolcolor greenif[#[value 1] eq 3 || #[value 1] eq 4]then G242X[17-shift_grap_X]Y[88+shift_grap_Y] /* Start Tool G02X[17-shift_grap_X]Y[88+shift_grap_Y]I[24-shift_grap_X]J[88+shift_grap_Y]Q4 G206P0X[24-shift_grap_X]Y[88+shift_grap_Y] G242X[17-shift_grap_X]Y[56+shift_grap_Y] /* End Tool G02X[17-shift_grap_X]Y[56+shift_grap_Y]I[24-shift_grap_X]J[56+shift_grap_Y]Q4 G206P0X[24-shift_grap_X]Y[56+shift_grap_Y]

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

-431-

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 Linecolor 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]Q4G242X[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]Q4color 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]Q4else 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]Q4endif

/* red for Pathcolor redG242X[8-shift_grap_X]Y[72+shift_grap_Y]G02X[8-shift_grap_X]Y[72+shift_grap_Y]I[56-shift_grap_X]J[72+shift_grap_Y]Q4if[#[value 1] eq 3 || #[value 1] eq 4]then #1=24-shift_grap_X #2=88+shift_grap_Y #3=24-shift_grap_X #4=56+shift_grap_Y #5=24-shift_grap_X #6=72+shift_grap_Y #7=0 call fig_ccwelse G242X[24-shift_grap_X]Y[72+shift_grap_Y] G02X[24-shift_grap_X]Y[72+shift_grap_Y]I[56-shift_grap_X]J[72+shift_grap_Y]Q4 G242X[40-shift_grap_X]Y[72+shift_grap_Y] G02X[40-shift_grap_X]Y[72+shift_grap_Y]I[56-shift_grap_X]J[72+shift_grap_Y]Q4 G242X[57-shift_grap_X]Y[72+shift_grap_Y] G01X[103-shift_grap_X]Y[72+shift_grap_Y]endif

/* green Linecolor 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=0call fig_line

/* yellow Cross Markcolor yellow#1=56-shift_grap_X#2=72+shift_grap_Ycall fig_mark

/* Characters#1=17

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

-432-

call fig_cursorG243X[46-shift_char_X]Y[11-shift_char_Y](X)#1=18call fig_cursorG243X[48-shift_char_X]Y[11-shift_char_Y](Y)#1=19call fig_cursorG243X[45-shift_char_X]Y[12-shift_char_Y](R)cursor_offG243X[45-shift_char_X]Y[11-shift_char_Y]('(')G243X[47-shift_char_X]Y[11-shift_char_Y](',')G243X[49-shift_char_X]Y[11-shift_char_Y](')')m99

O6154 ;############################################### Track/* blue for Workcolor blueG242X[-31-shift_grap_X]Y[9+shift_grap_Y]G01X[151-shift_grap_X]Y[9+shift_grap_Y]G01X[151-shift_grap_X]Y[135+shift_grap_Y]G01X[-31-shift_grap_X]Y[135+shift_grap_Y]G01X[-31-shift_grap_X]Y[9+shift_grap_Y]G242X[24-shift_grap_X]Y[31+shift_grap_Y]G01X[96-shift_grap_X]Y[31+shift_grap_Y]G03X[96-shift_grap_X]Y[113+shift_grap_Y]I[96-shift_grap_X]J[72+shift_grap_Y]G01X[24-shift_grap_X]Y[113+shift_grap_Y]G03X[24-shift_grap_X]Y[31+shift_grap_Y]I[24-shift_grap_X]J[72+shift_grap_Y]G206P0X[0-shift_grap_X]Y[24+shift_grap_Y]

/* green for Toolcolor greenif[#[value 1] eq 3 || #[value 1] eq 4]then G242X[1-shift_grap_X]Y[88+shift_grap_Y] /* Start Tool G02X[1-shift_grap_X]Y[88+shift_grap_Y]I[8-shift_grap_X]J[88+shift_grap_Y]Q4 G206P0X[8-shift_grap_X]Y[88+shift_grap_Y] G242X[1-shift_grap_X]Y[56+shift_grap_Y] /* End Tool G02X[1-shift_grap_X]Y[56+shift_grap_Y]I[8-shift_grap_X]J[56+shift_grap_Y]Q4 G206P0X[8-shift_grap_X]Y[56+shift_grap_Y]else G242X[17-shift_grap_X]Y[72+shift_grap_Y] /* Start Tool G02X[17-shift_grap_X]Y[72+shift_grap_Y]I[24-shift_grap_X]J[72+shift_grap_Y]Q4 G206P0X[24-shift_grap_X]Y[72+shift_grap_Y] G242X[121-shift_grap_X]Y[72+shift_grap_Y] /* End Tool G02X[121-shift_grap_X]Y[72+shift_grap_Y]I[128-shift_grap_X]J[72+shift_grap_Y]Q4 G206P0X[128-shift_grap_X]Y[72+shift_grap_Y]endif

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

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

-433-

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]Q4endif

/* red for Pathcolor redG242X[24-shift_grap_X]Y[40+shift_grap_Y]G01X[96-shift_grap_X]Y[40+shift_grap_Y]G03X[96-shift_grap_X]Y[104+shift_grap_Y]I[96-shift_grap_X]J[72+shift_grap_Y]G01X[24-shift_grap_X]Y[104+shift_grap_Y]G03X[24-shift_grap_X]Y[40+shift_grap_Y]I[24-shift_grap_X]J[72+shift_grap_Y]if[#[value 1] eq 3 || #[value 1] eq 4]then #1=8-shift_grap_X #2=88+shift_grap_Y #3=8-shift_grap_X #4=56+shift_grap_Y #5=8-shift_grap_X #6=72+shift_grap_Y #7=0 call fig_ccwelse G242X[24-shift_grap_X]Y[56+shift_grap_Y] G01X[96-shift_grap_X]Y[56+shift_grap_Y] G03X[96-shift_grap_X]Y[88+shift_grap_Y]I[96-shift_grap_X]J[72+shift_grap_Y] G01X[24-shift_grap_X]Y[88+shift_grap_Y] G03X[24-shift_grap_X]Y[56+shift_grap_Y]I[24-shift_grap_X]J[72+shift_grap_Y] G242X[25-shift_grap_X]Y[72+shift_grap_Y] G01X[127-shift_grap_X]Y[72+shift_grap_Y]endif

/* green Linecolor 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=0call fig_lineG242X[24-shift_grap_X]Y[73+shift_grap_Y] /* for UG01X[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=2call fig_line

/* yellow Cross Markcolor yellow#1=24-shift_grap_X#2=72+shift_grap_Ycall fig_mark

/* Characters#1=17call fig_cursorG243X[42-shift_char_X]Y[10-shift_char_Y](X)#1=18call fig_cursorG243X[44-shift_char_X]Y[10-shift_char_Y](Y)#1=19call fig_cursor

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

-434-

G243X[47-shift_char_X]Y[5-shift_char_Y](U)#1=20call fig_cursorG243X[53-shift_char_X]Y[9-shift_char_Y](R)

cursor_offG243X[41-shift_char_X]Y[10-shift_char_Y]('(')G243X[43-shift_char_X]Y[10-shift_char_Y](',')G243X[45-shift_char_X]Y[10-shift_char_Y](')')m99

O6155 ;############################################### Groove/* blue for Workcolor blueG242X[9-shift_grap_X]Y[25+shift_grap_Y]G01X[87-shift_grap_X]Y[25+shift_grap_Y]G01X[87-shift_grap_X]Y[47+shift_grap_Y]G01X[9-shift_grap_X]Y[47+shift_grap_Y]G01X[9-shift_grap_X]Y[25+shift_grap_Y]G206P0X[48-shift_grap_X]Y[30+shift_grap_Y]G242X[9-shift_grap_X]Y[97+shift_grap_Y]G01X[87-shift_grap_X]Y[97+shift_grap_Y]G01X[87-shift_grap_X]Y[119+shift_grap_Y]G01X[9-shift_grap_X]Y[119+shift_grap_Y]G01X[9-shift_grap_X]Y[97+shift_grap_Y]G206P0X[48-shift_grap_X]Y[100+shift_grap_Y]

/* green for Toolcolor greenG242X[-1-shift_grap_X]Y[80+shift_grap_Y] /* (1)G02X[-1-shift_grap_X]Y[80+shift_grap_Y]I[-8-shift_grap_X]J[80+shift_grap_Y]G206P0X[-8-shift_grap_X]Y[80+shift_grap_Y]G242X[97-shift_grap_X]Y[80+shift_grap_Y] /* (2)G02X[97-shift_grap_X]Y[80+shift_grap_Y]I[104-shift_grap_X]J[80+shift_grap_Y]G206P0X[104-shift_grap_X]Y[80+shift_grap_Y]

/* Edge Linecolor sky_blue /* for Work(blue green)G242X[8-shift_grap_X]Y[24+shift_grap_Y]G01X[88-shift_grap_X]Y[24+shift_grap_Y]G01X[88-shift_grap_X]Y[48+shift_grap_Y]G01X[8-shift_grap_X]Y[48+shift_grap_Y]G01X[8-shift_grap_X]Y[24+shift_grap_Y]G242X[8-shift_grap_X]Y[96+shift_grap_Y]G01X[88-shift_grap_X]Y[96+shift_grap_Y]G01X[88-shift_grap_X]Y[120+shift_grap_Y]G01X[8-shift_grap_X]Y[120+shift_grap_Y]G01X[8-shift_grap_X]Y[96+shift_grap_Y]G242X[8-shift_grap_X]Y[49+shift_grap_Y]G01X[8-shift_grap_X]Y[95+shift_grap_Y]G242X[88-shift_grap_X]Y[49+shift_grap_Y]G01X[88-shift_grap_X]Y[95+shift_grap_Y]color purple /* for Tools(purple)G242X[0-shift_grap_X]Y[80+shift_grap_Y] /* (1)G02X[0-shift_grap_X]Y[80+shift_grap_Y]I[-8-shift_grap_X]J[80+shift_grap_Y]G242X[96-shift_grap_X]Y[80+shift_grap_Y] /* (2)G02X[96-shift_grap_X]Y[80+shift_grap_Y]I[104-shift_grap_X]J[80+shift_grap_Y]

/* red for Pathcolor redG242X[-7-shift_grap_X]Y[88+shift_grap_Y]G01X[103-shift_grap_X]Y[88+shift_grap_Y]G242X[-7-shift_grap_X]Y[80+shift_grap_Y]G01X[103-shift_grap_X]Y[80+shift_grap_Y]G242X[-7-shift_grap_X]Y[64+shift_grap_Y]

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

-435-

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=1call fig_line#1=30-shift_grap_X#2=80+shift_grap_Y#3=29-shift_grap_X#4=#2#5=1call fig_line#1=24-shift_grap_X#2=64+shift_grap_Y#3=25-shift_grap_X#4=#2#5=1call fig_line#1=24-shift_grap_X#2=56+shift_grap_Y#3=25-shift_grap_X#4=#2#5=1call fig_lineG244P1G242X[-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 Linecolor greenG242X[8-shift_grap_X]Y[121+shift_grap_Y] /* for UG01X[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=2call fig_lineG242X[0-shift_grap_X]Y[83+shift_grap_Y] /* for KG01X[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=1call fig_line#1=-1-shift_grap_X#2=100+shift_grap_Y#3=-11-shift_grap_X#4=#2#5=1call fig_lineG242X[96-shift_grap_X]Y[83+shift_grap_Y] /* for MG01X[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

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

-436-

call fig_line#1=87-shift_grap_X#2=100+shift_grap_Y#3=77-shift_grap_X#4=#2#5=1call fig_lineG242X[89-shift_grap_X]Y[48+shift_grap_Y] /* for VG01X[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=2call fig_line#1=-9-shift_grap_X /* for (1)#2=64+shift_grap_Y#3=-19-shift_grap_X#4=#2#5=1call fig_line#1=120-shift_grap_X /* for (2)#2=64+shift_grap_Y#3=130-shift_grap_X#4=#2#5=1call fig_line

/* yellow Cross Markcolor yellow#1=48-shift_grap_X#2=72+shift_grap_Ycall fig_mark

/* Characters#1=17call fig_cursorG243X[45-shift_char_X]Y[11-shift_char_Y](X)#1=18call fig_cursorG243X[47-shift_char_X]Y[11-shift_char_Y](Y)#1=19call fig_cursorG243X[45-shift_char_X]Y[6-shift_char_Y](U)#1=20call fig_cursorG243X[55-shift_char_X]Y[10-shift_char_Y](V)#1=24call fig_cursorG243X[39-shift_char_X]Y[8-shift_char_Y](K)#1=25call fig_cursorG243X[52-shift_char_X]Y[8-shift_char_Y](M)cursor_offG243X[44-shift_char_X]Y[11-shift_char_Y]('(')G243X[46-shift_char_X]Y[11-shift_char_Y](',')G243X[48-shift_char_X]Y[11-shift_char_Y](')')G243X[35-shift_char_X]Y[11-shift_char_Y]('(1)')G243X[56-shift_char_X]Y[11-shift_char_Y]('(2)')m99

O6156 ;############################################### Groove/* blue for Work

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

-437-

color blueG242X[-23-shift_grap_X]Y[9+shift_grap_Y]G01X[111-shift_grap_X]Y[9+shift_grap_Y]G01X[111-shift_grap_X]Y[103+shift_grap_Y]G01X[97-shift_grap_X]Y[103+shift_grap_Y]G01X[97-shift_grap_X]Y[39+shift_grap_Y]G01X[23-shift_grap_X]Y[39+shift_grap_Y]G01X[23-shift_grap_X]Y[103+shift_grap_Y]G01X[-23-shift_grap_X]Y[103+shift_grap_Y]G01X[-23-shift_grap_X]Y[9+shift_grap_Y]G206P0X[0-shift_grap_X]Y[50+shift_grap_Y]

/* blue green for Finishcolor sky_blueG242X[25-shift_grap_X]Y[103+shift_grap_Y]G01X[25-shift_grap_X]Y[41+shift_grap_Y]G01X[95-shift_grap_X]Y[41+shift_grap_Y]G01X[95-shift_grap_X]Y[103+shift_grap_Y]G01X[89-shift_grap_X]Y[103+shift_grap_Y]G01X[89-shift_grap_X]Y[47+shift_grap_Y]G01X[31-shift_grap_X]Y[47+shift_grap_Y]G01X[31-shift_grap_X]Y[103+shift_grap_Y]G01X[25-shift_grap_X]Y[103+shift_grap_Y]G206P0X[28-shift_grap_X]Y[44+shift_grap_Y]

/* white for Removalcolor whiteG242X[33-shift_grap_X]Y[103+shift_grap_Y]G01X[33-shift_grap_X]Y[49+shift_grap_Y]G01X[87-shift_grap_X]Y[49+shift_grap_Y]G01X[87-shift_grap_X]Y[103+shift_grap_Y]G01X[33-shift_grap_X]Y[103+shift_grap_Y]G206P0X[50-shift_grap_X]Y[75+shift_grap_Y]

/* Edge Linecolor sky_blue /* blue greenG242X[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 /* purpleG242X[24-shift_grap_X]Y[104+shift_grap_Y]G01X[24-shift_grap_X]Y[40+shift_grap_Y]G01X[96-shift_grap_X]Y[40+shift_grap_Y]G01X[96-shift_grap_X]Y[104+shift_grap_Y]G01X[24-shift_grap_X]Y[104+shift_grap_Y]G242X[32-shift_grap_X]Y[103+shift_grap_Y]G01X[32-shift_grap_X]Y[48+shift_grap_Y]G01X[88-shift_grap_X]Y[48+shift_grap_Y]G01X[88-shift_grap_X]Y[103+shift_grap_Y]

/* red for Pathcolor redG242X[33-shift_grap_X]Y[88+shift_grap_Y]G01X[87-shift_grap_X]Y[88+shift_grap_Y]G242X[33-shift_grap_X]Y[72+shift_grap_Y]G01X[87-shift_grap_X]Y[72+shift_grap_Y]G242X[33-shift_grap_X]Y[56+shift_grap_Y]G01X[87-shift_grap_X]Y[56+shift_grap_Y]

/* green Linecolor greenG242X[24-shift_grap_X]Y[105+shift_grap_Y] /* for VG01X[24-shift_grap_X]Y[136+shift_grap_Y]G242X[96-shift_grap_X]Y[105+shift_grap_Y]

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

-438-

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=2call fig_lineG242X[88-shift_grap_X]Y[105+shift_grap_Y] /* for DG01X[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=1call fig_line#1=97-shift_grap_X#2=112+shift_grap_Y#3=107-shift_grap_X#4=#2#5=1call fig_lineG242X[113-shift_grap_X]Y[104+shift_grap_Y] /* for BG01X[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=2call fig_lineG242X[89-shift_grap_X]Y[88+shift_grap_Y] /* for JG01X[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=2call fig_lineG242X[89-shift_grap_X]Y[48+shift_grap_Y] /* for HG01X[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=1call fig_line#1=117-shift_grap_X#2=39+shift_grap_Y#3=#1#4=29+shift_grap_Y#5=1call fig_line

/* Characters#1=3call fig_cursorG243X[58-shift_char_X]Y[12-shift_char_Y](Z)#1=4call fig_cursorG243X[58-shift_char_X]Y[10-shift_char_Y](B)#1=5call fig_cursorG243X[55-shift_char_X]Y[9-shift_char_Y](J)#1=6call fig_cursorG243X[55-shift_char_X]Y[12-shift_char_Y](H)

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

-439-

#1=7call fig_cursorG243X[49-shift_char_X]Y[8-shift_char_Y](D)#1=14call fig_cursorG243X[47-shift_char_X]Y[6-shift_char_Y](V)cursor_offm99

O6157 ;############################################### G81 for Hole/* Workcolor blue /* blue for InnerG242X[-23-shift_grap_X]Y[-23+shift_grap_Y]G01X[143-shift_grap_X]Y[-23+shift_grap_Y]G01X[143-shift_grap_X]Y[71+shift_grap_Y]G01X[-23-shift_grap_X]Y[71+shift_grap_Y]G01X[-23-shift_grap_X]Y[-23+shift_grap_Y]G206P0X[0-shift_grap_X]Y[0+shift_grap_Y]color sky_blue /* blue green for EdgeG242X[-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 Toolcolor green /* green for InnerG242X[#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 EdgeG242X[#20]Y[#21]G01X[#20-8]Y[#21+5]G01X[#20-8]Y[#21+21]G01X[#20+8]Y[#21+21]G01X[#20+8]Y[#21+5]G01X[#20]Y[#21]

/* Circle for Pointcolor redG242X[24-shift_grap_X]Y[122+shift_grap_Y]G02X[24-shift_grap_X]Y[122+shift_grap_Y]I[24-shift_grap_X]J[120+shift_grap_Y]Q4G206P0X[24-shift_grap_X]Y[120+shift_grap_Y]G242X[56-shift_grap_X]Y[122+shift_grap_Y]G02X[56-shift_grap_X]Y[122+shift_grap_Y]I[56-shift_grap_X]J[120+shift_grap_Y]Q4G206P0X[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]Q4G206P0X[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]Q4G206P0X[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]Q4G206P0X[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]Q4G206P0X[72-shift_grap_X]Y[88+shift_grap_Y]

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

-440-

/* red for Pathcolor reddot_line#1=27-shift_grap_X#2=120+shift_grap_Y#3=53-shift_grap_X#4=#2#5=0call fig_line#1=56-shift_grap_X#2=117+shift_grap_Y#3=#1#4=91+shift_grap_Y#5=0call fig_linesolid_line#1=56-shift_grap_X#2=85+shift_grap_Y#3=#1#4=11+shift_grap_Y#5=0call fig_linedot_line#1=72-shift_grap_X#2=11+shift_grap_Y#3=#1#4=85+shift_grap_Y#5=0call fig_linesolid_linem99

O6158 ;############################################### G83 for Hole/* Workcolor blue /* blue for InnerG242X[-31-shift_grap_X]Y[-31+shift_grap_Y]G01X[151-shift_grap_X]Y[-31+shift_grap_Y]G01X[151-shift_grap_X]Y[103+shift_grap_Y]G01X[-31-shift_grap_X]Y[103+shift_grap_Y]G01X[-31-shift_grap_X]Y[-31+shift_grap_Y]#1=41-shift_char_X /* for Q#2=9-shift_char_Y#3=1call fig_character#2=12-shift_char_Ycall fig_character#2=15-shift_char_Ycall fig_characterG206P0X[0-shift_grap_X]Y[0+shift_grap_Y]color sky_blue /* blue green for EdgeG242X[-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 Toolcolor green /* green for InnerG242X[#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]

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

-441-

G01X[#20]Y[#21+1]G206P0X[#20]Y[#21+5]color purple /* purple for EdgeG242X[#20]Y[#21]G01X[#20-8]Y[#21+5]G01X[#20-8]Y[#21+21]G01X[#20+8]Y[#21+21]G01X[#20+8]Y[#21+5]G01X[#20]Y[#21]

/* Circle for Pointcolor redG242X[16-shift_grap_X]Y[146+shift_grap_Y]G02X[16-shift_grap_X]Y[146+shift_grap_Y]I[16-shift_grap_X]J[144+shift_grap_Y]Q4G206P0X[16-shift_grap_X]Y[144+shift_grap_Y]G242X[40-shift_grap_X]Y[146+shift_grap_Y]G02X[40-shift_grap_X]Y[146+shift_grap_Y]I[40-shift_grap_X]J[144+shift_grap_Y]Q4G206P0X[40-shift_grap_X]Y[144+shift_grap_Y]G242X[40-shift_grap_X]Y[122+shift_grap_Y]G02X[40-shift_grap_X]Y[122+shift_grap_Y]I[40-shift_grap_X]J[120+shift_grap_Y]Q4G206P0X[40-shift_grap_X]Y[120+shift_grap_Y]G242X[40-shift_grap_X]Y[74+shift_grap_Y]G02X[40-shift_grap_X]Y[74+shift_grap_Y]I[40-shift_grap_X]J[72+shift_grap_Y]Q4G206P0X[40-shift_grap_X]Y[72+shift_grap_Y]G242X[72-shift_grap_X]Y[26+shift_grap_Y]G02X[72-shift_grap_X]Y[26+shift_grap_Y]I[72-shift_grap_X]J[24+shift_grap_Y]Q4G206P0X[72-shift_grap_X]Y[24+shift_grap_Y]G242X[104-shift_grap_X]Y[-22+shift_grap_Y]G02X[104-shift_grap_X]Y[-22+shift_grap_Y]I[104-shift_grap_X]J[-24+shift_grap_Y]Q4G206P0X[104-shift_grap_X]Y[-24+shift_grap_Y]

/* red for Pathcolor reddot_line#1=19-shift_grap_X#2=144+shift_grap_Y#3=37-shift_grap_X#4=#2#5=0call fig_line#1=40-shift_grap_X#2=141+shift_grap_Y#3=#1#4=123+shift_grap_Y#5=0call fig_linesolid_line#1=40-shift_grap_X#2=117+shift_grap_Y#3=#1#4=75+shift_grap_Y#5=0call fig_linedot_line#1=56-shift_grap_X#2=73+shift_grap_Y#3=#1#4=119+shift_grap_Y#5=0call fig_lineG242X[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

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

-442-

#5=0call fig_linedot_line#1=88-shift_grap_X#2=25+shift_grap_Y#3=#1#4=119+shift_grap_Y#5=0call fig_lineG242X[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=0call fig_linedot_line#1=128-shift_grap_X#2=-23+shift_grap_Y#3=#1#4=119+shift_grap_Y#5=0call fig_linesolid_line

/* green Linecolor greenG242X[16-shift_grap_X]Y[120+shift_grap_Y] /* for QG01X[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=2call fig_line#1=24-shift_grap_X#2=71+shift_grap_Y#3=#1#4=25+shift_grap_Y#5=2call fig_line#1=24-shift_grap_X#2=23+shift_grap_Y#3=#1#4=-23+shift_grap_Y#5=2call fig_lineG242X[113-shift_grap_X]Y[120+shift_grap_Y]G01X[136-shift_grap_X]Y[120+shift_grap_Y]

/* Characters

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

-443-

if[cursor eq 4]then color -white C blue L1else color white C blue L0endifG243X[41-shift_char_X]Y[12-shift_char_Y](Q)color white C blue L0G243X[41-shift_char_X]Y[9-shift_char_Y](Q)G243X[41-shift_char_X]Y[15-shift_char_Y](Q)cursor_offm99

O6159 ;############################################### Tool Small Dia./* green for Toolcolor green#20 =16-shift_grap_X /* Left Up Point X#21 =136+shift_grap_Y /* Left Up Point YG242X[#20+1]Y[#21-1]G01X[#20+88-1]Y[#21-1]G01X[#20+88-1]Y[#21-48]G01X[#20+56]Y[#21-80+1]G01X[#20+32]Y[#21-80+1]G01X[#20+1]Y[#21-48]G01X[#20+1]Y[#21-1]G206P0X[#20+10]Y[#21-10]color purple /* for Tool EdgeG242X[#20]Y[#21]G01X[#20+88]Y[#21]G01X[#20+88]Y[#21-48]G01X[#20+56]Y[#21-80]G01X[#20+32]Y[#21-80]G01X[#20]Y[#21-48]G01X[#20]Y[#21]

/* green Linecolor greenG242X[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=2call fig_line

/* Characterscursor_onG243X[47-shift_char_X]Y[13-shift_char_Y](D)cursor_offm99

O6160 ;############################################### Chamfer Angle/* green for Toolcolor green#20 =16-shift_grap_X /* Left Up Point X#21 =136+shift_grap_Y /* Left Up Point YG242X[#20+1]Y[#21-1]G01X[#20+88-1]Y[#21-1]G01X[#20+88-1]Y[#21-48]G01X[#20+56]Y[#21-80+1]G01X[#20+32]Y[#21-80+1]

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

-444-

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=1call fig_characterG206P0X[#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 YG242X[#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 Linecolor 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=2call fig_cw

/* Characterscolor -white C green L1G243X[47-shift_char_X]Y[9-shift_char_Y](J)cursor_offm99

O6161 ;############################################### Tool Out Depth/* green for Toolcolor green#20 =-8-shift_grap_X /* Left Up Point X#21 =136+shift_grap_Y /* Left Up Point YG242X[#20+1]Y[#21-1]G01X[#20+88-1]Y[#21-1]G01X[#20+88-1]Y[#21-48]G01X[#20+56]Y[#21-80+1]G01X[#20+32]Y[#21-80+1]G01X[#20+1]Y[#21-48]G01X[#20+1]Y[#21-1]G206P0X[#20+10]Y[#21-10]color purple /* for Tool EdgeG242X[#20]Y[#21]G01X[#20+88]Y[#21]G01X[#20+88]Y[#21-48]G01X[#20+56]Y[#21-80]G01X[#20+32]Y[#21-80]G01X[#20]Y[#21-48]G01X[#20]Y[#21]

/* blue for Workcolor blueG242X[57-shift_grap_X]Y[-24+shift_grap_Y]G01X[152-shift_grap_X]Y[-24+shift_grap_Y]G01X[152-shift_grap_X]Y[79+shift_grap_Y]G01X[72-shift_grap_X]Y[79+shift_grap_Y]G01X[57-shift_grap_X]Y[64+shift_grap_Y]G01X[57-shift_grap_X]Y[-24+shift_grap_Y]

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

-445-

#1=51-shift_char_X /* for Z#2=11-shift_char_Y#3=1call fig_characterG206P0X[80-shift_grap_X]Y[0+shift_grap_Y]

/* blue green for Work Edgecolor sky_blueG242X[56-shift_grap_X]Y[-24+shift_grap_Y]G01X[56-shift_grap_X]Y[64+shift_grap_Y]G01X[72-shift_grap_X]Y[80+shift_grap_Y]G01X[152-shift_grap_X]Y[80+shift_grap_Y]

;green Linecolor greenG242X[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=1call fig_line#1=80-shift_grap_X#2=55+shift_grap_Y#3=#1#4=45+shift_grap_Y#5=1call fig_line

/* Characterscolor -white C blue L1G243X[51-shift_char_X]Y[11-shift_char_Y](H)cursor_offm99

O6162 ;############################################### Tool Corner R/* green for Toolcolor greenG242X[17-shift_grap_X]Y[135+shift_grap_Y]G01X[17-shift_grap_X]Y[64+shift_grap_Y]G03X[40-shift_grap_X]Y[41+shift_grap_Y]I[40-shift_grap_X]J[64+shift_grap_Y]G01X[80-shift_grap_X]Y[41+shift_grap_Y]G03X[103-shift_grap_X]Y[64+shift_grap_Y]I[80-shift_grap_X]J[64+shift_grap_Y]G01X[103-shift_grap_X]Y[135+shift_grap_Y]G01X[17-shift_grap_X]Y[135+shift_grap_Y]G206P0X[50-shift_grap_X]Y[100+shift_grap_Y]/* purple for Tool Edgecolor purpleG242X[16-shift_grap_X]Y[136+shift_grap_Y]G01X[16-shift_grap_X]Y[64+shift_grap_Y]G03X[40-shift_grap_X]Y[40+shift_grap_Y]I[40-shift_grap_X]J[64+shift_grap_Y]G01X[80-shift_grap_X]Y[40+shift_grap_Y]G03X[104-shift_grap_X]Y[64+shift_grap_Y]I[80-shift_grap_X]J[64+shift_grap_Y]G01X[104-shift_grap_X]Y[136+shift_grap_Y]G01X[16-shift_grap_X]Y[136+shift_grap_Y]

/* green Linecolor green#1=9-shift_grap_X#2=32+shift_grap_Y#3=20-shift_grap_X#4=45+shift_grap_Y

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

-446-

#5=0call fig_line

/* Characterscursor_onG243X[40-shift_char_X]Y[13-shift_char_Y](C)cursor_offm99

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

-447-

9.4 INPUTTED DATA CHECKING

/****************************************************************************/*/* CHECK7.SRC :: Pocket/*/***** 8881: Square/***** 8882: Circle/***** 8883: Track/***** 8884: Groove/***** 8885: Contour Pocket/***** 8886: Contour Groove/****************************************************************************$INCLUDE SYMBOL.DEF

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

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

-448-

/* Z-Cut Feed Rate */ if[#[attribute 12] ne att_not_use]then error_item = 12 if[#[value 12] eq #0]goto 97 if[#[value 12] le 0]goto 98 endif /* Tool Small Dia.*/ if[#[attribute 13] ne att_not_use]then error_item = 13 if[#[value 13] lt 0]goto 98 endif /* Chamfer Angle */ if[#[attribute 14] ne att_not_use]then error_item = 14 if[#[value 14] eq 0]goto 98 if[#[value 14] lt 0]goto 98 endif /* Tool Out Depth */ if[#[attribute 15] ne att_not_use]then error_item = 15 if[#[value 15] lt 0]goto 98 endif /* Center Point X */ error_item =17 if[#[value 17] eq #0]goto 97 /* Center Point Y */ error_item =18 if[#[value 18] eq #0]goto 97 /* U-Length */ error_item = 19 if[#[value 19] eq #0]goto 97 if[#[value 19] le 0]goto 98 /* V-Length */ error_item = 20 if[#[value 20] eq #0]goto 97 if[#[value 20] le 0]goto 98 /* Cut Direction */ if[#[attribute 21] ne att_not_use]then error_item = 21 if[#[value 21] eq #0]goto 97 if[#[value 21] lt 1 || #[value 21] gt 2]goto 98 endif /* Corner-R Radius */ error_item = 22 if[#[value 22] lt 0]goto 98 /* Cycle Selection */ if[#[attribute 27] ne att_not_use]then error_item = 27 if[#[value 27] eq #0]goto 97 if[#[value 27] lt 1 || #[value 27] gt 2]goto 98 endif /* Pitch Depth */ if[#[attribute 29] ne att_not_use]then error_item = 29 if[#[value 29] eq #0]goto 97 if[#[value 29] le 0]goto 98 endif /* Approach / Escape */ if[#[attribute 32] ne att_not_use]then error_item = 32 if[#[value 32] eq 0]goto 98 if[#[value 32] lt 0]goto 98 endif goto 99 /* Data is lacking. */n97 input_error_flag = error_on call fig_language

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

-449-

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

/* ############################################### CircleO8882 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.*/

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

-450-

if[#[attribute 13] ne att_not_use]then error_item = 13 if[#[value 13] lt 0]goto 98 endif /* Chamfer Angle */ if[#[attribute 14] ne att_not_use]then error_item = 14 if[#[value 14] eq 0]goto 98 if[#[value 14] lt 0]goto 98 endif /* Tool Out Depth */ if[#[attribute 15] ne att_not_use]then error_item = 15 if[#[value 15] lt 0]goto 98 endif /* Center Point X */ error_item =17 if[#[value 17] eq #0]goto 97 /* Center Point Y */ error_item =18 if[#[value 18] eq #0]goto 97 /* Radius */ error_item = 19 if[#[value 19] eq #0]goto 97 if[#[value 19] le 0]goto 98 /* Cut Direction */ if[#[attribute 20] ne att_not_use]then error_item = 20 if[#[value 20] eq #0]goto 97 if[#[value 20] lt 1 || #[value 20] gt 2]goto 98 endif /* Cycle Selection */ if[#[attribute 24] ne att_not_use]then error_item = 24 if[#[value 24] eq #0]goto 97 if[#[value 24] lt 1 || #[value 24] gt 2]goto 98 endif /* Pitch Depth */ if[#[attribute 26] ne att_not_use]then error_item = 26 if[#[value 26] eq #0]goto 97 if[#[value 26] le 0]goto 98 endif /* Approach / Escape */ if[#[attribute 29] ne att_not_use]then error_item = 29 if[#[value 29] eq 0]goto 98 if[#[value 29] lt 0]goto 98 endif goto 99 /* Data is lacking. */n97 input_error_flag = error_on call fig_language color red C white L0 G243X1Y24 P[#1+900] goto 99 /* Input error in menu param. */n98 input_error_flag = error_on call fig_language color red C white L0 G243X1Y24 P[#1+901]n99 m99

/* ############################################### TrackO8883 input_error_flag = error_non

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

-451-

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

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

-452-

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

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

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

-453-

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

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

-454-

error_item = 21 if[#[value 21] eq #0]goto 97 if[#[value 21] lt 1 || #[value 21] gt 2]goto 98 /* Start Point Sel. */ if[#[attribute 23] ne att_not_use]then error_item = 23 if[#[value 23] eq #0]goto 97 if[#[value 23] lt 1 || #[value 23] gt 2]goto 98 endif /* Approach Alw */ error_item = 24 if[#[value 24] eq #0]goto 97 if[#[value 24] le 0]goto 98 /* Escape Alw */ error_item = 25 if[#[value 25] eq #0]goto 97 if[#[value 25] le 0]goto 98 goto 99 /* Data is lacking. */n97 input_error_flag = error_on call fig_language color red C white L0 G243X1Y24 P[#1+900] goto 99 /* Input error in menu param. */n98 input_error_flag = error_on call fig_language color red C white L0 G243X1Y24 P[#1+901]n99 m99

/* ############################################### Contour PocketO8885 input_error_flag = error_non /* Mach. Process */ error_item = 1 if[#[value 1] eq #0]goto 97 if[#[value 1] lt 1 || #[value 1] gt 5]goto 98 /* Clearance */ error_item = 2 if[#[value 2] eq #0]goto 97 if[#[value 2] le 0]goto 98 /* End Point Z */ error_item = 3 if[#[value 3] eq #0]goto 97 /* Removal Depth */ error_item = 4 if[#[value 4] eq #0]goto 97 if[#[value 4] le 0]goto 98 /* Removal Pitch */ if[#[attribute 5] ne att_not_use]then error_item = 5 if[#[value 5] lt 0]goto 98 endif /* Bottom Finish */ if[#[attribute 6] ne att_not_use]then error_item = 6 if[#[value 6] lt 0]goto 98 endif /* Side Finish */ if[#[attribute 7] ne att_not_use]then error_item = 7 if[#[value 7] lt 0]goto 98 endif /* Feed Rate */ error_item = 10

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

-455-

if[#[value 10] eq #0]goto 97 if[#[value 10] le 0]goto 98 /* Cutting Width% */ if[#[attribute 11] ne att_not_use]then error_item = 11 if[#[value 11] eq #0]goto 97 if[#[value 11] le 0]goto 98 endif /* Z-Cut Feed Rate */ if[#[attribute 12] ne att_not_use]then error_item = 12 if[#[value 12] eq #0]goto 97 if[#[value 12] le 0]goto 98 endif /* Cut Direction */ error_item = 13 if[#[value 13] eq #0]goto 97 if[#[value 13] lt 1 || #[value 13] gt 2]goto 98 /* Cut Method */ if[#[attribute 14] ne att_not_use]then error_item = 14 if[#[value 14] eq #0]goto 97 if[#[value 14] lt 1 || #[value 14] gt 2]goto 98 endif /* Rough mach. D-Code */ if[#[attribute 19] ne att_not_use]then error_item = 19 if[#[value 19] eq #0]goto 97 if[#[value 19] le 0]goto 98 endif /* Cycle Selection */ if[#[attribute 20] ne att_not_use]then error_item = 20 if[#[value 20] eq #0]goto 97 if[#[value 20] lt 1 || #[value 20] gt 2]goto 98 endif /* Pitch Depth */ if[#[attribute 22] ne att_not_use]then error_item = 22 if[#[value 22] eq #0]goto 97 if[#[value 22] le 0]goto 98 endif /* Approach Type */ if[#[attribute 25] ne att_not_use]then error_item = 25 if[#[value 25] eq #0]goto 97 if[#[value 25] lt 1 || #[value 25] gt 3]goto 98 endif /* Approach Radius */ if[#[attribute 26] ne att_not_use]then error_item = 26 if[#[value 26] eq #0]goto 97 if[#[value 26] le 0]goto 98 endif /* Approach Angle */ if[#[attribute 27] ne att_not_use]then error_item = 27 if[#[value 27] eq #0]goto 97 if[#[value 27] le 0]goto 98 endif /* Approach Distance */ if[#[attribute 28] ne att_not_use]then error_item = 28 if[#[value 28] eq #0]goto 97 if[#[value 28] le 0]goto 98 endif /* Escape Type */

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

-456-

if[#[attribute 29] ne att_not_use]then error_item = 29 if[#[value 29] eq #0]goto 97 if[#[value 29] lt 1 || #[value 29] gt 3]goto 98 endif /* Escape Radius */ if[#[attribute 30] ne att_not_use]then error_item = 30 if[#[value 30] eq #0]goto 97 if[#[value 30] le 0]goto 98 endif /* Escape Angle */ if[#[attribute 31] ne att_not_use]then error_item = 31 if[#[value 31] eq #0]goto 97 if[#[value 31] le 0]goto 98 endif /* Escape Distance */ if[#[attribute 32] ne att_not_use]then error_item = 32 if[#[value 32] eq #0]goto 97 if[#[value 32] le 0]goto 98 endif /* Comp. Direction */ if[#[attribute 33] ne att_not_use]then error_item = 33 if[#[value 33] eq #0]goto 97 if[#[value 33] lt 1 || #[value 33] gt 2]goto 98 endif goto 99 /* Data is lacking. */n97 input_error_flag = error_on call fig_language color red C white L0 G243X1Y24 P[#1+900] goto 99 /* Input error in menu param. */n98 input_error_flag = error_on call fig_language color red C white L0 G243X1Y24 P[#1+901]n99 m99

/* ############################################### Contour GrooveO8886 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

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

-457-

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

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

-458-

if[#[value 27] eq #0]goto 97 if[#[value 27] le 0]goto 98 endif /* Approach Distance */ if[#[attribute 28] ne att_not_use]then error_item = 28 if[#[value 28] eq #0]goto 97 if[#[value 28] le 0]goto 98 endif /* Escape Type */ if[#[attribute 29] ne att_not_use]then error_item = 29 if[#[value 29] eq #0]goto 97 if[#[value 29] lt 1 || #[value 29] gt 3]goto 98 endif /* Escape Radius */ if[#[attribute 30] ne att_not_use]then error_item = 30 if[#[value 30] eq #0]goto 97 if[#[value 30] le 0]goto 98 endif /* Escape Angle */ if[#[attribute 31] ne att_not_use]then error_item = 31 if[#[value 31] eq #0]goto 97 if[#[value 31] le 0]goto 98 endif /* Escape Distance */ if[#[attribute 32] ne att_not_use]then error_item = 32 if[#[value 32] eq #0]goto 97 if[#[value 32] le 0]goto 98 endif /* Comp. Direction */ if[#[attribute 33] ne att_not_use]then error_item = 33 if[#[value 33] eq #0]goto 97 if[#[value 33] lt 1 || #[value 33] gt 2]goto 98 endif goto 99 /* Data is lacking. */n97 input_error_flag = error_on call fig_language color red C white L0 G243X1Y24 P[#1+900] goto 99 /* Input error in menu param. */n98 input_error_flag = error_on call fig_language color red C white L0 G243X1Y24 P[#1+901]n99 m99

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

-459-

10 USER PROGRAMS FOR CALIBRATIONCYCLE MENU

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

-460-

10.1 COMMENTS DEFINITION

/****************************************************************************/*/* STRING28.SRC :: Calibration Cycles/*/***** 6201: Soft-keys/***** 6211: Meaurement of Probe Length (G170)/***** 6221: Measurement of Stylus Ball Diameter (G171)/***** 6231: Measurement(A) of Stylus X Offset (G172)/***** 6241: Measurement(B) of Stylus X Offset (G173)/****************************************************************************

O6201 ;############################################### Soft-keysN0001("20 01 C010 20")('PROBE ');N0002("20 01 C018 20")(' DIA. ');N0003("20 01 C020 20")('OFST A');N0004("20 01 C028 20")('OFST B');M99

O6211 ;############################################### Meaurement of Probe Length (G170)N9999('MEASUREMENT OF PROBE LENGTH');/*N0001('DISTANCE FOR MOVE');N0002('DIST. GAUGE-TABLE');N0003('RING GAUGE HEIGHT');N0004('FEEDRATE FOR MOVE');M99

O6221 ;############################################### Measurement of Stylus Ball Diameter (G171)N9999('MEASUREMENT OF STYLUS BALL DIAMETER');/*N0001('DISTANCE FOR MOVE');N0002('RING GAUGE RADIUS');N0003('FEEDRATE FOR MOVE');M99

O6231 ;############################################### Measurement(A) of Stylus X Offset (G172)N9999('MEASUREMENT(A) OF STYLUS X OFFSET');/*N0001('DISTANCE FOR MOVE');N0002('RING GAUGE RADIUS');N0003('FEEDRATE FOR MOVE');M99

O6241 ;############################################### Measurement(B) of Stylus X Offset (G173)N9999('MEASUREMENT(B) OF STYLUS X OFFSET');/*N0001('CENTER POINT X')N0002('CENTER POINT Y')N0003('DISTANCE FOR MOVE');N0004('RING GAUGE RADIUS');N0005('FEEDRATE FOR MOVE');M99

/****************************************************************************/*/* STRING28.SRC :: Calibration Cycles/*/***** 6202: Soft-keys/***** 6212: Measurement of Probe Length (G170)/***** 6222: Measurement of Stylus Ball Diameter (G171)/***** 6232: Measurement (A) of Stylus X Offset (G172)/***** 6242: Measurement (B) of Stylus X Offset (G173)

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

-461-

/****************************************************************************

O6202 ;############################################### Soft-keysN0001("20 01 C010 20")('PROBE ');N0002("20 01 C018 20")(' DIA. ');N0003("20 01 C020 20")('OFST A');N0004("20 01 C028 20")('OFST B');M99

O6212 ;############################################### Measurement of Probe Length (G170)N9999('MEASUREMENT OF PROBE LENGTH');/*N0001('DISTANCE FOR MOVE');N0002('DIST. GAUGE-TABLE');N0003('RING GAUGE HEIGHT');N0004('FEEDRATE FOR MOVE ');M99

O6222 ;############################################### Measurement of Stylus Ball Diameter (G171)N9999('MEASUREMENT OF STYLUS BALL DIAMETER');/*N0001('DISTANCE FOR MOVE');N0002('RING GAUGE HEIGHT');N0003('FEEDRATE FOR MOVE');M99

O6232 ;############################################### Measurement (A) of Stylus X Offset (G172)N9999('MEASUREMENT (A) OF STYLUS X OFFSET');/*N0001('DISTANCE FOR MOVE');N0002('RING GAUGE HEIGHT');N0003(''FEEDRATE FOR MOVE');M99

O6242 ;############################################### Measurement (B) of Stylus X Offset (G173)N9999('MEASUREMENT (B) OF STYLUS X OFFSET');/*N0001('CENTER POINT X')N0002('CENTER POINT Y')N0003('DISTANCE FOR MOVE');N0004('RING GAUGE HEIGHT');N0005('FEEDRATE FOR MOVE');M99

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

-462-

10.2 DATA ATTRIBUTE

/****************************************************************************/*/* PROC8.SRC :: Calibration Cycles/*/***** 6511: Meaurement of Probe Length (G170)/***** 6512: Measurement of Stylus Ball Diameter (G171)/***** 6513: Measurement(A) of Stylus X Offset (G172)/***** 6514: Measurement(B) of Stylus X Offset (G173)/****************************************************************************$INCLUDE SYMBOL.DEF

O6511 ;############################################### Meaurement of Probe Length (G170)/* Cycle G Code */#[address 0] = 170/* Distance for Move */#[address 1] = add_Z#[attribute 1] = att_decimal#[value 1] = #0/* Dist. Gauge-Table */#[address 2] = add_D#[attribute 2] = att_decimal#[value 2] = #0/* Ring Gauge Height */#[address 3] = add_H#[attribute 3] = att_decimal#[value 3] = #0/* Feedrate for Move */#[address 4] = add_F#[attribute 4] = att_decimal#[value 4] = #0/* End */#[address 5] = add_endprevious_cursor = 1 /* Previous cursor position clearguidance_write_flag = flag_on /* Guidance Writem99

O6512 ;############################################### Measurement of Stylus Ball Diameter (G171)/* Cycle G Code */#[address 0] = 171/* Distance for Move */#[address 1] = add_Z#[attribute 1] = att_decimal#[value 1] = #0/* Ring Gauge Radius */#[address 2] = add_R#[attribute 2] = att_decimal#[value 2] = #0/* Feedrate for Move */#[address 3] = add_F#[attribute 3] = att_decimal#[value 3] = #0/* End */#[address 4] = add_endprevious_cursor = 1 /* Previous cursor position clearguidance_write_flag = flag_on /* Guidance Writem99

O6513 ;############################################### Measurement(A) of Stylus X Offset (G172)/* Cycle G Code */#[address 0] = 172/* Distance for Move */#[address 1] = add_Z

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

-463-

#[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_endprevious_cursor = 1 /* Previous cursor position clearguidance_write_flag = flag_on /* Guidance Writem99

O6514 ;############################################### Measurement(B) of Stylus X Offset (G173)/* Cycle G Code */#[address 0] = 173/* Center Point X */#[address 1] = add_X#[attribute 1] = att_decimal#[value 1] = #0/* Center Point Y */#[address 2] = add_Y#[attribute 2] = att_decimal#[value 2] = #0/* Distance for Move */#[address 3] = add_Z#[attribute 3] = att_decimal#[value 3] = #0/* Ring Gauge Radius */#[address 4] = add_R#[attribute 4] = att_decimal#[value 4] = #0/* Feedrate for Move */#[address 5] = add_F#[attribute 5] = att_decimal#[value 5] = #0/* End */#[address 6] = add_endprevious_cursor = 1 /* Previous cursor position clearguidance_write_flag = flag_on /* Guidance Writem99

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

-464-

10.3 GUIDANCE DRAWING FIGURE

/****************************************************************************/*/* FIG8.SRC :: Calibration Cycles/*/***** 6551: Meaurement of Probe Length (G170)/***** 6552: Measurement of Stylus Ball Diameter (G171)/***** 6553: Measurement(A) of Stylus X Offset (G172)/***** 6554: Measurement(B) of Stylus X Offset (G173)/****************************************************************************$INCLUDE SYMBOL.DEF

O6551 ;############################################### Meaurement of Probe Length (G170)/*** Guide Picture Setting ***/if[guide_frequency eq second_time]then call 6171 guidance_write_flag = flag_off previous_cursor = cursorendif

/*** Attribution Setting ***/m99

O6552 ;############################################### Measurement of Stylus Ball Diameter (G171)/*** Guide Picture Setting ***/if[guide_frequency eq second_time]then if[cursor eq 1]then call fig_clear guidance_write_flag = flag_on call 6172 endif if[cursor eq 2 || cursor eq 3]then if[previous_cursor eq 1]then call fig_clear guidance_write_flag = flag_on endif call 6173 guidance_write_flag = flag_off endif previous_cursor = cursorendif

/*** Attribution Setting ***/m99

O6553 ;############################################### Measurement(A) of Stylus X Offset (G172)/*** Guide Picture Setting ***/if[guide_frequency eq second_time]then if[cursor eq 1]then call fig_clear guidance_write_flag = flag_on call 6172 endif if[cursor eq 2 || cursor eq 3]then if[previous_cursor eq 1]then call fig_clear guidance_write_flag = flag_on endif call 6173 guidance_write_flag = flag_off endif previous_cursor = cursorendif

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

-465-

/*** Attribution Setting ***/m99

O6554 ;############################################### Measurement(B) of Stylus X Offset (G173)/*** Guide Picture Setting ***/if[guide_frequency eq second_time]then if[cursor eq 3]then call fig_clear guidance_write_flag = flag_on call 6172 guidance_write_flag = flag_off else if[previous_cursor eq 3]then call fig_clear guidance_write_flag = flag_on endif call 6173 guidance_write_flag = flag_off endif previous_cursor = cursorendif

/*** Attribution Setting ***/m99

/****************************************************************************/*/* FIGSUB8.SRC :: Calibration Cycles/*/***** 6171: Meaurement of Probe Length (G170)Sub1/***** 6172: Measurement of Stylus Ball Diameter (G171)Sub1/***** 6173: Measurement of Stylus Ball Diameter (G171)Sub2/****************************************************************************$INCLUDE SYMBOL.DEF

O6171 ;############################################### Measurement of Probe Length (G170)Sub1if[guidance_write_flag eq flag_off] goto 100solid_linecolor greenG242X0Y200G01X0Y168G01X64Y168G01X64Y200G01X0Y200G206P0X4Y196/*color purpleG242X0Y200G01X0Y168G01X64Y168G01X64Y200G01X0Y200/*color greenG242X16Y168G01X16Y152G01X48Y152G01X48Y168G01X16Y168G206P0X20Y164/*color purpleG242X16Y168G01X16Y152

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

-466-

G01X48Y152G01X48Y168G01X16Y168/*color purpleG242X24Y168G02I32G242X32Y176G01X32Y160G206P0X28Y172G206P0X36Y164/*color greenG242X28Y152G01X28Y104G01X36Y104G01X36Y152G01X28Y152G206P0X32Y148/*color purpleG242X28Y104G01X28Y152G01X36Y152G01X36Y104/*color greenG242X24Y96G02I32G206P0X32Y96/*color greenG242X52Y80G01X52Y72G01X60Y72G01X60Y80G01X52Y80G206P0X56Y76/*color purpleG242X52Y80G01X52Y72G242X60Y80G01X60Y72/*color greenG242X48Y64G02I56G206P0X56Y64/*color blueG242X-16Y40G01X-16Y24G01X80Y24G01X80Y40G01X-16Y40G206P0X-12Y36/*color sky_blueG242X-16Y40G01X-16Y24G01X80Y24G01X80Y40G01X-16Y40/*color greenG242X-32Y24

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

-467-

G01X-32Y8G01X96Y8G01X96Y24G01X-32Y24G206P0X-28Y20/*color purpleG242X-32Y24G01X96Y24/*color red#1=32#2=88#3=#1#4=32#5=0call fig_line/*#1=56#2=56#3=#1#4=32#5=0call fig_line/*dot_line#1=52#2=32#3=#1#4=56#5=0call fig_line/*solid_linecolor greenG242X72Y168G01X136Y168/*G242X24Y88G01X120Y88/*G242X48Y56G01X64Y56/*G242X88Y40G01X120Y40/*G242X24Y32G01X64Y32/*G242X104Y24G01X136Y24/*#1=128#2=168#3=#1#4=24#5=2call fig_line/*#1=112#2=88#3=#1#4=24#5=2call fig_line/*

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

-468-

#1=112#2=40#3=#1#4=24#5=2call fig_line/*solid_linecolor purpleG242X24Y96G02I32/*color purpleG242X48Y64G02I56/*n100color whitecursor_off#1=1call fig_cursorG243X54Y11(Z)#1=2call fig_cursorG243X56Y09(D)#1=3call fig_cursorG243X54Y13(H)#1=4call fig_cursorG243X47Y12(F)m99

O6172 ;############################################### Measurement of Stylus Ball Diameter (G171)Sub1if[guidance_write_flag eq flag_off] goto 100solid_linecolor greenG242X16Y200G01X16Y168G01X80Y168G01X80Y200G01X16Y200G206P0X20Y196/*color purpleG242X16Y200G01X16Y168G01X80Y168G01X80Y200G01X16Y200/*color greenG242X32Y168G01X32Y152G01X64Y152G01X64Y168G01X32Y168G206P0X36Y164/*color purpleG242X32Y168G01X32Y152G01X64Y152G01X64Y168G01X32Y168/*color purple

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

-469-

G242X40Y168G02I48G242X48Y176G01X48Y160G206P0X44Y172G206P0X52Y164/*color greenG242X44Y152G01X44Y104G01X52Y104G01X52Y152G01X44Y152G206P0X48Y148/*color purpleG242X44Y104G01X44Y152G01X52Y152G01X52Y104/*color greenG242X40Y96G02I48G206P0X48Y96/*color blueG242X0Y40G01X0Y24G01X96Y24G01X96Y40G01X0Y40G206P0X4Y36/*color sky_blueG242X0Y40G01X0Y24G01X96Y24G01X96Y40G01X0Y40dot_lineG242X16Y39G01X16Y24G242X80Y39G01X80Y24/*color greensolid_lineG242X-32Y24G01X-32Y8G01X128Y8G01X128Y24G01X-32Y24G206P0X-28Y20/*color purpleG242X-32Y24G01X128Y24/*color reddot_line#1=48#2=88#3=#1#4=32#5=0call fig_line

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

-470-

/*#1=24#2=32#3=72#4=#2#5=2call fig_line/*solid_line#1=8#2=32#3=24#4=#2#5=1call fig_line/*#1=72#2=32#3=88#4=#2#5=0call fig_line/*color greenG242X40Y88G01X120Y88/*G242X104Y32G01X120Y32/*#1=112#2=88#3=#1#4=32#5=2call fig_line/*solid_linecolor purpleG242X40Y96G02I48/*n100color whitecursor_offif[#[address 0] ne 173]then #1=1 else #1=3call fig_cursorG243X54Y11(Z)m99

O6173 ;############################################### Measurement of Stylus Ball Diameter (G171)Sub1if[guidance_write_flag eq flag_off] goto 100solid_linecolor blueG242X-28Y104G02I52G242X-12Y104G02I52G206P0X-24Y104/*color sky_blueG242X-28Y104G02I52G242X-12Y104G02I52/*

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

-471-

color greenG242X88Y120G02I96G206P0X92Y120/*color purpleG242X88Y120G02I96/*solid_linecolor red#1=52#2=144#3=#1#4=176#5=0call fig_line/*#1=12#2=104#3=-20#4=#2#5=0call fig_line/*#1=52#2=64#3=#1#4=32#5=0call fig_line/*#1=92#2=104#3=124#4=#2#5=0call fig_line/*#1=96#2=120#3=124#4=#2#5=0call fig_line/*dot_line#1=52#2=144#3=#1#4=64#5=2call fig_line/*#1=12#2=104#3=92#4=#2#5=2call fig_line/*#1=52#2=120#3=96#4=#2#5=0call fig_line

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

-472-

/*solid_linecolor greenG242X124Y128G01X124Y96/*#1=52#2=104#3=7#4=149#5=0call fig_line/*one_dot_linecolor purpleG242X96Y132G01X96Y108/*n100color whitecursor_offif[#[address 0] ne 173]then #1=2 else #1=4call fig_cursorG243X43Y6(R)if[#[address 0] eq 171 || #[address 0] eq 172]then #1=3if[#[address 0] eq 173]then #1=5call fig_cursorG243X53Y7(F)cursor_offif[#[address 0] eq 173]then G243X44Y9('(') G243X46Y9(',') G243X48Y9(')') #1=1 call fig_cursor G243X45Y9(X) #1=2 call fig_cursor G243X47Y9(Y)endifm99

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

-473-

10.4 INPUTTED DATA CHECKING

/****************************************************************************/*/* CHECK8.SRC :: Calibration Cycles/*/***** 6611: Meaurement of Probe Length (G170)/***** 6612: Measurement of Stylus Ball Diameter (G171)/***** 6613: Measurement(A) of Stylus X Offset (G172)/***** 6614: Measurement(B) of Stylus X Offset (G173)/****************************************************************************$INCLUDE SYMBOL.DEF

O6611 ;############################################### Meaurement of Probe Length (G170) input_error_flag = error_non /* Distance for Move */ error_item = 1 if[#[value 1] eq #0]goto 97 if[#[value 1] le 0]goto 98 /* Dist. Gauge-Table */ error_item = 2 if[#[value 2] eq #0]goto 97 if[#[value 2] le 0]goto 98 /* Ring Gauge Height */ error_item = 3 if[#[value 3] eq #0]goto 97 if[#[value 3] le 0]goto 98 /* Feedrate for Move */ error_item = 4 if[#[value 4] eq #0]goto 97 if[#[value 4] le 0]goto 98 goto 99 /* Data is lacking. */n97 input_error_flag = error_on call fig_language color red C white L0 G243X1Y24 P[#1+900] goto 99 /* Input error in menu param. */n98 input_error_flag = error_on call fig_language color red C white L0 G243X1Y24 P[#1+901]n99 m99

O6612 ;############################################### Measurement of Stylus Ball Diameter (G171) input_error_flag = error_non /* Distance for Move */ error_item = 1 if[#[value 1] eq #0]goto 97 if[#[value 1] le 0]goto 98 /* Ring Gauge Radius */ error_item = 2 if[#[value 2] eq #0]goto 97 if[#[value 2] le 0]goto 98 /* Feedrate for Move */ error_item = 3 if[#[value 3] eq #0]goto 97 if[#[value 3] le 0]goto 98 goto 99 /* Data is lacking. */n97 input_error_flag = error_on call fig_language

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

-474-

color red C white L0 G243X1Y24 P[#1+900] goto 99 /* Input error in menu param. */n98 input_error_flag = error_on call fig_language color red C white L0 G243X1Y24 P[#1+901]n99 m99

O6613 ;############################################### Measurement(A) of Stylus X Offset (G172) input_error_flag = error_non /* Distance for Move */ error_item = 1 if[#[value 1] eq #0]goto 97 if[#[value 1] le 0]goto 98 /* Ring Gauge Radius */ error_item = 2 if[#[value 2] eq #0]goto 97 if[#[value 2] le 0]goto 98 /* Feedrate for Move */ error_item = 3 if[#[value 3] eq #0]goto 97 if[#[value 3] le 0]goto 98 goto 99 /* Data is lacking. */n97 input_error_flag = error_on call fig_language color red C white L0 G243X1Y24 P[#1+900] goto 99 /* Input error in menu param. */n98 input_error_flag = error_on call fig_language color red C white L0 G243X1Y24 P[#1+901]n99 m99

O6614 ;############################################### Measurement(B) of Stylus X Offset (G173) input_error_flag = error_non /* Center Point X */ error_item = 1 if[#[value 1] eq #0]goto 97 /* Center Point Y */ error_item = 2 if[#[value 2] eq #0]goto 97 /* Distance for Move */ error_item = 3 if[#[value 3] eq #0]goto 97 if[#[value 3] le 0]goto 98 /* Ring Gauge Radius */ error_item = 4 if[#[value 4] eq #0]goto 97 if[#[value 4] le 0]goto 98 /* Feedrate for Move */ error_item = 5 if[#[value 5] eq #0]goto 97 if[#[value 5] le 0]goto 98 goto 99 /* Data is lacking. */n97 input_error_flag = error_on call fig_language color red C white L0 G243X1Y24 P[#1+900] goto 99 /* Input error in menu param. */n98 input_error_flag = error_on

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

-475-

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

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

-476-

11 USER PROGRAMS FOR MEASURINGCYCLE MENU

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

-477-

11.1 COMMENTS DEFINITION

/****************************************************************************/*/* STRING19.SRC :: Measuring Cycles/*/***** 6301: Soft-keys/***** 6311: Measurement of X/Y/Z Single Surface (G180)/***** 6321: Measurement of Web Width (G181)/***** 6331: Measurement of Groove Width (G182)/***** 6341: Measurement of Outside Circle (G183)/***** 6351: Measurement of Inside Circle (G184)/***** 6361: Measurement of Outside Rectangular (G185)/***** 6371: Measurement of Inside Rectangular (G186)/***** 6381: Measurement of Outside Corner (G187)/***** 6391: Measurement of Inside Corner (G188)/***** 6401: Measurement of Bolt-Hole-Circle (G189)/***** 6411: Measurement of 4 Holes Center(G190)/***** 6421: Measurement of Work Piece Angle (G191)/***** 6431: Measurement of 2 Holes Angle (G192)/****************************************************************************

O6301 ;############################################### Soft-keysN0001("20 01 C010 20")(' FACE ');N0002("20 01 C018 20")(' WEB ');N0003("20 01 C020 20")('GROOVE');N0004("20 01 C028 20")('CIRCLE');N0005("20 01 C030 20")('CIRCLE');N0006("20 01 C038 20")(' RECT.');N0007("20 01 C040 20")(' RECT.');N0008("20 01 C048 20")('CORNER');N0009("20 01 C050 20")('CORNER');N0010("20 01 C010 20")('3-HOLE');N0011("20 01 C018 20")('4-HOLE');N0012("20 01 C020 20")('ANGLE ');N0013("20 01 C028 20")('ANGLE ');M99

O6311 ;############################################### Measurement of X/Y/Z Single Surface (G180)N9999('MEASUREMENT OF X/Y/Z SINGLE SURFACE');/*N0001('MEASURE POSITION');N0002('WORK CO-ORD.VALUE');N0003('DISTANCE FOR MOVE');N0004('FEEDRATE FOR MOVE');N0005('WORK CO-ORD.SYSTEM');N0006('WORK CO-ORD.SYSTEM');

N0100('34');N0101("20 01 C018 20")('X AXIS');N0102("20 01 C010 20")('Y AXIS');N0103("20 01 C020 20")('Z AXIS');N0151('1');N0152('2');N0153('3');/*N0500('1');N0501("20 01 C010 20")(' G54 ');N0502("20 01 C010 20")(' G55 ');N0503("20 01 C010 20")(' G56 ');N0504("20 01 C010 20")(' G57 ');N0505("20 01 C010 20")(' G58 ');N0506("20 01 C010 20")(' G59 ');N0551('1');

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

-478-

N0552('2');N0553('3');N0554('4');N0555('5');N0556('6');M99

O6321 ;############################################### Measurement of Web Width (G181)N9999('MEASUREMENT OF WEB WIDTH');/*N0001('HEIGHT FOR Z AXIS');N0002('MEASURE DIRECTION');N0003('WEB WIDTH');N0004('FEEDRATE FOR MOVE');N0005('WORK CO-ORD.SYSTEM');N0006('WORK CO-ORD.SYSTEM');/*N0200('34');N0201("20 01 C028 20")('X AXIS');N0202("20 01 C030 20")('Y AXIS');N0251('1');N0252('2');/*N0500('1');N0501("20 01 C010 20")(' G54 ');N0502("20 01 C010 20")(' G55 ');N0503("20 01 C010 20")(' G56 ');N0504("20 01 C010 20")(' G57 ');N0505("20 01 C010 20")(' G58 ');N0506("20 01 C010 20")(' G59 ');N0551('1');N0552('2');N0553('3');N0554('4');N0555('5');N0556('6');M99

O6331 ;############################################### Measurement of Groove Width (G182)N9999('MEASUREMENT OF GROOVE WIDTH');/*N0001('HEIGHT FOR Z AXIS');N0002('MEASURE DIRECTION');N0003('GROOVE WIDTH');N0004('FEEDRATE FOR MOVE');N0005('WORK CO-ORD.SYSTEM');N0006('WORK CO-ORD.SYSTEM');/*N0200('34');N0201("20 01 C038 20")('X AXIS');N0202("20 01 C040 20")('Y AXIS');N0251('1');N0252('2');/*N0500('1');N0501("20 01 C010 20")(' G54 ');N0502("20 01 C010 20")(' G55 ');N0503("20 01 C010 20")(' G56 ');N0504("20 01 C010 20")(' G57 ');N0505("20 01 C010 20")(' G58 ');N0506("20 01 C010 20")(' G59 ');N0551('1');N0552('2');N0553('3');N0554('4');N0555('5');N0556('6');

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

-479-

M99

O6341 ;############################################### Measurement of Outside Circle (G183)N9999('MEASUREMENT OF OUTSIDE CIRCLE');/*N0001('HEIGHT FOR Z AXIS');N0002('OUTSIDE RADIUS')N0003('FEEDRATE FOR MOVE');N0004('WORK CO-ORD.SYSTEM');N0005('WORK CO-ORD.SYSTEM');/*N0400('1');N0401("20 01 C010 20")(' G54 ');N0402("20 01 C010 20")(' G55 ');N0403("20 01 C010 20")(' G56 ');N0404("20 01 C010 20")(' G57 ');N0405("20 01 C010 20")(' G58 ');N0406("20 01 C010 20")(' G59 ');N0451('1');N0452('2');N0453('3');N0454('4');N0455('5');N0456('6');M99

O6351 ;############################################### Measurement of Inside Circle (G184)N9999('MEASUREMENT OF INSIDE CIRCLE');/*N0001('HEIGHT FOR Z AXIS');N0002('INSIDE RADIUS')N0003('FEEDRATE FOR MOVE');N0004('WORK CO-ORD.SYSTEM');N0005('WORK CO-ORD.SYSTEM');/*N0400('1');N0401("20 01 C010 20")(' G54 ');N0402("20 01 C010 20")(' G55 ');N0403("20 01 C010 20")(' G56 ');N0404("20 01 C010 20")(' G57 ');N0405("20 01 C010 20")(' G58 ');N0406("20 01 C010 20")(' G59 ');N0451('1');N0452('2');N0453('3');N0454('4');N0455('5');N0456('6');M99

O6361 ;############################################### Measurement of Outside Rectangular (G185)N9999('MEASUREMENT OF OUTSIDE RECTANGULAR');/*N0001('HEIGHT FOR Z AXIS');N0002('LENGTH FOR X AXIS');N0003('LENGTH FOR Y AXIS');N0004('FEEDRATE FOR MOVE');N0005('WORK CO-ORD.SYSTEM');N0006('WORK CO-ORD.SYSTEM');/*N0500('1');N0501("20 01 C010 20")(' G54 ');N0502("20 01 C010 20")(' G55 ');N0503("20 01 C010 20")(' G56 ');N0504("20 01 C010 20")(' G57 ');N0505("20 01 C010 20")(' G58 ');N0506("20 01 C010 20")(' G59 ');

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

-480-

N0551('1');N0552('2');N0553('3');N0554('4');N0555('5');N0556('6');M99

O6371 ;############################################### Measurement of Inside Rectangular (G186)N9999('MEASUREMENT OF INSIDE RECTANGULAR');/*N0001('HEIGHT FOR Z AXIS');N0002('LENGTH FOR X AXIS');N0003('LENGTH FOR Y AXIS');N0004('FEEDRATE FOR MOVE');N0005('WORK CO-ORD.SYSTEM');N0006('WORK CO-ORD.SYSTEM');/*N0500('1');N0501("20 01 C010 20")(' G54 ');N0502("20 01 C010 20")(' G55 ');N0503("20 01 C010 20")(' G56 ');N0504("20 01 C010 20")(' G57 ');N0505("20 01 C010 20")(' G58 ');N0506("20 01 C010 20")(' G59 ');N0551('1');N0552('2');N0553('3');N0554('4');N0555('5');N0556('6');M99

O6381 ;############################################### Measurement of Outside Corner (G187)N9999('MEASUREMENT OF OUTSIDE CORNER');/*N0001('1ST MEASURE POINT X');N0002('1ST MEASURE POINT Y');N0003('3RD MEASURE POINT X');N0004('3RD MEASURE POINT Y');N0005('DISTANCE FOR X AXIS');N0006('DISTANCE FOR Y AXIS');N0007('INCREASE FOR X AXIS');N0008('INCREASE FOR Y AXIS');N0009('FEEDRATE FOR MOVE');N0010('WORK CO-ORD.SYSTEM');N0011('WORK CO-ORD.SYSTEM');/*N1000('1');N1001("20 01 C010 20")(' G54 ');N1002("20 01 C010 20")(' G55 ');N1003("20 01 C010 20")(' G56 ');N1004("20 01 C010 20")(' G57 ');N1005("20 01 C010 20")(' G58 ');N1006("20 01 C010 20")(' G59 ');N1051('1');N1052('2');N1053('3');N1054('4');N1055('5');N1056('6');M99

O6391 ;############################################### Measurement of Inside Corner (G188)N9999('MEASUREMENT OF INSIDE CORNER');/*N0001('CORNER POSITION');

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

-481-

N0002('1ST MEASURE POINT X');N0003('1ST MEASURE POINT Y');N0004('DISTANCE FOR X AXIS');N0005('DISTANCE FOR Y AXIS');N0006('INCREASE FOR X AXIS');N0007('INCREASE FOR Y AXIS');N0008('FEEDRATE FOR MOVE');N0009('WORK CO-ORD.SYSTEM');N0010('WORK CO-ORD.SYSTEM');/*N0100('1);N0101(' ')(' ')(' 1 ');N0102(' ')(' ')(' 2 ');N0103(' ')(' ')(' 3 ');N0104(' ')(' ')(' 4 ');N0151('1');N0152('2');N0153('3');N0154('4');/*N0900('1');N0901("20 01 C010 20")(' G54 ');N0902("20 01 C010 20")(' G55 ');N0903("20 01 C010 20")(' G56 ');N0904("20 01 C010 20")(' G57 ');N0905("20 01 C010 20")(' G58 ');N0906("20 01 C010 20")(' G59 ');N0951('1');N0952('2');N0953('3');N0954('4');N0955('5');N0956('6');M99

O6401 ;############################################### Measurement of Bolt-Hole-Circle (G189)N9999('MEASUREMENT OF BOLT-HOLE-CIRCLE');/*N0001('HEIGHT FOR Z AXIS');N0002('RADIUS');N0003('HOLE NOMINAL DIA.');N0004('1ST HOLE ANGLE');N0005('2ND HOLE ANGLE');N0006('3RD HOLE ANGLE');N0007('FEEDRATE FOR MOVE');N0008('WORK CO-ORD.SYSTEM');N0009('WORK CO-ORD.SYSTEM');/*N0800('1');N0801("20 01 C010 20")(' G54 ');N0802("20 01 C010 20")(' G55 ');N0803("20 01 C010 20")(' G56 ');N0804("20 01 C010 20")(' G57 ');N0805("20 01 C010 20")(' G58 ');N0806("20 01 C010 20")(' G59 ');N0851('1');N0852('2');N0853('3');N0854('4');N0855('5');N0856('6');M99

O6411 ;############################################### Measurement of 4 Holes Center(G190)N9999('MEASUREMENT OF 4 HOLES CENTER');/*N0001('HEIGHT FOR Z AXIS');

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

-482-

N0002('HOLE NOMINAL DIA.');N0003('1ST HOLE POINT X');N0004('1ST HOLE POINT Y');N0005('2ND HOLE POINT X');N0006('2ND HOLE POINT Y');N0007('3RD HOLE POINT X');N0008('3RD HOLE POINT Y');N0009('4TH HOLE POINT X');N0010('4TH HOLE POINT Y');N0011('FEEDRATE FOR MOVE');N0012('WORK CO-ORD.SYSTEM');N0013('WORK CO-ORD.SYSTEM');/*N1200('1');N1201("20 01 C010 20")(' G54 ');N1202("20 01 C010 20")(' G55 ');N1203("20 01 C010 20")(' G56 ');N1204("20 01 C010 20")(' G57 ');N1205("20 01 C010 20")(' G58 ');N1206("20 01 C010 20")(' G59 ');N1251('1');N1252('2');N1253('3');N1254('4');N1255('5');N1256('6');M99

O6421 ;############################################### Measurement of Work Piece Angle (G191)N9999('MEASUREMENT OF WORK PIECE ANGLE');/*N0001('1ST MEASURE POINT X');N0002('1ST MEASURE POINT Y');N0003('2ND MEASURE POINT X');N0004('2ND MEASURE POINT Y');N0005('DISTANCE FOR MOVE');N0006('PROBE AXIS FOR MOVE');N0007('FEEDRATE FOR MOVE');/*N0600('35');N0601("20 01 C010 20")(' +X ');N0602("20 01 C018 20")(' -X ');N0603("20 01 C020 20")(' +Y ');N0604("20 01 C028 20")(' -Y ');N0651('1');N0652('2');N0653('3');N0654('4');M99

O6431 ;############################################### Measurement of 2 Holes Angle (G192)N9999('MEASUREMENT OF 2 HOLES ANGLE');/*N0001('HEIGHT FOR Z AXIS');N0002('HOLE NOMINAL DIA.');N0003('1ST HOLE POINT X');N0004('1ST HOLE POINT Y');N0005('2ND HOLE POINT X');N0006('2ND HOLE POINT Y');N0007('FEEDRATE FOR MOVE');M99

/****************************************************************************/*/* STRING29.SRC :: Measuring cycle/*/***** 6302: Soft-keys

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

-483-

/***** 6312: Measurement of X/Y/Z Single Surface (G180)/***** 6322: Measurement of Web Width (G181)/***** 6332: Measurement of Groove Width (G182)/***** 6342: Measurement of Outside Circle (G183)/***** 6352: Measurement of Inside Circle (G184)/***** 6362: Measurement of Outside Rectangular (G185)/***** 6372: Measurement of Inside Rectangular (G186)/***** 6382: Measurement of Outside Corner (G187)/***** 6392: Measurement of Inside Corner (G188)/***** 6402: Measurement of Bolt-Hole-Circle (G189)/***** 6412: Measurement of 4 Holes Center(G190)/***** 6422: Measurement of Work Piece Angle (G191)/***** 6432: Measurement of 2 Holes Angle (G192)/****************************************************************************

O6302 ;############################################### Soft-keysN0001("20 01 C010 20")(' FACE ');N0002("20 01 C018 20")(' WEB ');N0003("20 01 C020 20")('GROOVE');N0004("20 01 C028 20")('CIRCLE’);N0005("20 01 C030 20")('CIRCLE’);N0006("20 01 C038 20")('RECT');N0007("20 01 C040 20")('RECT');N0008("20 01 C048 20")('CORNER ');N0009("20 01 C050 20")('CORNER');N0010("20 01 C010 20")('3-HOLE');N0011("20 01 C018 20")('4-HOLE');N0012("20 01 C020 20")('ANGLE ');N0013("20 01 C028 20")('ANGLE ');M99

O6312 ;############################################### Measurement of X/Y/Z Single Surface (G180)N9999('MEASUREMENT OF X/Y/Z SINGLE SURFACE');/*N0001('MEASURE POSITION');N0002('WORK CO-ORD.VALUE');N0003('DISTANCE FOR MOVE');N0004('FEEDRATE FOR MOVE');N0005('WORK CO-ORD.SYSTEM');N0006('WORK CO-ORD.SYSTEM');

N0100('34');N0101("20 01 C018 20")('X AXIS');N0102("20 01 C010 20")('Y AXIS');N0103("20 01 C020 20")('Z AXIS');N0151('1');N0152('2');N0153('3');/*N0500('1');N0501("20 01 C010 20")(' G54 ');N0502("20 01 C010 20")(' G55 ');N0503("20 01 C010 20")(' G56 ');N0504("20 01 C010 20")(' G57 ');N0505("20 01 C010 20")(' G58 ');N0506("20 01 C010 20")(' G59 ');N0551('1');N0552('2');N0553('3');N0554('4');N0555('5');N0556('6');M99

O6322 ;############################################### Measurement of Web Width (G181)N9999('MEASUREMENT OF WEB WIDTH');/*

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

-484-

N0001('HEIGHT FOR Z AXIS');N0002('MEASURE DIRECTION');N0003('WEB WIDTH');N0004('FEEDRATE FOR MOVE');N0005('WORK CO-ORD.SYSTEM');N0006('WORK CO-ORD.SYSTEM');/*N0200('34');N0201("20 01 C028 20")('X AXIS');N0202("20 01 C030 20")('Y AXIS');N0251('1');N0252('2');/*N0500('1');N0501("20 01 C010 20")(' G54 ');N0502("20 01 C010 20")(' G55 ');N0503("20 01 C010 20")(' G56 ');N0504("20 01 C010 20")(' G57 ');N0505("20 01 C010 20")(' G58 ');N0506("20 01 C010 20")(' G59 ');N0551('1');N0552('2');N0553('3');N0554('4');N0555('5');N0556('6');M99

O6332 ;############################################### Measurement of Groove Width (G182)N9999('MEASUREMENT OF GROOVE WIDTH');/*N0001('HEIGHT FOR Z AXIS');N0002('MEASURE DIRECTION');N0003('GROOVE WIDTH');N0004('FEEDRATE FOR MOVE');N0005('WORK CO-ORD.SYSTEM');N0006('WORK CO-ORD.SYSTEM');/*N0200('34');N0201("20 01 C038 20")('X AXIS');N0202("20 01 C040 20")('Y AXIS');N0251('1');N0252('2');/*N0500('1');N0501("20 01 C010 20")(' G54 ');N0502("20 01 C010 20")(' G55 ');N0503("20 01 C010 20")(' G56 ');N0504("20 01 C010 20")(' G57 ');N0505("20 01 C010 20")(' G58 ');N0506("20 01 C010 20")(' G59 ');N0551('1');N0552('2');N0553('3');N0554('4');N0555('5');N0556('6');M99

O6342 ;############################################### Measurement of Outside Circle (G183)N9999('MEASUREMENT OF OUTSIDE CIRCLE');/*N0001('HEIGHT FOR Z AXIS');N0002('OUTSIDE RADIUS')N0003('FEEDRATE FOR MOVE');N0004('WORK CO-ORD.SYSTEM');N0005('WORK CO-ORD.SYSTEM');

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

-485-

/*N0400('1');N0401("20 01 C010 20")(' G54 ');N0402("20 01 C010 20")(' G55 ');N0403("20 01 C010 20")(' G56 ');N0404("20 01 C010 20")(' G57 ');N0405("20 01 C010 20")(' G58 ');N0406("20 01 C010 20")(' G59 ');N0451('1');N0452('2');N0453('3');N0454('4');N0455('5');N0456('6');M99

O6352 ;############################################### Measurement of Inside Circle (G184)N9999('MEASUREMENT OF INSIDE CIRCLE');/*N0001('HEIGHT FOR Z AXIS');N0002('INSIDE RADIUS')N0003('FEEDRATE FOR MOVE');N0004('WORK CO-ORD.SYSTEM');N0005('WORK CO-ORD.SYSTEM');/*N0400('1');N0401("20 01 C010 20")(' G54 ');N0402("20 01 C010 20")(' G55 ');N0403("20 01 C010 20")(' G56 ');N0404("20 01 C010 20")(' G57 ');N0405("20 01 C010 20")(' G58 ');N0406("20 01 C010 20")(' G59 ');N0451('1');N0452('2');N0453('3');N0454('4');N0455('5');N0456('6');M99

O6362 ;############################################### Measurement of Outside Rectangular (G185)N9999('MEASUREMENT OF OUTSIDE RECTANGULAR');/*N0001('HEIGHT FOR Z AXIS');N0002('LENGTH FOR X AXIS');N0003('LENGTH FOR Y AXIS');N0004('FEEDRATE FOR MOVE');N0005('WORK CO-ORD.SYSTEM');N0006('WORK CO-ORD.SYSTEM');/*N0500('1');N0501("20 01 C010 20")(' G54 ');N0502("20 01 C010 20")(' G55 ');N0503("20 01 C010 20")(' G56 ');N0504("20 01 C010 20")(' G57 ');N0505("20 01 C010 20")(' G58 ');N0506("20 01 C010 20")(' G59 ');N0551('1');N0552('2');N0553('3');N0554('4');N0555('5');N0556('6');M99

O6372 ;############################################### Measurement of Inside Rectangular (G186)N9999('MEASUREMENT OF INSIDE RECTANGULAR');

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

-486-

/*N0001('HEIGHT FOR Z AXIS');N0002('LENGTH FOR X AXIS');N0003('LENGTH FOR Y AXIS');N0004('FEEDRATE FOR MOVE');N0005('WORK CO-ORD.SYSTEM');N0006('WORK CO-ORD.SYSTEM');/*N0500('1');N0501("20 01 C010 20")(' G54 ');N0502("20 01 C010 20")(' G55 ');N0503("20 01 C010 20")(' G56 ');N0504("20 01 C010 20")(' G57 ');N0505("20 01 C010 20")(' G58 ');N0506("20 01 C010 20")(' G59 ');N0551('1');N0552('2');N0553('3');N0554('4');N0555('5');N0556('6');M99

O6382 ;############################################### Measurement of Outside Corner (G187)N9999('MEASUREMENT OF OUTSIDE CORNER');/*N0001('1ST MEASURE POINT X');N0002('1ST MEASURE POINT Y');N0003('3RD MEASURE POINT X');N0004('3RD MEASURE POINT Y');N0005('DISTANCE FOR X AXIS');N0006('DISTANCE FOR Y AXIS');N0007('INCREASE FOR X AXIS');N0008('INCREASE FOR Y AXIS');N0009('FEEDRATE FOR MOVE');N0010('WORK CO-ORD.SYSTEM');N0011('WORK CO-ORD.SYSTEM');/*N1000('1');N1001("20 01 C010 20")(' G54 ');N1002("20 01 C010 20")(' G55 ');N1003("20 01 C010 20")(' G56 ');N1004("20 01 C010 20")(' G57 ');N1005("20 01 C010 20")(' G58 ');N1006("20 01 C010 20")(' G59 ');N1051('1');N1052('2');N1053('3');N1054('4');N1055('5');N1056('6');M99

O6392 ;############################################### Measurement of Inside Corner (G188)N9999('MEASUREMENT OF INSIDE CORNER');/*N0001('CORNER POSITION');N0002('1ST MEASURE POINT X');N0003('1ST MEASURE POINT Y');N0004('DISTANCE FOR X AXIS');N0005('DISTANCE FOR Y AXIS');N0006('INCREASE FOR X AXIS');N0007('INCREASE FOR Y AXIS');N0008('FEEDRATE FOR MOVE');N0009('WORK CO-ORD.SYSTEM');N0010('WORK CO-ORD.SYSTEM');/*

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

-487-

N0100('1);N0101(' ')(' ')(' 1 ');N0102(' ')(' ')(' 2 ');N0103(' ')(' ')(' 3 ');N0104(' ')(' ')(' 4 ');N0151('1');N0152('2');N0153('3');N0154('4');/*N0900('1');N0901("20 01 C010 20")(' G54 ');N0902("20 01 C010 20")(' G55 ');N0903("20 01 C010 20")(' G56 ');N0904("20 01 C010 20")(' G57 ');N0905("20 01 C010 20")(' G58 ');N0906("20 01 C010 20")(' G59 ');N0951('1');N0952('2');N0953('3');N0954('4');N0955('5');N0956('6');M99

O6402 ;############################################### Measurement of Bolt-Hole-Circle (G189)N9999('MEASUREMENT OF BOLT-HOLE-CIRCLE');/*N0001('HEIGHT FOR Z AXIS');N0002('RADIUS');N0003('HOLE NOMINAL DIA.');N0004('1ST HOLE ANGLE');N0005('2ND HOLE ANGLE');N0006('3RD HOLE ANGLE');N0007('FEEDRATE FOR MOVE');N0008('WORK CO-ORD.SYSTEM');N0009('WORK CO-ORD.SYSTEM');/*N0800('1');N0801("20 01 C010 20")(' G54 ');N0802("20 01 C010 20")(' G55 ');N0803("20 01 C010 20")(' G56 ');N0804("20 01 C010 20")(' G57 ');N0805("20 01 C010 20")(' G58 ');N0806("20 01 C010 20")(' G59 ');N0851('1');N0852('2');N0853('3');N0854('4');N0855('5');N0856('6');M99

O6412 ;############################################### Measurement of 4 Holes Center(G190)N9999('MEASUREMENT OF 4 HOLES CENTER');/*N0001('HEIGHT FOR Z AXIS');N0002('HOLE NOMINAL DIA.');N0003('1ST HOLE POINT X');N0004('1ST HOLE POINT Y');N0005('2ND HOLE POINT X');N0006('2ND HOLE POINT Y');N0007('3RD HOLE POINT X');N0008('3RD HOLE POINT Y');N0009('4TH HOLE POINT X');N0010('4TH HOLE POINT Y');N0011('FEEDRATE FOR MOVE');

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

-488-

N0012('WORK CO-ORD.SYSTEM');N0013('WORK CO-ORD.SYSTEM');/*N1200('1');N1201("20 01 C010 20")(' G54 ');N1202("20 01 C010 20")(' G55 ');N1203("20 01 C010 20")(' G56 ');N1204("20 01 C010 20")(' G57 ');N1205("20 01 C010 20")(' G58 ');N1206("20 01 C010 20")(' G59 ');N1251('1');N1252('2');N1253('3');N1254('4');N1255('5');N1256('6');M99

O6422 ;###############################################Measurement of Work Piece Angle (G191)N9999('MEASUREMENT OF WORK PIECE ANGLE');/*N0001('1ST MEASURE POINT X');N0002('1ST MEASURE POINT Y');N0003('2ND MEASURE POINT X');N0004('2ND MEASURE POINT Y');N0005('DISTANCE FOR MOVE');N0006('PROBE AXIS FOR MOVE');N0007('FEEDRATE FOR MOVE');/*N0600('35');N0601("20 01 C010 20")(' +X ');N0602("20 01 C018 20")(' -X ');N0603("20 01 C020 20")(' +Y ');N0604("20 01 C028 20")(' -Y ');N0651('1');N0652('2');N0653('3');N0654('4');M99

O6432 ;############################################### Measurement of 2 Holes Angle (G192)N9999('MEASUREMENT OF 2 HOLES ANGLE');/*N0001('HEIGHT FOR Z AXIS');N0002('HOLE NOMINAL DIA.');N0003('1ST HOLE POINT X');N0004('1ST HOLE POINT Y');N0005('2ND HOLE POINT X');N0006('2ND HOLE POINT Y');N0007('FEEDRATE FOR MOVE');M99

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

-489-

11.2 DATA ATTRIBUTE

/****************************************************************************/*/* PROC9.SRC :: Measuring Cycles/*/***** 6521: Measurement of X/Y/Z Single Surface (G180)/***** 6522: Measurement of Web Width (G181)/***** 6523: Measurement of Groove Width (G182)/***** 6524: Measurement of Outside Circle (G183)/***** 6525: Measurement of Inside Circle (G184)/***** 6526: Measurement of Outside Rectangular (G185)/***** 6527: Measurement of Inside Rectangular (G186)/***** 6528: Measurement of Outside Corner (G187)/***** 6529: Measurement of Inside Corner (G188)/***** 6530: Measurement of Bolt-Hole-Circle (G189)/***** 6531: Measurement of 4 Holes Center(G190)/***** 6532: Measurement of Work Piece Angle (G191)/***** 6533: Measurement of 2 Holes Angle (G192)/****************************************************************************$INCLUDE SYMBOL.DEF

O6521 ;############################################### Measurement of X/Y/Z Single Surface (G180)/* Cycle G Code */#[address 0] = 180/* Measure Position */#[address 1] = add_A#[attribute 1] = att_character#[value 1] = 1 /* 1:X AXIS,2:Y AXIS,3 Z AXIS/* Work co-ord. Value */#[address 2] = add_V#[attribute 2] = att_decimal#[value 2] = #0/* Distance for Move */#[address 3] = add_D#[attribute 3] = att_decimal#[value 3] = #0/* Feedrate for Move */#[address 4] = add_F#[attribute 4] = att_decimal#[value 4] = #0/* Work co-ord. System */#[address 5] = add_W#[attribute 5] = att_character#[value 5] = #0 /* 1:G54,2:G55,3:G56,4:G57,5:G58,6:G59/* Work co-ord. System */#[address 6] = add_W#[attribute 6] = att_not_use#[value 6] = #0/* End */#[address 7] = add_endprevious_cursor = 1 /* Previous cursor position clearguidance_write_flag = flag_on /* Guidance Writem99

O6522 ;############################################### Measurement of Web Width (G181)/* Cycle G Code */#[address 0] = 181/* Height for Z Axis */#[address 1] = add_Z#[attribute 1] = att_decimal#[value 1] = #0/* Measure Direction */#[address 2] = add_D

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

-490-

#[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_endprevious_cursor = 1 /* Previous cursor position clearguidance_write_flag = flag_on /* Guidance Writem99

O6523 ;############################################### Measurement of Groove Width (G182)/* Cycle G Code */#[address 0] = 182/* Height for Z Axis */#[address 1] = add_Z#[attribute 1] = att_decimal#[value 1] = #0/* Measure Direction */#[address 2] = add_D#[attribute 2] = att_character#[value 2] = 1 /* 1:X AXIS,2:Y AXIS/* Groove Width */#[address 3] = add_V#[attribute 3] = att_decimal#[value 3] = #0/* Feedrate for Move */#[address 4] = add_F#[attribute 4] = att_decimal#[value 4] = #0/* Work co-ord. System */#[address 5] = add_W#[attribute 5] = att_character#[value 5] = #0 /* 1:G54,2:G55,3:G56,4:G57,5:G58,6:G59/* Work co-ord. System */#[address 6] = add_W#[attribute 6] = att_not_use#[value 6] = #0/* End */#[address 7] = add_endprevious_cursor = 1 /* Previous cursor position clearguidance_write_flag = flag_on /* Guidance Writem99

O6524 ;############################################### Measurement of Outside Circle (G183)/* Cycle G Code */#[address 0] = 183/* Height for Z Axis */#[address 1] = add_Z#[attribute 1] = att_decimal#[value 1] = #0/* Hole Outside Radius */#[address 2] = add_R#[attribute 2] = att_decimal

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

-491-

#[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_endprevious_cursor = 1 /* Previous cursor position clearguidance_write_flag = flag_on /* Guidance Writem99

O6525 ;############################################### Measurement of Inside Circle (G184)/* Cycle G Code */#[address 0] = 184/* Height for Z Axis */#[address 1] = add_Z#[attribute 1] = att_decimal#[value 1] = #0/* Hole Inside Radius */#[address 2] = add_R#[attribute 2] = att_decimal#[value 2] = #0/* Feedrate for Move */#[address 3] = add_F#[attribute 3] = att_decimal#[value 3] = #0/* Work co-ord. System */#[address 4] = add_W#[attribute 4] = att_character#[value 4] = #0 /* 1:G54,2:G55,3:G56,4:G57,5:G58,6:G59/* Work co-ord. System */#[address 5] = add_W#[attribute 5] = att_not_use#[value 5] = #0/* End */#[address 6] = add_endprevious_cursor = 1 /* Previous cursor position clearguidance_write_flag = flag_on /* Guidance Writem99

O6526 ;############################################### Measurement of Outside Rectangular (G185)/* Cycle G Code */#[address 0] = 185/* Height for Z Axis */#[address 1] = add_Z#[attribute 1] = att_decimal#[value 1] = #0/* Length for X Axis */#[address 2] = add_U#[attribute 2] = att_decimal#[value 2] = #0/* Length for Y Axis */#[address 3] = add_V#[attribute 3] = att_decimal#[value 3] = #0/* Feedrate for Move */#[address 4] = add_F#[attribute 4] = att_decimal#[value 4] = #0

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

-492-

/* 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_endprevious_cursor = 1 /* Previous cursor position clearguidance_write_flag = flag_on /* Guidance Writem99

O6527 ;############################################### Measurement of Inside Rectangular (G186)/* Cycle G Code */#[address 0] = 186/* Height for Z Axis */#[address 1] = add_Z#[attribute 1] = att_decimal#[value 1] = #0/* Length for X Axis */#[address 2] = add_U#[attribute 2] = att_decimal#[value 2] = #0/* Length for Y Axis */#[address 3] = add_V#[attribute 3] = att_decimal#[value 3] = #0/* Feedrate for Move */#[address 4] = add_F#[attribute 4] = att_decimal#[value 4] = #0/* Work co-ord. System */#[address 5] = add_W#[attribute 5] = att_character#[value 5] = #0 /* 1:G54,2:G55,3:G56,4:G57,5:G58,6:G59/* Work co-ord. System */#[address 6] = add_W#[attribute 6] = att_not_use#[value 6] = #0/* End */#[address 7] = add_endprevious_cursor = 1 /* Previous cursor position clearguidance_write_flag = flag_on /* Guidance Writem99

O6528 ;############################################### Measurement of Outside Corner (G187)/* Cycle G Code */#[address 0] = 187/* 1st Measure Point X */#[address 1] = add_A#[attribute 1] = att_decimal#[value 1] = #0/* 1st Measure Point Y */#[address 2] = add_B#[attribute 2] = att_decimal#[value 2] = #0/* 3rd Measure Point X */#[address 3] = add_C#[attribute 3] = att_decimal#[value 3] = #0/* 3rd Measure Point Y */#[address 4] = add_D#[attribute 4] = att_decimal#[value 4] = #0/* Distance for X Axis */

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

-493-

#[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_endprevious_cursor = 1 /* Previous cursor position clearguidance_write_flag = flag_on /* Guidance Writem99

O6529 ;############################################### Measurement of Inside Corner (G188)/* Cycle G Code */#[address 0] = 188/* Corner Position */#[address 1] = add_C /* 1:1,2:2,3:3,4:4#[attribute 1] = att_character#[value 1] = 1/* 1st Measure Point X */#[address 2] = add_A#[attribute 2] = att_decimal#[value 2] = #0/* 1st Measure Point Y */#[address 3] = add_B#[attribute 3] = att_decimal#[value 3] = #0/* Distance for X Axis */#[address 4] = add_U#[attribute 4] = att_decimal#[value 4] = #0/* Distance for Y Axis */#[address 5] = add_V#[attribute 5] = att_decimal#[value 5] = #0/* Increase for X Axis */#[address 6] = add_I#[attribute 6] = att_decimal#[value 6] = #0/* Increase for Y Axis */#[address 7] = add_J#[attribute 7] = att_decimal#[value 7] = #0/* Feedrate for Move */#[address 8] = add_F#[attribute 8] = att_decimal

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

-494-

#[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_endprevious_cursor = 1 /* Previous cursor position clearguidance_write_flag = flag_on /* Guidance Writem99

O6530 ;############################################### Measurement of Bolt-Hole-Circle (G189)/* Cycle G Code */#[address 0] = 189/* Height for Z Axis */#[address 1] = add_Z#[attribute 1] = att_decimal#[value 1] = #0/* Radius */#[address 2] = add_R#[attribute 2] = att_decimal#[value 2] = #0/* Hole Nominal Dia. */#[address 3] = add_D#[attribute 3] = att_decimal#[value 3] = #0/* 1st Hole Angle */#[address 4] = add_A#[attribute 4] = att_decimal#[value 4] = #0/* 2nd Hole Angle */#[address 5] = add_B#[attribute 5] = att_decimal#[value 5] = #0/* 3rd Hole Angle */#[address 6] = add_C#[attribute 6] = att_decimal#[value 6] = #0/* Feedrate for Move */#[address 7] = add_F#[attribute 7] = att_decimal#[value 7] = #0/* Work co-ord. System */#[address 8] = add_W#[attribute 8] = att_character#[value 8] = #0 /* 1:G54,2:G55,3:G56,4:G57,5:G58,6:G59/* Work co-ord. System */#[address 9] = add_W#[attribute 9] = att_not_use#[value 9] = #0/* End */#[address 10] = add_endprevious_cursor = 1 /* Previous cursor position clearguidance_write_flag = flag_on /* Guidance Writem99

O6531 ;############################################### Measurement of 4 Holes Center(G190)/* Cycle G Code */#[address 0] = 190/* Height for Z Axis */#[address 1] = add_Z#[attribute 1] = att_decimal#[value 1] = #0

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

-495-

/* Hole Nominal Dia. */#[address 2] = add_D#[attribute 2] = att_decimal#[value 2] = #0/* 1st Hole Point X */#[address 3] = add_A#[attribute 3] = att_decimal#[value 3] = #0/* 1st Hole Point Y */#[address 4] = add_B#[attribute 4] = att_decimal#[value 4] = #0/* 2nd Hole Point X */#[address 5] = add_C#[attribute 5] = att_decimal#[value 5] = #0/* 2nd Hole Point Y */#[address 6] = add_E#[attribute 6] = att_decimal#[value 6] = #0/* 3rd Hole Point X */#[address 7] = add_H#[attribute 7] = att_decimal#[value 7] = #0/* 3rd Hole Point Y */#[address 8] = add_I#[attribute 8] = att_decimal#[value 8] = #0/* 4th Hole Point X */#[address 9] = add_J#[attribute 9] = att_decimal#[value 9] = #0/* 4th Hole Point Y */#[address 10] = add_K#[attribute 10] = att_decimal#[value 10] = #0/* Feedrate for Move */#[address 11] = add_F#[attribute 11] = att_decimal#[value 11] = #0/* Work co-ord. System */#[address 12] = add_W#[attribute 12] = att_character#[value 12] = #0 /* 1:G54,2:G55,3:G56,4:G57,5:G58,6:G59/* Work co-ord. System */#[address 13] = add_W#[attribute 13] = att_not_use#[value 13] = #0/* End */#[address 14] = add_endprevious_cursor = 1 /* Previous cursor position clearguidance_write_flag = flag_on /* Guidance Writem99

O6532 ;############################################### Measurement of Work Piece Angle (G191)/* Cycle G Code */#[address 0] = 191/* 1st Measure Point X */#[address 1] = add_A#[attribute 1] = att_decimal#[value 1] = #0/* 1st Measure Point Y */#[address 2] = add_B#[attribute 2] = att_decimal#[value 2] = #0/* 2nd Measure Point X */#[address 3] = add_C

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

-496-

#[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_endprevious_cursor = 1 /* Previous cursor position clearguidance_write_flag = flag_on /* Guidance Writem99

O6533 ;############################################### Measurement of 2 Holes Angle (G192)/* Cycle G Code */#[address 0] = 192/* Height for Z Axis */#[address 1] = add_Z#[attribute 1] = att_decimal#[value 1] = #0/* Hole Nominal Dia. */#[address 2] = add_D#[attribute 2] = att_decimal#[value 2] = #0/* 1st Hole Point X */#[address 3] = add_A#[attribute 3] = att_decimal#[value 3] = #0/* 1st Hole Point Y */#[address 4] = add_B#[attribute 4] = att_decimal#[value 4] = #0/* 2nd Hole Point X */#[address 5] = add_C#[attribute 5] = att_decimal#[value 5] = #0/* 2nd Hole Point Y */#[address 6] = add_I#[attribute 6] = att_decimal#[value 6] = #0/* Feedrate for Move */#[address 7] = add_F#[attribute 7] = att_decimal#[value 7] = #0/* End */#[address 8] = add_endprevious_cursor = 1 /* Previous cursor position clearguidance_write_flag = flag_on /* Guidance Writem99

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

-497-

11.3 GUIDANCE DRAWING FIGURE

/****************************************************************************/*/* FIG9.SRC :: Measuring Cycles/*/***** 6561: Measurement of X/Y/Z Single Surface (G180)/***** 6562: Measurement of Web Width (G181)/***** 6563: Measurement of Groove Width (G182)/***** 6564: Measurement of Outside Circle (G183)/***** 6565: Measurement of Inside Circle (G184)/***** 6566: Measurement of Outside Rectangular (G185)/***** 6567: Measurement of Inside Rectangular (G186)/***** 6568: Measurement of Outside Corner (G187)/***** 6569: Measurement of Inside Corner (G188)/***** 6570: Measurement of Bolt-Hole-Circle (G189)/***** 6571: Measurement of 4 Holes Center(G190)/***** 6572: Measurement of Work Piece Angle (G191)/***** 6573: Measurement of 2 Holes Angle (G192)/****************************************************************************$INCLUDE SYMBOL.DEF

O6561 ;############################################### Measurement of X/Y/Z Single Surface (G180)/*** Guide Picture Setting ***/if[guide_frequency eq second_time]then if[cursor lt 5]then if[previous_cursor gt 4]then call fig_clear guidance_write_flag = flag_on endif call 6175 guidance_write_flag = flag_off else if[previous_cursor lt 5]then call fig_clear guidance_write_flag = flag_on endif call 6176 guidance_write_flag = flag_off endif previous_cursor = cursorendif

/*** Attribution Setting ***/if[op9943bit7 eq bit7_on]then #[attribute 5] = att_not_use #[attribute 6] = att_characterelse #[attribute 5] = att_character #[attribute 6] = att_not_useendifm99

O6562 ;############################################### Measurement of Web Width (G181)/*** Guide Picture Setting ***/if[guide_frequency eq second_time]then if[cursor eq 1]then call fig_clear guidance_write_flag = flag_on call 6177 guidance_write_flag = flag_off endif if[cursor eq 2]then call fig_clear

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

-498-

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 = cursorendif

/*** Attribution Setting ***/if[op9943bit7 eq bit7_on]then #[attribute 5] = att_not_use #[attribute 6] = att_characterelse #[attribute 5] = att_character #[attribute 6] = att_not_useendifm99

O6563 ;############################################### Measurement of Groove Width (G182)/*** Guide Picture Setting ***/if[guide_frequency eq second_time]then if[cursor eq 1]then call fig_clear guidance_write_flag = flag_on call 6181 guidance_write_flag = flag_off endif if[cursor eq 2]then call fig_clear guidance_write_flag = flag_on call 6182 guidance_write_flag = flag_off endif if[cursor eq 3 || cursor eq 4]then if[previous_cursor lt 3 || previous_cursor gt 4]then call fig_clear guidance_write_flag = flag_on endif if[#[value 2] eq 1]then call 6183 guidance_write_flag = flag_off else call 6184 guidance_write_flag = flag_off endif endif if[cursor eq 5 || cursor eq 6]then call fig_clear guidance_write_flag = flag_on

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

-499-

call 6176 guidance_write_flag = flag_off endif previous_cursor = cursorendif

/*** Attribution Setting ***/if[op9943bit7 eq bit7_on]then #[attribute 5] = att_not_use #[attribute 6] = att_characterelse #[attribute 5] = att_character #[attribute 6] = att_not_useendifm99

O6564 ;############################################### Measurement of Outside Circle (G183)/*** Guide Picture Setting ***/if[guide_frequency eq second_time]then if[cursor eq 1]then call fig_clear guidance_write_flag = flag_on call 6177 guidance_write_flag = flag_off endif if[cursor eq 2 || cursor eq 3]then if[previous_cursor lt 2 || previous_cursor gt 3]then call fig_clear guidance_write_flag = flag_on endif call 6185 guidance_write_flag = flag_off endif if[cursor eq 4 || cursor eq 5]then call fig_clear guidance_write_flag = flag_on call 6176 guidance_write_flag = flag_off endif previous_cursor = cursorendif

/*** Attribution Setting ***/if[op9943bit7 eq bit7_on]then #[attribute 4] = att_not_use #[attribute 5] = att_characterelse #[attribute 4] = att_character #[attribute 5] = att_not_useendifm99

O6565 ;############################################### Measurement of Inside Circle (G184)/*** Guide Picture Setting ***/if[guide_frequency eq second_time]then if[cursor eq 1]then call fig_clear guidance_write_flag = flag_on call 6181 guidance_write_flag = flag_off endif if[cursor eq 2 || cursor eq 3]then if[previous_cursor lt 2 || previous_cursor gt 3]then call fig_clear guidance_write_flag = flag_on endif call 6186

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

-500-

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 = cursorendif

/*** Attribution Setting ***/if[op9943bit7 eq bit7_on]then #[attribute 4] = att_not_use #[attribute 5] = att_characterelse #[attribute 4] = att_character #[attribute 5] = att_not_useendifm99

O6566 ;############################################### Measurement of Outside Rectangular (G185)/*** Guide Picture Setting ***/if[guide_frequency eq second_time]then if[cursor eq 1]then call fig_clear guidance_write_flag = flag_on call 6177 guidance_write_flag = flag_off endif if[cursor ge 2 && cursor le 4]then if[previous_cursor lt 2 || previous_cursor gt 4]then call fig_clear guidance_write_flag = flag_on endif call 6187 guidance_write_flag = flag_off endif if[cursor eq 5 || cursor eq 6]then call fig_clear guidance_write_flag = flag_on call 6176 guidance_write_flag = flag_off endif previous_cursor = cursorendif

/*** Attribution Setting ***/if[op9943bit7 eq bit7_on]then #[attribute 5] = att_not_use #[attribute 6] = att_characterelse #[attribute 5] = att_character #[attribute 6] = att_not_useendifm99

O6567 ;############################################### Measurement of Inside Rectangular (G186)/*** Guide Picture Setting ***/if[guide_frequency eq second_time]then if[cursor eq 1]then call fig_clear guidance_write_flag = flag_on call 6181 guidance_write_flag = flag_off endif if[cursor ge 2 && cursor le 4]then

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

-501-

if[previous_cursor lt 2 || previous_cursor gt 4]then call fig_clear guidance_write_flag = flag_on endif call 6188 guidance_write_flag = flag_off endif if[cursor eq 5 || cursor eq 6]then call fig_clear guidance_write_flag = flag_on call 6176 guidance_write_flag = flag_off endif previous_cursor = cursorendif

/*** Attribution Setting ***/if[op9943bit7 eq bit7_on]then #[attribute 5] = att_not_use #[attribute 6] = att_characterelse #[attribute 5] = att_character #[attribute 6] = att_not_useendifm99

O6568 ;############################################### Measurement of Outside Corner (G187)/*** Guide Picture Setting ***/if[guide_frequency eq second_time]then if[cursor ge 1 && cursor le 9]then if[previous_cursor gt 9]then call fig_clear guidance_write_flag = flag_on endif call 6189 guidance_write_flag = flag_off endif if[cursor eq 10 || cursor eq 11]then call fig_clear guidance_write_flag = flag_on call 6176 guidance_write_flag = flag_off endif previous_cursor = cursorendif

/*** Attribution Setting ***/if[op9943bit7 eq bit7_on]then #[attribute 10] = att_not_use #[attribute 11] = att_characterelse #[attribute 10] = att_character #[attribute 11] = att_not_useendifm99

O6569 ;############################################### Measurement of Inside Corner (G188)/*** Guide Picture Setting ***/if[guide_frequency eq second_time]then if[cursor eq 1]then call fig_clear guidance_write_flag = flag_on call 6188 guidance_write_flag = flag_off endif if[cursor ge 2 && cursor le 8]then if[previous_cursor lt 2 || previous_cursor gt 8]then

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

-502-

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 = cursorendif

/*** Attribution Setting ***/if[op9943bit7 eq bit7_on]then #[attribute 9] = att_not_use #[attribute 10] = att_characterelse #[attribute 9] = att_character #[attribute 10] = att_not_useendifm99

O6570 ;############################################### Measurement of Bolt-Hole-Circle (G189)/*** Guide Picture Setting ***/if[guide_frequency eq second_time]then if[cursor eq 1]then call fig_clear guidance_write_flag = flag_on call 6191 guidance_write_flag = flag_off endif if[cursor ge 2 && cursor le 6]then if[previous_cursor lt 2 || previous_cursor gt 6]then call fig_clear guidance_write_flag = flag_on endif call 6192 guidance_write_flag = flag_off endif if[cursor eq 7]then call fig_clear guidance_write_flag = flag_on call 6186 guidance_write_flag = flag_off endif if[cursor eq 8 || cursor eq 9]then call fig_clear guidance_write_flag = flag_on call 6176 guidance_write_flag = flag_off endif previous_cursor = cursorendif

/*** Attribution Setting ***/if[op9943bit7 eq bit7_on]then #[attribute 8] = att_not_use #[attribute 9] = att_characterelse #[attribute 8] = att_character #[attribute 9] = att_not_useendifm99

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

-503-

O6571 ;############################################### Measurement of 4 Holes Center(G190)/*** Guide Picture Setting ***/if[guide_frequency eq second_time]then if[cursor eq 1]then call fig_clear guidance_write_flag = flag_on call 6193 guidance_write_flag = flag_off endif if[cursor ge 2 && cursor le 10]then if[previous_cursor lt 2 || previous_cursor gt 10]then call fig_clear guidance_write_flag = flag_on endif call 6194 guidance_write_flag = flag_off endif if[cursor eq 11]then call fig_clear guidance_write_flag = flag_on call 6186 guidance_write_flag = flag_off endif if[cursor eq 12 || cursor eq 13]then call fig_clear guidance_write_flag = flag_on call 6176 guidance_write_flag = flag_off endif previous_cursor = cursorendif

/*** Attribution Setting ***/if[op9943bit7 eq bit7_on]then #[attribute 12] = att_not_use #[attribute 13] = att_characterelse #[attribute 12] = att_character #[attribute 13] = att_not_useendifm99

O6572 ;############################################### Measurement of Work Piece Angle (G191)/*** Guide Picture Setting ***/if[guide_frequency eq second_time]then call 6195 guidance_write_flag = flag_offendif

/*** Attribution Setting ***/m99

O6573 ;############################################### Measurement of 2 Holes Angle (G192)/*** Guide Picture Setting ***/if[guide_frequency eq second_time]then if[cursor eq 1]then call fig_clear guidance_write_flag = flag_on call 6193 guidance_write_flag = flag_off endif

if[cursor ge 2 && cursor le 6]then if[previous_cursor lt 2 || previous_cursor gt 6]then call fig_clear guidance_write_flag = flag_on endif

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

-504-

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 = cursorendif

/*** Attribution Setting ***/m99

/****************************************************************************/*/* FIGSUB9.SRC :: Measuring Cycles/*/***** 6175: Measurement of X/Y/Z Single Surface (G180) Sub1/***** 6176: Measurement of X/Y/Z Single Surface (G180) Sub2/***** 6177: Measurement of Web Width (G181) Sub1/***** 6178: Measurement of Web Width (G181) Sub2/***** 6179: Measurement of Web Width (G181) Sub3/***** 6180: Measurement of Web Width (G181) Sub4/***** 6181: Measurement of Groove Width (G182) Sub1/***** 6182: Measurement of Groove Width (G182) Sub2/***** 6183: Measurement of Groove Width (G182) Sub3/***** 6184: Measurement of Groove Width (G182) Sub4/***** 6185: Measurement of Outside Circle (G183) Sub1/***** 6186: Measurement of Inside Circle (G184) Sub1/***** 6187: Measurement of Outside Rectangular (G185) Sub1/***** 6188: Measurement of Inside Rectangular (G186) Sub1/***** 6189: Measurement of Outside Corner (G187) Sub1/***** 6190: Measurement of Inside Corner (G188) Sub1/***** 6191: Measurement of Bolt-Hole-Circle (G189) Sub1/***** 6192: Measurement of Bolt-Hole-Circle (G189) Sub2/***** 6193: Measurement of 4 Holes Center(G190) Sub1/***** 6194: Measurement of 4 Holes Center(G190) Sub2/***** 6195: Measurement of Work Piece Angle (G191) Sub1/***** 6196: Measurement of 2 Holes Angle (G192) Sub1/*/****************************************************************************$INCLUDE SYMBOL.DEF

O6175 ;############################################### Measurement of X/Y/Z Single Surface (G180) Sub1if[guidance_write_flag eq flag_off] goto 100solid_linecolor blueG242X32Y152G01X32Y136G01X128Y136G01X128Y152G01X32Y152G206P0X36Y148/*color sky_blueG242X32Y136G01X32Y152G01X128Y152G01X128Y136/*color blueG242X32Y120G01X32Y56G01X128Y56G01X128Y120

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

-505-

G01X32Y120G206P0X36Y116/*color sky_blueG242X32Y120G01X32Y56G01X128Y56/*color greenG242X64Y192G02I72G206P0X72Y192/*color greenG242X88Y176G02I96G206P0X96Y176/*color greenG242X0Y104G02I8G206P0X8Y104/*color purpleG242X0Y104G02I8/*color greenG242X-16Y88G02I-8G206P0X-8Y88/*color purpleG242X-16Y88G02I-8/*color greenG242X64Y16G02I72G206P0X72Y16/*color purpleG242X64Y16G02I72/*color greenG242X88Y32G02I96G206P0X96Y32/*color purpleG242X88Y32G02I96/*color redsolid_line#1=72#2=184#3=#1#4=144#5=0call fig_line/*#1=96#2=168#3=#1#4=144

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

-506-

#5=0call fig_line/*#1=8#2=104#3=40#4=#2#5=0call fig_line/*#1=-8#2=88#3=40#4=#2#5=0call fig_line/*#1=72#2=64#3=#1#4=16#5=1call fig_line/*#1=96#2=64#3=#1#4=32#5=1call fig_line/*dot_line#1=92#2=168#3=#1#4=144#5=1call fig_line/*#1=8#2=100#3=40#4=#2#5=1call fig_line/*#1=92#2=64#3=#1#4=32#5=0call fig_line/*color greensolid_lineG242X48Y184G01X80Y184/*G242X88Y168G01X104Y168/*G242X64Y144G01X104Y144/*G242X40Y112G01X40Y80/*

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

-507-

G242X-8Y76G01X-8Y64/*G242X48Y16G01X60Y16/*G242X64Y64G01X104Y64/*#1=56#2=184#3=#1#4=151#5=2call fig_line/*#1=-8#2=72#3=32#4=#2#5=2call fig_line/*#1=55#2=56#3=#1#4=16#5=2call fig_line/*one_dot_linecolor purpleG242X8Y116G01X8Y92/*G242X84Y32G01X108Y32/*G242X-8Y100G01X-8Y76/*G242X60Y16G01X84Y16/*solid_linecolor sky_blue#1=-16#2=128#3=#1#4=152#5=0call fig_line/*#1=-24#2=136#3=0#4=#2#5=0call fig_line/*#1=-16#2=16#3=#1#4=40#5=0call fig_line/*

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

-508-

#1=-24#2=24#3=0#4=#2#5=0call fig_line/*solid_linecolor purpleG242X64Y192G02I72/*G242X88Y176G02I96/*n100cursor_offcolor whiteG243X38Y5(Z)G243X40Y6(X)G243X41Y6(',')G243X42Y6(Y)G243X38Y12(Y)G243X40Y13(X)#1=3if[#[value 1] eq 1]then call fig_cursor G243X47Y13(D) cursor_off G243X41Y10(D) G243X47Y4(D)endifif[#[value 1] eq 2]then cursor_off G243X47Y13(D) call fig_cursor G243X41Y10(D) cursor_off G243X47Y4(D)endifif[#[value 1] eq 3]then cursor_off G243X47Y13(D) G243X41Y10(D) call fig_cursor G243X47Y4(D)endifif[#[value 1] lt 1 || #[value 1] gt 3]then cursor_off G243X47Y13(D) G243X41Y10(D) G243X47Y4(D)endif#1=4if[#[value 1] eq 1]then call fig_cursor G243X52Y12(F) cursor_off G243X43Y08(F) G243X52Y05(F)endifif[#[value 1] eq 2]then cursor_off G243X52Y12(F) call fig_cursor G243X43Y08(F) cursor_off

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

-509-

G243X52Y05(F)endifif[#[value 1] eq 3]then cursor_off G243X52Y12(F) G243X43Y08(F) call fig_cursor G243X52Y05(F)endifif[#[value 1] lt 1 || #[value 1] gt 3]then cursor_off G243X52Y12(F) G243X43Y08(F) G243X52Y05(F)endifm99

O6176 ;############################################### Measurement of X/Y/Z Single Surface (G180) Sub2call fig_languagecursor_offif[op9943bit7 ne bit7_on]then call 6051else G243X39Y04('G54:W=1') G243X39Y05('G55:W=2') G243X39Y06(' : ') G243X39Y07('G59:W=6') G243X39Y09('G54.1P1:W=1001') G243X39Y10('G54.1P1:W=1002') G243X39Y11(' : ') G243X39Y12('G54.1P1:W=1048')endifm99

O6177 ;############################################### Measurement of Web Width (G181) Sub1if[guidance_write_flag eq flag_off] goto 100solid_linecolor greenG242X40Y184G01X40Y148G01X56Y148G01X56Y184G01X40Y184G206P0X44Y180/*color purpleG242X40Y184G01X40Y149G242X56Y184G01X56Y149/*color greenG242X32Y136G02I48G206P0X48Y136/*color purpleG242X32Y136G02I48/*color blueG242X-32Y56G01X0Y56G01X0Y88G01X96Y88G01X96Y56G01X128Y56

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

-510-

G01X128Y40G01X-32Y40G01X-32Y56G206P0X-28Y52/*color sky_blueG242X-32Y56G01X0Y56G01X0Y88G01X96Y88G01X96Y56G01X128Y56/*color redsolid_line#1=-16#2=72#3=0#4=#2#5=0call fig_line/*#1=112#2=72#3=96#4=#2#5=0call fig_line/*dot_line#1=-16#2=120#3=112#4=#2#5=2call fig_line/*#1=-16#2=120#3=#1#4=72#5=1call fig_line/*#1=112#2=120#3=#1#4=72#5=0call fig_line/*solid_linecolor greenG242X120Y120G01X136Y120/*G242X120Y72G01X136Y72/*#1=128#2=120#3=#1#4=72#5=2call fig_line/*one_dot_line

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

-511-

color purpleG242X48Y192G01X48Y32/*n100cursor_offcolor white#1=1call fig_cursorG243X56Y9(Z)m99

O6178 ;############################################### Measurement of Web Width (G181) Sub2if[guidance_write_flag eq flag_off] goto 100solid_linecolor blueG242X24Y192G01X24Y128G01X80Y128G01X80Y192G01X24Y192G206P0X28Y188/*color sky_blueG242X24Y192G01X24Y128G242X80Y192G01X80Y128/*color greenG242X-8Y160G02I0G206P0X0Y160/*color purpleG242X-8Y160G02I0/*color greenG242X96Y160G02I104G206P0X104Y160/*color purpleG242X96Y160G02I104/*color blueG242X16Y88G01X16Y40G01X88Y40G01X88Y88G01X16Y88G206P0X20Y84/*color sky_blueG242X16Y88G01X88Y88G242X16Y40G01X88Y40/*color greenG242X44Y104G02I52G206P0X52Y104/*color purple

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

-512-

G242X44Y104G02I52/*color greenG242X44Y24G02I52G206P0X52Y24/*color purpleG242X44Y24G02I52/*solid_linecolor red#1=0#2=160#3=24#4=#2#5=0call fig_line/*color red#1=80#2=160#3=104#4=#2#5=1call fig_line/*color red#1=52#2=104#3=#1#4=88#5=0call fig_line/*color red#1=52#2=40#3=#1#4=24#5=1call fig_line/*solid_linecolor sky_blue#1=-16#2=16#3=#1#4=40#5=0call fig_line/*#1=-24#2=24#3=0#4=#2#5=0call fig_line/*n100cursor_offcolor whiteG243X40Y13(X)G243X38Y12(Y)m99

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

-513-

O6179 ;############################################### Measurement of Web Width (G181) Sub3if[guidance_write_flag eq flag_off] goto 100solid_linecolor blueG242X8Y176G01X8Y80G01X96Y80G01X96Y176G01X8Y176G206P0X12Y172/*color sky_blueG242X8Y176G01X8Y80G242X96Y176G01X96Y80/*color greenG242X-24Y136G02I-16G206P0X-16Y136/*color purpleG242X-24Y136G02I-16/*color greenG242X112Y136G02I120G206P0X120Y136/*color purpleG242X112Y136G02I120/*solid_linecolor red#1=-16#2=136#3=16#4=#2#5=0call fig_line/*solid_line#1=-24#2=120#3=16#4=#2#5=0call fig_line/*#1=88#2=136#3=120#4=#2#5=1call fig_line/*solid_line#1=88#2=120#3=128#4=#2#5=1call fig_line/*

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

-514-

dot_line#1=-16#2=132#3=16#4=#2#5=1call fig_line/*#1=88#2=132#3=120#4=#2#5=0call fig_line/*G242X16Y144G01X16Y112/*G242X88Y144G01X88Y112/*solid_lineG242X8Y72G01X8Y48/*G242X96Y72G01X96Y48/*#1=8#2=56#3=96#4=#2#5=2call fig_line/*one_dot_linecolor purpleG242X52Y184G01X52Y72/*G242X-16Y148G01X-16Y124/*G242X120Y148G01X120Y124/*n100cursor_offcolor white#1=3call fig_cursorG243X46Y11(V)#1=4call fig_cursorG243X39Y6(F)G243X53Y6(F)m99

O6180 ;############################################### Measurement of Web Width (G181) Sub4if[guidance_write_flag eq flag_off] goto 100solid_linecolor blueG242X-16Y152G01X-16Y72G01X112Y72G01X112Y152G01X-16Y152

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

-515-

G206P0X-12Y148/*color sky_blueG242X-16Y152G01X112Y152G242X-16Y72G01X112Y72/*color greenG242X48Y176G02I56G206P0X56Y176/*color purpleG242X48Y176G02I56/*color greenG242X48Y48G02I56G206P0X56Y48/*color purpleG242X48Y48G02I56/*solid_linecolor red#1=40#2=190#3=#1#4=144#5=0call fig_line/*#1=40#2=80#3=#1#4=32#5=1call fig_line/*#1=56#2=176#3=#1#4=144#5=0call fig_line/*#1=56#2=80#3=#1#4=48#5=1call fig_line/*dot_line#1=52#2=176#3=#1#4=144#5=1call fig_line/*#1=52#2=80#3=#1

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

-516-

#4=48#5=0call fig_line/*solid_linecolor greenG242X32Y144G01X64Y144/*G242X32Y80G01X64Y80/*G242X120Y152G01X136Y152/*G242X120Y72G01X136Y72/*#1=128#2=152#3=#1#4=72#5=2call fig_line/*one_dot_linecolor purpleG242X-24Y112G01X120Y112/*G242X44Y176G01X68Y176/*G242X44Y48G01X68Y48/*n100cursor_offcolor white#1=3call fig_cursorG243X56Y8(V)#1=4call fig_cursorG243X47Y05(F)G243X47Y11(F)m99

O6181 ;############################################### Measurement of Groove Width (G182) Sub1if[guidance_write_flag eq flag_off] goto 100solid_linecolor greenG242X40Y184G01X40Y144G01X56Y144G01X56Y184G01X40Y184G206P0X44Y180/*color purpleG242X40Y184G01X40Y149G242X56Y184G01X56Y149/*color greenG242X32Y136

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

-517-

G02I48G206P0X48Y136/*color blueG242X-24Y88G01X0Y88G01X0Y56G01X96Y56G01X96Y88G01X120Y88G01X120Y40G01X-24Y40G01X-24Y88G206P0X-20Y84/*color sky_blueG242X-24Y88G01X0Y88G01X0Y56G01X96Y56G01X96Y88G01X120Y88/*solid_linecolor red#1=-8#2=72#3=8#4=#2#5=1call fig_line/*#1=88#2=72#3=104#4=#2#5=0call fig_line/*dot_line#1=48#2=120#3=#1#4=72#5=0call fig_line/*#1=8#2=72#3=88#4=#2#5=2call fig_line/*solid_linecolor greenG242X40Y120G01X136Y120/*G242X112Y72G01X136Y72/*#1=128#2=120#3=#1#4=72#5=2

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

-518-

call fig_line/*one_dot_linecolor purpleG242X48Y192G01X48Y120/*G242X48Y72G01X48Y32/*solid_linecolor purpleG242X32Y136G02I48/*n100cursor_offcolor white#1=1call fig_cursorG243X56Y9(Z)m99

O6182 ;############################################### Measurement of Groove Width (G182) Sub2if[guidance_write_flag eq flag_off] goto 100solid_linecolor blueG242X-16Y192G01X-16Y128G01X8Y128G01X8Y192G01X-16Y192G206P0X-12Y188/*color sky_blueG242X8Y192G01X8Y128/*color blueG242X96Y192G01X96Y128G01X120Y128G01X120Y192G01X96Y192G206P0X100Y188/*color sky_blueG242X96Y192G01X96Y128/*color greenG242X24Y160G02I32G206P0X32Y160/*color purpleG242X24Y160G02I32/*color greenG242X64Y160G02I72G206P0X72Y160/*color purpleG242X64Y160G02I72

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

-519-

/*color blueG242X8Y96G01X96Y96G01X96Y112G01X8Y112G01X8Y96G206P0X12Y108/*color sky_blueG242X8Y96G01X96Y96/*color blueG242X8Y40G01X96Y40G01X96Y24G01X8Y24G01X8Y40G206P0X12Y36/*color sky_blueG242X8Y40G01X96Y40/*color greenG242X44Y80G02I52G206P0X52Y80/*color purpleG242X44Y80G02I52/*color greenG242X44Y56G02I52G206P0X52Y59/*color purpleG242X44Y56G02I52/*color redsolid_line#1=9#2=160#3=32#4=#2#5=1call fig_line/*#1=72#2=160#3=95#4=#2#5=0call fig_line/*#1=52#2=80#3=#1#4=95#5=0call fig_line/*#1=52

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

-520-

#2=56#3=#1#4=41#5=0call fig_line/*solid_linecolor sky_blue#1=-24#2=16#3=#1#4=40#5=0call fig_line/*#1=-32#2=24#3=-8#4=#2#5=0call fig_line/*n100cursor_offcolor whiteG243X39Y13(X)G243X37Y12(Y)m99

O6183 ;############################################### Measurement of Groove Width (G182) Sub3if[guidance_write_flag eq flag_off] goto 100solid_linecolor blueG242X0Y168G01X0Y64G01X-24Y64G01X-24Y168G01X0Y168G206P0X-20Y164/*color sky_blueG242X0Y168G01X0Y64/*color blueG242X104Y168G01X104Y64G01X128Y64G01X128Y168G01X104Y168G206P0X108Y164/*color sky_blueG242X104Y168G01X104Y64/*color greenG242X16Y120G02I24G206P0X24Y120/*color purpleG242X16Y120G02I24/*color greenG242X72Y120

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

-521-

G02I80G206P0X80Y120/*color purpleG242X72Y120G02I80/*solid_linecolor red#1=-8#2=120#3=24#4=#2#5=1call fig_line/*#1=-8#2=104#3=32#4=#2#5=1call fig_line/*#1=80#2=120#3=112#4=#2#5=0call fig_line/*#1=72#2=104#3=112#4=#2#5=0call fig_line/*dot_line#1=-8#2=116#3=24#4=#2#5=0call fig_line/*#1=80#2=116#3=112#4=#2#5=1call fig_line/*solid_linecolor greenG242X-8Y128G01X-8Y96/*G242X112Y128G01X112Y96/*solid_lineG242X0Y56G01X0Y32/*G242X104Y56G01X104Y32/*

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

-522-

#1=0#2=40#3=104#4=#2#5=2call fig_line/*one_dot_linecolor purpleG242X52Y176G01X52Y56/*G242X24Y132G01X24Y108/*G242X80Y132G01X80Y108/*n100cursor_offcolor white#1=3call fig_cursorG243X46Y12(V)#1=4call fig_cursorG243X41Y7(F)G243X51Y7(F)m99

O6184 ;############################################### Measurement of Groove Width (G182) Sub4if[guidance_write_flag eq flag_off] goto 100solid_linecolor blueG242X-16Y152G01X112Y152G01X112Y176G01X-16Y176G01X-16Y152G206P0X-12Y156/*color sky_blueG242X-16Y152G01X112Y152/*color blueG242X-16Y56G01X112Y56G01X112Y32G01X-16Y32G01X-16Y56G206P0X-12Y52/*color sky_blueG242X-16Y56G01X112Y56/*color greenG242X56Y128G02I64G206P0X64Y128/*color purpleG242X56Y128G02I64/*color green

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

-523-

G242X56Y80G02I64G206P0X64Y80/*color purpleG242X56Y80G02I64/*solid_linecolor red#1=40#2=160#3=#1#4=120#5=1call fig_line/*#1=64#2=160#3=#1#4=128#5=1call fig_line/*#1=40#2=88#3=#1#4=48#5=0call fig_line/*#1=64#2=80#3=#1#4=48#5=0call fig_line/*dot_line#1=60#2=160#3=#1#4=128#5=0call fig_line/*#1=60#2=80#3=#1#4=48#5=1call fig_line/*solid_linecolor greenG242X32Y160G01X72Y160/*G242X32Y48G01X72Y48/*G242X120Y152G01X136Y152/*G242X120Y56G01X136Y56/*

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

-524-

#1=128#2=152#3=#1#4=56#5=2call fig_line/*one_dot_linecolor purpleG242X-24Y104G01X120Y104/*G242X52Y128G01X76Y128/*G242X52Y80G01X76Y80/*n100cursor_offcolor white#1=3call fig_cursorG243X56Y8(V)#1=4call fig_cursorG243X48Y06(F)G243X48Y11(F)m99

O6185 ;############################################### Measurement of Outside Circle (G183) Sub1if[guidance_write_flag eq flag_off] goto 100solid_linecolor blueG242X-8Y104G02I48/*#1=44#2=6#3=1call fig_characterG206P0X48Y104/*color sky_blueG242X-8Y104G02I48/*color greenG242X112Y120G02I120G206P0X120Y120/*color purpleG242X112Y120G02I120/*color redsolid_line#1=52#2=184#3=#1#4=152#5=0call fig_line/*#1=-32#2=108

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

-525-

#3=0#4=#2#5=0call fig_line/*#1=52#2=24#3=#1#4=56#5=0call fig_line/*#1=96#2=108#3=128#4=#2#5=1call fig_line/*#1=96#2=120#3=120#4=#2#5=1call fig_line/*dot_line#1=48#2=184#3=#1#4=24#5=2call fig_line/*#1=-32#2=104#3=128#4=#2#5=2call fig_line/*#1=48#2=116#3=120#4=#2#5=0call fig_line/*color greensolid_lineG242X96Y128G01X96Y96/*#1=48#2=104#3=16#4=150#5=0call fig_line/*one_dot_linecolor purpleG242X120Y132G01X120Y108/*n100cursor_off

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

-526-

if[cursor eq 2]then color -white C blue L1else color white C blue L0endifG243X44Y6(R)color white#1=3call fig_cursorG243X53Y7(F)m99

O6186 ;############################################### Measurement of Inside Circle (G184) Sub1if[guidance_write_flag eq flag_off] goto 100solid_linecolor blueG242X-32Y184G01X-32Y24G01X136Y24G01X136Y184G01X-32Y184G242X-12Y104G02I52G206P0X-28Y180/*color sky_blueG242X-12Y104G02I52/*color greenG242X88Y120G02I96G206P0X96Y120/*color purpleG242X88Y120G02I96/*solid_linecolor red#1=52#2=176#3=#1#4=144#5=1call fig_line/*#1=-20#2=104#3=12#4=#2#5=1call fig_line/*#1=52#2=64#3=#1#4=32#5=0call fig_line/*#1=92#2=104#3=124#4=104#5=0call fig_line

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

-527-

/*#1=96#2=120#3=124#4=#2#5=0call fig_line/*dot_line#1=52#2=144#3=#1#4=64#5=0call fig_line/*dot_line#1=12#2=104#3=92#4=#2#5=2call fig_line/*#1=52#2=120#3=96#4=#2#5=0call fig_line/*solid_linecolor greenG242X124Y124G01X124Y96/*if[#[address 0] eq 184]then #1=52 #2=104 #3=7 #4=149 #5=0 call fig_lineendif/*one_dot_linecolor purpleG242X96Y132G01X96Y108/*n100cursor_offcolor whiteif[#[address 0] eq 184]then #1=2 call fig_cursor G243X43Y6(R)endif#1=3if[#[address 0] eq 189 || #[address 0] eq 192]then #1=7if[#[address 0] eq 190]then #1=11call fig_cursorG243X53Y7(F)m99

O6187 ;############################################### Measurement of Outside Rectangular (G185) Sub1if[guidance_write_flag eq flag_off] goto 100

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

-528-

solid_linecolor blueG242X16Y176G01X16Y64G01X104Y64G01X104Y176G01X16Y176G206P0X20Y172/*color sky_blueG242X16Y176G01X16Y64G01X104Y64G01X104Y176G01X16Y176/*color greenG242X112Y136G02I120G206P0X120Y136/*color purpleG242X112Y136G02I120/*solid_linecolor red#1=64#2=200#3=#1#4=168#5=0call fig_line/*#1=-8#2=124#3=24#4=#2#5=0call fig_line/*#1=64#2=40#3=#1#4=72#5=0call fig_line/*#1=96#2=124#3=128#4=#2#5=1call fig_line/*#1=96#2=136#3=120#4=#2#5=1call fig_line/*dot_line#1=60#2=200#3=#1#4=40

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

-529-

#5=2call fig_line/*#1=-8#2=120#3=128#4=#2#5=2call fig_line/*#1=96#2=132#3=120#4=#2#5=0call fig_line/*solid_linecolor greenG242X-24Y176G01X8Y176/*G242X-24Y64G01X8Y64/*G242X16Y56G01X16Y16/*G242X104Y56G01X104Y16/*G242X96Y144G01X96Y112/*#1=-16#2=174#3=#1#4=64#5=2call fig_line/*#1=16#2=24#3=104#4=#2#5=2call fig_line/*one_dot_linecolor purpleG242X120Y148G01X120Y124/*n100cursor_offcolor white#1=2call fig_cursorG243X47Y13(U)#1=3call fig_cursorG243X38Y7(V)#1=4call fig_cursorG243X53Y6(F)m99

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

-530-

O6188 ;############################################### Measurement of Inside Rectangular (G186) Sub1if[guidance_write_flag eq flag_off] goto 100solid_linecolor blueG242X-32Y192G01X-32Y16G01X136Y16G01X136Y192G01X-32Y192G242X-4Y160G01X-4Y48G01X108Y48G01X108Y160G01X-4Y160if[#[address 0] ne 188]then #1=37 #2=8 #3=1 call fig_character #1=46 #2=13 #3=1 call fig_characterendifG206P0X-28Y188/*color sky_blueG242X-4Y160G01X-4Y48G01X108Y48G01X108Y160G01X-4Y160/*if[#[address 0] ne 188]then /* color green G242X80Y120 G02I88 G206P0X88Y120 /* color purple G242X80Y120 G02I88 /* solid_line color red #1=52 #2=168 #3=#1 #4=136 #5=1 call fig_line /* #1=-12 #2=104 #3=12 #4=#2 #5=1 call fig_line /* #1=52 #2=72 #3=#1 #4=40 #5=0 call fig_line /*

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

-531-

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

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

-532-

one_dot_line color purple G242X88Y132 G01X88Y108endif/*n100cursor_offcolor 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)endifm99

O6189 ;############################################### Measurement of Outside Corner (G187) Sub1if[guidance_write_flag eq flag_off] goto 100solid_linecolor blueG242X8Y200G01X8Y80G01X136Y80G01X136Y200G01X8Y200#1=42#2=9#3=6call fig_character#1=50#2=9#3=1call fig_character#1=42#2=8#3=6call fig_character#1=42#2=5#3=1call fig_characterG206P0X12Y196/*color sky_blueG242X8Y200G01X8Y80G01X136Y80/*color green

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

-533-

G242X-16Y168G02I-8G206P0X-8Y168/*color purpleG242X-16Y168G02I-8/*color greenG242X-32Y112G02I-24G206P0X-24Y112/*color purpleG242X-32Y112G02I-24/*color greenG242X16Y32G02I24G206P0X24Y32/*color purpleG242X16Y32G02I24/*color greenG242X88Y48G02I96G206P0X96Y48/*color purpleG242X88Y48G02I96/*solid_linecolor red#1=-8#2=168#3=16#4=#2#5=0call fig_line/*dot_line#1=-24#2=152#3=0#4=#2#5=0call fig_linesolid_line#1=0#2=152#3=16#4=#2#5=0call fig_line/*dot_line#1=-24#2=112#3=0#4=#2#5=0call fig_linesolid_line

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

-534-

#1=0#2=112#3=16#4=#2#5=0call fig_line/*dot_line#1=24#2=32#3=#1#4=64#5=0call fig_linesolid_line#1=24#2=64#3=#1#4=88#5=0call fig_line/*dot_line#1=80#2=32#3=#1#4=64#5=0call fig_linesolid_line#1=80#2=64#3=#1#4=88#5=0call fig_line/*#1=96#2=48#3=#1#4=88#5=0call fig_line/*dot_line#1=-8#2=164#3=16#4=#2#5=1call fig_line/*#1=92#2=48#3=#1#4=88#5=1call fig_line/*solid_linecolor greenG242X-24Y192G01X-24Y144/*G242X16Y176G01X16Y144/*

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

-535-

G242X72Y88G01X104Y88/*G242X72Y32G01X128Y32/*#1=-24#2=184#3=7#4=#2#5=2call fig_line/*#1=-8#2=151#3=#1#4=113#5=2call fig_line/*#1=25#2=56#3=79#4=#2#5=2call fig_line/*#1=120#2=79#3=#1#4=32#5=2call fig_line/*one_dot_linecolor purpleG242X-8Y180G01X-8Y156/*G242X84Y48G01X108Y48/*n100cursor_offcolor white C blue L0G243X42Y9(1)G243X43Y9('(')G243X45Y9(',')G243X47Y9(')')G243X50Y9(2)G243X42Y8(3)G243X43Y8('(')G243X45Y8(',')G243X47Y8(')')G243X42Y5(4)if[cursor eq 1]then color -white C blue L1else color white C blue L0endifG243X44Y9(A)if[cursor eq 2]then color -white C blue L1else color white C blue L0endifG243X46Y9(B)

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

-536-

if[cursor eq 3]then color -white C blue L1else color white C blue L0endifG243X44Y8(C)if[cursor eq 4]then color -white C blue L1else color white C blue L0endifG243X46Y8(D)color white#1=5call fig_cursorG243X55Y11(U)#1=6call fig_cursorG243X39Y3(V)#1=7call fig_cursorG243X46Y11(I)#1=8call fig_cursorG243X39Y7(J)#1=9call fig_cursorG243X40Y04(F)G243X52Y11(F)m99

O6190 ;############################################### Measurement of Inside Corner (G188) Sub1if[guidance_write_flag eq flag_off] goto 100solid_linecolor blueG242X-8Y200G01X-8Y48G01X136Y48G01X136Y23G01X-32Y23G01X-32Y200G01X-8Y200#1=43#2=13#3=6call fig_character#1=50#2=13#3=1call fig_character#1=37#2=9#3=1call fig_character#1=37#2=5#3=1call fig_characterG206P0X-28Y196/*color sky_blueG242X-8Y200G01X-8Y48G01X136Y48/*color greenG242X8Y168

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

-537-

G02I16G206P0X16Y168/*color purpleG242X8Y168G02I16/*color greenG242X32Y96G02I40G206P0X40Y96/*color purpleG242X32Y96G02I40/*color greenG242X96Y80G02I104G206P0X104Y80/*color purpleG242X96Y80G02I104/*solid_linecolor red#1=-16#2=168#3=16#4=#2#5=1call fig_line/*solid_line#1=-16#2=152#3=8#4=#2#5=1call fig_linedot_line#1=8#2=152#3=40#4=#2#5=1call fig_line/*solid_line#1=-16#2=96#3=8#4=#2#5=1call fig_linedot_line#1=8#2=96#3=40#4=#2#5=1call fig_line/*#1=40#2=96#3=#1

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

-538-

#4=64#5=0call fig_linesolid_line#1=40#2=64#3=#1#4=40#5=0call fig_line/*dot_line#1=88#2=96#3=#1#4=64#5=0call fig_linesolid_line#1=88#2=64#3=#1#4=40#5=0call fig_line/*#1=104#2=80#3=#1#4=40#5=0call fig_line/*dot_line#1=-16#2=164#3=16#4=#2#5=0call fig_line/*#1=100#2=80#3=#1#4=40#5=1call fig_line/*solid_linecolor greenG242X-16Y176G01X-16Y144/*G242X40Y196G01X40Y144/*G242X80Y96G01X128Y96/*G242X80Y40G01X112Y40/*#1=-8#2=184#3=40#4=#2#5=2

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

-539-

call fig_line/*#1=16#2=152#3=#1#4=96#5=2call fig_line/*#1=40#2=72#3=88#4=#2#5=2call fig_line/*#1=120#2=96#3=#1#4=48#5=2call fig_line/*one_dot_linecolor purpleG242X16Y180G01X16Y156/*G242X92Y80G01X116Y80/*n100cursor_offcolor white C blue L0G243X43Y13(1)G243X44Y13('(')G243X46Y13(',')G243X48Y13(')')G243X50Y13(2)G243X37Y9(3)G243X37Y5(4)if[cursor eq 2]then color -white C blue L1else color white C blue L0endifG243X45Y13(A)if[cursor eq 3]then color -white C blue L1else color white C blue L0endifG243X47Y13(B)color white#1=4call fig_cursorG243X55Y10(U)#1=5call fig_cursorG243X42Y3(V)#1=6call fig_cursorG243X48Y10(I)#1=7call fig_cursorG243X42Y7(J)#1=8

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

-540-

call fig_cursorG243X40Y04(F)G243X53Y11(F)m99

O6191 ;############################################### Measurement of Bolt-Hole-Circle (G189) Sub1if[guidance_write_flag eq flag_off] goto 100solid_linecolor greenG242X44Y168G01X44Y136G01X52Y136G01X52Y168G01X44Y168G206P0X48Y164/*color purpleG242X44Y168G01X44Y136G242X52Y168G01X52Y136/*color greenG242X40Y128G02I48G206P0X48Y128/*color purpleG242X40Y128G02I48/*color blueG242X-24Y88G01X-8Y88G01X-8Y56G01X16Y56G01X16Y88G01X80Y88G01X80Y56G01X104Y56G01X104Y88G01X120Y88G01X120Y40G01X-24Y40G01X-24Y88G206P0X-20Y84/*color sky_blueG242X-24Y88G01X-8Y88G01X-8Y56G01X16Y56G01X16Y88G01X80Y88G01X80Y56G01X104Y56G01X104Y88G01X120Y88/*solid_linecolor red#1=84#2=72#3=100#4=#2#5=2call fig_line

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

-541-

/*#1=100#2=72#3=112#4=#2#5=0call fig_line/*dot_lineG242X24Y120G01X24Y72/*#1=24#2=120#3=92#4=#2#5=2call fig_line/*#1=92#2=120#3=#1#4=72#5=0call fig_line/*#1=84#2=72#3=72#4=#2#5=0call fig_line/*solid_lineG242X100Y120G01X136Y120/*G242X124Y72G01X0136Y72/*#1=128#2=120#3=#1#4=72#5=2call fig_line/*one_dot_linecolor purpleG242X48Y176G01X48Y32/*n100cursor_offcolor white#1=1call fig_cursorG243X56Y9(Z)m99

O6192 ;############################################### Measurement of Bolt-Hole-Circle (G189) Sub2if[guidance_write_flag eq flag_off] goto 100solid_linecolor blueG242X-32Y184G01X-32Y24G01X136Y24

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

-542-

G01X136Y184G01X-32Y184G242X96Y104G02I112G242X79Y147G02I95G242X36Y164G02I52G242X-7Y147G02I9G242X-24Y104G02I-8G242X-7Y61G02I9G242X36Y44G02I52G242X79Y61G02I95#1=54#2=5#3=1call fig_character#1=37#2=7#3=1call fig_character#1=54#2=11#3=1call fig_character#1=51#2=8#3=1call fig_character#1=42#2=8#3=1call fig_character#1=45#2=10#3=1call fig_character#1=42#2=9#3=1call fig_characterG206P0X-28Y180/*color sky_blueG242X96Y104G02I112G242X79Y147G02I95G242X36Y164G02I52G242X-7Y147G02I9G242X-24Y104G02I-8G242X-7Y61G02I9G242X36Y44G02I52G242X79Y61G02I95/*solid_line

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

-543-

color greenG242X52Y104G01X112Y164/*G242X52Y104G01X112Y44/*#1=52#2=104#3=-2#4=79#5=2call fig_line/*#1=101#2=93#3=123#4=115#5=2call fig_line/*#1=88#2=104#3=78#4=130#5=52#6=104#7=0call fig_ccw/*#1=80#2=104#3=24#4=104#5=52#6=104#7=0call fig_ccw/*#1=72#2=104#3=66#4=90#5=52#6=104#7=0call fig_ccw/*one_dot_lineG242X52Y192G01X52Y16/*G242X-40Y104G01X144Y104/*G242X-8Y104G02I52/*n100cursor_offcolor white C blue L0G243X54Y05(1)G243X37Y07(2)G243X54Y11(3)if[cursor eq 2]then color -white C blue L1else

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

-544-

color white C blue L0endifG243X42Y9(R)if[cursor eq 4]then color -white C blue L1else color white C blue L0endifG243X51Y8(A)if[cursor eq 5]then color -white C blue L1else color white C blue L0endifG243X42Y8(B)if[cursor eq 6]then color -white C blue L1else color white C blue L0endifG243X45Y10(C)color white#1=3call fig_cursorG243X53Y8(D)m99

O6193 ;############################################### Measurement of 4 Holes Center(G190) Sub1if[guidance_write_flag eq flag_off] goto 100solid_linecolor greenG242X88Y168G01X88Y136G01X96Y136G01X96Y168G01X88Y168G206P0X92Y164/*color purpleG242X88Y168G01X88Y136G242X96Y168G01X96Y136/*color greenG242X84Y128G02I92G206P0X92Y128/*color blueG242X-24Y88G01X-8Y88G01X-8Y56G01X16Y56G01X16Y88G01X80Y88G01X80Y56G01X104Y56G01X104Y88G01X120Y88G01X120Y40G01X-24Y40G01X-24Y88G206P0X-20Y84/*color sky_blueG242X-24Y88

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

-545-

G01X-8Y88G01X-8Y56G01X16Y56G01X16Y88G01X80Y88G01X80Y56G01X104Y56G01X104Y88G01X120Y88/*solid_linecolor red#1=-16#2=72#3=-4#4=#2#5=1call fig_line/*#1=12#2=72#3=24#4=#2#5=2call fig_line/*#1=72#2=72#3=84#4=#2#5=1call fig_line/*#1=100#2=72#3=112#4=#2#5=0call fig_line/*dot_line#1=92#2=120#3=4#4=#2#5=0call fig_line/*#1=4#2=120#3=#1#4=72#5=0call fig_line/*#1=-4#2=72#3=12#4=#2#5=2call fig_line/*#1=92#2=120#3=#1#4=72#5=0

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

-546-

call fig_line/*#1=84#2=72#3=100#4=#2#5=2call fig_line/*solid_linecolor greenG242X92Y120G01X136Y120/*G242X120Y72G01X136Y72/*#1=128#2=120#3=#1#4=72#5=2call fig_line/*solid_linecolor purpleG242X84Y128G02I92/*n100cursor_offcolor white#1=1call fig_cursorG243X56Y9(Z)m99

O6194 ;############################################### Measurement of 4 Holes Center(G190) Sub2if[guidance_write_flag eq flag_off] goto 100solid_linecolor blueG242X-32Y184G01X-32Y24G01X136Y24G01X136Y184G01X-32Y184G242X-12Y56G02I4G242X84Y56G02I100G242X84Y152G02I100G242X-12Y152G02I4#1=37#2=13#3=6call fig_character#1=50#2=13#3=6call fig_character#1=50#2=7#3=6call fig_character#1=37

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

-547-

#2=7#3=6call fig_characterG206P0X-28Y180/*color sky_blueG242X-12Y56G02I4G242X84Y56G02I100G242X84Y152G02I100G242X-12Y152G02I4/*color greenone_dot_lineG242X52Y192G01X52Y16/*G242X-40Y104G01X144Y104/*G242X-12Y168G01X114Y40/*G242X-12Y40G01X114Y168/*solid_line#1=89#2=45#3=111#4=67#5=2call fig_line/*n100cursor_offcolor white C blue L0G243X37Y13('1(')G243X40Y13(',')G243X42Y13(')')G243X50Y13('2(')G243X53Y13(',')G243X55Y13(')')G243X50Y7('3(')G243X53Y7(',')G243X55Y7(')')G243X37Y7('4(')G243X40Y7(',')G243X42Y7(')')if[cursor eq 3]then color -white C blue L1else color white C blue L0endifG243X39Y13(A)if[cursor eq 4]then color -white C blue L1else color white C blue L0endifG243X41Y13(B)if[cursor eq 5]then color -white C blue L1else

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

-548-

color white C blue L0endifG243X52Y13(C)if[cursor eq 6]then color -white C blue L1else color white C blue L0endifG243X54Y13(E)if[cursor eq 7]then color -white C blue L1else color white C blue L0endifG243X52Y7(H)if[cursor eq 8]then color -white C blue L1else color white C blue L0endifG243X54Y7(I)if[cursor eq 9]then color -white C blue L1else color white C blue L0endifG243X39Y7(J)if[cursor eq 10]then color -white C blue L1else color white C blue L0endifG243X41Y7(K)color white#1=2call fig_cursorG243X52Y11(D)m99

O6195 ;############################################### Measurement of Work Piece Angle (G191) Sub1if[guidance_write_flag eq flag_off] goto 100solid_linecolor blueG242X-24Y144G01X-8Y88G01X128Y127G01X112Y183G01X-24Y144#1=40#2=8#3=6call fig_character#1=47#2=7#3=6call fig_characterG206P0X-20Y140/*color sky_blueG242X-24Y144G01X-8Y88G242X-32Y81G01X128Y127/*color greenG242X24Y80G02I32

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

-549-

G206P0X32Y80/*color purpleG242X24Y80G02I32/*color greenG242X80Y96G02I88G206P0X88Y96/*color purpleG242X80Y96G02I88/*solid_linecolor red#1=16#2=104#3=#1#4=88#5=1call fig_linedot_line#1=16#2=88#3=#1#4=64#5=1call fig_line/*solid_line#1=32#2=104#3=#1#4=80#5=1call fig_line/*#1=72#2=120#3=#1#4=104#5=1call fig_linedot_line#1=72#2=104#3=#1#4=79#5=1call fig_line/*solid_line#1=88#2=120#3=#1#4=96#5=1call fig_line/*dot_line#1=28#2=104#3=#1#4=80#5=0

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

-550-

call fig_line/*#1=84#2=120#3=#1#4=96#5=0call fig_line/*solid_linecolor greenG242X-16Y72G03X-18Y85R48/*G242X-32Y72G01X0Y72/*G242X8Y104G01X40Y104/*G242X64Y120G01X96Y120/*G242X64Y76G01X112Y90/*#1=104#2=88#3=#1#4=120#5=2call fig_line/*one_dot_linecolor purpleG242X20Y80G01X44Y80/*G242X76Y96G01X100Y96/*solid_linecolor sky_blue#1=104#2=64#3=#1#4=32#5=2call fig_line/*#1=88#2=48#3=120#4=#2#5=2call fig_line/*n100cursor_offcolor white C blue L0G243X40Y8('1(')G243X43Y8(',')G243X45Y8(')')G243X47Y7('2(')G243X50Y7(',')G243X52Y7(')')if[cursor eq 1]then

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

-551-

color -white C blue L1else color white C blue L0endifG243X42Y8(A)if[cursor eq 2]then color -white C blue L1else color white C blue L0endifG243X44Y8(B)if[cursor eq 3]then color -white C blue L1else color white C blue L0endifG243X49Y7(C)if[cursor eq 4]then color -white C blue L1else color white C blue L0endifG243X51Y7(I)color white#1=5call fig_cursorG243X53Y8(D)#1=6call fig_cursorG243X51Y11(J)#1=7call fig_cursorG243X45Y9(F)G243X52Y8(F)cursor_offG243X49Y12('-X')G243X55Y12('+X')G243X53Y11('+Y')G243X53Y13('-Y')m99

O6196 ;############################################### Measurement of 2 Holes Angle (G192) Sub1if[guidance_write_flag eq flag_off] goto 100solid_linecolor blueG242X-32Y186G01X-32Y40G01X136Y40G01X136Y186G01X-32Y186G242X24Y104G02I40G242X80Y136G02I96#1=43#2=10#3=6call fig_character#1=50#2=8#3=6call fig_characterG206P0X-28Y164/*color sky_blueG242X24Y104G02I40

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

-552-

G242X80Y136G02I96/*solid_linecolor greenG242X0Y56G03X-6Y77R40/*G242X-24Y56G01X8Y56/*#1=85#2=125#3=107#4=147#5=2call fig_line/*one_dot_lineG242X-24Y66G01X128Y154/*n100cursor_offcolor white C blue L0G243X43Y10('1(')G243X46Y10(',')G243X48Y10(')')G243X50Y8('2(')G243X53Y8(',')G243X55Y8(')')if[cursor eq 3]then color -white C blue L1else color white C blue L0endifG243X45Y10(A)if[cursor eq 4]then color -white C blue L1else color white C blue L0endifG243X47Y10(B)if[cursor eq 5]then color -white C blue L1else color white C blue L0endifG243X52Y8(C)if[cursor eq 6]then color -white C blue L1else color white C blue L0endifG243X54Y8(I)color white#1=2call fig_cursorG243X51Y6(D)m99

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

-553-

11.4 INPUTTED DATA CHECKING

/****************************************************************************/*/* CHECK9.SRC :: Measuring Cycles/*/***** 6621: Measurement of X/Y/Z Single Surface (G180)/***** 6622: Measurement of Web Width (G181)/***** 6623: Measurement of Groove Width (G182)/***** 6624: Measurement of Outside Circle (G183)/***** 6625: Measurement of Inside Circle (G184)/***** 6626: Measurement of Outside Rectangular (G185)/***** 6627: Measurement of Inside Rectangular (G186)/***** 6628: Measurement of Outside Corner (G187)/***** 6629: Measurement of Inside Corner (G188)/***** 6630: Measurement of Bolt-Hole-Circle (G189)/***** 6631: Measurement of 4 Holes Center(G190)/***** 6632: Measurement of Work Piece Angle (G191)/***** 6633: Measurement of 2 Holes Angle (G192)/****************************************************************************$INCLUDE SYMBOL.DEF

O6621 ;############################################### Measurement of X/Y/Z Single Surface (G180) input_error_flag = error_non /* Measure Position */ error_item = 1 if[#[value 1] eq #0]goto 97 if[#[value 1] lt 1 || #[value 1] gt 3]goto 98 /* Work co-ord. Value */ error_item = 2 if[#[value 2] eq #0]goto 97 /* Distance for Move */ error_item = 3 if[#[value 3] eq #0]goto 97 if[#[value 1] eq 3]then if[#[value 3] gt 0]goto 98 endif /* Feedrate for Move */ error_item = 4 if[#[value 4] eq #0]goto 97 if[#[value 4] le 0]goto 98 /* Work co-ord. System */ if[#[attribute 5] ne att_not_use]then error_item = 5 if[#[value 5] eq #0]goto 99 if[#[value 5] lt 1 || #[value 5] gt 6]goto 98 endif /* Work co-ord. System */ if[#[attribute 6] ne att_not_use]then error_item = 6 if[#[value 6] eq #0]goto 99 if[#[value 6] lt 1 || #[value 6] gt 6]then if[#[value 6] lt 1001 || #[value 6] gt 1048]goto 98 endif endif goto 99 /* Data is lacking. */n97 input_error_flag = error_on call fig_language color red C white L0 G243X1Y24 P[#1+900] goto 99 /* Input error in menu param. */n98 input_error_flag = error_on

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

-554-

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

O6622 ;############################################### Measurement of Web Width (G181) input_error_flag = error_non /* Height for Z Axis */ error_item = 1 if[#[value 1] eq #0]goto 97 if[#[value 1] le 0]goto 98 /* Measure Direction */ error_item = 2 if[#[value 2] eq #0]goto 97 if[#[value 2] lt 1 || #[value 2] gt 2]goto 98 /* Web Width */ error_item = 3 if[#[value 3] eq #0]goto 97 if[#[value 3] le 0]goto 98 /* Feedrate for Move */ error_item = 4 if[#[value 4] eq #0]goto 97 if[#[value 4] le 0]goto 98 /* Work co-ord. System */ if[#[attribute 5] ne att_not_use]then error_item = 5 if[#[value 5] eq #0]goto 99 if[#[value 5] lt 1 || #[value 5] gt 6]goto 98 endif /* Work co-ord. System */ if[#[attribute 6] ne att_not_use]then error_item = 6 if[#[value 6] eq #0]goto 99 if[#[value 6] lt 1 || #[value 6] gt 6]then if[#[value 6] lt 1001 || #[value 6] gt 1048]goto 98 endif endif goto 99 /* Data is lacking. */n97 input_error_flag = error_on call fig_language color red C white L0 G243X1Y24 P[#1+900] goto 99 /* Input error in menu param. */n98 input_error_flag = error_on call fig_language color red C white L0 G243X1Y24 P[#1+901]n99 m99

O6623 ;############################################### Measurement of Groove Width (G182) input_error_flag = error_non /* Height for Z Axis */ error_item = 1 if[#[value 1] eq #0]goto 97 if[#[value 1] le 0]goto 98 /* Measure Direction */ error_item = 2 if[#[value 2] eq #0]goto 97 if[#[value 2] lt 1 || #[value 2] gt 2]goto 98 /* Groove Width */ error_item = 3 if[#[value 3] eq #0]goto 97 if[#[value 3] le 0]goto 98 /* Feedrate for Move */ error_item = 4

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

-555-

if[#[value 4] eq #0]goto 97 if[#[value 4] le 0]goto 98 /* Work co-ord. System */ if[#[attribute 5] ne att_not_use]then error_item = 5 if[#[value 5] eq #0]goto 99 if[#[value 5] lt 1 || #[value 5] gt 6]goto 98 endif /* Work co-ord. System */ if[#[attribute 6] ne att_not_use]then error_item = 6 if[#[value 6] eq #0]goto 99 if[#[value 6] lt 1 || #[value 6] gt 6]then if[#[value 6] lt 1001 || #[value 6] gt 1048]goto 98 endif endif goto 99 /* Data is lacking. */n97 input_error_flag = error_on call fig_language color red C white L0 G243X1Y24 P[#1+900] goto 99 /* Input error in menu param. */n98 input_error_flag = error_on call fig_language color red C white L0 G243X1Y24 P[#1+901]n99 m99

O6624 ;############################################### Measurement of Outside Circle (G183) input_error_flag = error_non /* Height for Z Axis */ error_item = 1 if[#[value 1] eq #0]goto 97 if[#[value 1] le 0]goto 98 /* Hole Outside Radius */ error_item = 2 if[#[value 2] eq #0]goto 97 if[#[value 2] le 0]goto 98 /* Feedrate for Move */ error_item = 3 if[#[value 3] eq #0]goto 97 if[#[value 3] le 0]goto 98 /* Work co-ord. System */ if[#[attribute 4] ne att_not_use]then error_item = 4 if[#[value 4] eq #0]goto 99 if[#[value 4] lt 1 || #[value 4] gt 6]goto 98 endif /* Work co-ord. System */ if[#[attribute 5] ne att_not_use]then error_item = 5 if[#[value 5] eq #0]goto 99 if[#[value 5] lt 1 || #[value 5] gt 6]then if[#[value 5] lt 1001 || #[value 5] gt 1048]goto 98 endif endif goto 99 /* Data is lacking. */n97 input_error_flag = error_on call fig_language color red C white L0 G243X1Y24 P[#1+900] goto 99 /* Input error in menu param. */n98 input_error_flag = error_on

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

-556-

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

O6625 ;############################################### Measurement of Inside Circle (G184) input_error_flag = error_non /* Height for Z Axis */ error_item = 1 if[#[value 1] eq #0]goto 97 if[#[value 1] le 0]goto 98 /* Hole Inside Radius */ error_item = 2 if[#[value 2] eq #0]goto 97 if[#[value 2] le 0]goto 98 /* Feedrate for Move */ error_item = 3 if[#[value 3] eq #0]goto 97 if[#[value 3] le 0]goto 98 /* Work co-ord. System */ if[#[attribute 4] ne att_not_use]then error_item = 4 if[#[value 4] eq #0]goto 99 if[#[value 4] lt 1 || #[value 4] gt 6]goto 98 endif /* Work co-ord. System */ if[#[attribute 5] ne att_not_use]then error_item = 5 if[#[value 5] eq #0]goto 99 if[#[value 5] lt 1 || #[value 5] gt 6]then if[#[value 5] lt 1001 || #[value 5] gt 1048]goto 98 endif endif goto 99 /* Data is lacking. */n97 input_error_flag = error_on call fig_language color red C white L0 G243X1Y24 P[#1+900] goto 99 /* Input error in menu param. */n98 input_error_flag = error_on call fig_language color red C white L0 G243X1Y24 P[#1+901]n99 m99

O6626 ;############################################### Measurement of Outside Rectangular (G185) input_error_flag = error_non /* Height for Z Axis */ error_item = 1 if[#[value 1] eq #0]goto 97 if[#[value 1] le 0]goto 98 /* Length for X Axis */ error_item = 2 if[#[value 2] eq #0]goto 97 if[#[value 2] le 0]goto 98 /* Length for Y Axis */ error_item = 3 if[#[value 3] eq #0]goto 97 if[#[value 3] le 0]goto 98 /* Feedrate for Move */ error_item = 4 if[#[value 4] eq #0]goto 97 if[#[value 4] le 0]goto 98 /* Work co-ord. System */ if[#[attribute 5] ne att_not_use]then

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

-557-

error_item = 5 if[#[value 5] eq #0]goto 99 if[#[value 5] lt 1 || #[value 5] gt 6]goto 98 endif /* Work co-ord. System */ if[#[attribute 6] ne att_not_use]then error_item = 6 if[#[value 6] eq #0]goto 99 if[#[value 6] lt 1 || #[value 6] gt 6]then if[#[value 6] lt 1001 || #[value 6] gt 1048]goto 98 endif endif goto 99 /* Data is lacking. */n97 input_error_flag = error_on call fig_language color red C white L0 G243X1Y24 P[#1+900] goto 99 /* Input error in menu param. */n98 input_error_flag = error_on call fig_language color red C white L0 G243X1Y24 P[#1+901]n99 m99

O6627 ;############################################### Measurement of Inside Rectangular (G186) input_error_flag = error_non /* Height for Z Axis */ error_item = 1 if[#[value 1] eq #0]goto 97 if[#[value 1] le 0]goto 98 /* Length for X Axis */ error_item = 2 if[#[value 2] eq #0]goto 97 if[#[value 2] le 0]goto 98 /* Length for Y Axis */ error_item = 3 if[#[value 3] eq #0]goto 97 if[#[value 3] le 0]goto 98 /* Feedrate for Move */ error_item = 4 if[#[value 4] eq #0]goto 97 if[#[value 4] le 0]goto 98 /* Work co-ord. System */ if[#[attribute 5] ne att_not_use]then error_item = 5 if[#[value 5] eq #0]goto 99 if[#[value 5] lt 1 || #[value 5] gt 6]goto 98 endif /* Work co-ord. System */ if[#[attribute 6] ne att_not_use]then error_item = 6 if[#[value 6] eq #0]goto 99 if[#[value 6] lt 1 || #[value 6] gt 6]then if[#[value 6] lt 1001 || #[value 6] gt 1048]goto 98 endif endif goto 99 /* Data is lacking. */n97 input_error_flag = error_on call fig_language color red C white L0 G243X1Y24 P[#1+900] goto 99 /* Input error in menu param. */n98 input_error_flag = error_on

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

-558-

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

O6628 ;############################################### Measurement of Outside Corner (G187) input_error_flag = error_non /* 1st Measure Point X */ error_item = 1 if[#[value 1] eq #0]goto 97 /* 1st Measure Point Y */ error_item = 2 if[#[value 2] eq #0]goto 97 /* 3rd Measure Point X */ error_item = 3 if[#[value 3] eq #0]goto 97 /* 3rd Measure Point Y */ error_item = 4 if[#[value 4] eq #0]goto 97 /* Distance for X Axis */ error_item = 5 if[#[value 5] eq #0]goto 97 if[#[value 5] le 0]goto 98 /* Distance for Y Axis */ error_item = 6 if[#[value 6] eq #0]goto 97 if[#[value 6] le 0]goto 98 /* Increase for X Axis */ error_item = 7 if[#[value 7] eq #0]goto 97 if[#[value 7] le 0]goto 98 /* Increase for Y Axis */ error_item = 8 if[#[value 8] eq #0]goto 97 if[#[value 8] le 0]goto 98 /* Feedrate for Move */ error_item = 9 if[#[value 9] eq #0]goto 97 if[#[value 9] le 0]goto 98 /* Work co-ord. System */ if[#[attribute 10] ne att_not_use]then error_item = 10 if[#[value 10] eq #0]goto 99 if[#[value 10] lt 1 || #[value 10] gt 6]goto 98 endif /* Work co-ord. System */ if[#[attribute 11] ne att_not_use]then error_item = 11 if[#[value 11] eq #0]goto 99 if[#[value 11] lt 1 || #[value 11] gt 6]then if[#[value 11] lt 1001 || #[value 11] gt 1048]goto 98 endif endif goto 99 /* Data is lacking. */n97 input_error_flag = error_on call fig_language color red C white L0 G243X1Y24 P[#1+900] goto 99 /* Input error in menu param. */n98 input_error_flag = error_on call fig_language color red C white L0 G243X1Y24 P[#1+901]n99 m99

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

-559-

O6629 ;############################################### Measurement of Inside Corner (G188) input_error_flag = error_non /* Corner Position */ error_item = 1 if[#[value 1] eq #0]goto 97 if[#[value 1] lt 1 ||#[value 1] gt 4]goto 98 /* 1st Measure Point X */ error_item = 2 if[#[value 2] eq #0]goto 97 /* 1st Measure Point Y */ error_item = 3 if[#[value 3] eq #0]goto 97 /* Distance for X Axis */ error_item = 4 if[#[value 4] eq #0]goto 97 if[#[value 4] le 0]goto 98 /* Distance for Y Axis */ error_item = 5 if[#[value 5] eq #0]goto 97 if[#[value 5] le 0]goto 98 /* Increase for X Axis */ error_item = 6 if[#[value 6] eq #0]goto 97 if[#[value 6] le 0]goto 98 /* Increase for Y Axis */ error_item = 7 if[#[value 7] eq #0]goto 97 if[#[value 7] le 0]goto 98 /* Feedrate for Move */ error_item = 8 if[#[value 8] eq #0]goto 97 if[#[value 8] le 0]goto 98 /* Work co-ord. System */ if[#[attribute 9] ne att_not_use]then error_item = 9 if[#[value 9] eq #0]goto 99 if[#[value 9] lt 1 || #[value 9] gt 6]goto 98 endif /* Work co-ord. System */ if[#[attribute 10] ne att_not_use]then error_item = 10 if[#[value 10] eq #0]goto 99 if[#[value 10] lt 1 || #[value 10] gt 6]then if[#[value 10] lt 1001 || #[value 10] gt 1048]goto 98 endif endif goto 99 /* Data is lacking. */n97 input_error_flag = error_on call fig_language color red C white L0 G243X1Y24 P[#1+900] goto 99 /* Input error in menu param. */n98 input_error_flag = error_on call fig_language color red C white L0 G243X1Y24 P[#1+901]n99 m99

O6630 ;############################################### 6630: Measurement of Bolt-Hole-Circle (G189) input_error_flag = error_non /* Height for Z Axis */ error_item = 1 if[#[value 1] eq #0]goto 97 if[#[value 1] le 0]goto 98 /* Radius */

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

-560-

error_item = 2 if[#[value 2] eq #0]goto 97 if[#[value 2] le 0]goto 98 /* Hole Nominal Dia. */ error_item = 3 if[#[value 3] eq #0]goto 97 if[#[value 3] le 0]goto 98 /* 1st Hole Angle */ error_item = 4 if[#[value 4] eq #0]goto 97 if[#[value 4] lt 0]goto 98 /* 2nd Hole Angle */ error_item = 5 if[#[value 5] eq #0]goto 97 if[#[value 5] lT 0]goto 98 /* 3rd Hole Angle */ error_item = 6 if[#[value 6] eq #0]goto 97 if[#[value 6] lt 0]goto 98 /* Feedrate for Move */ error_item = 7 if[#[value 7] eq #0]goto 97 if[#[value 7] le 0]goto 98 /* Work co-ord. System */ if[#[attribute 8] ne att_not_use]then error_item = 8 if[#[value 8] eq #0]goto 99 if[#[value 8] lt 1 || #[value 8] gt 6]goto 98 endif /* Work co-ord. System */ if[#[attribute 9] ne att_not_use]then error_item = 9 if[#[value 9] eq #0]goto 99 if[#[value 9] lt 1 || #[value 9] gt 6]then if[#[value 9] lt 1001 || #[value 9] gt 1048]goto 98 endif endif goto 99 /* Data is lacking. */n97 input_error_flag = error_on call fig_language color red C white L0 G243X1Y24 P[#1+900] goto 99 /* Input error in menu param. */n98 input_error_flag = error_on call fig_language color red C white L0 G243X1Y24 P[#1+901]n99 m99

O6631 ;############################################### Measurement of 4 Holes Center(G190) input_error_flag = error_non /* Height for Z Axis */ error_item = 1 if[#[value 1] eq #0]goto 97 if[#[value 1] le 0]goto 98 /* Hole Nominal Dia. */ error_item = 2 if[#[value 2] eq #0]goto 97 if[#[value 2] le 0]goto 98 /* 1st Hole Point X */ error_item = 3 if[#[value 3] eq #0]goto 97 /* 1st Hole Point Y */ error_item = 4 if[#[value 4] eq #0]goto 97

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

-561-

/* 2nd Hole Point X */ error_item = 5 if[#[value 5] eq #0]goto 97 /* 2nd Hole Point Y */ error_item = 6 if[#[value 6] eq #0]goto 97 /* 3rd Hole Point X */ error_item = 7 if[#[value 7] eq #0]goto 97 /* 3rd Hole Point Y */ error_item = 8 if[#[value 8] eq #0]goto 97 /* 4th Hole Point X */ error_item = 9 if[#[value 9] eq #0]goto 97 /* 4th Hole Point Y */ error_item = 10 if[#[value 10] eq #0]goto 97 /* Feedrate for Move */ error_item = 11 if[#[value 11] eq #0]goto 97 if[#[value 11] le 0]goto 98 /* Work co-ord. System */ if[#[attribute 12] ne att_not_use]then error_item = 12 if[#[value 12] eq #0]goto 99 if[#[value 12] lt 1 || #[value 12] gt 6]goto 98 endif /* Work co-ord. System */ if[#[attribute 13] ne att_not_use]then error_item = 13 if[#[value 13] eq #0]goto 99 if[#[value 13] lt 1 || #[value 13] gt 6]then if[#[value 13] lt 1001 || #[value 13] gt 1048]goto 98 endif endif goto 99 /* Data is lacking. */n97 input_error_flag = error_on call fig_language color red C white L0 G243X1Y24 P[#1+900] goto 99 /* Input error in menu param. */n98 input_error_flag = error_on call fig_language color red C white L0 G243X1Y24 P[#1+901]n99 m99

O6632 ;############################################### Measurement of Work Piece Angle (G191) input_error_flag = error_non /* 1st Measure Point X */ error_item = 1 if[#[value 1] eq #0]goto 97 /* 1st Measure Point Y */ error_item = 2 if[#[value 2] eq #0]goto 97 /* 2nd Measure Point X */ error_item = 3 if[#[value 3] eq #0]goto 97 /* 2nd Measure Point Y */ error_item = 4 if[#[value 4] eq #0]goto 97 /* Distance for Move */ error_item = 5 if[#[value 5] eq #0]goto 97

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

-562-

if[#[value 5] le 0]goto 98 /* Probe Axis for Move */ error_item = 6 if[#[value 6] eq #0]goto 97 if[#[value 6] lt 1 || #[value 6] gt 4]goto 98 /* Feedrate for Move */ error_item = 7 if[#[value 7] eq #0]goto 97 if[#[value 7] le 0]goto 98 goto 99 /* Data is lacking. */n97 input_error_flag = error_on call fig_language color red C white L0 G243X1Y24 P[#1+900] goto 99 /* Input error in menu param. */n98 input_error_flag = error_on call fig_language color red C white L0 G243X1Y24 P[#1+901]n99 m99

O6633 ;############################################### Measurement of 2 Holes Angle (G192) input_error_flag = error_non /* Height for Z Axis */ error_item = 1 if[#[value 1] eq #0]goto 97 if[#[value 1] le 0]goto 98 /* Hole Nominal Dia. */ error_item = 2 if[#[value 2] eq #0]goto 97 if[#[value 2] le 0]goto 98 /* 1st Hole Point X */ error_item = 3 if[#[value 3] eq #0]goto 97 /* 1st Hole Point Y */ error_item = 4 if[#[value 4] eq #0]goto 97 /* 2nd Hole Point X */ error_item = 5 if[#[value 5] eq #0]goto 97 /* 2nd Hole Point Y */ error_item = 6 if[#[value 6] eq #0]goto 97 /* Feedrate for Move */ error_item = 7 if[#[value 7] eq #0]goto 97 if[#[value 7] le 0]goto 98 goto 99 /* Data is lacking. */n97 input_error_flag = error_on call fig_language color red C white L0 G243X1Y24 P[#1+900] goto 99 /* Input error in menu param. */n98 input_error_flag = error_on call fig_language color red C white L0 G243X1Y24 P[#1+901]n99 m99

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

-563-

12 USER PROGRAMS FOR GUIDANCECUTTING

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

-564-

12.1 GUIDANCE DRAWING FIGURE FOR GUIDANCE CUTTING

/*************************************************************/* Copyright (C) 1999 by FANUC LTD. ALL rights reserved. */*************************************************************/*/* symbol define/*/* COMMON DATA/*@GDH_TOOL #10200 /* TOOL NO. OF COMMON DATA@GDH_TLOFS #10201 /* TOOL RADIUS OFFSET D CODE NO.@GDH_FDRT #10202 /* FEEDRATE@GDH_SPNDL #10203 /* SPINDLE SPEED/* #10204 /* RESERVE #10204-#10209/*/* FIGURE DATA/*@LINE_OF 10210 /* LINE CUTTING (#10210-#10214)@ARC_OF 10220 /* CIRCLE CUTTING (#10220-#10222)/* #10230 /* RESERVE #10230-#10249/*/* WORK FOR SET TO PMC DATA OF GUIDANCE HANDLE/*@LINE_KID #10250 /* KIND OF LINE (0:X PARA,1:Y PARA,2:OBLIQUE)@WORK_X #10251 /* WORK X DATA@WORK_Y #10252 /* WORK Y DATA@WORK_SIN #10253 /* OUTPUT SIN (*2**30)@WORK_COS #10254 /* OUTPUT COS (*2**30)@VERT_LEN #10255 /* OUTPUT OP@COFI_A #10256 /* AX@COFI_B #10257 /* +B@CROS_X #10258 /* VERTICAL CROSS POINT X@CROS_Y #10259 /* VERTICAL CROSS POINT Y@RMV_DIR #10260 /* REMOVE DIRECTION@WORK_210 #10261 /* 2**10=1024@WORK_220 #10262 /* 2**20=1048576@WORK_230 #10263 /* 2**30=1073741824@CUNT #10264 /* CUNTER@CHK_SIN #10265 /* SIN FOR CHECK (*2**30/2**20)@CHK_COS #10266 /* COS FOR CHECK (*2**30/2**20)@WORK_SET #10267 /* SETA@WORK_X1 #10268 /*@WORK_Y1 #10269 /*@WORK_X2 #10270 /*@WORK_Y2 #10271 /*@WORK_A #10272 /*@WORK_D #10273 /*@WORK_D2 #10274 /*/*@TOL_OFS #10275 /* tool offset common data@LIMIT_F #10276 /* LIMIT FLAG@UNIT_F8 #10277 /* UNIT F[UNIT_F8] DATA TYP 8@W_MUDV #10278 /*@W_1004 #10279 /*@W_UNIT1 #10280 /*/*@SET_X1 #10281 /* START POINT X@SET_Y1 #10282 /* Y@SET_X2 #10283 /* END POINT I@SET_Y2 #10284 /* J@SET_A #10285 /* ANGLE/*@LINE_CUT 1@SET_FLAG 0

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

-565-

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

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

-566-

@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_F8IF [UNIT_F8 EQ 7.3]THEN W_MUDV = 1000ELSE IF [UNIT_F8 EQ 7.2]THEN

W_MUDV = 100 ELSE

W_MUDV= 10000 ENDIFENDIF

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

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

-567-

/* SET ACTUAL POSITION/*

M98 P9811 /* SET ACTUAL POSITION(W_POS1,W_POS2) INPUT DATA:WRK_VAR/* IF [SET_A NE #0] THEN LINE_KID = 2 ELSE IF [SET_Y1 NE #0 && SET_Y2 NE #0]THEN IF [SET_X1 NE #0 && SET_X2 NE #0]THEN LINE_KID = 2 GOTO 2000 ENDIF ENDIF IF [SET_Y1 NE #0] THEN LINE_KID = 0 GOTO 2000 ENDIF IF [SET_Y2 NE #0] THEN LINE_KID = 0 GOTO 2000 ENDIF IF [SET_X1 NE #0] THEN LINE_KID = 1 GOTO 2000 ENDIF IF [SET_X2 NE #0] THEN LINE_KID = 1 ENDIF ENDIF/*N2000 WORK_X1 = SET_X1 /* START POINT X1 WORK_Y1 = SET_Y1 /* Y1 WORK_X2 = SET_X2 /* END POINT X2 WORK_Y2 = SET_Y2 /* Y2 WORK_A = SET_A /* ANGLE/*/* SKIP ANGLE WITH (X1,Y1) AND (X2,Y2)/*

IF [SET_Y1 NE #0 && SET_Y2 NE #0]THEN IF [SET_X1 NE #0 && SET_X2 NE #0]THEN WORK_A = #0 ENDIF ENDIF/* IF [SET_A EQ #0] GOTO 90 IF [WORK_A EQ #0] GOTO 90/* IF [ABS[WORK_A] EQ 90 ||ABS[WORK_A] EQ 270] THEN LINE_KID = 1 ENDIF IF [ABS[WORK_A] EQ 0 ||ABS[WORK_A] EQ 180 ||ABS[WORK_A] EQ 360] THEN LINE_KID = 0 ENDIF WORK_SET = WORK_A/*N90 IF [LINE_KID EQ 0] GOTO 100 /* X PARA IF [LINE_KID EQ 1] GOTO 200 /* Y PARA IF [LINE_KID EQ 2] GOTO 300 /* OBLIQUE LINE/*/* X PARA/*N100 IF [SET_Y1 EQ #0 ] THEN IF [SET_Y2 EQ #0] THEN WORK_Y = W_POS2 /* WORK CORRD. ELSE WORK_Y = WORK_Y2 ENDIF

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

-568-

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] THENN302 COFI_B = 0 ENDIF WORK_SET = WORK_A

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

-569-

GOTO 350 ENDIF/*/* (X1,Y1) AND (X2,Y2)/* IF [[WORK_Y2 - WORK_Y1] EQ 0 ]THEN /* X PARALLEL ? LINE_KID = 0 GOTO 100 ENDIF IF [[WORK_X2 - WORK_X1] EQ 0 ]THEN /* Y PARALLEL ? LINE_KID = 1 GOTO 200 ENDIF COFI_A = [WORK_Y2 - WORK_Y1]/[WORK_X2 - WORK_X1] COFI_B = -[COFI_A*WORK_X1] + WORK_Y1 GOTO 350/*/* (X1,Y1) AND A OR (X2,Y2) AND A/* OR (X,Y) AND A./*N310 COFI_A = TAN[WORK_A] IF [SET_X1 NE #0]THEN IF [SET_Y1 NE #0]THEN COFI_B = -[COFI_A*WORK_X1]+WORK_Y1 GOTO 350 ENDIF ENDIF IF [SET_X2 NE #0]THEN IF [SET_Y2 NE #0]THEN COFI_B = -[COFI_A*WORK_X2]+WORK_Y2 GOTO 350 ENDIF ENDIF/* COFI_B = -[COFI_A*W_POS1]+W_POS2/**N350 CROS_X = -[COFI_B/[1/COFI_A+COFI_A]] CROS_Y = -[1/COFI_A]*CROS_X WORK_SIN=[[CROS_Y*WORK_210]/SQRT[CROS_X*CROS_X+CROS_Y*CROS_Y]]*WORK_220 WORK_COS=[[CROS_X*WORK_210]/SQRT[CROS_X*CROS_X+CROS_Y*CROS_Y]]*WORK_220 VERT_LEN = SQRT[CROS_X*CROS_X+CROS_Y*CROS_Y]*W_MUDV/*

WORK_AMT=1000 /* MMWORK_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 356N351 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

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

-570-

WORK_SET = [WORK_Y2-WORK_Y1]/[WORK_X2-WORK_X1] GOTO 357N355 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 387N380 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_230N387 IF [COFI_A LT 0 &&[COFI_B] EQ 0] THEN WORK_COS=-WORK_COS GOTO 359N358 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 388N385 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_230N388 IF [COFI_A LT 0 &&[COFI_B] EQ 0] THEN WORK_SIN=-WORK_SIN GOTO 362N361 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/* .

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

-571-

/* 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<YN370 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 /* MMWORK_MIN=0.0001 /*

/* /*IF [#3005 AND 4 EQ 4] THEN /* WORK_AMT=10000 /* INCH

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

-572-

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

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

-573-

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 ARROWF_LMTNOW=R975.7 /* LIMIT SIGNAL NOWF_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?/*

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

-574-

N540 IF [R985.6 EQ 1] GOTO 900 /* GUIDANCE CUTTING?/*N560 IF [F_DNOW EQ F_DAGO] GOTO 900 /* IF NOW NE AGO THEN

F_DAGO=F_DNOW /*/*N100 WORK_ARW=0 /*CUTTING DIRECTION IS LOWER/*

IF [WORK_FAB EQ 0 && F_DNOW EQ 1] THEN /* WORK_ARW=1 /*CUTTING DIRECTION IS UPPERENDIF /*

/*N800 IF [WORK_FAB EQ 1 && F_DNOW EQ 0] THEN /*

WORK_ARW=1 /*CUTTING DIRECTION IS UPPERENDIF /*

/*N850 WORK_ALR=F_AP1 /*ALONG HANDLE

WORK_APU=F_RM1 /*APPROACH HANDLE/*

WORK_S=SIN[WORK_SET] /*SIN AWORK_C=COS[WORK_SET] /*COS A

/*WORK_LMT=F_LMTNOW /*LIMIT SIGNAL

/*N860 G202 X23 Y1 I22 J5 P2 /* clear part screen(CHAR)/*

G202 X23 Y1 I22 J8 P1 /*CLEAR PART GRPH/*N300 M98 P9803 /*DISPLAY HANDLE ARROW/*N350/*N900 M99/*/*****************************************/* DISP HANDLE ARROW OF LIME MODE/*****************************************O9803

G244 P0 ; /* set solid line

W_CXPOS = -40 ; /* offset x posW_CYPOS = 168 ; /* offset y pos

CUNT = 0 ; /* counter clearASET = 0 ; /* init angle

/* WORK_C = COS[W_TEST] /* for debug/* WORK_S = SIN[W_TEST] /*/* W_COS = WORK_C /*/* W_SIN = WORK_S /*

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

DRCT_CUT = 0 ; /* cutter direction

/* set angleW_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 greenELSE ; /*

G240 P5 ; /* set color pinkDRCT_CUT = 1 ; /* set cutter direction

ENDIF ; /*

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

-575-

ENDIF; /*

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

G240 P5 ; /* set color pinkDRCT_CUT = 1 ; /* set cutter direction

ELSE ; /*G240 P2 ; /* set color green

ENDIF ; /*ENDIF; /*

IF [CUNT EQ 0 || CUNT EQ 2] THEN; /*G240 P6 ; /* set color light blue

ENDIF;

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

/* 3dot lineG242 X[48*W_COS+W_CXPOS] Y[48*W_SIN+W_CYPOS] ;

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

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

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

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

/* set handle circle centerW_HDCXP = 40*W_COS-23*W_SIN+W_CXPOS ;W_HDCYP = 40*W_SIN+23*W_COS+W_CYPOS ;

/* draw handle circle G242 X[W_HDCXP-10] Y[W_HDCYP] G03 I[W_HDCXP] J[W_HDCYP] Q4 G242 X[W_HDCXP-7] Y[W_HDCYP] G03 I[W_HDCXP] J[W_HDCYP] Q4 G206 X[W_HDCXP-9] Y[W_HDCYP]

G242 X[W_HDCXP+4] Y[W_HDCYP-4] G02 I[W_HDCXP+2] J[W_HDCYP-2] Q4

G206 X[W_HDCXP+2] Y[W_HDCYP-2]

/* draw handle inside circleG240 P7 ; /* set color white

G242 X[W_HDCXP-7] Y[W_HDCYP] G03 I[W_HDCXP] J[W_HDCYP] Q4 G242 X[W_HDCXP+4] Y[W_HDCYP-4] G02 I[W_HDCXP+2] J[W_HDCYP-2] Q4 G206 P7 X[W_HDCXP-2] Y[W_HDCYP+2]

G240 P15 ; /* set colorIF [WORK_ALR EQ 1] THEN ; IF [CUNT EQ 0] THEN;

GOTO 20 /* right rotationENDIF;

IF [CUNT EQ 2] THEN;GOTO 30 /* left rotation

ENDIF;ENDIF;

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

-576-

IF [WORK_ALR EQ 2] THEN ; IF [CUNT EQ 0] THEN;

GOTO 30 /* left rotationENDIF;

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 rotationENDIF;

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 rotationENDIF;

IF [CUNT EQ 3] THEN;GOTO 20 /* right rotation

ENDIF ;ENDIF ;

GOTO 40 ;

N0020/* right rotatetion arrow

G242 X[W_HDCXP] Y[W_HDCYP+14] G01 X[W_HDCXP-2] Y[W_HDCYP+14+2] G242 X[W_HDCXP] Y[W_HDCYP+14] G01 X[W_HDCXP-2] Y[W_HDCYP+14-2]

/* arc G242 X[W_HDCXP] Y[W_HDCYP+14] G03 X[W_HDCXP-14] Y[W_HDCYP] I[W_HDCXP] J[W_HDCYP] Q0

GOTO 40 ;

N0030/* left rotatetion arrow

G242 X[W_HDCXP] Y[W_HDCYP+14]G01 X[W_HDCXP+2] Y[W_HDCYP+14+2]

G242 X[W_HDCXP] Y[W_HDCYP+14]G01 X[W_HDCXP+2] Y[W_HDCYP+14-2]

/* arc G242 X[W_HDCXP] Y[W_HDCYP+14] G02 X[W_HDCXP+14] Y[W_HDCYP] I[W_HDCXP] J[W_HDCYP] Q0

N0040

IF [WORK_LMT EQ 1] THEN ; /* if limit set ?IF [DRCT_CUT EQ 1] THEN ; /* if drawing cutter direction ?

/* arrow on lineG240 P7 ; /* set color white

G242 X[48*W_COS+W_CXPOS] Y[48*W_SIN+W_CYPOS] G01 X[[48-12]*W_COS-[0-6]*W_SIN+W_CXPOS] Y[[48-12]*W_SIN+[0-6]*W_COS+W_CYPOS] G01 X[[48-12]*W_COS-[0+6]*W_SIN+W_CXPOS] Y[[48-12]*W_SIN+[0+6]*W_COS+W_CYPOS] G01 X[48*W_COS+W_CXPOS] Y[48*W_SIN+W_CYPOS] G206 P7 X[[48-5]*W_COS+W_CXPOS] Y[[48-5]*W_SIN+W_CYPOS]

G240 P5 ; /* set color pink G242 X[48*W_COS+W_CXPOS] Y[48*W_SIN+W_CYPOS]

G01 X[[48-12]*W_COS-[0-6]*W_SIN+W_CXPOS] Y[[48-12]*W_SIN+[0-6]*W_COS+W_CYPOS] G01 X[[48-12]*W_COS-[0+6]*W_SIN+W_CXPOS] Y[[48-12]*W_SIN+[0+6]*W_COS+W_CYPOS] G01 X[48*W_COS+W_CXPOS] Y[48*W_SIN+W_CYPOS]

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

-577-

/* limit lineG240 P15 ; /* set color

G242 X[48*W_COS-[0-6]*W_SIN+W_CXPOS] Y[48*W_SIN+[0-6]*W_COS+W_CYPOS] G01 X[48*W_COS-[0+6]*W_SIN+W_CXPOS] Y[48*W_SIN+[0+6]*W_COS+W_CYPOS] G242 X[48*W_COS-[0-6]*W_SIN+W_CXPOS+1] Y[48*W_SIN+[0-6]*W_COS+W_CYPOS] G01 X[48*W_COS-[0+6]*W_SIN+W_CXPOS+1] Y[48*W_SIN+[0+6]*W_COS+W_CYPOS] G242 X[48*W_COS-[0-6]*W_SIN+W_CXPOS] Y[48*W_SIN+[0-6]*W_COS+W_CYPOS+1] G01 X[48*W_COS-[0+6]*W_SIN+W_CXPOS] Y[48*W_SIN+[0+6]*W_COS+W_CYPOS+1] G242 X[48*W_COS-[0-6]*W_SIN+W_CXPOS-1] Y[48*W_SIN+[0-6]*W_COS+W_CYPOS] G01 X[48*W_COS-[0+6]*W_SIN+W_CXPOS-1] Y[48*W_SIN+[0+6]*W_COS+W_CYPOS] G242 X[48*W_COS-[0-6]*W_SIN+W_CXPOS] Y[48*W_SIN+[0-6]*W_COS+W_CYPOS-1] G01 X[48*W_COS-[0+6]*W_SIN+W_CXPOS] Y[48*W_SIN+[0+6]*W_COS+W_CYPOS-1]

ENDIF ;ENDIF ;

ASET = ASET + 90 ; /* +90CUNT = CUNT + 1 ; /* loop count up

END 1; /* end while loop.

/* center circleG240 P15 ; /* set color

G242 X[W_CXPOS+8] Y[W_CYPOS] G03 X[W_CXPOS+8] Y[W_CYPOS] I[W_CXPOS] J[W_CYPOS] Q4 G206 P15 X[W_CXPOS] Y[W_CYPOS]

G240 P11 ; /* set color G242 X[W_CXPOS+4] Y[W_CYPOS] G03 X[W_CXPOS+4] Y[W_CYPOS] I[W_CXPOS] J[W_CYPOS] Q4 G206 P11 X[W_CXPOS] Y[W_CYPOS]

M99/*%

/*************************************************************/* Copyright (C) 1997 by FANUC LTD. ALL rights reserved. */*************************************************************/*O9804

G240 P4 ; /* color = blue

/* top dot lineN010 G244 P1 ; /* line kind = dot

G242 X-112 Y176 ; G01 X16 Y176 ;

G244 P0 ; /* line kind = solid

/* (x1,y1) point circleN020 G242 X[-48-2] Y208 G03 X[-48-2] Y208 I-48 J208 Q4 G206 P4 X-48 Y208

/* arrow on lineN030 G242 X[91*COS[45]-96] Y[91*SIN[45]+160] G01 X[[91-8]*COS[45]-[0-3]*SIN[45]-96] Y[[91-8]*SIN[45]+[0-3]*COS[45]+160] G01 X[[91-8]*COS[45]-[0+3]*SIN[45]-96] Y[[91-8]*SIN[45]+[0+3]*COS[45]+160] G01 X[91*COS[45]-96] Y[91*SIN[45]+160] G206 P4 X[[91-5]*COS[45]-96] Y[[91-5]*SIN[45]+160]

/* (x2,y2) point circleN040 G242 X[-80-2] Y176

G03 X[-80-2] Y176 I-80 J176 Q4 G206 P4 X-80 Y176

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

-578-

/* lineN050 G242 X-96 Y160 G01 X[91*COS[45]-96] Y[91*SIN[45]+160]

/* arrow on arcN060 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]

/* arcN070 G242 X[36-80] Y176 G03 X[36*COS[45]-80] Y[36*SIN[45]+176] I-80 J176 Q0

N080G240 P0 C11 ; /* color = blackG243 X27 Y1 ('(X2,Y2)') ;G243 X30 Y5 ('(X1,Y1)') ;G243 X36 Y3 ('A') ;

N999 M99 P300%

/*************************************************************/* Copyright (C) 1999 by FANUC LTD. ALL rights reserved. */*************************************************************/*/* SYMBOL DEFINE/*$INCLUDE GDHSYM.DEF/*/*/*****************************************/* ARC LINE CUT EXCUTE PROGRAM/*****************************************O9805

M98 P9810 /* SET UNIT_F8/*

X_WRK=#[ARC_OF] /* CENTER XY_WRK=#[ARC_OF+1] /* CENTER YR_WRK=#[ARC_OF+2] /* RADIUS RCIRC_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

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

-579-

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

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

-580-

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 XSAV_CIRY = Y_WRK /* SAVE CENTER ZSAV_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 dataY_WRK = SAV_CIRY /* transfer center Z dataR_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

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

-581-

WRK_VAR= 0 /* set default sin data WRK_VAR2= 1 /* set default cos data ENDIF ENDIF/* IF[DSP_FWRK EQ 1] THEN /* DISPLAY GRAPHIC? DSP_FWRK=0 /* FLAG OFF GOTO 500 /* NOT CHECK F104 ENDIF/*N2010 L_WRK= ROUND[[UNIT_F8-FIX[UNIT_F8]]*10] /* get decimal fraction column IF [ L_WRK EQ 5 ] THEN L_WRK= 100000 ENDIF IF [ L_WRK EQ 4 ] THEN L_WRK= 10000 ENDIF IF [ L_WRK EQ 3 ] THEN L_WRK= 1000 ENDIF IF [ L_WRK EQ 2 ] THEN L_WRK= 100 ENDIF IF [ L_WRK EQ 1 ] THEN L_WRK= 10 ENDIF IF [ L_WRK EQ 0 ] THEN L_WRK= 1 ENDIF G310 R980 P[D_DSP] L4 /* get D data IF[LIMIT_F EQ 1]THEN #D_DSP= #D_DSP/L_WRK ELSE #D_DSP= #D_DSP/L_WRK-TOL_OFS ENDIF IF[ABS[#D_DSP] LT WORK_MIN]THEN /*D < 0.001? #D_DSP= 1 ENDIF IF [ R984 NE ANG_ITEM ] THEN SIN_CCW= 0 COS_CCW= 0 ENDIF/*N800 IF [ ABS[WRK_VAR-SIN_CCW] GE 0.0175] GOTO 500 /* IF SIN CHANGED/* /*N820 IF [ ABS[WRK_VAR2-COS_CCW] GE 0.0175] GOTO 500 /* IF COS CHANGED/* /*N850 IF [#D_DSP*D_DSP0 LT -[WORK_MIN] ] GOTO 500 /* IF SIGN OF D CHANGED/* /*

GOTO 900 /*/*N500 SIN_CCW= WRK_VAR /* renew sin data

COS_CCW= WRK_VAR2 /* renew cos dataD_DSP0= #D_DSP /* renew D dataANG_ITEM= R984 /*CW APPROACH HANDLE DIRECTION

/*N600 WORK_ARW=0 /*CUTTING HANLE IS LEFT/*N610 IF [R974 EQ 0 && #D_DSP GE 0] THEN /*

WORK_ARW=1 /*CUTTING HANLE IS RIGHTENDIF /*

/*N630 IF [R974 EQ 1 && #D_DSP LT 0] THEN /*

WORK_ARW=1 /*CUTTING HANLE IS RIGHTENDIF /*

/*N650 WORK_ALU=1 /*ALONG HANDLE UPPER IS RIGHT

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

-582-

/*N660 IF [R961 EQ 3] THEN /*G03

WORK_ALU=2 /*ALONG HANDLE UPPER IS LEFTENDIF /*

/*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=R984IF [[WRK_VAR AND 1] EQ 0 && COS_CCW LT 0] GOTO 635IF [[WRK_VAR AND 1] EQ 1 && COS_CCW GT 0] GOTO 635GOTO 685

N635 IF [WORK_APR EQ 1] THEN WORK_APR=2ELSE WORK_APR=1ENDIF

ENDIFENDIF

/*N685 WORK_S=SIN_CCW /*SIN

WORK_C=COS_CCW /*COS/*

WORK_LMT=R975.7 /*LIMIT SIGNAL/*/* clear graphic area/*

G202 X23 Y1 I22 J7 P2 /* clear figure screen(CHAR)/*

G202 X23 Y1 I22 J8 P1 /*CLEAR PART GRPH/*

M98 P9808 /*DRAW HANDLE DIRECTION/*N900 M99/*/************************************************/* DISP HANDLE ARROW OF CIRCLE MODE/************************************************O9808

G244 P0 ; /* set solid line

W_CXPOS = -40 ; /* offset x posW_CYPOS = 168 ; /* offset y pos

CUNT = 0 ; /* counter clearASET = 0 ; /* init angle

/* WORK_C = COS[W_TEST] /* for debug/* WORK_S = SIN[W_TEST] /*/* W_COS = WORK_C /*/* W_SIN = WORK_S /*

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

DRCT_CUT = 0 ; /* cutter direction/* set angle

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

IF [CUNT EQ 0] THEN ; /*

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

-583-

IF [WORK_ARW EQ 0] THEN ; /* if approach direction ?G240 P2 ; /* set color green

ELSE ; /*G240 P5 ; /* set color pinkDRCT_CUT = 1 ; /* set cutter direction

ENDIF ; /*ENDIF; /*

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

G240 P5 ; /* set color pinkDRCT_CUT = 1 ; /* set cutter direction

ELSE ; /*G240 P2 ; /* set color green

ENDIF ; /*ENDIF; /*

IF [CUNT EQ 1 || CUNT EQ 3] THEN ; /*G240 P6 ; /* set color light blue

ENDIF;

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

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

/* 3dot lineG242 X[48*W_COS+W_CXPOS] Y[48*W_SIN+W_CYPOS] ;

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

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

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

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

G01 X[W_CXPOS] Y[W_CYPOS-1] ;

/* set handle circle centerW_HDCXP = 40*W_COS-23*W_SIN+W_CXPOS ;W_HDCYP = 40*W_SIN+23*W_COS+W_CYPOS ;

ELSE ;

IF [CUNT EQ 1] THEN ;/* arrow on arc

W_REG1X = 48*COS[60]*WORK_C-48*SIN[60]*WORK_SW_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_SW_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_SW_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_SW_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_SW_REG1Y = [48*COS[60]-[0-6]*SIN[60]]*WORK_S+[48*SIN[60]+[0-6]*COS[60]]*WORK_C

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

-584-

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_SW_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_SW_REG1Y = 48*COS[55]*WORK_S+48*SIN[55]*WORK_C

G242 X[W_REG1X-48*WORK_C+W_CXPOS+1] Y[W_REG1Y-48*WORK_S+W_CYPOS] G02 X[W_CXPOS+1] Y[W_CYPOS] I[-48*WORK_C+W_CXPOS+1] J[-48*WORK_S+W_CYPOS] Q0 G242 X[W_REG1X-48*WORK_C+W_CXPOS] Y[W_REG1Y-48*WORK_S+W_CYPOS+1] G02 X[W_CXPOS] Y[W_CYPOS+1] I[-48*WORK_C+W_CXPOS] J[-48*WORK_S+W_CYPOS+1] Q0

G242 X[W_REG1X-48*WORK_C+W_CXPOS-1] Y[W_REG1Y-48*WORK_S+W_CYPOS] G02 X[W_CXPOS-1] Y[W_CYPOS] I[-48*WORK_C+W_CXPOS-1] J[-48*WORK_S+W_CYPOS] Q0 G242 X[W_REG1X-48*WORK_C+W_CXPOS] Y[W_REG1Y-48*WORK_S+W_CYPOS-1] G02 X[W_CXPOS] Y[W_CYPOS-1] I[-48*WORK_C+W_CXPOS] J[-48*WORK_S+W_CYPOS-1] Q0

/* set handlw circle centerW_HDCXP = 45*W_COS+4*W_SIN+W_CXPOS ;W_HDCYP = 45*W_SIN-4*W_COS+W_CYPOS ;

ELSE ;/* arrow on arc

W_REG1X = 48*COS[-60]*WORK_C-48*SIN[-60]*WORK_SW_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_SW_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_SW_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_SW_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_SW_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_SW_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_SW_REG1Y = 48*COS[-55]*WORK_S+48*SIN[-55]*WORK_C

G242 X[W_REG1X-48*WORK_C+W_CXPOS+1] Y[W_REG1Y-48*WORK_S+W_CYPOS] G03 X[W_CXPOS+1] Y[W_CYPOS] I[-48*WORK_C+W_CXPOS+1] J[-48*WORK_S+W_CYPOS] Q0 G242 X[W_REG1X-48*WORK_C+W_CXPOS] Y[W_REG1Y-48*WORK_S+W_CYPOS+1] G03 X[W_CXPOS] Y[W_CYPOS+1] I[-48*WORK_C+W_CXPOS] J[-48*WORK_S+W_CYPOS+1] Q0

G242 X[W_REG1X-48*WORK_C+W_CXPOS-1] Y[W_REG1Y-48*WORK_S+W_CYPOS] G03 X[W_CXPOS-1] Y[W_CYPOS] I[-48*WORK_C+W_CXPOS-1] J[-48*WORK_S+W_CYPOS] Q0 G242 X[W_REG1X-48*WORK_C+W_CXPOS] Y[W_REG1Y-48*WORK_S+W_CYPOS-1] G03 X[W_CXPOS] Y[W_CYPOS-1] I[-48*WORK_C+W_CXPOS] J[-48*WORK_S+W_CYPOS-1] Q0

/* set handlw circle centerW_HDCXP = 45*W_COS-4*W_SIN+W_CXPOS ;W_HDCYP = 45*W_SIN+4*W_COS+W_CYPOS ;

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

-585-

ENDIF ;

ENDIF ;

/* draw handle circle G242 X[W_HDCXP-10] Y[W_HDCYP] G03 I[W_HDCXP] J[W_HDCYP] Q4 G242 X[W_HDCXP-7] Y[W_HDCYP] G03 I[W_HDCXP] J[W_HDCYP] Q4 G206 X[W_HDCXP-9] Y[W_HDCYP]

G242 X[W_HDCXP+4] Y[W_HDCYP-4] G02 I[W_HDCXP+2] J[W_HDCYP-2] Q4

G206 X[W_HDCXP+2] Y[W_HDCYP-2]

/* draw handle inside circleG240 P7 ; /* set color white

G242 X[W_HDCXP-7] Y[W_HDCYP] G03 I[W_HDCXP] J[W_HDCYP] Q4 G242 X[W_HDCXP+4] Y[W_HDCYP-4] G02 I[W_HDCXP+2] J[W_HDCYP-2] Q4 G206 P7 X[W_HDCXP-2] Y[W_HDCYP+2]

G240 P15 ; /* set color whiteIF [WORK_APR EQ 1] THEN ; IF [CUNT EQ 0] THEN;

GOTO 20 /* right rotationENDIF;

IF [CUNT EQ 2] THEN;GOTO 30 /* left rotation

ENDIF;ENDIF;

IF [WORK_APR EQ 2] THEN ; IF [CUNT EQ 0] THEN;

GOTO 30 /* left rotationENDIF;

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 rotationENDIF;

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 rotationENDIF;

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]

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

-586-

G242 X[W_HDCXP] Y[W_HDCYP+14] G01 X[W_HDCXP-2] Y[W_HDCYP+14-2]

/* arc G242 X[W_HDCXP] Y[W_HDCYP+14] G03 X[W_HDCXP-14] Y[W_HDCYP] I[W_HDCXP] J[W_HDCYP] Q0

GOTO 40 ;

N0030/* left rotatetion arrow

G242 X[W_HDCXP] Y[W_HDCYP+14]G01 X[W_HDCXP+2] Y[W_HDCYP+14+2]

G242 X[W_HDCXP] Y[W_HDCYP+14]G01 X[W_HDCXP+2] Y[W_HDCYP+14-2]

/* arc G242 X[W_HDCXP] Y[W_HDCYP+14] G02 X[W_HDCXP+14] Y[W_HDCYP] I[W_HDCXP] J[W_HDCYP] Q0

N0040

IF [WORK_LMT EQ 1] THEN ; /* if limit set ?IF [DRCT_CUT EQ 1] THEN ; /* if drawing cutter direction ?

/* draw handle inside circle/* arrow on line

G240 P7 ; /* set color white G242 X[48*W_COS+W_CXPOS] Y[48*W_SIN+W_CYPOS]

G01 X[[48-12]*W_COS-[0-6]*W_SIN+W_CXPOS] Y[[48-12]*W_SIN+[0-6]*W_COS+W_CYPOS] G01 X[[48-12]*W_COS-[0+6]*W_SIN+W_CXPOS] Y[[48-12]*W_SIN+[0+6]*W_COS+W_CYPOS] G01 X[48*W_COS+W_CXPOS] Y[48*W_SIN+W_CYPOS] G206 P7 X[[48-5]*W_COS+W_CXPOS] Y[[48-5]*W_SIN+W_CYPOS] G240 P5 ; /* set color pink

G242 X[48*W_COS+W_CXPOS] Y[48*W_SIN+W_CYPOS] G01 X[[48-12]*W_COS-[0-6]*W_SIN+W_CXPOS] Y[[48-12]*W_SIN+[0-6]*W_COS+W_CYPOS] G01 X[[48-12]*W_COS-[0+6]*W_SIN+W_CXPOS] Y[[48-12]*W_SIN+[0+6]*W_COS+W_CYPOS] G01 X[48*W_COS+W_CXPOS] Y[48*W_SIN+W_CYPOS]

/* limit lineG240 P15 ; /* set color

G242 X[48*W_COS-[0-6]*W_SIN+W_CXPOS] Y[48*W_SIN+[0-6]*W_COS+W_CYPOS] G01 X[48*W_COS-[0+6]*W_SIN+W_CXPOS] Y[48*W_SIN+[0+6]*W_COS+W_CYPOS] G242 X[48*W_COS-[0-6]*W_SIN+W_CXPOS+1] Y[48*W_SIN+[0-6]*W_COS+W_CYPOS] G01 X[48*W_COS-[0+6]*W_SIN+W_CXPOS+1] Y[48*W_SIN+[0+6]*W_COS+W_CYPOS] G242 X[48*W_COS-[0-6]*W_SIN+W_CXPOS] Y[48*W_SIN+[0-6]*W_COS+W_CYPOS+1] G01 X[48*W_COS-[0+6]*W_SIN+W_CXPOS] Y[48*W_SIN+[0+6]*W_COS+W_CYPOS+1] G242 X[48*W_COS-[0-6]*W_SIN+W_CXPOS-1] Y[48*W_SIN+[0-6]*W_COS+W_CYPOS] G01 X[48*W_COS-[0+6]*W_SIN+W_CXPOS-1] Y[48*W_SIN+[0+6]*W_COS+W_CYPOS] G242 X[48*W_COS-[0-6]*W_SIN+W_CXPOS] Y[48*W_SIN+[0-6]*W_COS+W_CYPOS-1] G01 X[48*W_COS-[0+6]*W_SIN+W_CXPOS] Y[48*W_SIN+[0+6]*W_COS+W_CYPOS-1]

ENDIF ;ENDIF ;

ASET = ASET + 90 ; /* +90CUNT = CUNT + 1 ; /* loop count up

END 1; /* end while loop.

/* center circleG240 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]

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

-587-

M99/*%

/*************************************************************/* Copyright (C) 1997 by FANUC LTD. ALL rights reserved. */*************************************************************/*O9809

G244 P0 ; /* set solid lineG240 P4 ; /* set color blue

/* draw circleN010 G242 X[32-48] Y192 ; G02 I-48 J192 Q4 ;

/* center pointN020 G242 X[2-48] Y192 G03 X[2-48] Y192 I-48 J192 Q4 G206 P4 X-48 Y192

/* arrow on lineN030 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]

/* lineN040 G242 X[32*COS[135]-48] Y[32*SIN[135]+192] ; G01 X-48 Y192 ;

N050 G240 P0 C11 ; /* color = blackG243 X32 Y4 ('(X,Y)') ;G243 X33 Y2 ('R') ;

N300M99 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

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

-588-

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

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

-589-

/*/* 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 ENDIFN99 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 = 0ELSE 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]ENDIFIF[P9933AND1EQ1]THEN TOL_OFS=#[113000+GDH_TLOFS]+#[112000+GDH_TLOFS]ENDIF

ENDIFENDIF

/*M99

/*%

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

-590-

12.2 USER PROGRAMS CALLED BY USER PROGRAM CALLINGSIGNALS

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

B-63423EN/02 INDEX

i - 1

INDEX<A>

ATTRIBUTE DATA .................................................... 110

<C>CALIBRATION AND MEASUREMENT CYCLES... 107

CHANGING MODE FOR AUTOMATIC OPERATION

AND MACHINING SIMULATION .............................. 79

CHANGING MODE FOR EDITING OPERATION ..... 80

CHANGING MODE FOR MANUAL OPERATION .... 79

CHANGING MODE FOR MDI OPERATION.............. 81

CHANIGING USER WINDOWS TO SUPPORT

CYCLES......................................................................... 98

CHARACTER COORDINATE SYSTEM AND

GRAPHIC COORDINATE SYSTEM ........................... 95

CHARACTER COORDINATES SYSTEM AND

GRAPHIC COORDINATES SYSTEM ......................... 65

COMMENT IN A GRAPHIC WINDOW ...................... 21

COMMENT IN A GUIDANCE CUTTING WINDOW. 23

COMMENT IN A PROGRAM LIST WINDOW........... 20

COMMENT IN A STATUS INDICATOR WINDOW .. 17

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

COMMENT IN A TOOL OFFSET WINDOW.............. 19

COMMENT IN A WORK COORDINATE SYSTEM

WINDOW....................................................................... 18

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

COMMENT OF INPUT DATA ITEM IN CONTOUR

PROFILE MENU ........................................................... 49

COMMENT OF INPUT DATA ITEM IN CYCLE

MOTIONS MENU ......................................................... 52

COMMENT OF INPUT DATA ITEM IN G-CODE

MENU ............................................................................ 45

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

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

COMMENT OF SOFT-KEYS IN CONTOUR PROFILE

MENU ............................................................................ 37

COMMENT OF SOFT-KEYS IN CYCLE MOTIONS

MENU ............................................................................ 39

COMMENT OF SOFT-KEYS IN EDIT FUNCTION

MENU ............................................................................ 27

COMMENT OF SOFT-KEYS IN GRAPHIC FUNCTION

MENU ............................................................................ 32

COMMENT OF SOFT-KEYS IN HANDLE MENU .... 31

COMMENT OF SOFT-KEYS IN LARGE CLASSIFIED

MENU ............................................................................ 26

COMMENT OF SOFT-KEYS IN LIST MENU ............ 34

COMMENT OF SOFT-KEYS IN MDI MENU............. 30

COMMENT OF SOFT-KEYS IN MEM MENU ........... 29

COMMENT OF SOFT-KEYS IN OFFSET MENU ...... 36

COMMENT OF SOFT-KEYS IN TEACH MENU........ 41

COMMENT OF SOFT-KEYS IN WRK-CO MENU..... 35

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

COMMENTS DEFINITION

...................... 129, 173, 208, 269, 307, 333, 395, 460, 477

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

<D>DATA ATTRIBUTE

................ 57, 133, 176, 211, 273, 309, 339, 402, 462, 489

DATA STRUCTURE OF MACHINING PROGRAM... 56

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

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

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

<E>EXAMPLE OF DEFINING THE TITLE AS A

SEPARATE PROGRAM.............................................. 103

<G>G CODES FOR DRAWING........................................... 63

GUIDANCE DRAWING FIGURE

...................... 138, 181, 214, 279, 312, 347, 411, 464, 497

GUIDANCE DRAWING FIGURE FOR GUIDANCE

CUTTING..................................................................... 564

GUIDANCE HANDWHEEL CONTROL SIGNALS .... 84

<I>INPUTTED DATA CHECKING

...................... 167, 204, 265, 302, 329, 383, 447, 473, 553

<L>LIST OF USER PROGRAMS...................................... 117

<M>MACRO LIBRARY COMPONENTS.............................. 7

MACRO PROGRAMS AND VARIABLES .................. 90

MACRO PROGRAMS FOR CHECKING INPUT DATA112

INDEX B-63423EN/02

i - 2

MACRO PROGRAMS FOR DISPLAYING GUIDANCE

DRAWING FIGURES.................................................. 111

MACRO PROGRAMS FOR EXECUTING

CALIBRATION AND MEASUREMENT CYCLES... 113

MANUAL PULSE BOX CONTROL SIGNALS ........... 87

MEASUREMENT CYCLE.......................................... 105

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

MONITORING KEYSTROKES.................................... 92

<N>NOTES ON CREATING GUIDANCE DRAWING

FIGURES ....................................................................... 67

<O>OPERATION FOR STARTING MACHINING............. 83

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

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

USER PROGRAMS FOR DISPLAYING GUIDANCE

DRAWING FIGURE...................................................... 62

USER PROGRAMS FOR EXECUTING MACHINING

PROGRAM .................................................................... 71

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

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

USER PROGRAMS FOR GUIDANCE CUTTING..... 563

USER PROGRAMS FOR HOLE MACHINING MENU207

USER PROGRAMS FOR HOLE PATTERN MENU.. 268

USER PROGRAMS FOR MEASURING CYCLE MENU476

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

USER PROGRAMS FOR SIDE CUTTING MENU.... 332

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

USER PROGRAMS FOR TOOL CHANGE.................. 73

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

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

USER WINDOWS ON THE OPERATION SCREEN... 97

Rev

isio

n R

ecor

d

FAN

UC

MAN

UAL

GU

IDE

For M

illing

PR

OG

RAM

MIN

G M

ANU

AL (B

-634

23EN

/01)

02M

ay, 2

001-

App

lied

to 1

6i/1

8i/2

1i-B

- A

dditi

on o

f new

func

tions

01N

ov.,

1999

Edi

tion

Dat

eC

onte

nts

Edi

tion

Dat

eC

onte

nts

• No part of this manual may bereproduced in any form.

• All specifications and designsare subject to change withoutnotice.