Introduction

The CNC machine is one of the best ways to ensure precision and consistency in the milling of a part. Since the machine precisely follows the program that is entered into it, an engineer can create a program that will obtain the proper results. There are several ways to create such a program. The code can be written by hand for simple parts, but there are also software packages that can generate code for more complex parts. Unfortunately, at the Advanced Design and Manufacturing Lab (ADML) at the University of Maryland, College Park, the code generated is not the same language that the CNC machine responds to. In order to generate the proper code and enter it into the machine, three separate computer programs are required on two separate machines. Team fourís project (later named CAMTech) focuses on this specific problem. Combining all of the necessary programs into one comprehensive software package, and eliminating one of the computers will make it easier and more effective for students to learn about the CNC manufacturing process.

Problem Statement

There are three primary 3D modeling programs at ADML: Cadkey for Windows, AutoCAD r13, and Pro/ENGINEER v. 17.0. All three of the programs also have a module that can create CNC milling code: Cutting Edge, EZCAM, and Pro/MANUFACTURE, respectively. Unfortunately, none of the modules create the language that the CNC machine responds to, G-code. Although EZCAM and Pro/MANUFACTURE both have post processors that are capable of producing G-code, neither can produce the exact code necessary. Graduate students at ADML have created a post processor that can convert Cutting Edge APT-code into the properly formatted G-code, but no such program exist for the other two modules.

In addition, there is no comprehensive tutorial on how to operate all three of the modules, generate the necessary code, and send it to the CNC machine for manufacturing. Each semester, students must be taught the process instead of having them follow a tutorial, similar to the Pro/ENGINEER tutorials that work so well.

Another problem is the fact that two computers and up to three separate programs are necessary to send completed code to the machine for production. In the existing system, the user has one option:

This process is a lengthy one, and there are many areas where error can occur. If all of the steps could be combined into one program on one machine, the process would go much more smoothly.

Finally, after all of the above steps are completed, a dry run must be completed on the CNC machine to ensure that the code sent to it is the correct one and will not result in damage to the machine or an incorrect part. This dry run is necessary to determine critical parts of the program such as spindle speed, x and y position maximums and minimums, and the location of the clearance plane. This dry run can take almost as long as the machining process itself, and therefore it consumes a great deal of valuable time. If there was a way to include critical "dry run" information in the post processing steps, the lengthy process can be eliminated, saving graduate students and professors valuable time.

Methodology

Learning the University of Maryland's CNC process is the obvious first step to completing all the objectives of this project. That process began with learning the CAD package Cadkey. This was done in the Computer Aided Design class offered to Maryland's engineering students. In this class, a CNC lab was required to be taken by all the students. A simple part was designed on Cadkey to be machined by the CNC machine. This part was then imported into the CAM package, Cutting Edge, for use with Cadkey. Dr. Zhang, the professor of the course instructed the team on the correct way to use Cutting Edge to machine simple parts. Once the CAM package developed the APT-code for the part, it was sent through a post program, which converted the APT-code to G-code. The DOS command edit was then used to fix the G-code file. This was done because the post program leaves out some information in the G-code that is essential for proper machining. This step also allowed the team to learn APT-code and G-code, which later became a valuable asset to our team. The G-code is then saved to a disk and taken over to the Zenith computer next to the CNC machine. The CNC2 program then sent the G-code to the CNC machine. The next step of the lab was to learn how to operate the milling machine. Again Dr. Zhang instructed us carefully on how to machine the parts. The team now understood Maryland's CNC process.

The next step was to expand on the current process and improve it. Knowing that Pro/ENGINEER and Cutting Edge already had good CAM packages, the team's next task was to research possible CAM packages for use with AutoCAD r13. During this project, the CAM package for use with AutoCAD, EZCAM, was missing, hence the reason for the research. The research was done in the library and over the internet. The team came upon AutoCODE and Expedite 3-D. AutoCODE worked well with AutoCAD but the problem with the software was that it only worked in 2-axis machines. This would of course cause a problem with the 3-axis CNC machine that is used in ADML. The problem with Expedite 3-D was the cost of the software was too high and the time it would take to learn it, if acquired, would outlast the time of the project. So the team made attempts to retrieve EZCAM. This turned out to be a wise choice because we had Maryland Manufacturing Engineering graduate students to assist us in learning the program.

Staying on task, the team needed to eliminate the Zenith machine, because it was slow and outdated. In order to accomplish this, other computers needed to be checked to see if it could indeed be connected to the CNC machine. Upon receiving approval that the connection could be done, the CNC2 program needed to be moved to one of the newer machines. This turned out to be a very difficult task. The first approach taken was to simply copy the executable file to a disk and then recopy it on the destination machine. But due to the difference in DOS versions, this approach failed. The next approach was to copy all the files from the year that the CNC2 program was installed and from the directory that it was installed in. This approach also failed. The next approach was to zip the entire hard drive, but again the zip program would not work on the old machine due to the old DOS version. The team's last approach was to take the hard drive out of the Zenith and then install in one of the new computers, but the team knew that would be defeating the purpose of eliminating the machine. So an IBM specialist was brought in to fix the problem. This specialist installed DOS version 6.2 on the old machine, found a hidden file that also needed to be transferred, and created a CNC2.bat file which runs the program on the new computer.

