UBC Theses and Dissertations

UBC Theses Logo

UBC Theses and Dissertations

Computer aided programming of a CNC lathe Moore, Robert Keith 1985

Your browser doesn't seem to have a PDF viewer, please download the PDF to view this item.

Item Metadata

Download

Media
831-UBC_1985_A7 M65.pdf [ 5.75MB ]
Metadata
JSON: 831-1.0096368.json
JSON-LD: 831-1.0096368-ld.json
RDF/XML (Pretty): 831-1.0096368-rdf.xml
RDF/JSON: 831-1.0096368-rdf.json
Turtle: 831-1.0096368-turtle.txt
N-Triples: 831-1.0096368-rdf-ntriples.txt
Original Record: 831-1.0096368-source.json
Full Text
831-1.0096368-fulltext.txt
Citation
831-1.0096368.ris

Full Text

COMPUTER AIDED PROGRAMMING OF A CNC LATHE by ROBERT KEITH MOORE B.Eng., Memorial U n i v e r s i t y of Newfoundland, 1983 A THESIS SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF MASTER OF APPLIED SCIENCE in THE FACULTY OF GRADUATE STUDIES Department of Mechanical E n g i n e e r i n g We accept t h i s t h e s i s as conforming to the r e q u i r e d standard THE UNIVERSITY OF BRITISH COLUMBIA September 1985 © Robert K e i t h Moore, 1985 § 0 In presenting t h i s thesis i n p a r t i a l f u l f i l m e n t of the requirements for an advanced degree at the University of B r i t i s h Columbia, I agree that the Library s h a l l make i t f r e e l y available for reference and study. I further agree that permission for extensive copying of t h i s thesis for scholarly purposes may be granted by the head of my department or by his or her representatives. I t i s understood that copying or publication of t h i s thesis for f i n a n c i a l gain s h a l l not be allowed without my written permission. Department of The University of B r i t i s h Columbia 1956 Main Mall Vancouver, Canada V6T 1Y3 Date Page i i ABSTRACT A software package and a s s o c i a t e d hardware have been developed which g i v e s users of the ORAC CNC T r a i n i n g Lathe an e a s i e r and f a s t e r method of manufacturing on the l a t h e . The package, e n t i t l e d ORACAP, uses the computing power of a mini-mainframe computer, a VAX 11/750, to a s s i s t i n pa r t design, program ge n e r a t i o n , program o p t i m i z a t i o n , and program proving for the ORAC Lathe. The package i s designed f o r users u n f a m i l i a r with computers such as students i n an e d u c a t i o n a l i n s t i t u t e or workers i n a p r o d u c t i o n f a c i l i t y and uses command procedures to s i m p l i f y the p r e p a r a t i o n and execution of the modules of the package. In a d d i t i o n to p r o v i d i n g users with a v a l u a b l e t o o l f o r manufacturing, ORACAP a l s o g i v e s users i n s i g h t i n t o the Computer Aided Design and Computer Aided Manufacturing methods used i n i n d u s t r y , that i s , i t demonstrates the methods which allow p r o d u c t i o n of a p a r t from a very c o n c i s e d e s c r i p t i o n of i t s geometry. F i n a l l y , ORACAP demonstrates the production advantages of a CAD/CAM system over c o n v e n t i o n a l manufacturing methods f o r small to medium s i z e batch p r o d u c t i o n . Page i i i CONTENTS ABSTRACT i i TABLES v i FIGURES v i i ACKNOWLEDGEMENT v i i i CHAPTER 1 - I n t r o d u c t i o n 1.1 H i s t o r y of Computer Numerical C o n t r o l 1 1.2 Advantages of Computer Numerical C o n t r o l 2 1.3 NC and CNC Programming 3 CHAPTER 2 - ORAC CNC T r a i n i n g Lathe 2.1 D e s c r i p t i o n 6 2.2 I n t e r f a c i n g the Lathe and the Computer 8 2.3 M o d i f i c a t i o n s to the Lathe 10 2.4 Programming the Lathe 17 2.5 Setup of the Lathe 18 CHAPTER 3 - Overview of ORACAP Program 3.1 ORACAP Options 20 3.2 ORACAP C a p a b i l i t i e s and L i m i t a t i o n s 21 3.3 I n s t r u c t i o n and Program Formats 22 3.4 Use of S u b d i r e c t o r i e s 23 3.5 Terminals 23 CHAPTER 4 - ORACAP Program E x e c u t i o n 4.1 Use of Example P a r t s 25 4.2 Setup of ORACAP Program Modules 25 4.3 Program Modes and Filenames 26 4.4 Terminal S e l e c t i o n 28 4.5 Option S e l e c t i o n 29 Page i v 4.5.1 DESIGN Option 30 4.5.2 GENERATE Option 38 4.5.3 OPTIMIZE Option 46 4.5.4 ASSEMBLE Option 48 4.5.5 PROVE Option . . . . . 50 4.5.6 PLOT Option 52 4.5.7 VAXTOORAC Option 59 4.5.8 ORACTOVAX Option 59 4.5.9 COMPRESS Option 60 4.5.10 WRITE Option 60 4.6 D e s c r i p t i o n of ORACAP Sub-Programs 61 CHAPTER 5 - Co n c l u s i o n 5.1 C o n t r i b u t i o n s of ORACAP 65 5.2 Comparison of V a r i o u s Manufacturing Methods . . 66 5.3 Uses of ORACAP Package 67 REFERENCES 69 BIBLIOGRAPHY 70 APPENDIX A - ORACAP Chess P i e c e Example Table 72 APPENDIX B - ORACAP Chess P i e c e Example F i l e s 73 B.1 [ME258.LATHE.DAT]QUEEN.CAD 73 B.2 [ME258.LATHE.DAT]QUEEN.END 74 B.3 [ME258.LATHE .DAT]QUEEN .FIL 74 B.4 [ME258.LATHE.DAT]QUEEN.OUT 74 B.5 [ME258.LATHE.DAT]QUEEN.SIZ 74 B.6 [ ME 2 5 8. LATHE. CNC] QUEEN 1 .ANC 75 B.7 [ ME2 58. LATHE. CNC] QUEEN 1 .BNC 78 B.8 [ME258.LATHE.CNC]QUEEN1.CNC 80 B.9 [ME258.LATHE.PLT]QUEEN 1 .PTX 83 Page v APPENDIX C - ORACAP Master Part Example Table 86 APPENDIX D - ORACAP Master Part Example F i l e s 87 D.1 [ME258.LATHE.DAT]MASTER.CAD 87 D.2 [ME258.LATHE.DAT]MASTER.END 88 D.3 [ME258.LATHE.DAT]MASTER.FIL 88 D.4 [ME258.LATHE.DAT]MASTER.OUT 88 D.5 [ME258.LATHE.DAT]MASTER.SIZ 88 D.6 [ME258.LATHE.CNC]MASTER1.ANC 89 D.7 [ME258.LATHE.CNC]MASTER1.BNC 92 D.8 [ME258.LATHE.CNC]MASTER1.CNC 94 D. 9 [ME258.LATHE.PLT]MASTER1.PTX 97 APPENDIX E - Data F i l e for ORACAP M a t e r i a l s 100 E. 1 [ME258.LATHE.DATjMATERIAL.DAT 100 APPENDIX F - M i c r o f i c h e L i s t i n g of ORACAP Programs y^<2.c-( <*X Page v i TABLES I. Production Times f o r Batch S i z e of 1 67 I I . P roduction Times f o r Batch S i z e of 25 67 I I I . F i l e S i z e s f o r Chess Piece Example 72 IV. F i l e S i z e s f o r Master Part Example 86 Page v i i FIGURES 1 . Axes of the ORAC CNC Lathe 7 2. T o o l T u r r e t Assembly Drawing 11 3. T o o l T u r r e t - Clamp C y l i n d e r 12 4. To o l T u r r e t - Tool Holder and Rotate C y l i n d e r . . 13 5. T o o l T u r r e t P a r t s 14 6. Schematic of Tool T u r r e t Pneumatics 16 7. Dimensioned Drawing of Example Chess Piece . . . . 32 8. Dimensioned Drawing of ORACAP Master Part . . . . 33 9. P l o t of Example Chess Piece S e c t i o n s 35 10. P l o t of ORACAP Master Part S e c t i o n s 36 11. Example of I n a c c e s s i b l e Area 42 12. Rough Cuts Required f o r Example Chess Piece . . . 44 13. Rough Cuts Required f o r ORACAP Master Part . . . . 45 14. Proof of Rough Cuts f o r Example Chess Piece . . . 54 15. Proof of Rough Cuts f o r ORACAP Master Part . . . . 55 16. Proof of Remaining Cuts f o r Example Chess Piece . 56 17. Proof of Remaining Cuts f o r ORACAP Master Part . . 57 18. Proof of ORACAP Master Part with E r r o r s 58 Page v i i i ACKNOWLEDGEMENT The author would l i k e to thank h i s s u p e r v i s o r , Dr. F. Sa s s a n i , f o r the guidance and a s s i s t a n c e p r o v i d e d d u r i n g the past two y e a r s . Many thanks are extended to Mr. Max Kean who pro v i d e d much h e l p and made many suggestions f o r a l l aspects of t h i s work. Thanks are a l s o due to the VAX Computer System Manager, Mr. Alan Steeves, who pr o v i d e d s o l u t i o n s f o r many hardware and software problems encountered d u r i n g t h i s p r o j e c t . A s s i s t a n c e from the Machine Shop personnel i s a l s o g r e a t l y a p p r e c i a t e d . S p e c i a l thanks are due to Mr. Leonard Drakes f o r h i s expert comment on the design of the t o o l t u r r e t and f o r the time spent manufacturing i t . A l s o , thanks to Mr. Dave Camp f o r h i s p a r t i c i p a t i o n i n the pr o d u c t i o n time s t u d i e s . F i n a l l y , acknowledgement must be made to the N a t u r a l S c i e n c e s and E n g i n e e r i n g C o u n c i l of Canada who pr o v i d e d the s c h o l a r s h i p which enabled t h i s work. Page 1 CHAPTER 1 I n t r o d u c t i o n 1.1 H i s t o r y of Computer Numerical C o n t r o l Since machine t o o l s were f i r s t invented, many m o d i f i c a t i o n s have been made to enable f a s t e r and e a s i e r p r o d u c t i o n of machine products. One example of t h i s i s the t u r n i n g l a t h e . I t has evolved from a f u l l y manual o p e r a t i o n , which r e q u i r e d a h i g h l y s k i l l e d o p e r a t o r , i n t o a f u l l y computer n u m e r i c a l l y c o n t r o l l e d p r o c e s s . As p a r t s became more complex and t o l e r a n c e s decreased, i n c r e a s e d operator s k i l l and time were r e q u i r e d . T h e r e f o r e , more s o p h i s t i c a t e d machines were needed to meet the demand. This r e s u l t e d i n the development of the automatic l a t h e which i n c o r p o r a t e d l i m i t switches to a s s i s t p a r t p r o d u c t i o n , and copying machines which c o p i e d a master p a r t by t r a c i n g i t s o u t l i n e . These d e v i c e s reduced the time and s k i l l requirements while m a i n t a i n i n g the f l e x i b i l i t y r e q u i r e d f o r small batch jobs. In 1952 the Massachusetts I n s t i t u t e of Technology c o n t r i b u t e d t o the e v o l u t i o n of machine t o o l s by de v e l o p i n g the f i r s t NC ( n u m e r i c a l l y c o n t r o l l e d ) m i l l i n g machine [ 1 ] . T h i s again reduced time and s k i l l requirements. Next, the use of computers to d i r e c t l y c o n t r o l many NC machines (DNC - D i r e c t Numerical C o n t r o l ) was i n t r o d u c e d . T h i s f i n a l l y l e d to the development of micro-processors or computers to c o n t r o l i n d i v i d u a l NC machines (CNC - Computer Numerical C o n t r o l ) . From t h i s , i t can be seen that the manufacturing i n d u s t r y has become i n c r e a s i n g l y r e l i a n t on computers and micro-processors f o r c o n t r o l of manufacturing equipment. Page 2 1.2 Advantages of Computer Numerical C o n t r o l Since 75% of p a r t s produced by metalworking are i n l o t s of l e s s than 50 p i e c e s [ 2 ] , i t i s important to have systems which allow f l e x i b l e automation. T r a d i t i o n a l assembly l i n e s are not f l e x i b l e and a r e not capable of manufacturing a wide v a r i e t y of products. However, NC and CNC machines are h i g h l y s u i t a b l e f o r producing a v a r i e t y of products s i n c e they allow automation of p a r t p r o d u c t i o n while keeping change-over c o s t s low. Therefore today's t r e n d i s away from equipment which can only be used f o r mass-production of a few products and towards more s o p h i s t i c a t e d computer c o n t r o l l e d equipment which can produce an i n f i n i t e number of p r o d u c t s . Numerical c o n t r o l i s advantageous for small to medium s i z e batch p r o d u c t i o n where s i m i l a r p a r t s are produced from s i m i l a r m a t e r i a l s using s i m i l a r manufacturing steps [ 2 ] . Numerical C o n t r o l i s p a r t i c u l a r l y s u i t a b l e f o r : 1) p r o d u c t i o n of p a r t s with small l o t s i z e s , 2) p r o d u c t i o n of p a r t s with complex geometries, 3) p r o d u c t i o n of p a r t s with c l o s e t o l e r a n c e s , 4) p r o d u c t i o n of p a r t s which r e q u i r e many operat i o n s , 5) p r o d u c t i o n of p a r t s which r e q u i r e much metal removal, 6) p r o d u c t i o n of p a r t s when changes to the design are l i k e l y , 7) p r o d u c t i o n of p a r t s which are expensive, 8) p r o d u c t i o n of p a r t s when 100% i n s p e c t i o n i s Page 3 r e q u i r e d . Use of numerical c o n t r o l i n these s i t u a t i o n s leads to a r e d u c t i o n i n p r o d u c t i o n and non-production time, reduced f i x t u r i n g time, reduced l e a d time and reduced i n s p e c t i o n time. The a d d i t i o n of computer or micro-processor c o n t r o l a l l o w s much more f l e x i b i l i t y while r e t a i n i n g the advantages of numerical c o n t r o l . In a d d i t i o n to these advantages CNC i s capable of performing o p e r a t i o n s such as three-dimensional contour c u t t i n g which can not be performed as w e l l by a manual operator [ 3 ] . Thus CNC a l l o w s p a r t p r o d u c t i o n with l e s s s k i l l e d o p e r a t o r s and reduced overhead c o s t s . 1.3 NC and CNC Programming The f i r s t NC programs c o n s i s t e d of simple codes with commands (such as G80, X100, or Y100) which " i n s t r u c t e d " the machine to perform a s i n g l e a c t i o n or motion. These i n c l u d e d G - f u n c t i o n s which determined machining modes, M-functions which performed m i s c e l l a n e o u s f u n c t i o n s , and d i r e c t i o n a l f u n c t i o n s which caused motion along a s p e c i f i e d a x i s . Feedrates and s p i n d l e - s p e e d s c o u l d a l s o be c o n t r o l l e d . These i n s t r u c t i o n s allowed such f e a t u r e s as l i n e a r i n t e r p o l a t i o n , c i r c u l a r i n t e r p o l a t i o n , and t h r e a d - c u t t i n g . Programs w r i t t e n i n these "languages" c o u l d produce p a r t s e f f i c i e n t l y , but much time was r e q u i r e d f o r programming and debugging of the NC code. G r a d u a l l y , many higher l e v e l programming languages, such as APT ( A u t o m a t i c a l l y Programmed T o o l s ) , were developed to f a c i l i t a t e the g e n e r a t i o n of the NC code. T h i s allowed e a s i e r Page 4 d e f i n i t i o n of the machine t o o l ' s path by r e f e r e n c i n g p r e - d e f i n e d p o i n t s and l i n e s which d e s c r i b e d the o b j e c t . However, the path was s t i l l chosen by the NC programmer. The CNC machine t o o l s used i n many i n d u s t r i e s today use more s o p h i s t i c a t e d programming to perform s i m i l a r f u n c t i o n s , but few determine the machine t o o l ' s path d i r e c t l y from the drawing or from the CAD (Computer Aided Design) data f i l e . That i s , i n many in s t a n c e s there i s a gap between CAD and CAM (Computer Aided Manufacturing). Such i s the case with the ORAC CNC T r a i n i n g Lathe which i s c u r r e n t l y being used by the Mechanical E n g i n e e r i n g Department as we l l as i n many e d u c a t i o n a l i n s t i t u t i o n s a c r o s s Canada. Th e r e f o r e , t h e r e was a need f o r a program which would combine Computer Aided Design with Computer Aided Manufacturing to produce a CAD/CAM package f o r the ORAC Lathe. The steps necessary f o r part p r o d u c t i o n on NC equipment can be summarized as f o l l o w s : 1) Determination of the machining to be done by Numerical C o n t r o l . 2) Determination of the machining sequence. 3) C r e a t i o n of the NC code. 4) V e r i f i c a t i o n of the NC code. 5) Execution of the NC code. The f i r s t step can not be handled e a s i l y by a computer. However, each of the remaining steps can be accomplished with the a s s i s t a n c e of a computer. For the p a r t i c u l a r case of the ORAC CNC Lathe, a CAD/CAM package has the f o l l o w i n g requirements: 1) Hardware and software to allow communication between the l a t h e and a host computer. Page 5 2) Software to c r e a t e the ORAC CNC programs. 3) Software to s e l e c t the a p p r o p r i a t e c u t t i n g parameters. 4) Software to optimize the ORAC CNC programs. 5) Software to prove the ORAC CNC programs. 6) A t o o l t u r r e t (changer) to allow the use of more than one t o o l when machining. 7) An e x t e r n a l c o n t r o l l e r to pr o v i d e more e f f i c i e n t c o n t r o l over the l o a d i n g and execution of ORAC CNC programs. T h i s t h e s i s p r o v i d e s the f i r s t s i x of these requirements. The seventh i s pro v i d e d as pa r t of a concurrent research p r o j e c t . Page 6 CHAPTER 2 ORAC CNC T r a i n i n g Lathe 2.1 D e s c r i p t i o n The ORAC CNC T r a i n i n g Lathe i s a small 2-axis, micro-processor c o n t r o l l e d l a t h e . S i m i l a r l y to most l a t h e s , i t a l l o w s movement of a t o o l i n two d i r e c t i o n s i n a h o r i z o n t a l p lane. These d i r e c t i o n s are d e f i n e d r e l a t i v e to the workpiece by x and z d i r e c t i o n s as shown i n F i g u r e 1. The l a t h e can accommodate bar stock of diameters up to 40 mm and has t r a v e l s of 95 mm and 350 mm i n the x and z d i r e c t i o n s r e s p e c t i v e l y . I t i s capable of both l i n e a r and c i r c u l a r i n t e r p o l a t i o n and has b u i l t - i n procedures f o r t h r e a d - c u t t i n g . The l i n e a r i n t e r p o l a t i o n f e a t u r e i s l i m i t e d to tapers with r a t i o s l e s s than 20:1. C i r c u l a r i n t e r p o l a t i o n i s l i m i t e d to r a d i i between 2 and 3000 mm. Threading i s l i m i t e d to p i t c h e s between 0.35 mm and 3.5 mm. Feedrates are v a r i a b l e from an unknown lower l i m i t (around 30 mm/ min) to 1200 mm/min. F i n a l l y , s p i n d l e - s p e e d s are v a r i a b l e up to 2000 rpm. Movement along each a x i s i s accomplished by a s t e p p i n g motor operated by p u l s e s generated by the m i c r o - p r o c e s s o r . Each pu l s e corresponds to a d i s c r e t e d i s t a n c e along the a x i s . The l a t h e uses an open-loop c o n t r o l system . T h i s means that there i s no p o s i t i o n feedback and no compensation f o r p o s i t i o n e r r o r s . However, open-loop c o n t r o l has been found to be s u i t a b l e f o r many CNC a p p l i c a t i o n s and i s used f r e q u e n t l y s i n c e i t i s l e s s expensive than c l o s e d - l o o p c o n t r o l which does have p o s i t i o n feedback. Top V i e w Chuck . i ^ - W o r k p i e c e -x a x x s • J ' C e n t e r l i n e - * / - z a x i s +z a x i s -fx a x i s 1 F i g u r e 1. Axes o f t h e ORAC L a t h e . Page 8 The l a t h e i s designed p r i m a r i l y f o r o p e r a t i o n under micro-processor c o n t r o l , but i t has c o n t r o l s f o r manual o p e r a t i o n . These manual c o n t r o l s enable s e t t i n g of the " f l o a t i n g zero p o i n t " and s e t t i n g of the o f f s e t s necessary f o r each d i f f e r e n t t o o l . I t a l s o has c o n t r o l s to o v e r r i d e the feedrate and s p i n d l e - s p e e d d u r i n g m i cro-processor c o n t r o l l e d o p e r a t i o n . More i n f o r m a t i o n on the l a t h e can be found i n the ORAC Programming I n s t r u c t i o n and Maintenance Manual [ 4 ] . Note: The l a t h e does not have a zero p o i n t . Therefore the zero p o i n t must be set by f a c i n g the end of the workpiece to determine the z - a x i s l o c a t i o n ( i . e . the z-zero p o i n t ) and a diameter must be turned and measured to a c c u r a t e l y determine the l o c a t i o n of the a x i s of r o t a t i o n ( i . e . the x-zero p o i n t ) . 2.2 I n t e r f a c i n g the Lathe and the Computer The l a t h e can be connected to a computer or another device by a standard RS 232C s e r i a l p o r t , on which ORAC programs can be t r a n s m i t t e d or r e c e i v e d . The l a t h e i s designed to use hardware handshaking to s y n c r o n i z e the t r a n s f e r of programs between the two d e v i c e s . U n f o r t u n a t e l y , the Mechanical E n g i n e e r i n g Department's VAX 11/750 computer uses only software handshaking which the ORAC does not r e c o g n i z e . T h e r e f o r e , i t was necessary to w r i t e s e v e r a l F o r t r a n programs which use the VAX's QIOW (Queued Input / Output Wait) f u n c t i o n to t r a n s f e r data without hardware handshaking. I t was found t h a t the VAX cou l d t r a n s m i t data at 2400 baud which c o u l d be r e c e i v e d by the l a t h e with no problems. However, a very e f f i c i e n t program was r e q u i r e d to t r a n s m i t from the l a t h e to the VAX at 2400 baud without Page 9 e r r o r s . ORAC programs are w r i t t e n using ASCII c h a r a c t e r s and are formatted using standard c o n t r o l c h a r a c t e r s to i n d i c a t e the s t a r t and end of programs, the s t a r t and end of ORAC "pages", and the end of l i n e s . Note: A ORAC "page" r e f e r s to a block of data which c o n t a i n s a s i n g l e machining i n s t r u c t i o n . I t may c o n t a i n from one to nine l i n e s of in f o r m a t i o n which d e f i n e s the f u n c t i o n to be performed. The RS 232C port w i r i n g of the l a t h e was o r i g i n a l l y s l i g h t l y non-standard. In order to make connecting hardware more compatible, the transmit and r e c e i v e wires on the RS 232C connector were switched. Therefore the l a t h e and the VAX were connected as f o l l o w s : ORAC ( i n t e r n a l ) ORAC ( e x t e r n a l ) VAX TXD (pin 2) . , RXD (pin 2) < > send (pin 2) RXD (pin 3) -TXD (pin 3) ^ > r e c e i v e (pin 3) GND (pin 7) - GND (pin 7) — g r o u n d (pin 7) where: TXD = Line on which data i s t r a n s m i t t e d . RXD = Line on which data i s r e c e i v e d . Pins 6 and 20 which are normally used by the ORAC Lathe f o r hardware handshaking were not used. Page 10 2.3 M o d i f i c a t i o n s to the Lathe I n i t i a l l y the ORAC Lathe was equipped with a quick-change t o o l p o s t and h o l d e r . However, i n order t o f a c i l i t a t e p r o d u c t i o n , a t o o l h o l d e r or t o o l t u r r e t with a number of t o o l s was r e q u i r e d . T h e r e f o r e , a pneumatic t o o l t u r r e t which h o l d s four t o o l s i n any of i t s ei g h t p o s i t i o n s , e q u a l l y spaced at 45 degrees, was designed. The t o o l t u r r e t was mounted on the c r o s s - s l i d e i n pl a c e of the quick-change t o o l p o s t and t o p - s l i d e . I t i s r o t a t e d i n the x-z ( h o r i z o n t a l ) plane by a " r o t a t e c y l i n d e r " and can be clamped down by the "clamp c y l i n d e r " i n any of the e i g h t p o s i t i o n s . The "as b u i l t " design drawings of the t o o l t u r r e t are i n c l u d e d i n F i g u r e s 2, 3, 4 and 5. The t o o l t u r r e t may be c o n t r o l l e d by the a u x i l i a r y outputs from the l a t h e or by a se p a r a t e i n t e r f a c e board c o n t r o l l e d by the VAX computer a c c o r d i n g t o s i g n a l s r e c e i v e d from the a u x i l i a r y outputs. The t o o l t u r r e t d e s i g n a l s o i n c o r p o r a t e s f i v e micro-switches which can be read by e i t h e r the a u x i l i a r y input of the l a t h e or by the i n t e r f a c e board. Holes have been d r i l l e d i n the bottom of the t o o l holder i n p a t t e r n s which a l l o w three micro-switches to i n d i c a t e the p o s i t i o n of the t o o l h o l d e r when clamped. The holes are p o s i t i o n e d such t h a t when the t o o l h older i s clamped down the d i f f e r e n t open and c l o s e d combinations of the three switches i n d i c a t e the p o s i t i o n as a three d i g i t b i n a r y number. The other two switches i n d i c a t e the p o s i t i o n of the clamp and r o t a t e c y l i n d e r s . One s w i t c h i s a c t i v a t e d when the clamp c y l i n d e r i s down and the second i n d i c a t e s when the r o t a t e c y l i n d e r i s f u l l y r e t r a c t e d . Page 11 J ' 17) (18) [19] SEcriohl A-A /slt> .... NAME OF PART mrezikL gEqt> 1 TOOL. HOLDER, P / A / M/L.D STEEL. e 2 TOOL. Hot-beg 8i/£H"JG- 1 3 CLAMP C T Yi. tNt>ER PiSTBAJ A/Ur 3 4 /o -14 » %. ALL etJ scfe-co Zo 5 TOOL. HOLDE~H 1 b g.oTAre~ cy<_/W2>£"£ P/&TorJ tTNt> 1 7 4--4o C A / C ALLEfJ s c e e n y / a HoTATE-CYl-lrJPe& PfSTdN 1 So TATE - CVL.l/JJ>E£ CLAP 1 10 dt/VL. O-RlNO- I II f 17- 1 1 3 •# IIS O-KiNS- 1 14 1 15 * /33 O-giNG- 1 lb CJ-AHP - <ZYLI ubEit CAP 1 17 CL-AMP ~ CYLINDER PlSTO/J 1 IS =** 112 1 i$ CJ.AMP- CYCINbeR S»CY 1 2.0 ROTATE-at iNbeg ~+>ISTDN loppetST 1 2-1 £llTATcT-Cyi-lfJbE£. S.UPPOKT 1 2-2- IO-2-4- X k." ALLEU Sc/PEkJ 73 23 1 0 - 2 4 K /" ML£fJ £c£eu) sAoujl) 4 Z4 4 25 OUC 5CI?EuJ (nof sAexon) 26 foTATE-CYL/MDeg VISTOU EWD CEt/ER / 27 ROTATE- CVUtJl>e£. Vl%ToN ff/t> LEVE£ VlN / 22> ROTATE- cyi/uoee *;«Pft>*r PIN / 23 ROTATE-evLIMOSR r/srorJ etJb PiN / iO 4-4o Otic sceeuj 4 MECHANICAL ENGINEERING DEPARTMENT THE UNIVERSITY OF BRITISH C O L U M B I A """ AOS 15/84-. ARPROVIO BYi DRAWN »T R « V I . . D AfR 22/65 TOOL Tuezer ASSEMBLY D f ?AW/N<J -DRAWING NUMBIR A-I Page 12 O ' / - ^ 4 4 - - * ! n HI I I 11 \ - U U _ i I.Z7S MT3 .us — .7«5-<-) /.Z75-j§ f WILLI &oe.e ,3 HOLES R .9S0 beep I /IC.i.C . .too ceevi %<t> WILL, BHOLE5 EQUALLY SPAC££> > Deep . - ^ / . j ^ t ; -7A THUEht). WILL #«• _fc W O L F S , 3O * D O W N E Q U A L L Y iPAceC> NO CMAMFeR -REQO WESSON TDP ED&e SECTION A - A DRILL l. TAP 10: Z4 THREAb. :.3t>0 DEEP, 5 HOLES CLAMP-CYLINDER PISTON - H ^ - - M D - . o . i 1.34° i w . ' : ' , 1 #_-C3 peiiLn couwrE«TsiiOK. 4HOL£S_ °&*-:%%% STATIC SCAL. CLAMP- CYL /NPSf? OA P //OTES : J. CHAMFER ALL E X P O S e t J £J>66S . S. AU. SOZFAceS COfJTAcTliJS- Md^lNS- O-ltlflGS TO BE FKF or TOOL HACKS, WCKS og SCRATCHES. . . _ ...CLAMP-CYL/NDeR^ BODY rcr-eiNG &RO^ET OSTAIL. MECHANICAL ENGINEERING DEPARTMENT THE UNIVERSITY OF BRITISH C OLUMBIA 8 C A L I . F. S. O A T I , M<S IO/04-A P P R O V E D B Y i 6-D R A W N BY fiX. M. RiviaiD A W /6 7Bi5 i . TURRET - CLAMP CYLINDER WINQ NUMBER 0- / Page 13 A 3.M7 .DRILL 0/ TAP 1 6 - 2 4 fHeeAb 20 notes 1 ' i<t> I t i 4-!4 ' t~ 4ft---4 A -I 1*- °-9f-~ / . 7 O 0 4-lOeo . isoo ,bOO i o n U D U pt'lLLS. TAP UNZ .ITO peep S-9'61 •)Tfim-.cTcmpew PISTON - D S / U . i T A P ' " © " * ^ " V H K t T A b USHoues.". -too t>eep JRlLLkTAp, ^  NPT ,xHOLES, .300 VBZp y84> DRILL ,3. HOLES SPILL t> TAP 10-24 TflBfrAe 4 HOLES , . 3 0 0 I 1 2 0 0 1 .3I2±'£ -A . 0 4 O .3/5 I T T i _ -3/5 -.00/ _!_! U 1_ 1—r-r 1 1 1 1 :; i! ii 1 1 I TOOL HOLDER p/w 5 ^/i 4 MILL , .100 vcep IZ H6LES... ItlS 1 7k$_PRILL ^loOL.H OLDER. BUSH/M6-%<)> XiLL AND /cg/l/vl V/z <t> DRILL * BORE — k. <f> WILL , a HOLES,, .300 £>feP , . t T j - . E Q U A L L Y SPACED • 9*5 % «< . 4 HOLES % 0 DeiLL ROTATE-CYLCAP -/.ste-TOOL HOLDER ..7/ore.s.!. _.. .... "'"/. CHAMFER. .ALL EXPOSED. ED&E S_. Zi' z: A U S U R F A C E S COHTACT IHG- MOWHG-O-ZING-% ro Be F#es OF TOOL MA/TAS NICKS &> SCRATCHES: : 3. REFER To ClAMp CrLIMbeR FOR \ r _ . 0-R1N6 DETAIL MECHANICAL ENGINEERING DEPARTMENT THE UNIVERSITY OF BRITISH COLUMBIA SCALEi f~, S. DATE, AU(; I3/S4 APPROVED BY: DRAWN BY f.Z./Lf TOOL TURRET TOOL H0LT2S& AMb ROTATE CYLI^t>^R. DRAWING NUMBER P-L Page 14 % $ PRILL 4 BORE i/o peep Will* 42 I I T " .200 .150 VRILL #44 fat Jj-JLL U f A M 1 • DRILL *44-J I-.2.83 .ISO 1 .ISO :i L_ -! 4-.075 -«-.4bo-J —»-|.49f7 ROTATE PISTQH £Nb LEVER 1 • ±.001 .PR.ILL_VM2,.l tfW.6T 0>MP CYL/Nt)£R PtsrorJ NDT^//t> MP.) FULL SCALE 3 Ree^'o DKI LL I TAP 2r5t. THREAD 2 HOLES. -••I .too k-i _ l T .094 PISTON SUPPORT P'AJ FULL SCALE _L_ .125 o $0TAT£ CYUNKK PISToN fA/D P/N •OBb U L. /5o MTATe* CYLINDER* PlSTbAj END LEVER PIN AZOTES I. CHAMFER ALL EXPOSED ED&ES. 2. ALL SURFACES CONTACTIN'6 MOVlHi- a-RtNG-S TO Be FREE OF TOOL MARK'S , N/CKS oR SCRATCHES. 3. REFER TO CLAMP CYUUDER DRAWING- roR 0-PIM6 DETAIL. PISTON S U P P O R T MECHANICAL ENGINEERING DEPARTMENT THE UNIVERSITY OF BRITISH C O L U M B I A PULL S C A L E - BCALIi A P P R O V E D BY I D R A W N B Y tfcM D A T I . AM IB/8* R E V I S E D TOOL TURRET PARTS D R A W I N G N U M B E R ~ 0-3 Page 15 The t o o l t u r r e t i s operated by a c t i v a t i n g an 1/8" pneumatic v a l v e which causes the clamp c y l i n d e r to l i f t the t o o l h o l d e r . While t h i s c y l i n d e r i s i n the "up" p o s i t i o n the second pneumatic v a l v e may be operated and r e l e a s e d . Each operate / r e l e a s e c y c l e causes the r o t a t e c y l i n d e r to r o t a t e clockwise by 45 degrees. A f t e r the t o o l h o l d e r has been r o t a t e d to the d e s i r e d p o s i t i o n , the clamp c y l i n d e r v a l v e may be r e l e a s e d , c a u s i n g the clamp c y l i n d e r to r e t u r n to the "down" p o s i t i o n . When i n t h i s p o s i t i o n , the t o o l h o l d e r i s r i g i d , and the t o o l can then be used f o r machining. The a i r flow to the c y l i n d e r s i s r e g u l a t e d by a flow-c o n t r o l v a l v e which l i m i t s a i r flow to the e n t i r e system, and s e v e r a l check v a l v e s which allow s u f f i c i e n t a i r flow to operate the c y l i n d e r s s l o w l y . Slow o p e r a t i o n of the p i s t o n i s necessary i n order to prevent damage to the r o t a t e - c y l i n d e r p i s t o n s h a f t . A i r i s a l s o d i r e c t e d through the cl a m p - c y l i n d e r p i s t o n over the lower s u r f a c e of the t o o l t u r r e t when the cl a m p - c y l i n d e r p i s t o n i s i n the "up" p o s i t i o n . T h i s prevents metal c h i p s from i n t e r f e r i n g with the proper s e a t i n g of the t o o l when clamped. Refer to F i g u r e 6 f o r a schematic of the pneumatic system. The a i r p r essure must be maintained throughout the machining o p e r a t i o n i n order to keep the t o o l h o l d e r p r o p e r l y seated. The t o o l t u r r e t was designed to hold the f o l l o w i n g t o o l s : 1) A r i g h t - h a n d t u r n i n g / f a c i n g t o o l which would be used f o r most machining o p e r a t i o n s . 2) A l e f t - h a n d t u r n i n g t o o l f o r areas i n a c c e s s i b l e by the righ t - h a n d t o o l . 3) A t h r e a d i n g t o o l f o r t h r e a d i n g . F l o w c o n t r o l v a l v e 10 p s i s o u r c e o—\fa 0= M a r t o n a i r C / 2 0 1 5 1 / 1 2 2 / 1 0 24 v o l t . S o l e n o i d V a l v e . C h e c k V a l v e s 5 A 1 3 4 1/4" t u b i n g HX-5 A e x h a u s t M a r t o n a i r C / 2 0 1 5 1 / 1 2 2 / 1 0 24 v o l t . S o l e n o i d V a l v e . e x h a u s t R o t a t e C y l i n d e r C l a m p C y l i n d e r ( n o r m a l l y i n ) ( n o r m a l l y down) F i g u r e 6 . S c h e m a t i c o f T o o l T u r r e t P n e u m a t i c s . Page 17 4) A p a r t i n g - o f f t o o l to p a r t - o f f the ob j e c t f o l l o w i n g machining. However, the la t h e was found to have a minimum fe e d r a t e which was too high f o r p a r t i n g - o f f . T h e r e f o r e , i t was decided to use the f o u r t h p o s i t i o n f o r a second right-hand t u r n i n g / f a c i n g t o o l which c o u l d be used f o r the i n i t i a l f a c i n g of the rough bar stock. The f i n a l c o n f i g u r a t i o n f o r the t o o l holder i s : 1) A r i g h t - h a n d t u r n i n g / f a c i n g t o o l . 2) A l e f t - h a n d t u r n i n g t o o l . 3) A t h r e a d i n g t o o l . 4) A r i g h t - h a n d t u r n i n g / f a c i n g t o o l f o r rough c u t s . 2.4 Programming the Lathe U n l i k e most NC code, the CNC code used f o r ORAC programs looks much l i k e that of a computer program. I t c o n s i s t s of 17 i n s t r u c t i o n s which determine the o p e r a t i o n to be performed. Each of these i n s t r u c t i o n s i s s t o r e d on a separate ORAC "page". Up to 99 "pages" may be combined to form an "ORAC program". The ORAC program can then be executed page by page to produce the d e s i r e d p a r t . The i n s t r u c t i o n s e t , a b b r e v i a t i o n s , and purposes are l i s t e d below: I n s t r u c t i o n Purpose INC incremental format ABS a b s o l u t e format Incremental programming mode Absolute programming mode Page 18 IN inch u n i t s Programming i n inches MM m i l l i m e t e r u n i t s Programming i n m i l l i m e t e r s PDAT program datum Set l o c a t i o n of program datum PTP p o i n t - t o - p o i n t Move by l i n e a r i n t e r p o l a t i o n i n t e r p o l a t i o n CIRC c i r c u l a r i n t e r p o l a t i o n Move by c i r c u l a r i n t e r p o l a t i o n THRD th r e a d i n g Create s p e c i f i e d thread DWEL dwell Delay program execution AUXI a u x i l i a r y input Read a u x i l i a r y input s i g n a l s AUXO a u x i l i a r y output Create a u x i l i a r y output s i g n a l s CALL c a l l subroutine C a l l a p p r o p r i a t e subroutine SUB subroutine s t a r t S t a r t of su b r o u t i n e ESUB end subroutine End of su b r o u t i n e DO s t a r t do-loop S t a r t of do-loop EDO end do-loop End of do-loop END end program End of program Note: G u i d e l i n e s must be fol l o w e d when w r i t i n g ORAC programs. They are c o n t a i n e d i n the ORAC Programming I n s t r u c t i o n and Maintenance Manual [ 4 ] . 2.5 Setup of the Lathe P r i o r to exe c u t i o n of ORAC programs, i t i s necessary to d e f i n e the zero p o s i t i o n , i n the x-z plane, f o r each t o o l t o be used. T h i s i s accomplished by touching or machining a face and a known diameter, with each t o o l , as i n s t r u c t e d by the l a t h e . The d i f f e r e n c e i n the zero p o s i t i o n of the t o o l and the zero p o s i t i o n of the r e f e r e n c e t o o l 0, determines the t o o l o f f s e t f o r that Page 19 t o o l . Subsequently a l l zero p o s i t i o n s may be r e d e f i n e d by r e l o c a t i n g the zero p o s i t i o n of t o o l 0 provided that the t o o l o f f s e t s have not been l o s t or changed. For f u t u r e use, the t o o l o f f s e t s may be recorded on a tape using the ORAC's m i n i - c a s s e t t e r e c o r d i n g u n i t . T h i s a l l o w s e a s i e r setup of the t o o l s , s i n c e a l l that i s r e q u i r e d then i s to d e f i n e the zero p o s i t i o n f o r t o o l 0, and r e l o a d the saved t o o l o f f s e t s from the tape, as i n s t r u c t e d by the l a t h e . Page 20 CHAPTER 3 Overview of ORACAP Program 3.1 ORACAP Options ORACAP i s an acronym f o r ORAC Computer Aided Programming. I t i s a software package, developed d u r i n g the course of t h i s work, which a l l o w s e a s i e r and f a s t e r use of the ORAC CNC Lathe. The package c o n s i s t s of ten op t i o n s which are executed by running a c o n t r o l l i n g command procedure. Nine of these o p t i o n s are F o r t r a n programs and the remaining o p t i o n i s a command procedure. The o p t i o n s are presented i n an o p t i o n menu and are executed when s e l e c t e d as e x p l a i n e d i n Chapter 4. The o p t i o n s of the package allow the user t o : 1) Input or change the dimensions of an o b j e c t to be machined on the l a t h e ( i . e . the "DESIGN" Opt i o n ) . 2) Generate the CNC i n s t r u c t i o n s necessary to machine the part ( i . e . the "GENERATE" O p t i o n ) . 3) Optimize the CNC i n s t r u c t i o n s by e l i m i n a t i n g e x t r a i n s t r u c t i o n s and combining i n e f f i c i e n t ones ( i . e . the "OPTIMIZE" O p t i o n ) . 4) Assemble the CNC i n s t r u c t i o n s i n t o an ORAC program or programs ( i . e . the "ASSEMBLE" Option) . 5) Create a F o r t r a n program or programs t o prove the ORAC program or programs ( i . e . the "PROVE" O p t i o n ) . 6) Compile, l i n k and run the program or programs to Page 21 prove the ORAC program ( i . e . the "PLOT" O p t i o n ) . 7) Down-load the ORAC program or programs from the computer to the l a t h e ( i . e . the "VAXTOORAC" O p t i o n ) . 8) Up-load an ORAC program from the l a t h e to the computer ( i . e . the "ORACTOVAX" O p t i o n ) . 9) Compress an ORAC program i n t o the corresp o n d i n g CNC i n s t r u c t i o n s ( i . e . the "COMPRESS" O p t i o n ) . 10) Write CNC i n s t r u c t i o n s d i r e c t l y ( i . e . the "WRITE" O p t i o n ) . 3.2 ORACAP C a p a b i l i t i e s and L i m i t a t i o n s The ORACAP program i s capable of handling o b j e c t s to be e x t e r n a l l y machined on one or both ends without the use of the t a i l s t o c k . The program i n c l u d e s a l l ORAC machining f e a t u r e s such as l i n e a r i n t e r p o l a t i o n , c i r c u l a r i n t e r p o l a t i o n , and t h r e a d i n g . These o p e r a t i o n s are l i m i t e d by the same c o n s t r a i n t s as f o r the o r d i n a r y ORAC programming. The ORAC l a t h e i s capable of handling a r c s up to 180 degrees i n one program page. However, ORACAP r e q u i r e s c i r c u l a r s e c t i o n s to be contained i n only one quadrant. T h i s e l i m i n a t e s s e v e r a l problems i n the p l o t t i n g s u b r o u t i n e s . A l s o o b j e c t s with p a r a b o l i c s e c t i o n s can be machined. T h i s i s accomplished by approximating the p a r a b o l i c curve with s t r a i g h t l i n e segments. The program a l s o a l l o w s c o n t r o l of the automatic t o o l t u r r e t , i f d e s i r e d , and can generate the i n s t r u c t i o n s necessary f o r p a r t i n g - o f f . However, the l a t h e can not machine at the slow Page 22 speed necessary f o r p a r t i n g - o f f . T h e r e f o r e , t h i s f e a t u r e can not be used. Since the ORAC l a t h e i s l i m i t e d to 99 program steps, i t i s sometimes necessary to c r e a t e more than one program to machine a d e s i r e d p a r t . T h e r e f o r e , f o r each end, v a r i o u s p a r t s of the machining i n s t r u c t i o n s are c r e a t e d and stored i n separate f i l e s and then assembled i n t o the minimum number of ORAC programs. Each ORAC program i s con t a i n e d i n a separate f i l e . A l l ORACAP options can use e i t h e r Imperial or M e t r i c u n i t s . However, the "GENERATE" program c r e a t e s ORAC programs which use only metric measurements. The "PROVE" and "DESIGN" programs have been w r i t t e n so that they can use e i t h e r system of measurement. In a l l other o p t i o n s the type of u n i t s i s unimportant. 3.3 I n s t r u c t i o n and Program Formats In order to save d i s k storage space and reduce execution time, the "DESIGN", "GENERATE", "OPTIMIZE" and "WRITE" opt i o n s s t o r e the machining i n s t r u c t i o n s i n a compressed format, s i m i l a r to that used f o r NC i n s t r u c t i o n s . T h e r e f o r e , they are r e f e r e d to as "CNC i n s t r u c t i o n s " . In t h i s format, each ORAC "page" occupies only one l i n e . The "PROVE", "VAXTOORAC" and "ORACTOVAX" opt i o n s operate on "ORAC Programs" where one "page" may occupy one to nine l i n e s . The "ASSEMBLE" and "COMPRESS" o p t i o n s allow c o n v e r s i o n from one format to the other. Page 23 3.4 Use of S u b d i r e c t o r i e s ORACAP uses the VAX's s u b d i r e c t o r i e s to separate f i l e s i n t o groups with s i m i l a r f u n c t i o n s . The s u b d i r e c t o r i e s and t h e i r c o n t e n t s a r e : "[ME258.LATHE.COM]" - Command procedure f i l e s which enable the setup and running of ORACAP. "[ME258.LATHE.FOR]" - F o r t r a n source code, o b j e c t f i l e s , and the task images f o r each F o r t r a n o p t i o n . "[ME258.LATHE.DAT]" - F i l e s c r e a t e d or used by the "DESIGN" o p t i o n of ORACAP. "[ME258.LATHE.CNC]" - F i l e s c o n t a i n i n g CNC i n s t r u c t i o n s and ORAC programs. "[ME258.LATHE.PLT]" - F o r t r a n source code, ob j e c t f i l e s , and task images c r e a t e d by the "PROVE" and "PLOT" options of ORACAP. These d i r e c t o r y names are generated by ORACAP when needed. The ".DAT", ".CNC", and ".PLT" d i r e c t o r i e s w i l l not be used f o r output i f the " d i r e c t o r y " mode i s not s e l e c t e d as e x p l a i n e d i n s e c t i o n 4.3. 3.5 Terminals ORACAP has been designed to run p r i m a r i l y on a D i g i t a l VT101 t e r m i n a l with Retro-Graphics enhancements which allow i t to emulate a T e k t r o n i x 4027 t e r m i n a l . However, most o p t i o n s can be executed on any standard computer t e r m i n a l . P l o t t i n g d u r i n g the "DESIGN" and "GENERATE" o p t i o n s must be done on a t e r m i n a l or p l o t t e r which can i n t e r p r e t TX 4010 or 4027 p l o t t i n g s i g n a l s . P l o t t i n g f o r the Proving o p t i o n can a l s o be done on a t e r m i n a l Page 24 which can i n t e r p r e t TX 4010 or 4027 p l o t t i n g s i g n a l s or on an HP 7221A p l o t t e r . Note: ORACAP and the F o r t r a n options generate escape sequences which are used f o r v a r i o u s VT100 and VT101 d i s p l a y f u n c t i o n s . T h e r e f o r e , e x e c u t i o n of the programs on HP or TX t e r m i n a l s w i l l r e s u l t i n the escape sequence c h a r a c t e r s being d i s p l a y e d on the screen. The c h a r a c t e r s w i l l have no e f f e c t on program e x e c u t i o n . Page 25 CHAPTER 4 ORACAP Program Execution 4.1 Use of Example Part s T h i s chapter d e s c r i b e s the v a r i o u s p a r t s of the ORACAP package and t h e i r e x e c u t i o n . Throughout, a t y p i c a l p a r t , which can be machined on a l a t h e , i s used to i l l u s t r a t e formats and f o r c l a r i f i c a t i o n of the filenames being used. One of the p a r t s chosen f o r these examples was a Queen from a chess s e t . I t was chosen s i n c e i t i n c l u d e s a machining problem ( i . e . an area which i s i n a c c e s s i b l e by a right-hand t u r n i n g / f a c i n g t o o l ) and a l s o s i n c e i t r e q u i r e s more than 99 steps to machine the p a r t . Since s e v e r a l f i n a l ORAC programs are necessary, t h i s example shows how a complex p a r t would be handled by the ORACAP program. A summary of f i l e s a s s o c i a t e d with t h i s p a r t and t h e i r s i z e s i s con t a i n e d in Appendix A. Appendix B c o n t a i n s examples of some of these f i l e s . However, the chess p i e c e example does not demonstrate s e v e r a l f e a t u r e s , such as p a r a b o l i c s e c t i o n s and t h r e a d i n g . Therefore these f e a t u r e s are i l l u s t r a t e d using an ORACAP Master P a r t . The summary t a b l e f o r t h i s p a r t i s co n t a i n e d i n Appendix C while the example f i l e s are co n t a i n e d i n Appendix D. 4.2 Setup of ORACAP Program Modules P r i o r to running the "0RACAP.COM" command procedure, a l l F o r t r a n s u b r o u t i n e s must be compiled and p l a c e d i n the l i b r a r y f i l e "[ME258.LIBRARY]LATHELIB.OLB". T h i s can be accomplished using the command procedure "ADDLIB.COM" which i s used by t y p i n g "ADD "f i l e n a m e " " . I f a l l s u b r o u t i n e s are to be compiled, the Page 26 command procedure "ADDALL.COM" may be used. A l l F o r t r a n programs must be compiled and l i n k e d with these s u b r o u t i n e s . The task images must be c r e a t e d i n the d i r e c t o r y "[ME258.LATHE.FOR]". Again, t h i s can be done i n d i v i d u a l l y u s i n g the command procedure "C0MPILE.COM" which can be executed by ty p i n g "COMP "filename"". A l l programs can be compiled u s i n g the "C0MPALL.COM" command procedure. F i n a l l y , a l l of the above o p e r a t i o n s can be accomplished by t y p i n g "SETUP ""account", where "account" i s the account name ( i . e . "ME258"). T h i s executes the command procedure "SETUP.COM". These procedures have a l r e a d y been executed and w i l l only have t o be executed i f a task image has been d e l e t e d . These command procedures are c o n t a i n e d i n the "[ME258.LATHE.COM]" d i r e c t o r y and are l i s t e d i n Appendix F on the enclosed m i c r o f i c h e . Note: In order to set up the ORACAP package i n a d i f f e r e n t account, a l l r e f e r e n c e s to the "ME258" d i r e c t o r i e s must be changed. A l s o , the s u b r o u t i n e FILENAME w i l l have to be modified to p r o p e r l y c r e a t e the new d i r e c t o r y names. 4.3 Program Modes and Filenames "0RACAP.COM" can then be executed by t y p i n g "ORACAP". The program f i r s t prompts f o r a partname or a <CR> ( c a r r i a g e r e t u r n ) . The response i s s t o r e d i n the f i l e "PARTNAME.TMP", and i t i s used to determine the program mode. I f a partname i s entered, " p a r t " mode w i l l be used, and the F o r t r a n programs w i l l use t h i s name to c r e a t e the f i l e n a m e s needed f o r the v a r i o u s data f i l e s . " P a r t " mode i s used f o r ex e c u t i n g the ORACAP op t i o n s s e q u e n t i a l l y or independently. I f <CR> i s entered, " f i l e " mode Page 27 w i l l be used, and the subsequent programs w i l l prompt f o r the necessary filenames or r e q u i r e d i n f o r m a t i o n . " F i l e " mode i s used p r i m a r i l y f o r s p e c i a l a p p l i c a t i o n s , such as c r e a t i n g a p a r t i c u l a r f i l e , by-passing an u n d e s i r a b l e o p t i o n , or f o r debugging. The program then asks the user i f he wishes to i n c l u d e d i r e c t o r y names i n the f i l e s p e c i f i c a t i o n s when they are c r e a t e d . If t h i s " d i r e c t o r y " mode i s s e l e c t e d , a s p e c i f i c d i r e c t o r y name such as "[ME258.LATHE.DAT]" i s p l a c e d i n f r o n t of the filename so that the f i l e s are c r e a t e d i n the s p e c i f i e d d i r e c t o r y . If the " d i r e c t o r y " mode i s not s e l e c t e d the cu r r e n t d i r e c t o r y i s used to co n t a i n c r e a t e d f i l e s . T h i s mode can only be used when executing the program from an account which has "read" and " w r i t e " access to the ME258 account. T h i s mode i s independent of the " p a r t " and " f i l e " modes. The examples used throughout t h i s t h e s i s assume that the " d i r e c t o r y " mode i s chosen and that the ME258 f i l e s p e c i f i c a t i o n s are used. That i s , the examples give the names of the d i r e c t o r y s p e c i f i c a t i o n s which w i l l be used i f t h i s mode i s chosen and i f in " f i l e " mode, no d i r e c t o r y s p e c i f i c a t i o n i s gi v e n . The d e f a u l t format f o r f i l e s p e c i f i c a t i o n s c r e a t e d i n "p a r t " mode i s " D i r e c t o r y " + "Partname" + "End" + " F i l e " + "Extension", where: " D i r e c t o r y " i s a d i r e c t o r y name. (eg. "[ME258.LATHE.DAT]") "Partname" i s the partname which may c o n t a i n s up to 7 c h a r a c t e r s . (eg. "QUEEN") "End" i s a l e t t e r denoting the end. (eg. "A") " F i l e " i s a d i g i t d e noting one of a s e r i e s of f i l e s . Page 28 (eg. "1") "Extension" i s a 4 c h a r a c t e r f i l e e x t e n s i o n , (eg. ".CAD") The d e f a u l t format f o r f i l e s p e c i f i c a t i o n s c r e a t e d i n " f i l e " mode i s " D i r e c t o r y " + "Filename" + "Extension", where: " D i r e c t o r y " i s a d i r e c t o r y name. (eg. "[ME258.LATHE.DAT]") "Filename" i s the filename which may c o n t a i n s up to 9 c h a r a c t e r s . (eg. "QUEENA1") "Extension" i s a 4 c h a r a c t e r f i l e e x t e n s i o n . (eg. ".CAD") Note: "End" and " F i l e " are a u t o m a t i c a l l y generated by the program i n " p a r t " mode when r e q u i r e d . They are not r e q u i r e d f o r the "ORACTOVAX", "WRITE", or "COMPRESS" o p t i o n s , and t h e r e f o r e the f i l e s c r e a t e d by " p a r t " and " f i l e " modes are the same. A l s o , when running o p t i o n s independently i n the " f i l e " mode, i t may be necessary to i n c l u d e the r e q u i r e d "End" or " F i l e " i n the filename, i f the f i l e s were c r e a t e d i n the " p a r t " mode, or are to be used by a program running i n " p a r t " mode. 4.4 Terminal S e l e c t i o n Next, ORACAP requests the user to s e l e c t a t e r m i n a l type. There are four c h o i c e s : 1) HP - HP t e r m i n a l / p l o t t e r ; f o r proof p l o t t i n g on the HP 7221 p l o t t e r . 2) RG - VT101 i n Retro-Graphics 4027 mode; f o r VT101 te r m i n a l s with Retro-Graphics enhancements which emulate a T e k t r o n i x 4027 t e r m i n a l . Page 29 3) TX - VT100 or VT101 i n Retro-Graphics 4010 mode; for VT t e r m i n a l s with Retro-Graphics enhancements which emulate a T e k t r o n i x 4010 t e r m i n a l . T h i s mode i s a l s o used when the TX 4662 p l o t t e r i s connected to one of these t e r m i n a l s . 4) VT - VT100 or VT101; f o r t e r m i n a l s with no g r a p h i c s . The s e l e c t e d t e r m i n a l type i s s t o r e d i n the f i l e "TERMINAL.TMP". The RG t e r m i n a l mode i s most d e s i r e a b l e when executing ORACAP s i n c e i t d i s p l a y s more i n f o r m a t i o n to the user. The examples use the TX mode to allow p l o t t i n g on the TX 4662 p l o t t e r . 4.5 Option S e l e c t i o n ORACAP then allows s e l e c t i o n of an o p t i o n . The op t i o n s and the programs executed by s e l e c t i n g the o p t i o n a r e : OPTION MENU PROGRAM 0) RESTART PROGRAM 1) DESIGN SHAPE TO BE MACHINED DESIGN.FOR 2) GENERATE ORAC INSTRUCTION FILE GENERATE.FOR 3) OPTIMIZE ORAC INSTRUCTION FILE OPTIMIZE.FOR 4) ASSEMBLE INSTRUCTION FILE INTO PROGRAM ASSEMBLE.FOR 5) PROVE ORAC PROGRAM PROVE.FOR 6) PLOT PROOF OF ORAC PROGRAM PLOT.COM 7) TRANSFER PROGRAM FROM COMPUTER TO ORAC VAXTOORAC.FOR Page 30 8) TRANSFER PROGRAM FROM ORAC TO COMPUTER ORACTOVAX.FOR 9) COMPRESS ORAC PROGRAM COMPRESS.FOR 10) WRITE ORAC INSTRUCTION FILE WRITE.FOR 11) EXIT FROM PROGRAM Note: The l i s t i n g s of these F o r t r a n programs can be found i n Appendix F on the en c l o s e d m i c r o f i c h e . F o l l o w i n g execution of an o p t i o n , the user i s prompted f o r the next o p t i o n . V a l i d responses a r e : "Y", which continues with the next o p t i o n . "N", which retu r n s to the main menu. "E", which e x i t s from the ORACAP program. «^« _ «ii" f which executes the entered o p t i o n . 4.5.1 DESIGN Option The "DESIGN.FOR" F o r t r a n program enables the user to cr e a t e data f i l e s which d e s c r i b e the pa r t to be machined. I t f i r s t asks i f a new part i s t o be c r e a t e d . I f so, the type of m a t e r i a l , diameter of bar stock, l e n g t h of the f i n a l p a r t , and the number of ends to be machined, must be entered. A l s o , at t h i s p o i n t the P a r t i n g - o f f o p t i o n or s i g n a l g e n e r a t i o n f o r automatic machining may be s e l e c t e d . P a r t i n g - o f f i s the se p a r a t i o n of the f i n i s h e d p i e c e from the remaining bar stock. Automatic machining i s u s i n g an e x t e r n a l m i c r o - p r o c e s s o r , c u r r e n t l y being designed i n a separate p r o j e c t , to c o n t r o l the l a t h e and t o o l changer. Next, the pa r t dimensions must be entered. The program assumes that the user has a drawing of the p a r t , dimensioned i n a Page 31 way s i m i l a r to the examples shown i n F i g u r e s 7 and 8. I f the o b j e c t i s to be machined at only one end, i t i s dimensioned from from a datum at the end of the p a r t which w i l l be next to the chuck. If the o b j e c t i s to be machined on both ends, i t i s dimensioned from a datum at the end of the p a r t to be clamped f i r s t ( i . e . the end which i s to be machined l a s t ) . The dimensions measured along the z - a x i s of the p a r t are r e f e r r e d to as p o s i t i o n s . At each p o s i t i o n , the diameter must be known. In order to input these dimensions, the o b j e c t i s d i v i d e d i n t o s e c t i o n s . The p o s i t i o n s and diameters, as w e l l as any other r e q u i r e d i n f o r m a t i o n , can then be given f o r each s e c t i o n . There are 6 s e c t i o n types which are i d e n t i f i e d by the numbers in the f o l l o w i n g l i s t : 1) L i n e a r s e c t i o n s which can be d e s c r i b e d by two p o s i t i o n s and two diameters. 2) Concave ( c i r c u l a r ) s e c t i o n s which can be d e s c r i b e d by two p o s i t i o n s , two diameters, and a r a d i u s . 3) Convex ( c i r c u l a r ) s e c t i o n s which can a l s o be d e s c r i b e d by two p o s i t i o n s , two diameters, and a r a d i u s . 4) Threaded s e c t i o n s which r e q u i r e two p o s i t i o n s , a base diameter, an o u t s i d e diameter, and a p i t c h . 5) P a r a b o l i c s e c t i o n s c o n s t r u c t e d from parabolas whose axes are p a r a l l e l to the z - a x i s which can be d e s c r i b e d by three p o s i t i o n s and three diameters. 6) P a r a b o l i c s e c t i o n s c o n s t r u c t e d from parabolas F i g u r e 7 . D i m e n s i o n e d D r a w i n g o f E x a m p l e C h e s s P i e c e . F i g u r e 8. D i m e n s i o n e d D r a w i n g o f ORACAP M a s t e r P i e c e . Page 34 whose axes are p a r a l l e l to the x - a x i s which can a l s o be d e s c r i b e d by three p o s i t i o n s and three diameters. For p a r a b o l i c s e c t i o n s , the f i r s t and second p o i n t s d e f i n e the s t a r t and end l o c a t i o n s . The t h i r d p o i n t can be any other p o i n t on the parabola, i n c l u d i n g p o i n t s which are represented by negative p o s i t i o n s or diameters. For many p a r t s , the s t a r t i n g dimensions of a s e c t i o n are the same as the ending dimensions of the p r e v i o u s s e c t i o n . T h e r e f o r e , input s u b r o u t i n e s are used to f a c i l i t a t e the e n t r y of the data. The ending dimensions of the p r e v i o u s s e c t i o n are shown on the t e r m i n a l and may be s e l e c t e d by p r e s s i n g the r e t u r n key. Once the p a r t dimensions have been in p u t , they can be s t o r e d i n a data f i l e , checked fo r i n a c c e s s i b l e areas (by the subroutine "CHECK"), and / or p l o t t e d f o r v e r i f i c a t i o n (by the subroutine "MAINPLOT"). Examples of such p l o t s are shown in F i g u r e s 9 and 10. Any i n d i v i d u a l s e c t i o n , or a l l s e c t i o n s can then be changed. Again the input s u b r o u t i n e s are used. The o l d dimensions, which are shown on the screen, may be entered by p r e s s i n g the r e t u r n key, or new v a l u e s may be entered i n t h e i r p l a c e . T h i s new data may then be s t o r e d , checked, and / or p l o t t e d as b e f o r e . The data f o r the p a r t i s s t o r e d i n the f o l l o w i n g data f i l e s : "[ME258.LATHE.DAT]partname.CAD" - T h i s f i l e c o n t a i n s the number of s e c t i o n s , the dimensions of a l l s e c t i o n s , as w e l l as the m a t e r i a l , and f l a g s i n d i c a t i n g p a r t i n g - o f f or s i g n a l g e n e r a t i o n o p t i o n s . ORACAP O p t i o n #1 - D e s i g n ORACAP O p t i o n #1 - D e s i g n F i g u r e 10. P l o t o f ORACAP M a s t e r P a r t S e c t i o n s . Page 37 "[ME258.LATHE.DAT]partname.SIZ" - T h i s f i l e c o n t a i n s the diameter of the bar stock, and the length of the f i n a l p a r t . "[ME258.LATHE.DAT]partname.END" - T h i s f i l e c o n t a i n s the number of ends to be machined. Note: These f i l e s are used as the input f i l e s f o r subsequent m o d i f i c a t i o n s . The ".CAD", ".SIZ", and ".END" f i l e f o r the chess p i e c e can be found i n Appendix B, and are named "QUEEN.CAD", "QUEEN.SIZ", and "QUEEN.END" r e s p e c t i v e l y . The correspo n d i n g f i l e s f o r the ORACAP Master Part example are "MASTER.CAD", "MASTER.SIZ", and "MASTER.END" and are c o n t a i n e d i n Appendix D. If both ends of the part are to be machined, the ".CAD" f i l e i s s p l i t and two new f i l e s are c r e a t e d . The " s p l i t p o i n t " (or p o s i t i o n which d i v i d e s the o b j e c t i n t o two ends) may be entered or determined by the program. I f i t i s determined by the program, i t i s pl a c e d at the beginning of the f i r s t s e c t i o n which i s at l e a s t 30 mm from the clamped end of the o b j e c t . T h i s a l l o w s s u f f i c i e n t space (10 mm) to ensure that the t o o l w i l l not c o l l i d e with the chuck. T h i s assumes that the l i m i t s w i t c h has been set c o r r e c t l y . A d i s t a n c e of 40 mm from the clamped end i s used f o r automatic machining. T h i s allows 20 mm f o r g r i p p i n g by the chuck and 20 mm f o r g r i p p i n g by a robot a f t e r machining. The c r e a t e d f i l e s are "[ME258.LATHE.DAT]partnameA.CAD" and "[ME258.LATHE.DAT]partnameB.CAD" where A and B correspond t o the f i r s t and second ends to be machined. Note: Refer to the f o l l o w i n g s u b r o u t i n e s : S p e c i a l purpose s u b r o u t i n e s : CHECK and MAINPLOT. General purpose s u b r o u t i n e s : COMPARE, FILENAME, INTINPUT, and Page 38 REALINPUT. 4.5.2 GENERATE Option GENERATE i s mostly an o r g a n i z a t i o n a l program i n that i t o r g a n i z e s p a r t s e c t i o n s and c a l l s the a p p r o p r i a t e subroutines necessary f o r machining. The ORAC l a t h e i s not capable of machining p a r a b o l i c s e c t i o n s . T h e r e f o r e the p a r a b o l i c s e c t i o n s are broken i n t o a number of l i n e a r s u b - s e c t i o n s with edges which approximates the p a r a b o l i c curve. Since the number of s u b - s e c t i o n s determines the q u a l i t y of the p a r a b o l a , i t i s d e s i r e a b l e to have a l a r g e number of s u b - s e c t i o n s . However, each a d d i t i o n a l s u b - s e c t i o n i n c r e a s e s the number of ORAC pages and the time r e q u i r e d to machine the p a r t . T h e r e f o r e , a compromise must be made when s e l e c t i n g the number of s u b - s e c t i o n s . T y p i c a l l y , a s u b - s e c t i o n w i l l be about 1 mm i n width as i n the ORACAP Master P a r t . The contents of the a r r a y s c o n t a i n i n g the s e c t i o n i n f o r m a t i o n must be s h i f t e d t o allow i n c l u s i o n of the newly generated s u b - s e c t i o n s . A l s o , i f the f i n a l z - p o s i t i o n of the l a s t s e c t i o n i s l e s s than the o v e r a l l l e n g t h of the p a r t , a s e c t i o n w i l l be added in order to machine the excess bar stock. F i n a l l y , a 3 mm s e c t i o n , equal to the t h i c k n e s s of the p a r t i n g - o f f t o o l , w i l l be added to the clamped end of the part i f the P a r t i n g - o f f o p t i o n has been s e l e c t e d . The program uses numerous subrout i n e s which, i f r e q u i r e d , generate CNC i n s t r u c t i o n s f o r the v a r i o u s p a r t s of the ORAC program. These i n c l u d e s t a r t i n g i n s t r u c t i o n s , i n s t r u c t i o n s f o r rough c u t s , i n s t r u c t i o n s f o r f i n a l c u t s , i n s t r u c t i o n s f o r t h r e a d i n g , i n s t r u c t i o n s f o r p a r t i n g - o f f , i n s t r u c t i o n s f o r t o o l Page 39 changes, and f i n a l l y i n s t r u c t i o n s f o r ending the program. Each of the above program s e c t i o n s i s p l a c e d i n a separate output f i l e when c r e a t e d , so that i t can l a t e r be recog n i z e d as a d i s t i n c t i n s t r u c t i o n set that begins and ends at the program datum. T h i s s e p a r a t i o n of i n s t r u c t i o n s i s necessary as a r e s u l t of the ORAC Lathe's l i m i t e d memory. I t enables e a s i e r assembly of the CNC i n s t r u c t i o n s i n t o the f i n a l ORAC program or programs. The number of CNC i n s t r u c t i o n s f i l e s c r e a t e d i s pl a c e d i n the output data f i l e "[ME258.LATHE.DAT]partname.FIL" or "[ME 258.LATHE.DAT] fi l e n a m e . F I L " again depending on the execution mode. The data f i l e c o n t a i n i n g the number of output f i l e s f o r the chess p i e c e example i s "[ME258.LATHE.DAT]QUEEN.FIL" and i s co n t a i n e d i n Appendix B. S i m i l a r l y , the f i l e f o r the ORACAP Master Part i s "[ME258.LATHE.DAT]MASTER.FIL" and i s contained i n Appendix D. The F o r t r a n program "GENERATE.FOR" uses the ".CAD" f i l e c r e a t e d by "DESIGN.FOR" to generate the CNC i n s t r u c t i o n s necessary to machine a p a r t . The program uses the f i l e "[ME258.LATHE.DAT]partname%.CAD" (where "%" i s the o p t i o n a l end s p e c i f i c a t i o n ) f o r input when i n " p a r t " mode and the d e f a u l t f i l e "[ME258.LATHE.DAT]filename.CAD" when i n " f i l e " mode. Output i s p l a c e d i n a number of f i l e s s p e c i f i e d by "[ME258.LATHE.CNC] partname%#.ANC" or "[ME258.LATHE.DAT]filename%#.ANC" (where "%" i s the end s p e c i f i c a t i o n and "#" i s the f i l e number), again depending on the execution mode. In both example cases there are f i v e ".ANC" f i l e s , namely "QUEEN1.ANC" through "QUEEN5.ANC" and "MASTER1.ANC" through "MASTER5.ANC". The ".ANC" f i l e s f o r the chess p i e c e example p a r t and the ORACAP Master Part example are c o n t a i n e d i n Appendix B.6 and D.6 r e s p e c t i v e l y . Page 40 The CNC i n s t r u c t i o n f i l e s produced are c r e a t e d as f o l l o w s : F i r s t , the program reads the m a t e r i a l type from the ".CAD" f i l e and then uses the MATERIAL subroutine to f i n d the a p p r o p r i a t e c u t t i n g parameters from the " m a t e r i a l " f i l e . T h i s f i l e c o n t a i n s a t a b l e of c u t t i n g , n o n - c u t t i n g and p a r t i n g - o f f f e e d r a t e s , and cut increments (depths) f o r rough c u t s , f i n a l c u t s , and f o r t h r e a d i n g . The program f i r s t looks i n the c u r r e n t d i r e c t o r y f o r the f i l e "MATERIAL.DAT". If i t i s not found i t uses the " m a t e r i a l " f i l e i n "[ME258.LATHE.DAT]". T h i s allows each user to have one or s e v e r a l d i s t i n c t " m a t e r i a l " t a b l e s . A new t a b l e can be c r e a t e d by copying the "[ME258.LATHE.DAT] MATERIAL.DAT" f i l e i n t o the d e s i r e d user's d i r e c t o r y . New m a t e r i a l s may be added to e i t h e r of these f i l e s by using the VAX's e d i t o r and f o l l o w i n g the e x i s t i n g format. The e x i s t i n g "MATERIAL.DAT" f i l e i s shown i n Appendix E. Note: The data i n t h i s f i l e has been determined by use of the ORAC Lathe. Attempts to determine the machining parameters d i r e c t l y from a m a t e r i a l ' s m a c h i n a b i l i t y or horsepower requirements were made, but these attempts produced ambiguous r e s u l t s . I t was f e l t that t h i s was a r e s u l t of the ORAC's small s i z e and low HP. Th e r e f o r e , a t a b l e of machining parameters was c r e a t e d to p r o v i d e the necessary data. A d d i t i o n s to t h i s t a b l e must be made based on use of the ORAC as w e l l as p r e v i o u s experience with other l a t h e s . Second, the i n s t r u c t i o n s f o r the beginning of the program are produced. These steps s p e c i f y the u n i t s and programming format to be used, and the l o c a t i o n of the program datum. Page 41 Incremental format was chosen, s i n c e do-loops are used, and do-loops r e q u i r e i n c r e m e n t a l programming. By keeping a l l programming incremental the format s p e c i f i c a t i o n i s o n l y r e q u i r e d once which saves s e v e r a l program steps. However t h i s means that i t w i l l be much harder to "read" the CNC i n s t r u c t i o n s produced. Since the user should never have to c o r r e c t or modify these i n s t r u c t i o n s , the advantages of using incremental format seemed to outweigh those of the a b s o l u t e format. M i l l i m e t e r u n i t s are used and the program datum l o c a t i o n i s s e l e c t e d based on the bar stock diameter and l e n g t h . Next, the program c r e a t e s the rough c u t s f o r the areas a c c e s s i b l e by the r i g h t - h a n d t o o l . An example of an area i n a c c e s s i b l e by a r i g h t - h a n d t o o l i s shown i n F i g u r e 11. As much as p o s s i b l e of an a r e a such as t h i s i s machined by the r i g h t - h a n d t o o l . The remainder i s l e f t f o r the l e f t - h a n d t o o l . I n i t i a l l y the f i n a l diameters of a l l s e c t i o n s are i n c r e a s e d by the amount to be taken o f f by two f i n i s h i n g c u t s as s p e c i f i e d f o r that m a t e r i a l i n the "MATERIAL.DAT" f i l e . The program then s t a r t s w i t h the l a s t s e c t i o n at the o u t s i d e diameter of the bar stock and proceeds back towards the f i r s t s e c t i o n u n t i l i t d e t e c t s a s e c t i o n which has a diameter g r e a t e r than the diameter being machined. I f no such s e c t i o n i s found the search i s continued at the next diameter. When a p r o t r u d i n g s e c t i o n i s found the program c r e a t e s the i n s t r u c t i o n s needed to machine to the p r e v i o u s diameter and i f a s e c t i o n with a s m a l l e r diameter e x i s t s on the other s i d e of the p r o t r u d i n g s e c t i o n i t d i v i d e s the o b j e c t i n t o two i n t e r v a l s which w i l l be c o n s i d e r e d s e p a r a t e l y . If new i n t e r v a l s are not necessary i t c o n t i n u e s with the next ORACAP O p t i o n #1 - D e s i g n I n a c c e s s i b l e by r i g h t - h a n d t o o l . I n a c c e s s i b l e b y l e f t - h a n d t o o l a n d r i g h t - h a n d t o o l . I n a c c e s s i b l e by l e f t h a n d - t o o l . PJ fD I 4^ F i g u r e 1 1 . E x a m p l e o f I n a c c e s s i b l e A r e a . Page 43 diameter. I f new i n t e r v a l s are r e q u i r e d the program s t a r t s with the l a s t s e c t i o n of the f i r s t new i n t e r v a l and searches as before u n t i l another p r o t r u d i n g s e c t i o n i s found. I t again c r e a t e s the i n s t r u c t i o n s t o machine to the p r e v i o u s diameter and i f necessary d i v i d e s the i n t e r v a l i n t o two new i n t e r v a l s as above. T h i s c o n t i n u e s u n t i l a l l s e c t i o n s of each i n t e r v a l and a l l i n t e r v a l s have been machined to w i t h i n the dimension of the m o d i f i e d f i n a l diameter. The two right-hand f i n i s h i n g c u t s are then produced. T h i s reduces most of the o b j e c t to the d e s i r e d f i n a l diameters with a s u r f a c e f i n i s h which i s dependent on the depth of the f i n a l cut increments. During the p r e v i o u s step the cuts necessary f o r any i n a c c e s s i b l e areas are determined and s t o r e d i n an a r r a y . Now the rough l e f t - h a n d c u t s are produced from t h i s i n f o r m a t i o n f o l l o w e d by the f i n i s h i n g c u t s f o r these a r e a s . The c u t s are produced i n t h i s order i n order to minimize the number of t o o l changes r e q u i r e d . F i n a l l y , CNC i n s t r u c t i o n s are produced f o r t h r e a d i n g and p a r t i n g - o f f i f r e q u i r e d . Note: The rough c u t s may be p l o t t e d as they are generated i n order to give the user v i s u a l c o n f i r m a t i o n of the t o o l path being produced. However, t h i s should not be c o n s i d e r e d to be s u f f i c i e n t proof of the c r e a t e d t o o l path and t h e r e f o r e the "PROVE" and "PLOT" options should s t i l l be used f o r v e r i f i c a t i o n of the f i n a l c u t t i n g paths. The p l o t s showing the rough c u t s f o r the example p a r t s are shown i n F i g u r e s 12 and 13. Note: Refer to the f o l l o w i n g s u b r o u t i n e s : S p e c i a l purpose s u b r o u t i n e s : BEGINPROG, ENDPROG, LEFTCUT, ORACAP O p t i o n #2 - G e n e r a t e ^ . r - \ F i g u r e 1 2 . Rough C u t s R e q u i r e d f o r E x a m p l e C h e s s P i e c e . ORACAP O p t i o n #2 - G e n e r a t e — F i g u r e 13 . Rough C u t s R e q u i r e d f o r ORACAP M a s t e r P a r t . Page 46 LEFTFIN, MAINCUT, MAINPLOT, MATERIAL, PARTOFF, RIGHTFIN, and THREADCUT. General purpose s u b r o u t i n e s : COMPARE, FILENAME, and PARASOLVE. 4.5.3 OPTIMIZE Option The "OPTIMIZE.FOR" program optimizes CNC i n s t r u c t i o n f i l e s to e l i m i n a t e machining i n s t r u c t i o n s which are unnecessary or i n e f f i c i e n t . T h i s i s important s i n c e t h i s can reduce the machining time r e q u i r e d to produce an o b j e c t as w e l l as the number of program steps that are needed to machine the o b j e c t . T h i s i s e s p e c i a l l y c r i t i c a l f o r the ORAC Lathe s i n c e programs are l i m i t e d to 99 pages ( s t e p s ) . Thus minimizing the number of pages may a l s o reduce the number of ORAC programs which must be assembled, proved, and down-loaded to the Lathe. In the above context, the terms optimize and minimize r e f e r to o b t a i n i n g an i n s t r u c t i o n f i l e with fewer machining i n s t r u c t i o n s , but not n e c e s s a r i l y the optimum or minimum number of machining i n s t r u c t i o n s . That i s , the term o p t i m i z e as used here r e f e r s to p r o g r e s s i n g towards an optimum s o l u t i o n , but no comparisons or t e s t s have been made to determine i f the s o l u t i o n obtained i s t r u l y o p t i m a l . The program optimizes the d e f a u l t f i l e "[ME258.LATHE.CNC] filename.ANC" and c r e a t e s a new f i l e "[ME258.LATHE.CNC] filename.BNC" i f the program i s running i n " f i l e " mode ( i . e . , the partname was not s p e c i f i e d ) . I f a partname was s p e c i f i e d ("part" mode), i t o p t i m i z e s the f i l e s "[ME258.LATHE.CNC]partname%#.ANC" and c r e a t e s the output f i l e s "[ME258.LATHE.CNC]partname%#.BNC" Page 47 where "%" i n d i c a t e s the end and "#" re p r e s e n t s the f i l e number. For the example chess p i e c e , the f i l e s "QUEEN1.ANC" through "QUEEN5.ANC" are optimized to give the f i l e s "QUEEN1.BNC" through "QUEEN5.BNC". An example ".BNC" f i l e i s contained i n Appendix B.7. For the ORACAP Master P a r t , the f i l e s "MASTER1.ANC" through "MASTER5.ANC" are optimized to give the f i l e s "MASTER1.BNC" through "MASTER5.BNC". Again, an example ".BNC" f i l e i s contained i n Appendix D.7. The number of input f i l e s i s contained in the f i l e "[ME2 58.LATHE.DAT]partname.FIL" or "[ME258.LATHE.DAT] filen a m e . F I L " . T h i s w i l l a l s o be the number of output f i l e s . The program o p t i m i z e s i n s t r u c t i o n sequences by examining groups of up to f i v e CNC p o i n t - t o - p o i n t (PTP) i n s t r u c t i o n s at a time. I t f i r s t reads i n i n s t r u c t i o n s u n t i l four c o n s e c u t i v e non-zero PTP i n s t r u c t i o n s are found. (PTP i n s t r u c t i o n s with x = 0.0 and z = 0.0 are i g n o r e d ) . I t then checks these i n s t r u c t i o n s f o r two equal and op p o s i t e movements along the x - a x i s . A p o s i t i v e motion followed by an equal negative motion w i l l be e l i m i n a t e d . S i m i l a r l y , other simple i n e f f i c i e n c i e s , and more complex ones, such as loops, can be e l i m i n a t e d or s i m p l i f i e d by combining them with other i n s t r u c t i o n s , before w r i t i n g the new i n s t r u c t i o n s to the output f i l e . For example, a p o s i t i v e z-motion f o l l o w e d by a p o s i t i v e x-motion, a negative z-motion, a negative x-motion and another negative z-motion, may be s i m p l i f i e d to three i n s t r u c t i o n s . That i s , a p o s i t i v e z'-motion f o l l o w e d by a negative x-motion combined with a negative z-motion and f o l l o w e d by a negative z-motion. In other words, the second, t h i r d and f o u r t h i n s t r u c t i o n s may be r e p l a c e d by one i n s t r u c t i o n . Page 48 The number of steps and storage space saved can be seen by comparing the ".ANC" and ".BNC" f i l e data i n the summary t a b l e s i n Appendix A and Appendix C. For the chess p i e c e example, the number of CNC i n s t r u c t i o n s i s reduced from 203 to 160. For the ORACAP Master P a r t , the number of i n s t r u c t i o n s i s reduced from 151 to 113. T h i s shows that the "OPTIMIZE" op t i o n r e s u l t s i n the r e d u c t i o n of program steps by about 25%. In these examples the f i n a l number of ORAC programs i s not a f f e c t e d by the o p t i m i z a t i o n . Note: Refer to the f o l l o w i n g s u b r o u t i n e s : General purpose s u b r o u t i n e s : COMPARE, FILENAME, and LENGTH. 4.5.4 ASSEMBLE Option The F o r t r a n program "ASSEMBLE.FOR" assembles CNC i n s t r u c t i o n f i l e s i n t o ORAC program f i l e s . The program reads the CNC i n s t r u c t i o n s c r e a t e d by the optimize or w r i t e program and assembles them i n t o ORAC programs. When exec u t i n g i n " p a r t " mode, the program determines the number of f i l e s , the number of ends, and whether automatic s i g n a l g e n e r a t i o n i s r e q u i r e d , from the a p p r o p r i a t e data f i l e s . I t then uses the d e f a u l t f i l e s "[ME258.LATHE.CNC]partname%#.BNC" f o r input. When exec u t i n g i n " f i l e " mode, i t prompts to determine i f automatic s i g n a l g e n e r a t i o n i s wanted and assumes that the number of ends and the number of f i l e s are both one. In t h i s case "[ME258.LATHE.CNC] filename.BNC" i s the d e f a u l t input f i l e . The program assembles the ORAC program by f i r s t d e t e r m i n i n g the f u n c t i o n f o r an i n s t r u c t i o n and then reading the a p p r o p r i a t e parameters a s s o c i a t e d with that f u n c t i o n . I t then Page 49 c r e a t e s an ORAC page from t h i s d ata. The ORAC page c o n t a i n s statements, such as x and z d i s t a n c e s , spindle-speeds,and f e e d r a t e s , as w e l l as the c o n t r o l c h a r a c t e r s necessary f o r fo r m a t t i n g . For example, the s t a r t of t e x t (STX) c h a r a c t e r "B (ASCII 2) i s used to begin a page. The c r e a t e d page w i l l c l o s e l y resemble one c r e a t e d using the keypad of the l a t h e , except f o r the i n c l u s i o n or e x c l u s i o n of a few unimportant spaces. If automatic s i g n a l g e n e r a t i o n has been chosen, i t w i l l p l a c e the a p p r o p r i a t e a u x i l i a r y input and output s i g n a l s i n f r o n t of t o o l change i n s t r u c t i o n s and i n f r o n t of the end i n s t r u c t i o n . These s i g n a l s w i l l i n d i c a t e the d e s i r e d t o o l change, or the end of the program, to the e x t e r n a l micro-processor which w i l l be used to c o n t r o l the l a t h e . The output i s p l a c e d i n the "[ME258.LATHE.CNC] partname%#.CNC" f i l e s or the "[ME258.LATHE.CNC]filename.CNC f i l e again depending on the ex e c u t i o n mode. Note: These f i l e s can be p r i n t e d i n a compressed format by using the command procedure "PRCNC.COM" which can be executed by t y p i n g "PRCNC". T h i s executes the F o r t r a n program "PRCNC.FOR", which compresses the entered f i l e , and then p r i n t s and d e l e t e s the compressed f i l e . I f the program i s e x e c u t i n g i n " p a r t " mode the program may have a number of input f i l e s and a number of output f i l e s . The CNC i n s t r u c t i o n s are read from a l l input f i l e s c o n s e c u t i v e l y u n t i l a l l f i l e s have been exhausted. The ORAC pages are pl a c e d i n the output f i l e s i n groups, as r e c e i v e d from the input f i l e s , u n t i l the contents of an input f i l e i s too l a r g e to be p l a c e d i n the c u r r e n t output f i l e . I f t h i s occurs, the a u x i l i a r y output Page 50 s i g n a l s f o r ending ( i f d e s i r e d ) and an end statement page are c r e a t e d , the output f i l e i s c l o s e d , and a new output f i l e i s opened. The f i r s t three ORAC i n s t r u c t i o n s which have been s t o r e d p r e v i o u s l y i n the temporary f i l e "[ME258.LATHE.DAT]START.TMP" are then w r i t t e n to the new output f i l e . F i l e c l o s u r e and c r e a t i o n c o n t i n u e s i n t h i s manner u n t i l a l l input f i l e s have been processed. F i n a l l y , the number of output f i l e s c r e a t e d i s s t o r e d i n the f i l e "[ME258.LATHE.DAT]partname.OUT" or "[ME258.LATHE.DAT] filename.OUT". For the examples used, the f i v e ".BNC" f i l e s are assembled i n t o two ".CNC" f i l e s , namely "QUEEN 1.CNC" and "QUEEN2.CNC" for' the chess p i e c e example and "MASTER1.CNC" and "MASTER2.CNC" f o r ORACAP Master P a r t . The f i r s t t h ree pages of "QUEEN 1.CNC" and "MASTER1.CNC" and the f i l e s "QUEEN.OUT" and "MASTER.OUT" are contained i n Appendix B and D. Note: Refer to the f o l l o w i n g s u b r o u t i n e s : General purpose s u b r o u t i n e s : COMPARE, FILENAME, FILELEN, and LENGTH. 4.5.5 PROVE Option Once an ORAC program has been c r e a t e d , i t i s d e s i r e a b l e to "PROVE" the program by p l o t t i n g the t o o l path on paper. T h i s enables the user to detect e r r o r s without damaging t o o l s or the workpiece. The p r o v i n g of ORAC programs was more complicated than expected due to the ORAC's use of sub r o u t i n e s and do-loops. Within the subroutines, the format, u n i t s , t o o l number, f e e d r a t e , s p i n d l e - s p e e d , e t c . may be changed, thus a f f e c t i n g the o p e r a t i o n of the main ORAC program. T h e r e f o r e each "page" of the "PROVE" Page 51 program must be executed i n the same order as the ORAC program. Two methods of a c h i e v i n g t h i s were c o n s i d e r e d : 1) C r e a t i o n of a F o r t r a n program which would resemble the ORAC program but p l o t the t o o l path on a p l o t t e r i n s t e a d of machining i t . 2) Reading, backspacing and r e - r e a d i n g the a p p r o p r i a t e i n s t r u c t i o n s , as necessary, while executing the "PROVE" program. The f i r s t option would r e q u i r e computer time to compile, l i n k and run the F o r t r a n program, while the second op t i o n would r e q u i r e time to execute the a d d i t i o n a l " d i s k " o p e r a t i o n s . The f i r s t of the two options was s e l e c t e d s i n c e t h i s would allow the graphs to be reproduced by simply rerunning the c r e a t e d programs. T h e r e f o r e , the "PROVE" Option runs the F o r t r a n program "PROVE.FOR" which c r e a t e s a F o r t r a n p l o t t i n g program which mimics the a c t i o n s of the ORAC machining program. The "PROVE" program can operate from e i t h e r of the ORACAP's execution modes. "P a r t " mode i s used to prove ORAC programs which have been designed, generated, optimized, and assembled by the corresponding o p t i o n s of ORACAP. " F i l e " mode i s used to prove ORAC programs which may not have been c r e a t e d i n t h i s manner and t h e r e f o r e , may not have the a s s o c i a t e d data f i l e s . For example, " f i l e " mode would be used to prove programs w r i t t e n on the l a t h e i t s e l f , or generated by the "WRITE" and "ASSEMBLE" o p t i o n s . The input f i l e s and output f i l e s ( i . e . the c r e a t e d F o r t r a n programs) used i n " p a r t " mode are "[ME258.LATHE.CNC] partname%#.CNC" and "[ME258.LATHE.PLT]partname%#.P$$" where "%" Page 52 i s a l e t t e r i n d i c a t i n g the end of the p a r t , "#" i s a d i g i t i n d i c a t i n g the f i l e number, and "$$" i s the two l e t t e r code f o r the t e r m i n a l type. The number of input f i l e s i s co n t a i n e d i n the f i l e "[ME258.LATHE.DAT]partname%.OUT". " F i l e " mode uses the f i l e "[ME258.LATHE.CNC]filename.CNC" f o r input and "[ME258.LATHE.PLT] filename.P$$" f o r output. The "PROVE" program generates p l o t t i n g i n s t r u c t i o n s f o r e i t h e r the HP P l o t t e r , TX p l o t t e r , or Retro-Graphics Terminals i n 4010 or 4027 mode, as s p e c i f i e d i n the f i l e "TERMINAL.TMP", c r e a t e d by the ORACAP program. For each ORAC program page, a set of i n s t r u c t i o n s i s produced to show the t o o l motion a s s o c i a t e d with the program ste p . The r e s u l t i n g F o r t r a n program w i l l c l o s e l y resemble the o r i g i n a l ORAC program i n both s t r u c t u r e and program flow. The F o r t r a n programs f o r the examples are "QUEEN 1.PTX", "QUEEN2.PTX", "MASTER1.PTX", and "MASTER2.PTX". The f i r s t t h ree pages of "QUEEN 1.PTX" i s c o n t a i n e d i n Appendix B.9 while the f i r s t three pages of "MASTER1.PTX" are contained i n Appendix D.9. Note: Refer to the f o l l o w i n g s u b r o u t i n e s : S p e c i a l purpose s u b r o u t i n e s : FORMAT General purpose s u b r o u t i n e s : COMPARE, CONVERT, and FILENAME. 4.5.6 PLOT Option The "PLOT" op t i o n i s used t o compile, l i n k , and execute the F o r t r a n program c r e a t e d by the "PROVE" o p t i o n . The o p t i o n i s not a F o r t r a n program, but i s a command procedure, c o n t a i n e d i n the f i l e "[ME258.LATHE.COM]PLOT.COM". The program compiles and l i n k s the F o r t r a n program "[ME258.LATHE.PLT]partname%#.P$$" when Page 53 run i n " p a r t " mode and the program "[ME258.LATHE.PLT] filename.P$$" when run i n " f i l e " mode. When the ".EXE" f i l e c r e a t e d i s executed, the t o o l motion w i l l be p l o t t e d . F i g u r e s 14, 15, 16 and 17 c o n t a i n the " p r o o f s " of the ORAC programs f o r the chess p i e c e example. F i g u r e 14 and 15 c o n t a i n s the rough cuts f o r the r i g h t hand t o o l , while F i g u r e 16 and 17 c o n t a i n s the f i n i s h i n g r i g h t - h a n d c u t s , the rough l e f t - h a n d c u t s , and the f i n i s h i n g l e f t - h a n d c u t s . In order to f u r t h e r i l l u s t r a t e the use of the "PROVE" and "PLOT" o p t i o n s , a- copy of "MASTER1.CNC" has been m o d i f i e d by changing one z-value i n a P o i n t - t o - P o i n t i n s t r u c t i o n i n order to c r e a t e a d e l i b e r a t e e r r o r . When these o p t i o n s are executed, the p l o t produces a t o o l p a t h (shown i n F i g u r e 18) which i n d i c a t e s to the user t h a t the part w i l l not be machined as d e s i r e d , and thus prevents damage to the t o o l or l a t h e . The "PLOT" o p t i o n a l s o c a l c u l a t e s an estimate of the machining time, based on the f e e d r a t e s and d i s t a n c e t r a v e l l e d by the t o o l . T h i s f i g u r e i s d i s p l a y e d a f t e r p l o t t i n g . Compiling and l i n k i n g of the F o r t r a n code produced by the "PLOT" Option may r e q u i r e .some time d u r i n g heavy VAX usage. -i T h e r e f o r e , i t i s important that unnecessary compile o p t i o n s , such as " / l i s t " , are not used s i n c e t h i s w i l l c o n s i d e r a b l y i n c r e a s e the time r e q u i r e d f o r these o p e r a t i o n s . Note: Refer to the f o l l o w i n g s u b r o u t i n e s : S p e c i a l purpose s u b r o u t i n e s : CHANGEHP, CHANGERG, FRAMEHP, and FRAMERG. ORACAP O p t i o n #6 - P l o t -- = T V — 1 — 1 - 1 = -i i i i . 1 • 1 ! 1 1 1 1 F i g u r e 1 4 . P r o o f o f Rough C u t s f o r E x a m p l e C h e s s P i e c e . ORACAP O p t i o n #6 - P l o t J ~ F i g u r e 1 5 . P r o o f o f Rough C u t s f o r ORACAP M a s t e r P a r t . ORACAP O p t i o n #6 - P l o t : L_ 1 JJ .. F i g u r e 16 . P r o o f o f R e m a i n i n g C u t s f o r E x a m p l e C h e s s P i e c e . ORACAP O p t i o n #6 - P l o t F i g u r e 17 . P r o o f o f R e m a i n i n g C u t s f o r ORACAP M a s t e r P a r t . L Q (D Ui ORACAP O p t i o n #6 - P l o t • = J-i= — ! 1 F i g u r e 1 8 . P r o o f o f ORACAP M a s t e r P a r t w i t h E r r o r s . Page 59 4.5.7 VAXTOORAC Option Once the ORAC program has been proved, i t can be down-loaded, using the F o r t r a n program "VAXTOORAC.FOR". T h i s program t r a n s f e r s the contents of the input f i l e "[ME258.LATHE.CNC]partname.CNC" or "[ME258.LATHE.CNC] filename.CNC" to the t e r m i n a l l i n e a s s o c i a t e d with the l o g i c a l name " l a t h e " . The ORAC program i s passed one c h a r a c t e r at at time to the l a t h e , along the RS232C l i n k , using the VAX's QIOW f u n c t i o n . The t r a n s f e r i s ended by the EOT (end of tr a n s m i s s i o n ) control- c h a r a c t e r ~D. Note: Refer to the f o l l o w i n g s u b r o u t i n e s : General purpose s u b r o u t i n e s : COMPARE, and FILENAME 4.5.8 ORACTOVAX Option If a program e x i s t s i n the ORAC Lathe's memory, i t can be t r a n s f e r r e d t o a computer f i l e by use of the F o r t r a n program "ORACTOVAX.FOR". T h i s program uses the VAX's QIOW f u n c t i o n to read ASCII c h a r a c t e r s p l a c e d on the t e r m i n a l l i n e a s s i g n e d to the l o g i c a l name " l a t h e " . The c h a r a c t e r s are t r a n s f e r r e d one by one u n t i l the EOT (end of t r a n s m i s s i o n ) c o n t r o l c h a r a c t e r "D i s found. Once read the c h a r a c t e r s are pl a c e d i n the f i l e "[ME258.LATHE.CNC]partname.CNC" i f " p a r t " mode i s being used, and in the f i l e "[ME258.LATHE.CNC]filename.CNC" i f " f i l e " mode i s being used. Note: Refer to the f o l l o w i n g s u b r o u t i n e s : General purpose s u b r o u t i n e s : COMPARE, and FILENAME Page 60 4.5.9 COMPRESS Option Once an ORAC program has been w r i t t e n by "WRITE.FOR" (option 10) or up-loaded by "ORACTOVAX.FOR" ( o p t i o n 8), i t may be d e s i r a b l e t o have the ORAC program compressed i n t o CNC i n s t r u c t i o n s . T h i s can be accomplished by the F o r t r a n program "COMPRESS.FOR". The "COMPRESS" Option uses the input f i l e "[ME258.LATHE.CNC]partname.CNC" and the output f i l e "[ME258.LATHE.CNC]partname.BNC" i f i n " p a r t " mode and "[ME2 58.LATHE.CNC]f ilename.CNC" and "[ME258.LATHE.CNC] filename.BNC" i f i n " f i l e " mode. Note: Refer to the f o l l o w i n g s u b r o u t i n e s : S p e c i a l purpose s u b r o u t i n e s : STRING and FORMAT General purpose s u b r o u t i n e s : COMPARE, CONVERT, and FILENAME 4.5.10 WRITE Option In order to enable e a s i e r input of ORAC programs, w r i t t e n by a user without the use of ORACAP, "WRITE.FOR" was w r i t t e n . T h i s program c r e a t e s the ORAC program pages i n a way which i s s i m i l a r t o program entry u s i n g the keypad of the l a t h e , and st o r e s the i n s t r u c t i o n s i n the f i l e "[ME258.LATHE.CNC] partname.CNC" or "[ME258.LATHE.CNC]filename.CNC" again depending on the e x e c u t i o n mode. The program a l s o uses input s u b r o u t i n e s which d i s p l a y the prev i o u s v a l u e of a v a r i a b l e , and all o w s that value to be re-en t e r e d by p r e s s i n g the r e t u r n key. Note: Refer to the f o l l o w i n g s u b r o u t i n e s : General purpose s u b r o u t i n e s : BYTEINPUT, COMPARE, FILENAME, Page 61 INTTNPUT, and REAL INPUT. 4.6 D e s c r i p t i o n of ORACAP Sub-Programs The F o r t r a n code f o r the subrouti n e s c a l l e d by the ORACAP modules are contained i n the d i r e c t o r y "[ME258.LATHE.SUB]". L i s t i n g s of the F o r t r a n code can be found i n Appendix F on the en c l o s e d m i c r o f i c h e . The compiled o b j e c t f i l e s are con t a i n e d i n the l i b r a r y f i l e "[ME258.LIBRARY]LATHELIB.OLB". A short d e s c r i p t i o n s of these subroutines f o l l o w : ADE2NB* : Used to convert an a s c i i s t r i n g ( i . e . a byte v a r i a b l e ) to a r e a l number. ARCMID : Used to determine the "midpoint" of an a r c . That i s , a p o i n t on the arc which i s e q u i d i s t a n t from the endpoints. BEGINPROG : Produces the s t a r t i n g i n s t r u c t i o n s of an ORAC program. BYTEINPUT : Used to d i s p l a y a prompt and the p r e v i o u s value of a byte v a r i a b l e , so that the value may be re- e n t e r e d by p r e s s i n g the r e t u r n key. CENTERCC : Uses the endpoints and r a d i u s of an arc to determine the center of the a r c , and the angles which d e f i n e the s t a r t and end of a concave a r c . CENTERCV : Uses the endpoints and r a d i u s of an arc to determine the center of the a r c , and the angles which d e f i n e the s t a r t and end of a convex a r c . CHANGEHP : Changes p l o t t i n g parameters (eg. pen number) of the HP gr a p h i c s language i n order to i n d i c a t e d i f f e r e n t f e e d r a t e s and t o o l s . Page 62 Changes p l o t t i n g parameters (eg. l i n e type) of the IGL g r a p h i c s language i n order to i n d i c a t e d i f f e r e n t f e e d r a t e s and t o o l s . Checks s e c t i o n s of a designed o b j e c t f o r i n a c c e s s i b l e areas ( i . e . areas which can not be machined with the present ORAC t o o l s ) . Compares two s t r i n g s and retur n s a l o g i c a l value i n d i c a t i n g i f they are equal. Determines the i n t e g e r value of a byte v a r i a b l e . Produces the ending i n s t r u c t i o n s of an ORAC program. Determines the l e n g t h of a s p e c i f i e d f i l e . C o n s t r u c t s a complete f i l e s p e c i f i c a t i o n from s u p p l i e d and d e f a u l t i n f o r m a t i o n . Removes and adds blanks of an ORAC program i n order to produce an ORAC program i n a standard format. Used to set up p l o t t i n g on the HP 4221 p l o t t e r . I n i t i a l i z e s p l o t t i n g , draws a frame, the chuck of the l a t h e , and the workpiece. Used to set up p l o t t i n g on Te k t r o n i x t e r m i n a l s using IGL. I n i t i a l i z e s p l o t t i n g , draws a frame, the chuck of the l a t h e , and the workpiece. F i n d s the i n t e r s e c t i o n of the c u t t i n g path and a concave c i r c u l a r s e c t i o n . F i n d s the i n t e r s e c t i o n of the c u t t i n g path and a convex c i r c u l a r s e c t i o n . Used to d i s p l a y a prompt and the p r e v i o u s value P a g e 6 3 INTLINE : LEFTCUT : LEFTFIN : LEFTPLOT : LENGTH* : MAINCUT : MAINPLOT : MATERIAL : PARASOLVE* PARMID : PARTOFF : REALINPUT of an i n t e g e r v a r i a b l e , so t h a t the v a l u e may be r e - e n t e r e d by p r e s s i n g the r e t u r n key. F i n d s the i n t e r s e c t i o n of the c u t t i n g p a t h and a l i n e a r s e c t i o n . Produces i n s t r u c t i o n s , f o r rough c u t s , f o r a r e a s a c c e s s i b l e by a l e f t - h a n d c u t t i n g t o o l . Produces i n s t r u c t i o n s , f o r f i n a l c u t s , f o r a r e a s a c c e s s i b l e by a l e f t - h a n d c u t t i n g t o o l . Produces p l o t t i n g i n s t r u c t i o n s t o show t o o l p a t h b e i n g c r e a t e d by a l e f t - h a n d c u t t i n g t o o l . D etermines the l e n g t h of a byte v a r i a b l e . Determines the c u t t i n g p a t h f o r the main rough c u t s n e c e s s a r y t o o u t l i n e the o b j e c t . P l o t s the geo m e t r i c shape of the o b j e c t d u r i n g program e x e c u t i o n . Determines f e e d r a t e s and c u t t i n g depths a s s o c i a t e d w i t h a p a r t i c u l a r m a t e r i a l from a u s e r s u p p l i e d t a b l e . D etermines the e q u a t i o n of a p a r a b o l a from a s e t of t h r e e p o i n t s . Determines the " m i d p o i n t " of a p a r a b o l a . T h i s i s a p o i n t on the p a r a b o l a which has the x v a l u e h a l f - w a y between the x v a l u e s of the e n d p o i n t s , or the z v a l u e h a l f - w a y between the z v a l u e s of the e n d p o i n t s . Produces i n s t r u c t i o n s f o r p a r t i n g o f f an o b j e c t a f t e r m a c h i n i n g . Used t o d i s p l a y a prompt and the p r e v i o u s v a l u e Page 64 RIGHTCUT : RIGHTFIN : RIGHT-PLOT SPINSPEED THRDSPEED THREADCUT TOOLSIG : Note of a r e a l v a r i a b l e , so that the value may be r e - e n t e r e d by p r e s s i n g the r e t u r n key. Produces i n s t r u c t i o n s , f o r rough c u t s , f o r areas a c c e s s i b l e by a r i g h t - h a n d c u t t i n g t o o l . Produces i n s t r u c t i o n s , f o r f i n a l c u t s , f o r areas a c c e s s i b l e by a r i g h t - h a n d c u t t i n g t o o l . Produces p l o t t i n g i n s t r u c t i o n s to show t o o l path being c r e a t e d by a r i g h t - h a n d c u t t i n g t o o l . Determines s p i n d l e - s p e e d f o r c u t t i n g based on the diameter being c u t . Determines s p i n d l e - s p e e d f o r c u t t i n g threads based on the p i t c h of the t h r e a d . Produces i n s t r u c t i o n s f o r c u t t i n g threads. Produces i n s t r u c t i o n s f o r a u x i l i a r y input and output r e q u i r e d f o r t o o l changer c o n t r o l and end of program c o n t r o l . Subroutines marked with an a s t e r i s k (*) were not w r i t t e n by the author of t h i s t h e s i s . Page 65 CHAPTER 5 Co n c l u s i o n 5.1 C o n t r i b u t i o n s of ORACAP In a d d i t i o n to p r o v i d i n g the users of the ORAC Lathe with a package which allows them t o design, generate, optimize, assemble, prove, down-load, up-load, compress and w r i t e programs fo r the ORAC Lathe, ORACAP presen t s a noval method of d e f i n i n g an ob j e c t and producing the r e q u i r e d machining i n s t r u c t i o n s from that i n f o r m a t i o n . I t a l s o demonstrates a method of w r i t i n g m u l t i p l e programs f o r a CNC machine t o o l which does not have s u f f i c i e n t memory f o r a l l machining to be performed by one program. As a r e s u l t of the modular nature of ORACAP, p a r t s of i t may be used i n c o n j u n c t i o n with other CAD or CAD/CAM packages pr o v i d e d the necessary software f o r such i n t e r a c t i o n i s w r i t t e n . For example, i t may be d e s i r a b l e to use a more v e r s a t i l e CAD package. The i n f o r m a t i o n produced by such a package c o u l d be used by the GENERATE o p t i o n of ORACAP, pro v i d e d the r e q u i r e d i n f o r m a t i o n i s prepared i n the same format as produced by the DESIGN o p t i o n . Or, i f i t i s d e s i r a b l e to use only the ASSEMBLE op t i o n to assemble the ORAC programs from i n s t r u c t i o n s produced by another CAD/CAM package, the CNC i n s t r u c t i o n f i l e would have to be i n a form usable by the ASSEMBLE program. F i n a l l y i t may be d e s i r a b l e to use ORACAP to w r i t e programs f o r another l a t h e . In that case, the ASSEMBLE o p t i o n c o u l d be r e p l a c e d or m o d i f i e d to produce programs i n the form r e q u i r e d by that l a t h e . Page 66 5.2 Comparison of V a r i o u s Manufacturing Methods The ORACAP program w i l l allow design and manufacture of small e x t e r n a l l y machinable o b j e c t s i n much l e s s time than p o s s i b l e using the e x i s t i n g methods a v a i l a b l e i n the Mechanical En g i n e e r i n g Department. For i n s t a n c e , the chess p i e c e example used throughout t h i s paper, c o u l d be manufactured i n s e v e r a l ways: 1) By an experienced machinist on a manual l a t h e . 2) By use of the unmodified ORAC CNC Lathe by an experienced o p e r a t o r . 3) By use of the ORAC CNC Lathe with m o d i f i c a t i o n s and u s i n g the ORACAP software. 4) By use of the ORAC CNC Lathe with m o d i f i c a t i o n s , using the ORACAP software, under e x t e r n a l micro-processor c o n t r o l . The f o l l o w i n g t a b l e s l i s t necessary o p e r a t i o n s and estimates of time requirements f o r each of the above c a s e s . Table I i s based on a batch s i z e of one, while Table II i s based on a batch s i z e of 25. The time estimates f o r manual machining are based on the time r e q u i r e d to a c t u a l l y machine one chess p i e c e . The time r e q u i r e d f o r machining 25 p i e c e s i s based on the time r e q u i r e d to machine a form t o o l which c o u l d be r e p e a t e d l y used to machine the p a r t s . The time requirements f o r cases 2, 3, and 4 are based on p r i o r use of the l a t h e . Note: The t a b l e s do not i n c l u d e the time r e q u i r e d f o r p a r t i n g - o f f of the f i n a l o b j e c t , s i n c e the ORAC i s not capable of t h i s f u n c t i o n . Page 67 Table I. Production Times f o r Batch S i z e of 1 Case 1 Case 2 Case 3 Case 4 Programming time - 2 hrs 0.2 hrs 0.2 hrs Debugging time: - 2 hrs 0.1 hrs 0.1 hrs Setup time: - 0. 2 hrs 0.2 hrs 0.1 hrs Machining time: 4 hrs 0. 2 hrs 0.2 hrs 0.2 hrs T o t a l : 4 hrs 4. 4 hrs 0.7 hrs 0.6 hrs Table I I . Product ion Times f o r Batch S i z e of 25 Case 1 Case 2 Case ! 3 Case i 4 Programming time: - 0. 08 hrs 0.008 hrs 0 .008 hrs Debugging time: - 0. 08 hrs 0.004 hrs 0 .004 hrs Setup time: 0.08 hrs 0. 2 hr s 0.2 hrs 0 .004 hrs Machining time: 0.5 hrs 0. 2 hrs 0.2 hrs I D.2 hrs T o t a l per p a r t : 0.58 hrs 0. 56 hrs 0.412 hrs 0 .216 hrs These t a b l e s show that with i n c r e a s e d use of Computer Aided Programming and Computer Aided P r o d u c t i o n , i t i s p o s s i b l e to achieve s u b s t a n t i a l savings i n time and expenditure. 5.3 Uses of ORACAP Package The ORACAP Package i s b e n e f i c i a l i n s e v e r a l ways. F i r s t , Page 68 i t may be used f o r design and machining with s u b s t a n t i a l savings i n time and expenditure as demonstrated above. Second, v a r i o u s o p t i o n s may be used f o r e d u c a t i o n a l l a b o r a t o r i e s as f o l l o w s : 1) The "WRITE" opt i o n may be used t o input CNC i n s t r u c t i o n s which have been manually w r i t t e n by f o l l o w i n g the i n s t r u c t i o n s i n the ORAC Programming I n s t r u c t i o n and Maintenance Manual [ 4 ] . T h i s allows s e v e r a l users to enter CNC i n s t r u c t i o n s i n t o the computer at the same time. 2) The "ASSEMBLE" o p t i o n may be used to assemble the CNC i n s t r u c t i o n s produced i n ( 1 ) i n t o the ORAC program format used by the l a t h e . 3) The "PROVE" and "PLOT" o p t i o n s may be used to prove the program on a g r a p h i c s t e r m i n a l or p l o t t e r p r i o r to ex e c u t i o n on the l a t h e . 4) The "VAXTOORAC" o p t i o n may be used to t r a n s f e r a program from the VAX computer to the ORAC l a t h e . 5) The "ORACTOVAX" o p t i o n may be used to t r a n s f e r a program from the ORAC l a t h e t o the VAX computer. Thus the ORACAP package p r o v i d e s a v a l u a b l e t o o l f o r the i n t r o d u c t i o n of Computer Aided Design / Computer Aided Manufacturing to students i n a l a b o r a t o r y environment. Page 69 REFERENCES P u s z t a i , Joseph and Michael Sava, Computer Numerical  C o n t r o l , Reston P u b l i s h i n g Company, Inc., Reston, V i r g i n i a , 1983. Groover, M i k e l l P., Automation, P r o d u c t i o n Systems, and  Computer-Aided Manufacturing, P r e n t i c e H a l l , Inc., Englewood C l i f f s , New J e r s e y , 1980. Koren, Yoram, Computer C o n t r o l of Manufacturing  Systems, McGraw-Hill Book Company, New York, 1983. ORAC Programming I n s t r u c t i o n and Maintenance Manual, Denford Machine T o o l s L i m i t e d , Brighouse, West Y o r k s h i r e , 1983. Page 70 BIBLIOGRAPHY El-Midany, T.T., H. E s k i c i o g l u , and B.J. Davies, " I n t e r a c t i v e Operation Sequence Planning f o r Turned P a r t s (AUTOCAP) and N o n - r o t a t i o n a l P a r t s (ICAPP)," Seminar on Computer Aided Design i n Industry, Belgrade, Y u g o s l a v i a , Sept. 1980. Groover, M i k e l l P., Automation, Production Systems, and Computer  Aided Manufacturing, P r e n t i c e H a l l , Inc., Englewood C l i f f s , New J e r s e y , 1980. Hannam, R.G. and J.C.S. Plummer, "Capturing P r o d u c t i o n E n g i n e e r i n g P r a c t i c e w i t h i n a CADCAM System, " I n t e r n a t i o n a l J o u r n a l of P r o d u c t i o n Research, 1984, vol.22, no. 2, pp. 267-280. Koren, Yoram, Computer C o n t r o l of Manufacturing Systems, McGraw-Hill Book Company, New York, 1983. P u s z t a i , Joseph and Michael Sava, Computer Numerical C o n t r o l , Reston P u b l i s h i n g Company, Inc., Reston, V i r g i n i a , 1983. Roberts, Arthur D. and R i c h a r d C. P r e n t i c e , Programming f o r  Numerical C o n t r o l Machines, 2nd ed., McGraw-Hill, Inc., New York, 1978. Page 71 S t e u d e l , Harold J . , "Computer-Aided Process P l a n n i n g : Past, Present and Future," I n t e r n a t i o n a l J o u r n a l of Pro d u c t i o n Research, 1984, v o l . 22, no. 2, pp. 253-256. Page 72 APPENDIX A ORACAP Chess Piece Example Table Table I I I . F i l e S i z e s f o r Chess P i e c e Example Option Filename ORAC Pages S i z e (blocks) Design QUEEN.CAD 2 QUEEN.END 1 QUEEN.FIL 1 QUEEN.OUT 1 QUEEN.SIZ 1 t o t a l 5 6 Generate QUEEN 1 .ANC 1 24 1 0 QUEEN2.ANC 25 3 QUEEN3.ANC 0 0 QUEEN4.ANC 36 3 QUEEN5.ANC 18 2 t o t a l 5 203 18 Optimize QUEEN1.BNC 91 8 QUEEN2.BNC 25 3 QUEEN3.BNC 0 0 QUEEN4.BNC 26 3 QUEEN5.BNC 18 2 t o t a l 5 1 60 1 6 Assemble QUEEN1.CNC 92 23 QUEEN2.CNC 72 18 t o t a l 2 1 64 41 Prove QUEEN1.PTX 92 101 QUEEN2.PTX 72 97 t o t a l 2 1 64 198 Page APPENDIX B ORACAP Chess Piece Example F i l e s B.1 [ME258.LATHE.DAT]QUEEN.CAD aluminum 1 1 0 .000 2 3 2 .000 3 2 4 .000 4 2 1 4 .000 5 3 34 .000 6 3 36 .000 7 1 38 .600 8 3 41 .000 9 3 41 .800 10 2 42 .700 1 1 1 50 .400 1 2 3 53 .500 12 PART= 25.400 24.000 25.000 16.200 7.500 17.500 10.200 10.200 11.500 10.200 16.200 4.000 F AUTO= F 2.000 4.000 14.000 34.000 36.000 38.600 41.000 41.800 42.700 50.400 53.500 56.000 INCH= F 2.000 10.000 30.000 5.000 5.000 2.000 2.000 10.000 4.000 matl, s e c t , p1 ,d1 s e c t , p1 ,d1 s e c t , p1 ,d1 s e c t , p1 ,d1 s e c t , p1 ,d1 s e c t , p1 ,d1 s e c t , p1 ,d1 s e c t , P1 ,d1 s e c t , p1 ,d1 s e c t , pi ,d1 s e c t , pi ,dl s e c t , p1 ,d1 , n s e c t , f l a g s r-type 1,p2,d2 ,type 1,p2,d2,rad rtype 1,p2,d2,rad ,type 1,p2,d2,rad , type 1,p2,d2,rad .type 1,p2,d2,rad rtype 1,p2,d2 rtype 1,p2,d2,rad rtype 1,p2,d2,rad ,type 1,p2,d2,rad rtype 1,p2,d2 rtype 1,p2,d2,rad 25.400 25.000 16.200 7.500 13.500 10.200 10.200 11.500 10.200 16.200 12.900 1 .000 Where: matl i s the m a t e r i a l nsect i s the number of s e c t i o n s f l a g s are f l a g s i n d i c a t i n g o p t i o n s : PART= T i n d i c a t e s p a r t i n g - o f f o p t i o n AUTO= T i n d i c a t e s automatic machining INCH= T i n d i c a t e s inch u n i t s sect i s the s e c t i o n number type i s the s e c t i o n type p1 i s p o s i t i o n one d1 i s the diameter at p o s i t i o n one p2 i s p o s i t i o n two d2 i s the diameter at p o s i t i o n two rad i s the r a d i u s Appendix B - ORACAP Chess Piece Example F i l e s Page 74 B.2 [ME258.LATHE.DAT]QUEEN.END 1 B.3 [ME258. LATHE. DAT ] QUEEN. FI "L 5 B.4 [ME258.LATHE.DAT]QUEEN.OUT 2 B.5 [ME258.LATHE.DAT]QUEEN.SIZ 26.200 56.000 Appendix B - ORACAP Chess Piece Example F i l e s Page 75 B .6 [ME258.LATHE.CNC]QUEEN 1.ANC 1 INC 2 MM 3 PDAT 15. 100 20. 000 4 PTP 0. 000 -20. 000 1000 1 1094 5 PTP 0. 000 0. 000 1000 1 1214 6 PTP -2 . 000 0. 000 80 1 1214 7 PTP 0. 000 -56. 000 80 1 1214 8 PTP 0. 000 56. 000 1000 1 1214 9 PTP 2. 000 0. 000 1000 1 1214 10 PTP 0. 000 0. 000 1000 1 1262 1 1 PTP -2 . 800 0. 000 80 1 1 262 1 2 PTP 0. 000 -51 . 754 80 1 1 262 13 PTP 0. 000 51 . 754 1000 1 1262 14 PTP 2. 800 0. 000 1000 1 1 262 15 PTP 0. 000 0. 000 1000 1 1310 16 PTP - 3 . 600 0. 000 80 1 1310 17 PTP 0. 000 -51 . 1 1 6 80 1 1310 1 8 PTP 0. 000 51 . 1 16 1000 1 1310 19 PTP 3. 600 0. 000 1000 1 1310 20 PTP 0. 000 0. 000 1000 1 1358 21 PTP -4 . 400 0. 000 80 1 1358 22 PTP 0. 000 -50. 323 80 1 1 358 23 PTP 0. 000 50. 323 1000 1 1 358 24 PTP 4. 400 0. 000 1000 1 1 358 25 PTP 0. 000 0. 000 1000 1 1 406 26 PTP - 5 . 200 0. 000 80 1 1 406 27 PTP 0. 000 -49. 312 80 1 1 406 28 PTP 0. 000 49. 312 1000 1 1406 29 PTP 5. 200 0. 000 1000 1 1406 30 PTP 0. 000 0. 000 1000 1 1 454 31 PTP -6 . 000 0. 000 80 1 1 454 32 PTP 0. 000 -47 . 930 80 1 1 454 33 PTP 0. 000 47. 930 1000 1 1454 34 PTP 6. 000 0. 000 1000 1 1 454 35 PTP 0. 000 -53 . 845 1000 1 1 262 36 PTP -2 . 800 0. 000 80 1 1 262 37 PTP 0. 000 - o . 1 55 80 1 1 262 38 PTP 0. 000 0. 1 55 1000 1 1 262 39 PTP 2. 800 0. 000 1000 1 1 262 40 PTP 0. 000 53. 845 1000 1 1 502 41 PTP - 6 . 800 0. 000 80 1 1 502 42 PTP 0. 000 -19 . 101 80 1 1502 43 PTP 0. 000 19. 101 1000 1 1 502 44 PTP 6. 800 0. 000 1000 1 1502 45 PTP 0. 000 -20. 610 1000 1 1502 46 PTP - 6 . 800 0. 000 80 1 1502 47 PTP 0. 000 -24. 870 80 1 1502 48 PTP 0. 000 24. 870 1000 1 1502 49 PTP 6. 800 0. 000 1000 1 1502 50 PTP 0. 000 - o . 800 1000 1 1550 51 PTP - 7 . 600 0. 000 80 1 1550 52 PTP 0. 000 -19 . 315 80 1 1550 53 PTP 0. 000 19. 315 1000 1 1550 Appendix B - ORACAP Chess Piece Example F i l e s Page 76 54 PTP 7 . 6 0 0 0 . 0 0 0 1 0 0 0 1 1 5 5 0 5 5 PTP 0 . 0 0 0 - 0 . 8 0 0 1 0 0 0 1 1 5 9 8 5 6 PTP - 8 . 4 0 0 0 . 0 0 0 8 0 1 1 5 9 8 57 PTP 0 . 0 0 0 - 1 6 . 9 9 4 8 0 1 1 5 9 8 58 PTP 0 . 0 0 0 1 6 . 9 9 4 1 0 0 0 1 1 5 9 8 5 9 PTP 8 . 4 0 0 0 . 0 0 0 1 0 0 0 1 1 5 9 8 6 0 PTP 0 . 0 0 0 - 0 . 8 0 0 1 0 0 0 1 1 6 4 6 61 PTP - 9 . 2 0 0 0 . 0 0 0 8 0 1 1 6 4 6 62 PTP 0 . 0 0 0 - 1 4 . 4 1 7 8 0 1 1 6 4 6 63 PTP 0 . 0 0 0 1 4 . 4 1 7 1 0 0 0 1 1 6 4 6 64 PTP 9 . 2 0 0 0 . 0 0 0 1 0 0 0 1 1 6 4 6 6 5 PTP 0 . 0 0 0 - 0 . 8 0 0 1 0 0 0 1 1 6 9 4 6 6 PTP - 1 0 . 0 0 0 0 . 0 0 0 8 0 1 1 6 9 4 67 PTP 0 . 0 0 0 - 1 1 . 4 3 8 ' 8 0 1 1 6 9 4 68 PTP 0 . 0 0 0 1 1 . 4 3 8 1 0 0 0 1 1 6 9 4 6 9 PTP 1 0 . 0 0 0 0 . 0 0 0 1 0 0 0 1 1 6 9 4 7 0 PTP 0 . 0 0 0 - o . 8 0 0 1 0 0 0 1 1 7 4 2 71 PTP - 1 0 . 8 0 0 0 . 0 0 0 8 0 1 1 7 4 2 7 2 PTP 0 . 0 0 0 - 7 . 6 4 9 8 0 1 1 7 4 2 7 3 PTP 0 . 0 0 0 7 . 6 4 9 1 0 0 0 1 1 7 4 2 7 4 PTP 1 0 . 8 0 0 0 . 0 0 0 1 0 0 0 1 1 7 4 2 7 5 PTP 0 . 0 0 0 2 4 . 6 1 0 1 0 0 0 1 1 5 5 0 76 PTP - 7 . 6 0 0 0 . 0 0 0 8 0 1 1 5 5 0 77 PTP 0 . 0 0 0 - 4 . 1 72 8 0 1 1 5 5 0 78 PTP 0 . 0 0 0 4 . 1 72 1 0 0 0 1 1 5 5 0 7 9 PTP 7 . 6 0 0 0 . 0 0 0 1 0 0 0 1 1 5 5 0 8 0 PTP 0 . 0 0 0 0 . 0 0 0 1 0 0 0 1 1 5 9 8 81 PTP - 8 . 4 0 0 0 . 0 0 0 8 0 1 1 5 9 8 8 2 PTP 0 . 0 0 0 - 2 . 6 6 9 8 0 1 1 5 9 8 8 3 PTP 0 . 0 0 0 2 . 6 6 9 1 0 0 0 1 1 5 9 8 84 PTP 8 . 4 0 0 0 . 0 0 0 1 0 0 0 1 1 5 9 8 8 5 PTP 0 . 0 0 0 0 . 0 0 0 1 0 0 0 1 1 6 4 6 8 6 PTP - 8 . 4 0 0 0 . 0 0 0 1 0 0 0 1 1 6 4 6 87 DO 5 8 8 PTP - 0 . 8 0 0 0 . 0 0 0 8 0 1 1 6 4 6 8 9 PTP 0 . 0 0 0 - 2 . 5 0 0 8 0 1 1 6 4 6 9 0 PTP 0 . 0 0 0 2 . 5 0 0 1 0 0 0 1 1 6 4 6 91 EDO 9 2 PTP 1 2 . 4 0 0 0 . 0 0 0 1 0 0 0 1 1 6 4 6 93 PTP 0 . 0 0 0 0 . 0 0 0 1 0 0 0 1 1 8 8 6 94 PTP - 1 3 . 2 0 0 0 . 0 0 0 8 0 1 1 8 8 6 9 5 PTP 0 . 0 0 0 - 1 . 6 0 8 8 0 1 1 8 8 6 9 6 PTP 0 . 0 0 0 1 . 6 0 8 1 0 0 0 1 1 8 8 6 97 PTP 1 3 . 2 0 0 0 . 0 0 0 1 0 0 0 1 1 8 8 6 98 PTP 0 . 0 0 0 0 . 0 0 0 1 0 0 0 1 1 9 3 4 9 9 PTP - 1 4 . 0 0 0 0 . 0 0 0 8 0 1 1 9 3 4 100 PTP 0 . 0 0 0 - 0 . 3 9 5 8 0 1 1 9 3 4 101 PTP 0 . 0 0 0 0 . 3 9 5 1 0 0 0 1 1 9 3 4 102 PTP 1 4 . 0 0 0 0 . 0 0 0 1 0 0 0 1 1 9 3 4 1 0 3 PTP 0 . 0 0 0 - 6 . 4 3 0 1 0 0 0 1 1 5 5 0 1 0 4 PTP - 7 . 6 0 0 0 . 0 0 0 8 0 1 1 5 5 0 1 0 5 PTP 0 . 0 0 0 - 1 1 . 9 1 6 8 0 1 1 5 5 0 1 0 6 PTP 0 . 0 0 0 1 1 . 9 1 6 1 0 0 0 1 1 5 5 0 1 0 7 PTP 7 . 6 0 0 0 . 0 0 0 1 0 0 0 1 1 5 5 0 1 0 8 PTP 0 . 0 0 0 - 1 . 131 1 0 0 0 1 1 5 9 8 Appendix B - ORACAP Chess Piece Example F i l e s Page 77 109 PTP -8. 400 0. 000 80 1 1598 110 PTP 0. 000 -10. 293 80 1 1598 1 1 1 PTP 0. 000 10. 293 1000 1 1598 1 12 PTP 8. 400 0. 000 1000 1 1598 1 1 3 PTP 0. 000 -2. 435 1000 1 1646 1 1 4 PTP -9. 200 0. 000 80 1 1 646 1 15 PTP 0. 000 -4. 176 80 1 1646 116 PTP 0. 000 4. 176 1000 1 1646 1 17 PTP 9. 200 0. 000 1 000 1 1646 1 18 PTP 0. 000 -4. 225 1000 1 1646 1 19 PTP -9. 200 0. 000 80 1 1 646 1 20 PTP 0. 000 -3. 321 80 1 1 646 121 PTP 0. 000 3. 321 1000 1 1646 1 22 PTP 9. 200 0. 000 1000 1 1646 1 23 PTP 0. 000 0. 000 1000 1 1646 1 24 PTP 0. 000 34. 222 1000 1 1 646 Appendix B - ORACAP Chess P i e c e Example F i l e s Page 78 B .7 [ME 258.LATHE.CNC]QUEEN 1.BNC 1 INC 2 MM 3 PDAT 15. 100 20. 000 4 PTP 0. 000 -20. 000 1 000 1 1 094 5 PTP - 2 . 000 0. 000 80 1 1214 6 PTP 0. 000 -56. 000 80 1 1214 7 PTP 0. 000 56. 000 1000 1 1214 8 PTP - o . 800 0. 000 80 1 1262 9 PTP 0. 000 -51 . 754 80 1 1 262 10 PTP 0. 000 51 . 754 1 000 1 1 262 1 1 PTP - 0 . 800 0. 000 80 1 1310 12 PTP 0. 000 -51 . 1 1 6 80 1 1310 13 PTP 0. 000 51 . 1 1 6 1 000 1 1310 1 4 PTP - o . 800 0. 000 80 1 1358 15 PTP 0. 000 -50. 323 80 1 1358 1 6 PTP 0. 000 50. 323 1000 1 1 358 1 7 PTP . - o . 800 0. 000 80 1 1 406 18 PTP 0. 000 -49 . 312 80 1 1406 19 PTP 0. 000 49. 312 1000 1 1406 20 PTP - o . 800 0. 000 80 1 1 454 21 PTP 0. 000 -47. 930 80 1 1 454 22 PTP 0. 000 47. 930 1000 1 1 454 23 PTP 6. 000 0. 000 1000 1 1 454 24 PTP 0. 000 -53 . 845 1000-1 1262 25 PTP - 2 . 800 0. 000 80 1 1262 26 PTP 0. 000 - 0 . 1 55 80 1 1 262 27 PTP 0. 000" 0. 1 55 1 000 1 1262 28 PTP 2. 800 0. 000 1 000 1 1 262 29 PTP 0. 000 53. 845 1 000 1 1 502 30 PTP - 6 . 800 0. 000 80 1 1 502 31 PTP 0. 000 -19 . 101 80 1 1 502 32 PTP 0. 000 19. 101 1 000 1 1502 33 PTP 6. 800 0. 000 1 000 1 1 502 34 PTP 0. 000 -20. 610 1 000 1 1 502 35 PTP - 6 . 800 0. 000 80 1 1502 36 PTP 0. 000 -24. 870 80 1 1502 37 PTP 0. 000 24. 870 1000 1 1 502 38 PTP - o . 800 -o . 800 80 1 1550 39 PTP 0. 000 -19. 315 80 1 1 550 40 PTP 0. 000 19. 315 1 000 1 1 550 41 PTP - 0 . 800 - 0 . 800 80 1 1598 42 PTP 0. 000 -16. 994 80 1 1598 43 PTP 0. 000 16. 994 1 000 1 1598 44 PTP - o . 800 -o . 800 80 1 1646 45 PTP 0. 000 -14. 417 80 1 1646 46 PTP 0. 000 14. 417 1000 1 1646 47 PTP - 0 . 800 - 0 . 800 80 1 1694 48 PTP 0. 000 -11 . 438 80 1 1694 49 PTP 0. 000 1 1 . 438 1000 1 1694 50 PTP - 0 . 800 - 0 . 800 80 1 1742 51 PTP 0. 000 - 7 . 649 80 1 1742 52 PTP 0. 000 7. 649 1 000 1 1742 53 PTP 10. 800 0. 000 1 000 1 1742 Appendix B - ORACAP Chess Piece Example F i l e s 54 PTP 0 .000 24. 610 1000 1 1550 55 PTP -7 .600 0. 000 80 1 1550 56 PTP 0 .000 -4 . 172 80 1 1550 57 PTP 0 .000 4. 172 1000 1 1550 58 PTP -o .800 0. 000 80 1 1598 59 PTP 0 .000 - 2 . 669 80 1 1598 60 PTP 0 .000 2. 669 1000 1 1598 61 PTP 8 .400 0. 000 1000 1 1598 62 PTP -8 .400 0. 000 1000 1 1 646 63 DO 5 64 PTP -0 .800 0. 000 80 1 1646 65 PTP 0 .000 - 2 . 500 80 1 1646 66 PTP 0 .000 2. 500 1000 1 1 646 67 EDO 68 PTP -0 .800 0. 000 80 1 1886 69 PTP 0 .000 -1 . 608 80 1 1886 70 PTP 0 .000 1 . 608 1000 1 1886 71 PTP -0 .800 0. 000 80 1 1 934 72 PTP 0 .000 - o . 395 80 1 1 934 73 PTP 0 .000 0. 395 1000 1 1934 74 PTP 1 4 .000 0. 000 1000 1 1 934 75 PTP 0 .000 - 6 . 430 1000 1 1 550 76 PTP -7 .600 0. 000 80 1 1550 77 PTP 0 .000 -1 1 . 916 80 1 1550 78 PTP 0 .000 1 1 . 916 1 000 1 1 550 79 PTP -0 .800 -1 . 131 80 1 1 598 80 PTP 0 .000 -10. 293 80 1 1 598 81 PTP 0 .000 10. 293 1000 1 1598 82 PTP -0 .800 - 2 . 435 80 1 1646 83 PTP 0 .000 - 4 . 176 80 1 1646 84 PTP 0 .000 4. 176 1 000 1 1646 85 PTP 9 .200 0. 000 1 000 1 1 646 86 PTP 0 .000 -4 . 225 1000 1 1 646 87 PTP -9 .200 0. 000 80 1 1 646 88 PTP 0 .000 - 3 . 321 80 1 1646 89 PTP 0 .000 3. 321 1 000 1 1646 90 PTP 9 .200 0. 000 1 000 1 1646 91 PTP 0 .000 34. 222 1000 1 1 646 Appendix B - ORACAP Chess Piece Example F i l e s Page 80 B.8 [ME258.LATHE.CNC]QUEEN 1.CNC PAGE 01 INCREMENTAL-FORMAT.G91 PAGE 02 MM-UNITS PAGE 03 PROGRAM-DATUM X 15.100 Z 20.000 PAGE 04 POINT-TO-POINT.GOO,GO 1 X 0.000 Z -20.000 FEEDRATE 1000 TOOL-NO 1 SPINDLE-SPEED 1094 PAGE 05 POINT-TO-POINT.GOO,G01 X -2.000 Z 0.000 FEEDRATE 80 TOOL-NO 1 SPINDLE-SPEED 1214 PAGE 06 POINT-TO-POINT.GOO,GO 1 X 0.000 Z -56.000 FEEDRATE 80 TOOL-NO 1 SPINDLE-SPEED 1214 PAGE 07 POINT-TO-POINT.GOO,GO 1 X 0.000 Z 56.000 FEEDRATE 1000 TOOL-NO 1 SPINDLE-SPEED 1214 PAGE 08 POINT-TO-POINT.GOO,G01 X -0.800 Z 0.000 FEEDRATE 80 TOOL-NO 1 SPINDLE-SPEED 1262 PAGE 09 POINT-TO-POINT.GOO,GO 1 X 0.000 Z -51.754 FEEDRATE 80 TOOL-NO 1 SPINDLE-SPEED 1262 PAGE 10 POINT-TO-POINT.GOO,GO 1 X 0.000 Z 51.754 FEEDRATE 1000 TOOL-NO 1 SPINDLE-SPEED 1262 PAGE 11 POINT-TO-POINT.GOO,GO 1 X -0.800 Z 0.000 FEEDRATE 80 TOOL-NO 1 SPINDLE-SPEED 1310 Appendix B - ORACAP Chess Piece Example F i l e s Page 81 PAGE 12 POINT-TO-POINT.GOO,GO 1 X 0.000 Z -51.116 FEEDRATE 80 TOOL-NO 1 SPINDLE-SPEED 1310 PAGE 13 POINT-TO-POINT.GOO,GO 1 X 0.000 Z 51.116 FEEDRATE 1000 TOOL-NO 1 SPINDLE-SPEED 1310 PAGE 14 POINT-TO-POINT.GOO,G01 X -0.800 Z 0.000 FEEDRATE 80 TOOL-NO 1 SPINDLE-SPEED 1358 PAGE 15 POINT-TO-POINT.GOO,GO 1 X 0.000 Z -50.323 FEEDRATE 80 TOOL-NO 1 SPINDLE-SPEED 1358 PAGE 16 POINT-TO-POINT.GOO,GO 1 X 0.000 Z 50.32.3 FEEDRATE 1000 TOOL-NO 1 SPINDLE-SPEED 1358 PAGE 17 POINT-TO-POINT.GOO,GO 1 X -0.800 Z 0.000 FEEDRATE 80 TOOL-NO 1 SPINDLE-SPEED 1406 PAGE 18 POINT-TO-POINT.GOO,GO 1 X 0.000 Z -49.312 FEEDRATE 80 TOOL-NO 1 SPINDLE-SPEED 1406 PAGE 19 POINT-TO-POINT.GOO,G01 X 0.000 Z 49.312 FEEDRATE 1000 TOOL-NO 1 SPINDLE-SPEED 1406 PAGE 20 POINT-TO-POINT.GOO,G01 X -0.800 Z 0.000 FEEDRATE 80 TOOL-NO 1 SPINDLE-SPEED 1454 PAGE 21 POINT-TO-POINT.GOO,GO 1 Appendix B - ORACAP Chess Piece Example F i l e s Page 82 X 0.000 Z -47.930 FEEDRATE 80 TOOL-NO 1 SPINDLE-SPEED 1454 PAGE 22 POINT-TO-POINT.GOO,GO 1 X 0.000 Z 47.930 FEEDRATE 1000 TOOL-NO 1 SPINDLE-SPEED 1454 PAGE 23 POINT-TO-POINT.G00,GO 1 X 6.000 Z 0.000 FEEDRATE 1000 TOOL-NO 1 SPINDLE-SPEED 1454 PAGE 24 POINT-TO-POINT.GOO,G01 X 0.000 Z -53.845 FEEDRATE 1000 TOOL-NO 1 SPINDLE-SPEED 1262 PAGE 25 POINT-TO-POINT.GOO,G01 X -2.800 Z 0.000 FEEDRATE 80 TOOL-NO 1 SPINDLE-SPEED 1262 e t c . • PAGE 90 POINT-TO-POINT.GOO,GO 1 X 9.200 Z 0.000 FEEDRATE 1000 TOOL-NO 1 SPINDLE-SPEED 1646 PAGE 91 POINT-TO-POINT.GOO,GO 1 X 0.000 Z 34.222 FEEDRATE 1000 TOOL-NO 1 SPINDLE-SPEED 1646 PAGE 92 END-PROGRAM..M02 Appendix B - ORACAP Chess P i e c e Example F i l e s Page 83 B.9 [ME258.LATHE.PLT]QUEEN1.PTX BYTE TERM(5) INTEGER FEED1,FEED2,FEEDMX,TOOL 1,TOOL2 LOGICAL ABSOL,INCH,SPEN COMMON /MAIN/XPOS,ZPOS,ABSOL,INCH COMMON /SUB/FEED1,FEED2,FEEDMX,TOOL 1,TOOL2, SPEN,I PEN DATA FEED2/0/,TOOL2/0/,Pl/3.1415926/,TIME/0.0/ FEEDMX= 200 SPEN=.TRUE. CALL FRAMERG( 26.200, 96.000,4010) CC PAGE 1 INCREMENTAL FORMAT ABSOL=.FALSE. CC PAGE 2 MM-UNITS INCH=.FALSE. CC PAGE 3 PROGRAM-DATUM XNEW= -15.100 ZNEW= 20.000 IF (INCH) XNEW=XNEW*25.4 IF (INCH) ZNEW=ZNEW*25.4 DIST=SQRT(XNEW* * 2 + ZNEW* * 2) TIME=TIME+DIST/1000 XPOS=XNEW ZPOS=ZNEW CALL MOVE(ZPOS,XPOS) CC PAGE 4 POINT-TO-POINT INTERPOLATION FEED1=FEED2 TOOL 1=TOOL2 FEED2= 1000 TOOL2=1 CALL CHANGERG XNEW= 0.000 ZNEW= -20.000 IF (INCH) XNEW=XNEW*25.4 IF (INCH) ZNEW=ZNEW*25.4 IF (ABSOL) DIST=SQRT((XNEW-XPOS)**2+(ZNEW-ZPOS)**2) IF (.NOT.ABSOL) DIST=SQRT(XNEW**2+ZNEW**2) TIME=TIME+DIST/FEED2 IF (ABSOL) XPOS=XNEW IF (ABSOL) ZPOS=ZNEW IF (.NOT.ABSOL) XPOS=XPOS+XNEW IF (.NOT.ABSOL) ZPOS=ZPOS+ZNEW CALL DRAW(ZPOS,XPOS) CC PAGE 5 POINT-TO-POINT INTERPOLATION FEED1=FEED2 TOOL 1=TOOL2 FEED2= 80 TOOL2=1 CALL CHANGERG XNEW= 2.000 ZNEW= 0.000 IF (INCH) XNEW=XNEW*25.4 IF (INCH) ZNEW=ZNEW*25.4 IF (ABSOL) DIST=SQRT((XNEW-XPOS)**2+(ZNEW-ZPOS)**2) IF (.NOT.ABSOL) DIST=SQRT(XNEW**2+ZNEW**2) Appendix B - ORACAP Chess Piece Example F i l e s Page 84 TIME=TIME+DIST/FEED2 IF (ABSOL) XPOS=XNEW IF (ABSOL) ZPOS=ZNEW IF (.NOT.ABSOL) XPOS=XPOS+XNEW IF (.NOT.ABSOL) ZPOS=ZPOS+ZNEW CALL DRAW(ZPOS.XPOS) CC PAGE 6 POINT-TO-POINT INTERPOLATION FEED1=FEED2 TOOL 1=TOOL2 FEED2= 80 TOOL2=1 CALL CHANGERG XNEW= 0.000 ZNEW= -56.000 IF (INCH) XNEW=XNEW*25.4 IF (INCH) ZNEW=ZNEW*25.4 IF (ABSOL) DIST=SQRT((XNEW-XPOS)**2+(ZNEW-ZPOS)**2) IF (.NOT.ABSOL) DIST=SQRT(XNEW**2+ZNEW**2) TIME=TIME+DIST/FEED2 IF (ABSOL) XPOS=XNEW IF (ABSOL) ZPOS=ZNEW IF (.NOT.ABSOL) XPOS=XPOS+XNEW IF (.NOT.ABSOL) ZPOS=ZPOS+ZNEW CALL DRAW(ZPOS,XPOS) CC PAGE 7 POINT-TO-POINT INTERPOLATION FEED 1=FEED2 TOOL 1=TOOL2 FEED2= 1000 TOOL2=1 CALL CHANGERG XNEW= 0.000 ZNEW= 56.000 IF (INCH) XNEW IF (INCH) ZNEW IF IF XNEW*25.4 ZNEW*25. 4 (ABSOL) DIST=SQRT((XNEW-XPOS)**2+(ZNEW-ZPOS)**2) (.NOT.ABSOL) DIST=SQRT(XNEW**2+ZNEW**2) TIME=TIME+DIST/FEED2 IF (ABSOL) XPOS=XNEW IF (ABSOL) ZPOS=ZNEW IF (.NOT.ABSOL) XPOS=XPOS+XNEW IF (.NOT.ABSOL) ZPOS=ZPOS+ZNEW CALL DRAW(ZPOS.XPOS) CC PAGE 8 POINT-TO-POINT INTERPOLATION FEED1=FEED2 TOOL 1=TOOL2 FEED2= 80 TOOL2=1 CALL CHANGERG XNEW= 0 . 8 0 0 ZNEW= 0 . 0 0 0 IF (INCH) XNEW IF (INCH) ZNEW IF IF XNEW*25.4 ZNEW*25.4 (ABSOL) DIST=SQRT((XNEW-XPOS)**2+(ZNEW-ZPOS)**2) (.NOT.ABSOL) DIST=SQRT(XNEW**2+ZNEW**2) TIME=TIME+DIST/FEED2 Appendix B - ORACAP Chess Piece Example F i l e s Page 85 IF (ABSOL) XPOS=XNEW IF (ABSOL) ZPOS=ZNEW IF (.NOT.ABSOL) XPOS=XPOS+XNEW IF (.NOT.ABSOL) ZPOS=ZPOS+ZNEW CALL DRAW(ZPOS,XPOS) e t c . • CC PAGE 91 POINT-TO-POINT INTERPOLATION FEED1=FEED2 TOOL 1=TOOL2 FEED2= 1000 TOOL2=1 CALL CHANGERG XNEW= 0.000 ZNEW= 34.222 IF (INCH) XNEW=XNEW*25.4 IF (INCH) ZNEW=ZNEW*25.4 IF (ABSOL) DIST=SQRT((XNEW-XPOS)**2+(ZNEW-ZPOS)**2) IF (.NOT.ABSOL) DIST=SQRT(XNEW**2+ZNEW**2) TIME=TIME+DIST/FEED2 IF (ABSOL) XPOS=XNEW IF (ABSOL) ZPOS=ZNEW IF (.NOT.ABSOL) XPOS=XPOS+XNEW IF (.NOT.ABSOL) ZPOS=ZPOS+ZNEW CALL DRAW(ZPOS,XPOS) CC PAGE 92 END-PROGRAM CALL MAKCUR TYPE * ACCEPT 100, TERM CALL NEWPAG CALL GRSTOP TERM(1)=32 TERM(2)=27 TERM(3)='"' TERM(4)='0' TERM(5)='g' TYPE 100, TERM 100 FORMAT (1X,5A1) TYPE 150,TIME 150 FORMAT (1X,'ESTIMATED MACHINING TIME IS: ' ,F7.1,' MINUTES') STOP END Page 86 APPENDIX C ORACAP Master Part Example Table Table IV F i l e S i z e s f o r Master Part Example Option Filename ORAC Pages S i z e ( b l Design MASTER.CAD MASTER.END MASTER.FIL MASTER.OUT MASTER.SIZ J t o t a l 5 5 Generate MASTER1.ANC MASTER2.ANC MASTER3.ANC MASTER4.ANC MASTERS.ANC 1 1 1 28 0 5 7 9 3 0 1 1 t o t a l 5 151 14 Optimize MASTER1.BNC MASTER2.BNC MASTER3.BNC MASTER4.BNC MASTER5.BNC 75 26 0 5 7 7 3 0 1 1 t o t a l 5 1 1 3 1 2 Assemble MASTER1.CNC MASTER2.CNC 76 41 19 1 0 t o t a l 2 1 17 29 Prove MASTER1.PTX MASTER2.PTX 76 41 85 48 t o t a l 2 1 17 133 Page APPENDIX D ORACAP Master Part Example F i l e s D.1 [ME258.LATHE.DAT]MASTER.CAD 7 PART= T AUTO= F INCH= F 25.000 5.000 16.000 7.000 14.000 AL6061T6 1 2 0.000 2 5 5.000 16.000 10.000 m a t l , n s e c t , f l a g s s e c t , t y p e p1,d1,p2,d2,rad s e c t , t y p e 8.000 17.000 10.000 ! p1,d1,p2 rd2,p3,d3,nsub 3 1 ! s e c t , t y p e 14 .000 10. 000 21 .000 1 6 .000 ! pi,d1,p2,d2 4 1 ! s e c t , t y p e 21 .000 16. 000 25 .000 1 2 .000 ! p1,d1,p2,d2 5 1 ! s e c t , t y p e 25 .000 12. 000 28 .000 12 .000 ! p1,d1,p2,d2 6 4 ! s e c t , t y p e 28 .000 12. 000 40 .000 10 .000 1 .750 ! p1,od,p2,bd,pit 7 3 ! s e c t , t y p e 34 .000 12. 000 40 .000 0 .000 6.000 ! pi,d1,p2,d2,rad Where: matl i s the m a t e r i a l nsect i s the number of s e c t i o n s f l a g s are f l a g s i n d i c a t i n g o p t i o n s : PART= T i n d i c a t e s p a r t i n g - o f f o p t i o n AUTO= T i n d i c a t e s automatic machining INCH= T i n d i c a t e s inch u n i t s sect i s the s e c t i o n number type i s the s e c t i o n type p1 i s p o s i t i o n one d1 i s the diameter at p o s i t i o n one p2 i s p o s i t i o n two d2 i s the diameter at p o s i t i o n two p3 i s p o s i t i o n three d3 i s the diameter at p o s i t i o n three rad i s the r a d i u s od i s the o u t s i d e diameter bd i s the base diameter p i i s the p i t c h Appendix D - ORACAP Master Part Example F i l e s Page 88 D.2 [ME258.LATHE.DAT]MASTER.END 1 D.3 [ME258.LATHE.DAT]MASTER.FIL 5 D.4 [ME258.LATHE.DAT]MASTER.OUT 2 D.5 [ME258.LATHE.DAT]MASTER.SIZ 26.200 40.000 Appendix D - ORACAP Master Part Example F i l e s Page 89 D.6 [ME258.LATHE.CNC]MASTER1.ANC 1 INC 2 MM 3 PDAT 15. 100 20. 000 4 PTP 0. 000 -20. 000 1000 1 1094 5 PTP 0. 000 0. 000 1000 1 1214 6 PTP -2. 000 0. 000 80 1 1214 7 PTP 0. 000 -43. 000 80 1 1214 8 PTP 0. 000 43. 000 1000 1 1214 9 PTP 2. 000 0. 000 1000 1 1214 10 PTP 0. 000 0. 000 1000 1 1262 1 1 PTP -2. 800 0. 000 80 1 1 262 1 2 PTP 0. 000 -39. 863 80 1 1 262 13 PTP 0. 000 39. 863 1000 1 1262 1 4 PTP 2. 800 0. 000 1000 1 1 262 1 5 PTP 0. 000 0. 000 1000 1 1310 16 PTP -3. 600 0. 000 80 1 1310 1 7 PTP 0. 000 -39. 471 80 1 1310 18 PTP 0. 000 39. 471 1000 1 1310 19 PTP 3. 600 0. 000 1000 1 1310 20 PTP 0. 000 0. 000 1000 1 1 358 21 PTP -4. 400 0. 000 80 1 1358 22 PTP 0. 000 -38. 938 80 1 1 358 23 PTP 0. 000 38. 938 1000 1 1358 24 PTP 4. 400 0. 000 1000 1 1 358 25 PTP 0. 000 0. 000 1000 1 1 406 26 PTP -5. 200 0. 000 80 1 1 406 27 PTP 0. 000 -38. 216 80 1 1 406 28 PTP 0. 000 38. 216 1000 1 1 406 29 PTP 5. 200 0. 000 1000 1 1 406 30 PTP 0. 000 0. 000 1000 1 1 454 31 PTP -6. 000 0. 000 80 1 1 454 32 PTP 0. 000 -37. 202 80 1 1 454 33 PTP 0. 000 37. 202 1000 1 1 454 34 PTP 6. 000 0. 000 1000 1 1454 35 PTP 0. 000 0. 000 1000 1 1 502 36 PTP -6. 800 0. 000 80 1 1 502 37 PTP 0. 000 -30. 384 80 1 1502 38 PTP 0. 000 30. 384 1000 1 1 502 39 PTP 6. 800 0. 000 1000 1 1 502 40 PTP 0. 000 -34. 590 1000 1 1 502 41 PTP -6. 800 0. 000 80 1 1502 42 PTP 0. 000 -o. 917 80 1 1502 43 PTP 0. 000 0. 917 1000 1 1 502 44 PTP 6. 800 0. 000 1000 1 1502 45 PTP 0. 000 34. 590 1000 1 1550 46 PTP -7. 600 0. 000 80 1 1550 47 PTP 0. 000 -17. 680 80 1 1 550 48 PTP 0. 000 17. 680 1000 1 1550 49 PTP 7. 600 0. 000 1000 1 1550 50 PTP 0. 000 0. 000 1000 1 1598 51 PTP -8. 400 0. 000 80 1 1598 52 PTP 0. 000 -16. 080 80 1 1598 53 PTP 0. 000 16. 080 1000 1 1598 Appendix D - ORACAP Master Part Example F i l e s 54 PTP 8. 400 0. 000 1000 1 1598 55 PTP 0 . 000 0 . 000 1000 1 1646 56 PTP - 9 . 200 0 . 000 80 1 1646 57 PTP 0. 000 - 4 . 253 80 1 1646 58 PTP 0. 000 4. 253 1000 1 1646 59 PTP 9. 200 0. 000 1000 1 1646 60 PTP 0. 000 0. 000 1000 1 1694 61 PTP - 1 0 . 000 0 . 000 80 1 1694 62 PTP 0. 000 - 2 . 595 80 1 1694 63 PTP 0. 000 2. 595 1000 1 1694 64 PTP 10. 000 0. 000 1000 1 1694 65 PTP 0. 000 0. 000 1000 1 1 742 66 PTP - 1 0 . 800 0 . 000 80 1 1742 67 PTP 0. 000 - 1 . 657 80 1 1 742 68 PTP 0. 000 1. 657 1000 1 1742 69 PTP 10 . 800 0. 000 1000 1 1742 70 PTP 0. 000 0. 000 1000 1 1790 71 PTP - 1 1 . 600 0 . 000 80 1 1 790 72 PTP 0. 000 - 1 . 016 80 1 1790 73 PTP 0. 000 1. 016 1000 1 1790 74 PTP 1 1 . 60.0 0. 000 1000 1 1790 75 PTP 0. 000 0. 000 1000 1 1838 76 PTP - 1 2 . 400 0 . 000 80 1 1838 77 PTP 0. 000 - o . 564 80 1 1838 78 PTP 0. 000 0. 564 1000 1 1838 79 PTP 12 . 400 0. 000 1 000 1 1838 80 PTP 0. 000 0. 000 1000 1 1886 81 PTP - 1 3 . 200 0. 000 80 1 1886 82 PTP 0. 000 - o . 258 80 1 1886 83 PTP 0. 000 0 . 258 1000 1 1886 84 PTP 13 . 200 0. 000 1000 1 1886 85 PTP 0. 000 0. 000 1000 1 1934 86 PTP - 1 4 . 000 0. 000 80 1 1934 87 PTP 0. 000 - o . 074 80 1 1934 88 PTP 0. 000 0 . 074 1000 1 1934 89 PTP 14 . 000 •0. 000 1000 1 1934 90 PTP 0. 000 0. 000 1000 1 1982 91 PTP - 1 4 . 800 0 . 000 80 1 1982 92 PTP 0. 000 - o . 002 80 1 1982 93 PTP 0. 000 0 . 002 1000 1 1982 94 PTP 14. 800 0 . 000 1 000 1 1982 95 PTP 0. 000 - 2 0 . 540 1 000 1 1550 96 PTP - 7 . 600 0. 000 80 1 1550 97 PTP 0. 000 - 8 . 200 80 1 1550 98 PTP 0. 000 8. 200 1000 1 1 550 99 PTP 7. 600 0 . 000 1000 1 1550 100 PTP 0. 000 -1 . 867 1000 1 1598 101 PTP - 8 . 400 0 . 000 80 1 1598 102 PTP 0. 000 - 5 . 230 80 1 1598 103 PTP 0. 000 5. 230 1 000 1 1598 104 PTP 8. 400 0. 000 1000 1 1598 105 PTP 0. 000 -1 . 867 1000 1 1646 106 PTP - 9 . 200 0 . 000 80 1 1646 107 PTP 0. 000 - 2 . 461 80 1 1646 108 PTP 0. 000 2. 461 1000 1 1646 Appendix D - ORACAP Master Part Example F i l e s 109 PTP 9.200 0.000 1000 1 1646 110 PTP 0.000 0.000 1000 1 1646 111 PTP 0.000 44.273 1000 1 1646 Appendix D - ORACAP Master Part Example F i l e s Page 92 D.7 [ME258.LATHE.CNC]MASTER1.BNC 1 INC 2 MM 3 PDAT 1 5 . 1 0 0 4 PTP 0 . 0 0 0 5 PTP - 2 . 0 0 0 6 PTP 0 . 0 0 0 7 PTP 0 . 0 0 0 8 PTP - 0 . 8 0 0 9 PTP 0 . 0 0 0 10 PTP 0 . 0 0 0 1 1 PTP - 0 . 8 0 0 12 PTP 0 . 0 0 0 13 PTP 0 . 0 0 0 1 4 PTP - 0 . 8 0 0 15 PTP 0 . 0 0 0 1 6 PTP 0 . 0 0 0 1 7 PTP - 0 . 8 0 0 18 PTP 0 . 0 0 0 19 PTP 0 . 0 0 0 20 PTP - 0 . 8 0 0 21 PTP 0 . 0 0 0 2 2 PTP 0 . 0 0 0 2 3 PTP - 0 . 8 0 0 24 PTP 0 . 0 0 0 2 5 PTP 0 . 0 0 0 26 PTP 6 . 8 0 0 27 PTP 0 . 0 0 0 28 PTP - 6 . 8 0 0 2 9 PTP 0 . 0 0 0 30 PTP 0 . 0 0 0 31 PTP 6 . 8 0 0 3 2 PTP 0 . 0 0 0 33 PTP - 7 . 6 0 0 34 PTP 0 . 0 0 0 3 5 PTP 0 . 0 0 0 36 PTP - 0 . 8 0 0 37 PTP 0 . 0 0 0 38 PTP 0 . 0 0 0 3 9 PTP - 0 . 8 0 0 4 0 PTP 0 . 0 0 0 41 PTP 0 . 0 0 0 4 2 PTP - 0 . 8 0 0 4 3 PTP 0 . 0 0 0 4 4 PTP 0 . 0 0 0 4 5 PTP - 0 . 8 0 0 4 6 PTP 0 . 0 0 0 47 PTP 0 . 0 0 0 48 PTP - 0 . 8 0 0 4 9 PTP 0 . 0 0 0 5 0 PTP 0 . 0 0 0 51 PTP - 0 . 8 0 0 52 PTP 0 . 0 0 0 53 PTP 0 . 0 0 0 2 0 . 0 0 0 2 0 . 0 0 0 1 0 0 0 1 1 0 9 4 0 . 0 0 0 8 0 1 1 2 1 4 4 3 . 0 0 0 8 0 1 1 2 1 4 4 3 . 0 0 0 1 0 0 0 1 1 2 1 4 0 . 0 0 0 80 1 1 2 6 2 3 9 . 8 6 3 80 1 1 2 6 2 3 9 . 8 6 3 1 0 0 0 1 1 2 6 2 0 . 0 0 0 8 0 1 1 3 1 0 3 9 . 471 8 0 1 1 3 1 0 3 9 . 471 1 0 0 0 1 1 3 1 0 0 . 0 0 0 8 0 1 1 3 5 8 3 8 . 9 3 8 8 0 1 1 3 5 8 3 8 . 9 3 8 1 0 0 0 1 1 3 5 8 0 . 0 0 0 80 1 1 4 0 6 3 8 . 2 1 6 8 0 1 1 4 0 6 3 8 . 2 1 6 1 0 0 0 1 1 4 0 6 0 . 0 0 0 8 0 1 1 4 5 4 3 7 . 2 0 2 8 0 1 1 4 5 4 3 7 . 2 0 2 1 0 0 0 1 1 4 5 4 0 . 0 0 0 8 0 1 1 5 0 2 3 0 . 3 8 4 8 0 1 1 5 0 2 3 0 . 3 8 4 1 0 0 0 1 1 5 0 2 0 . 0 0 0 1 0 0 0 1 1 5 0 2 3 4 . 5 9 0 1 0 0 0 1 1 5 0 2 0 . 0 0 0 80 1 1 5 0 2 - 0 . 9 1 7 80 1 1 5 0 2 0 . 9 1 7 1 0 0 0 1 1 5 0 2 0 . 0 0 0 1 0 0 0 1 1 5 0 2 3 4 . 5 9 0 1 0 0 0 1 1 5 5 0 0 . 0 0 0 8 0 1 1 5 5 0 1 7 . 6 8 0 80 1 1 5 5 0 1 7 . 6 8 0 1 0 0 0 1 1 5 5 0 0 . 0 0 0 8 0 1 1 5 9 8 1 6 . 0 8 0 8 0 1 1 5 9 8 1 6 . 0 8 0 1 0 0 0 1 1 5 9 8 0 . 0 0 0 8 0 1 1 6 4 6 - 4 . 2 5 3 80 1 1 6 4 6 4 . 2 5 3 1 0 0 0 1 1 6 4 6 0 . 0 0 0 80 1 1 6 9 4 - 2 . 5 9 5 8 0 1 1 6 9 4 2 . 5 9 5 1 0 0 0 1 1 6 9 4 0 . 0 0 0 8 0 1 1 7 4 2 - 1 . 6 5 7 8 0 1 1 7 4 2 1 . 6 5 7 1 0 0 0 1 1 7 4 2 0 . 0 0 0 8 0 1 1 7 9 0 - 1 . 0 1 6 8 0 1 1 7 9 0 1 . 0 1 6 1 0 0 0 1 1 7 9 0 0 . 0 0 0 8 0 1 1 8 3 8 - o . 5 6 4 8 0 1 1 8 3 8 0 . 5 6 4 1 0 0 0 1 1 8 3 8 Appendix D - ORACAP Master Part Example F i l e s Page 93 54 PTP -0 .800 0. 000 80 1 1886 55 PTP 0 .000 - 0 . 258 80 1 1886 56 PTP 0 .000 0. 258 1000 1 1886 57 PTP -o .800 0. 000 80 1 1934 58 PTP 0 .000 -o . 074 80 1 1934 59 PTP 0 .000 0. 074 1000 1 1934 60 PTP -o .800 0. 000 80 1 1982 61 PTP 0 .000 -o . 002 80 1 1 982 62 PTP 0 .000 0. 002 1000 1 1 982 63 PTP 1 4 .800 0. 000 1000 1 1 982 64 PTP 0 .000 -20. 540 1000 1 1 550 65 PTP -7 .600 0. 000 80 1 1 550 66 PTP 0 .000 -8 . 200 80 1 1 550 67 PTP 0 .000 8. 200 1000 1 1 550 68 PTP -0 .800 -1 . 867 80 1 1598 69 PTP 0 .000 - 5 . 230 80 1 1598 70 PTP 0 .000 5. 230 1000 1 1 598 71 PTP -0 .800 -1 . 867 80 1 1 646 72 PTP 0 .000 -2 . 461 80 1 1 646 73 PTP 0 .000 2. 461 1000 1 1 646 74 PTP 9 .200 0. 000 1000 1 1 646 75 PTP 0 .000 44. 273 1000 1 1 646 Appendix D - ORACAP Master Part Example F i l e s Page 94 D.8 [ME258.LATHE.CNC]MASTER1.CNC PAGE 01 INCREMENTAL-FORMAT.G91 PAGE 02 MM-UNITS PAGE 03 PROGRAM-DATUM X 15.100 Z 20.000 PAGE 04 POINT-TO-POINT.GOO,GO 1 X 0.000 Z -20.000 FEEDRATE 1000 TOOL-NO 1 SPINDLE-SPEED 1094 PAGE 05 POINT-TO-POINT.GOO,GO 1 X -2.000 Z 0.000 FEEDRATE 80 TOOL-NO 1 SPINDLE-SPEED 1214 PAGE 06 POINT-TO-POINT.GOO,G01 X 0.000 Z -43.000 FEEDRATE 80 TOOL-NO 1 SPINDLE-SPEED 1214 PAGE 07 POINT-TO-POINT.GOO,G01 X 0.000 Z 43.000 FEEDRATE 1000 TOOL-NO 1 SPINDLE-SPEED 1214 PAGE 08 POINT-TO-POINT.GOO,GO 1 X -0.800 Z 0.000 FEEDRATE 80 TOOL-NO 1 SPINDLE-SPEED 1262 PAGE 09 POINT-TO-POINT.GOO,G01 X 0.000 Z -39.863 FEEDRATE 80 TOOL-NO 1 SPINDLE-SPEED 1262 PAGE 10 POINT-TO-POINT.GOO,GO 1 X 0.000 Z 39.863 FEEDRATE 1000 TOOL-NO 1 SPINDLE-SPEED 1262 PAGE 11 POINT-TO-POINT.GOO,GO 1 X -0.800 Z 0.000 FEEDRATE 80 TOOL-NO 1 SPINDLE-SPEED 1310 Appendix D - ORACAP Master Part Example F i l e s Page 95 PAGE 12 POINT-TO-POINT.GOO,GO 1 X 0.000 Z -39.471 FEEDRATE 80 TOOL-NO 1 SPINDLE-SPEED 1310 PAGE 13 POINT-TO-POINT.GOO,GO 1 X 0.000 Z 39.471 FEEDRATE 1000 TOOL-NO 1 SPINDLE-SPEED 1310 PAGE 14 POINT-TO-POINT.GOO,G01 X -0.800 Z 0.000 FEEDRATE 80 TOOL-NO 1 SPINDLE-SPEED 1358 PAGE 15 POINT-TO-POINT.GOO,GO 1 X 0.000 Z -38.938 FEEDRATE 80 TOOL-NO 1 SPINDLE-SPEED 1358 PAGE 16 POINT-TO-POINT.GOO,G01 X 0.000 Z 38.938 FEEDRATE 1000 TOOL-NO 1 SPINDLE-SPEED 1358 PAGE 17 POINT-TO-POINT.GOO,G01 X -0.800 Z 0.000 FEEDRATE 80 TOOL-NO 1 SPINDLE-SPEED 1406 PAGE 18 POINT-TO-POINT.GOO,G01 X 0.000 Z -38.216 FEEDRATE 80 TOOL-NO 1 SPINDLE-SPEED 1406 PAGE 19 POINT-TO-POINT.GOO,G01 X 0.000 Z 38.216 FEEDRATE 1000 TOOL-NO 1 SPINDLE-SPEED 1406 PAGE 20 POINT-TO-POINT.GOO,GO 1 X -0.800 Z 0.000 FEEDRATE 80 TOOL-NO 1 SPINDLE-SPEED 1454 PAGE 21 POINT-TO-POINT.GOO,G01 Appendix D - ORACAP Master Part Example F i l e s Page 96 X 0.000 Z -37.202 FEEDRATE 80 TOOL-NO 1 SPINDLE-SPEED 1454 PAGE 22 POINT-TO-POINT.GOO,GO 1 X 0.000 Z 37.202 FEEDRATE 1000 TOOL-NO 1 SPINDLE-SPEED 1454 PAGE 23 POINT-TO-POINT.GOO,GO 1 X -0.800 Z 0.000 FEEDRATE 80 TOOL-NO 1 SPINDLE-SPEED 1502 PAGE 24 POINT-TO-POINT.GOO,GO 1 X 0.000 Z -30.384 FEEDRATE 80 TOOL-NO 1 SPINDLE-SPEED 1502 PAGE 25 POINT-TO-POINT.GOO,GO 1 X 0.000 Z 30.384 FEEDRATE 1000 TOOL-NO 1 SPINDLE-SPEED 1502 e t c . * PAGE 74 POINT-TO-POINT.GOO,GO 1 X 9.200 Z 0.000 FEEDRATE 1000 TOOL-NO 1 SPINDLE-SPEED 1646 PAGE 75 POINT-TO-POINT.GOO,G01 X 0.000 Z 44.273 FEEDRATE 1000 TOOL-NO 1 SPINDLE-SPEED 1646 PAGE 76 END-PROGRAM..M02 Appendix D - ORACAP Master Part Example F i l e s Page 97 D.9 [ME258.LATHE.PLT]MASTER1.PTX BYTE TERM(5) INTEGER FEED1 ,FEED2,FEEDMX,TOOL 1 ,TOOL2 LOGICAL ABSOL,INCH,SPEN COMMON /MAIN/XPOS,ZPOS,ABSOL,INCH COMMON /SUB/FEED1,FEED2,FEEDMX,TOOL 1 ,TOOL2, SPEN,I PEN DATA FEED2/0/,TOOL2/0/,Pl/3.1415926/,TIME/0.0/ FEEDMX= 200 SPEN=.TRUE. CALL FRAMERG( 26.200, 80.000,4010) CC PAGE 1 INCREMENTAL FORMAT ABSOL=.FALSE. CC PAGE 2 MM-UNITS INCH=.FALSE. CC PAGE 3 PROGRAM-DATUM XNEW= -15.100 ZNEW= 20.000 IF (INCH) XNEW=XNEW*25.4 IF (INCH) ZNEW=ZNEW*25.4 DIST=SQRT(XNEW* * 2 + ZNEW* * 2) TIME=TIME+DIST/1000 XPOS=XNEW ZPOS=ZNEW CALL MOVE(ZPOS,XPOS) CC PAGE 4 POINT-TO-POINT INTERPOLATION FEED1=FEED2 TOOL 1=TOOL2 FEED2= 1000 TOOL2=1 CALL CHANGERG XNEW= 0.000 ZNEW= -20.000 IF (INCH) XNEW=XNEW*25.4 IF (INCH) ZNEW=ZNEW*25.4 IF (ABSOL) DIST=SQRT((XNEW-XPOS)**2+(ZNEW-ZPOS)**2) IF (.NOT.ABSOL) DIST=SQRT(XNEW**2+ZNEW**2) TIME=TIME+DIST/FEED2 IF (ABSOL) XPOS=XNEW IF (ABSOL) ZPOS=ZNEW IF (.NOT.ABSOL) XPOS=XPOS+XNEW IF (.NOT.ABSOL) ZPOS=ZPOS+ZNEW CALL DRAW(ZPOS,XPOS) CC PAGE 5 POINT-TO-POINT INTERPOLATION FEED1=FEED2 TOOL1=TOOL2 FEED2= 80 TOOL2=1 CALL CHANGERG XNEW= 2.000 ZNEW= 0.000 IF (INCH) XNEW=XNEW*25.4 IF (INCH) ZNEW=ZNEW*25.4 IF (ABSOL) DIST=SQRT((XNEW-XPOS)**2+(ZNEW-ZPOS)**2) IF (.NOT.ABSOL) DIST=SQRT(XNEW**2+ZNEW**2) Appendix D - ORACAP Master Part Example F i l e s Page 98 TIME=TIME+DIST/FEED2 IF (ABSOL) XPOS=XNEW IF (ABSOL) ZPOS=ZNEW IF (.NOT.ABSOL) XPOS=XPOS+XNEW IF (.NOT.ABSOL) ZPOS=ZPOS+ZNEW CALL DRAW(ZPOS,XPOS) CC PAGE 6 POINT-TO-POINT INTERPOLATION FEED1=FEED2 TOOL1=TOOL2 FEED2= 80 TOOL2=1 CALL CHANGERG XNEW= 0.000 ZNEW= -43.000 IF (INCH) XNEW=XNEW*25.4 IF (INCH) ZNEW=ZNEW*25.4 IF (ABSOL) DIST=SQRT((XNEW-XPOS)**2+(ZNEW-ZPOS)**2) IF (.NOT.ABSOL) DIST=SQRT(XNEW**2+ZNEW**2) TIME=TIME+DIST/FEED2 IF (ABSOL) XPOS=XNEW IF (ABSOL) ZPOS=ZNEW IF (.NOT.ABSOL) XPOS=XPOS+XNEW IF (.NOT.ABSOL) ZPOS=ZPOS+ZNEW CALL DRAW(ZPOS,XPOS) CC PAGE 7 POINT-TO-POINT INTERPOLATION FEED 1=FEED2 TOOL1=TOOL2 FEED2= 1000 TOOL2=1 CALL CHANGERG XNEW= 0.000 ZNEW= 43.000 IF (INCH) XNEW=XNEW*2 5.4 IF (INCH) ZNEW=ZNEW*25.4 IF (ABSOL) DIST=SQRT((XNEW-XPOS)**2+(ZNEW-ZPOS)**2) IF (.NOT.ABSOL) DIST=SQRT(XNEW**2+ZNEW**2) TIME=TIME+DIST/FEED2 IF (ABSOL) XPOS=XNEW IF (ABSOL) ZPOS=ZNEW IF (.NOT.ABSOL) XPOS=XPOS+XNEW IF (.NOT.ABSOL) ZPOS=ZPOS+ZNEW CALL DRAW(ZPOS,XPOS) CC PAGE 8 POINT-TO-POINT INTERPOLATION FEED1=FEED2 TOOL 1=TOOL2 FEED2= 80 TOOL2=1 CALL CHANGERG XNEW= 0.800 ZNEW= 0.000 IF (INCH) XNEW=XNEW*25.4 IF (INCH) ZNEW=ZNEW*25.4 IF (ABSOL) DIST=SQRT((XNEW-XPOS)**2+(ZNEW-ZPOS)**2) IF (.NOT.ABSOL) DIST=SQRT(XNEW**2 + ZNEW**2) TIME=TIME+DIST/FEED2 Appendix D - ORACAP Master Part Example F i l e s Page 99 IF (ABSOL) XPOS=XNEW IF (ABSOL) ZPOS=ZNEW IF (.NOT.ABSOL) XPOS=XPOS+XNEW IF (.NOT.ABSOL) ZPOS=ZPOS+ZNEW CALL DRAW(ZPOS,XPOS) e t c . • CC PAGE 75 POINT-TO-POINT INTERPOLATION FEED1=FEED2 TOOL 1=TOOL2 FEED2= 1000 TOOL2=1 CALL CHANGERG XNEW= 0.000 ZNEW= 44.273 IF (INCH) XNEW=XNEW*25.4 IF (INCH) ZNEW=ZNEW*25.4 IF (ABSOL) DIST=SQRT((XNEW-XPOS)**2+(ZNEW-ZPOS)**2) IF (.NOT.ABSOL) DIST=SQRT(XNEW**2+ZNEW**2) TIME=TIME+DIST/FEED2 IF (ABSOL) XPOS=XNEW IF (ABSOL) ZPOS=ZNEW IF (.NOT.ABSOL) XPOS=XPOS+XNEW IF (.NOT.ABSOL) ZPOS=ZPOS+ZNEW CALL DRAW(ZPOS,XPOS) CC PAGE 76 END-PROGRAM CALL MAKCUR TYPE * ACCEPT 50, TERM CALL NEWPAG CALL GRSTOP TERM(1)=32 TERM(2)=27 TERM(3)='"' TERM(4)='0' TERM(5)='g' TYPE 50, TERM 50 FORMAT (1X,5A1) TYPE 100,TIME 100 FORMAT (1X,'ESTIMATED MACHINING TIME IS: ' ,F7.1,' MINUTES') STOP END APPENDIX E Data F i l e f o r ORACAP M a t e r i a l s E.1 [ME258.LATHE.DATJMATERIAL.DAT ABCDEFGH 1234 1234 1234 1 .234 1 . 234 1 .234 AB AL6061T6 1000 80 5 0 .800 0. 080 0 .040 MM ALUMINUM 1000 80 5 0 .800 0. 080 0 .040 MM ALUMSOFT 1000 80 5 1 .000 0. 100 0 .050 MM ALUMHARD 1000 80 5 0 .600 0. 060 0 .030 MM ST101 8 1000 80 2 0 .500 0. 050 0 .020 MM STEEL 1000 80 2 0 .500 0. 050 0 .020 MM al6061t6 1 000 80 5 0 .800 0. 080 0 .040 mm aluminum 1000 80 5 0 .800 0. 080 0 .040 mm alu m s o f t 1 000 80 5 1 .000 0. 100 0 .050 mm alumhard 1000 80 5 0 .600 0. 060 0 .030 mm st101 8 1000 80 2 0 .500 0. 050 0 .020 mm s t e e l 1000 80 2 0 .500 0. 050 0 .020 mm ALUMINUM 40 3 1 0 .030 0. 003 0 .002 IN aluminum 40 3 1 0 .030 0. 003 0 .002 in FORMATTED TABLE CONTAINING FEEDRATE AND DEPTHS FOR VARIOUS MATERIALS TO BE MACHINED ON THE ORAC CNC LATHE. COLUMN 1 COLUMN 2 COLUMN 3 COLUMN 4 COLUMN 5 COLUMN 6 COLUMN 7 COLUMN 8 8 CHARACTER MATERIAL NAME HIGH FEEDRATE FOR TRAVEL LOW FEEDRATE FOR CUTTING FEEDRATE FOR PARTING OFF DEPTH OF ROUGH CUTS DEPTH OF FINISHING CUTS DEPTH OF THREAD CUT INCREMENT INCH OR MM UNITS 

Cite

Citation Scheme:

        

Citations by CSL (citeproc-js)

Usage Statistics

Share

Embed

Customize your widget with the following options, then copy and paste the code below into the HTML of your page to embed this item in your website.
                        
                            <div id="ubcOpenCollectionsWidgetDisplay">
                            <script id="ubcOpenCollectionsWidget"
                            src="{[{embed.src}]}"
                            data-item="{[{embed.item}]}"
                            data-collection="{[{embed.collection}]}"
                            data-metadata="{[{embed.showMetadata}]}"
                            data-width="{[{embed.width}]}"
                            async >
                            </script>
                            </div>
                        
                    
IIIF logo Our image viewer uses the IIIF 2.0 standard. To load this item in other compatible viewers, use this url:
https://iiif.library.ubc.ca/presentation/dsp.831.1-0096368/manifest

Comment

Related Items