The team's main overall task was to somehow bring everything together and transfer the G-code successfully to the CNC machine. This was done with the design of the program Computer Oriented Manufacturing Post Processor (COMPP). Along with COMPP, the team came up a company name: CAMTech. The purpose of COMPP was to integrate the three CAD/CAM packages with the CNC machine. Knowing the purpose, the team designed the screens for the program (screens can be seen in appendix A) The program is equipped to work off of a 1.44 floppy disk, convert APT-code to G-code, produce dry run information, send the G-code to the CNC machine, and provide any online help with a brief tutorial. Once the COMPP specifications were designed, the programming began using the software package Visual Dbase. Visual Dbase was given to the team by Mr. Dan Burns, Director of the Department of Commerce and Business Services. This program allowed the team the flexibility to create a windows based program while accomplishing the objectives.

The team created a test specimen for use with all three CAD/CAM systems (test specimen can be seen in appendix B). The team then split up into three expert sections: one group to learn EZCAM, another to learn Pro/MANFACTURE and Pro/NCPOST, and the last group to continue the COMPP programming. (Note: Everyone in the team had already had experience with Cutting Edge)

The first step to EZCAM is to design the part in AutoCAD. The file is then exported as a .dxf file and saved to a disk. The EZMILL section of EZCAM was opened and the .dxf file retrieved. From here, the various curves and lines of the piece are picked and a tool path is determined. The cutting piece, cutting depth, clearance height, spindle RPM, mill feed, and plunge feed are all chosen. The path is then verified for correctness. The teaching assistant of the class worked with the team on figuring out the G-code for our test specimen. (Note: For more information on EZCAM, please see the CAMTech tutorial)

The first step to Pro/MANFACTURE is to design the part in Pro/ENGINEER. The .prt file is then retrieved into the program. The next step in the process is to define a work piece that the finished part will be made from. After this is completed, all of the important machine data is entered: tool size, speed, machine type, feed rate, etc. Once all of the parameters have been defined, the milling volume, or the material that will be removed by the tool, is defined. Pro/MANUFACTURE then creates a tool path based on the data entered into it and the nature of the volume. Finally, using Pro/NCPOST, one of six post processors can be used to create the final machining code. (Note: For more information on Pro/MANFACTURE and Pro/NCPOST, please see the CAMTech tutorial)

The team then tested the COMPP program and compared the CNC specimens created from the three different CAD/CAM packages. The results of this comparison is covered in the discussion section.

The final step in the team's process was to document all the work in a textbook type format. A simple user's guide was created for use with the CAMTech program, COMPP. Tutorials were also written to create the G-code and Apt-code for the test specimen in all three CAD/CAM packages.

Results/Discussion

Certain aspects of the current process to machine a part with the CNC machine at the University of Maryland have not been updated since sometime in 1986. The program to send the machine code to the CNC machine was written and installed on a Zenith computer which was built prior to 1985. The system is out of date and very limited by today's standards. The Zenith computer was obtained from Terrapin Trader as an inexpensive temporary computer to connect to the CNC machine. The benefit to having this computer was that other computers would not be tied up while sending to the machine. A practical accessory to the Advance Design and Manufacturing Lab, the computer provided many years of fault free communications with the milling machine.

As technology progresses, the interface with the CNC machine becomes more important and vital to provide accurate parts. The introduction of 3-D modeling systems has opened up a window for complex and intricate designs. The ability of designers to built a part, generate the tool path and create the program code has been simplified with the introduction of CAM programs. The CAM programs have enabled designers to decrease the design and conceptualization process and begin machining a prototype in a shorter amount of time. Since more companies are focusing efforts on faster times to market, the CAM programs are being utilized to their fullest. As a result of the new technology, program codes are being generated faster and with more precision than ever before. This has forced some well needed modifications to the current transfer system at the University.

To increase the accuracy and reliability of the transfer process, the first goal was to eliminate the Zenith computer from the link to the CNC machine. The computer is beginning to have questionable reliability as the market for CAM programs increases. CAM technology progression is leaving the current University of Maryland transfer system behind. To update the system hardware utilized by the cnc2 program, the program itself was first copied from the Zenith computer and relocated onto two Gateway 486 computers. The program itself is quite reliable and despite being crude by today's standards, still serves it's purpose well. Therefore no modifications were made to the program. The hardware cable which interfaces the computer and the CNC machine was tested with both Gateway computers and proved successful. A sample G-code file was sent from both computers and received in the CNC machine quickly and without error. The cnc2 program was also incorporated into the COMPP software. This allows the user to send to the CNC machine without leaving the COMPP program. The cnc2 program was linked to COMPP and tested thoroughly. As before, G-codes were received by the CNC machine in flawless fashion.

The COMPP program goal was to increase the efficiency of the process by combining several independent functions into one program. To do this, COMPP was also linked to the post program previously written by the University of Maryland ADML. This post processor converts APT code to G-code similar to that used by Pro/ENGINEER. The program can convert APT codes from all three CAD systems. Since EZMill, which works with AutoCAD, creates the CAM file in G-code, it is not necessary to use the post program through COMPP for any file made using AutoCAD. The post program and COMPP software link was tested with both the Pro/ENGINEER APT-code and the APT-code of Cadkey. The Cadkey APT code, created in Cutting Edge, was previously transformed into usable G-code through DOS. The output of the post program had been used by ADML as the standard by which all other codes must be generated. Through COMPP, the G-code created from the Cadkey file remained unchanged from the standard. The APT code from Pro/ENGINEER, created in Pro/MANUFACTURE and Pro/NCPOST, was in need of some modifications before utilizing the post program. Several initial lines had to be removed before sending the APT file through the post processor. Once sent through the processor, several discrepancies existed between the G-code file and the standard. To check the validity of the post program, the same APT-code was sent through the post processor provided by Pro/ENGINEER. The result from the Pro/ENGINEER processor was much closer to the standard than the output from COMPP. Therefore CAMTech suggests that the G-code file from Pro/ENGINEER be created inside Pro/ENGINEER before using COMPP. This will provide for the best possible G-code until problems with the post program can be analyzed further.

Editing and viewing the G-code file was accomplished by linking the COMPP program with the edit function of DOS. This allowed the user to view and change the G-code to correct any inconsistencies. For example, from a Cutting Edge file, there is a missing G90 command. The COMPP program allows the user to view the G-code file and enter in the missing G90. The original concept for the COMPP program consisted of an automatic correction system. In order to institute that system, the G-codes from Pro/ENGINEER and Cutting Edge had be scrutinized. After an in depth comparison between the two codes, a program was written to change any G-code file which does not meet the standard. There is a separate correction program for Cadkey and Pro/ENGINEER. The programs can be utilized in the COMPP software.

Once the COMPP program had been setup and linked to both the cnc2 program and the post program, the last remaining goal was to write a program which would eliminate the dry run procedure commonly used on the CNC machine to prevent possible damage. This task, although simple in concept, proved difficult in practice. The dry run program was intended to pull out critical information from the G-code files and display them to the user. Critical points like the maximum and minimum location for the X and Y values would be displayed. It was also originally designed to pull out and display all G90, G91, G02 and G03 commands. The problem in creating the dry run program stemmed from the format in which G-code is written. The X and Y values which command the milling tools location on the work piece are in an unseparable field. The typical G-code file lists the coordinate value immediately following the axis variable. For example, an X and Y coordinate would looks as follows: X5.75 Y2.5. This presents a problem when trying to identify the numerical values. A simple program was written to pull out the maximum and minimum numbers based on the G-code format where a space existed between axis variables and numerical values. As a result, the dry run program was in the process of being rewritten at the time of this paper.

Conclusion

Through the use of CAMTech software users are able to use 3D modeling programs to create physical parts with the CNC machine easily and with precise results. The 3D packages available to students in ADML are Pro/ENGINEER, AutoCAD, and Cadkey. With the 3D modeling software, the user can create any geometry desired. Then, with the aid manufacturing modules such as Cutting Edge, EZMILL and Pro/NCPOST, the users can import their part geometry and generate tool paths. The manufacturing modules available are Cutting Edge which corresponds to Cadkey, Pro/NCPOST which corresponds to Pro/ENGINEER, and EZ-MILL which corresponds to AutoCAD. These modules will then generate G-code from APT code files based on the designed part. The CAMTech software, COMMP, will lead the students and faculty through a tutorial which will help them machine a part from any one of the three CAD systems. The COMMP program will then display critical information from the G-code file, such as their work piece size, X and Y maximums and minimums, rapid tool movement, and Z depths. This gives the user a chance to evaluate their geometry and work piece before running the milling machine. This should eliminate errors and the need for a dry run simulation on the machine. Once the output from the COMMP program is verified, it is ready to be sent to the CNC machine. The user, via the cnc2 program linked through COMPP, can then send the converted G-code to the CNC milling machine so that the part can be machined.

COMPP, which has been created to link the 3-D programs to the CNC machine in a smooth one computer process. It provides the students with a unique learning opportunity. They are now able to generate parts from scratch on their own. Students who use this system will gain experience with 3-D modeling systems, post programs, and the CNC machine. The students that have the opportunity to use the system will also gain knowledge on G-code, milling procedures and tool path selection.

The COMPP program has incorporated the cnc2 program, post program and dry run program into one software package which can be easily utilized to machine any product. Now installed on the Gateway programs at ADML, the system has been advanced to meet the needs of the complex geometries created in today's 3-D modeling systems. The COMPP program will carry the ADML machining process well into the turn of the century.