
Unver, Ertu and Mavromihales, Mike
Design and Development of an interactive 3D CNC Computer Aided Learning Program
Original Citation
Unver, Ertu and Mavromihales, Mike (2001) Design and Development of an interactive 3D CNC Computer Aided Learning Program. In: 17th International Conference on CAD/CAM, Robotics and Factories of Future, 10-12 July 2001, Durban, South Africa.
This version is available at http://eprints.hud.ac.uk/7794/
The University Repository is a digital collection of the research output of the
University, available on Open Access. Copyright and Moral Rights for the items
on this site are retained by the individual author and/or other copyright owners.
Users may access full items free of charge; copies of full text items generally
can be reproduced, displayed or performed and given to third parties in any
format or medium for personal research or study, educational or not-for-profit
purposes without prior permission or charge, provided:
•The authors, title and full bibliographic details is credited in any copy;
• A hyperlink and/or URL is included for the original metadata page; and
•The content is not changed in any way.
For more information, including our policy and submission procedure, please
contact the Repository Team at: E.mailbox@hud.ac.uk.
http://eprints.hud.ac.uk/DESIGN AND DEVELOPMENT OF AN INTERACTIVE 3D CNC COMPUTER
AIDED LEARNING (CAL) PROGRAM
E Unver1, M Mavromihales2
1- School of Design Technology
2- School of Mechanical Engineering and Manufacturing Systems
University of Huddersfield, Queensgate, Huddersfield HD1 3DH, West Yorkshire, UK e.unver@hud.ac.uk
KEYWORDS: Virtual Reality, Manufacturing Simulation, CNC, CAD/CAM ABSTRACT
The UK Government has committed itself to establishing the University for Industry (UFI), an umbrella organization which will create new markets for education and stimulate change in provision to take advantage of new learning methods.
In 1998, a partnership of organizations (universities, colleges and companies) led by The Virtual College submitted a project proposal under ADAPT-UFI to develop on-line and/or CD-based digital interactive teaching material - Multimedia Learning for Industry (MLI). The nine universities / colleges have collectively produced a bid document in which each put forward a project title with a budget of £100k. As part of the MLI project, and due to extensive internal knowledge of CAD/CAM and CNC machine tools, it was decided to develop a 3D interactive CNC training software program for technician and undergraduate level.
Although 3D CAD and CAM software is widely available for industry, this concentrates on producing part programs and machining. We are unaware of any 3D CNC software developed for college and university education that teaches the set-up of the machine parameters. This paper describes the development of a 3D interactive CAL program for training in CNC. It also briefly reviews trends and policy for Communication & Information Technology (C&IT) and CAL.
1. INTRODUCTION
Virtual reality or CNC simulation software can be constructed by using VRML tools with limited functionality or with full functionality using 3D CAD software or programming languages such as Visual Basic, C++ and Delphi. 3D models are created through 3D design software such as Solidworks, 3D Studio, Alias Wavefront, and ProEngineer. The creation of 3D data via a CAD package and then exporting the data as a Virtual Reality (VR) model provides the simplest way of modelling a virtual environment with required graphics features. However, this provides no dynamic simulation of the imported data. The data can not therefore be used with an internet browser with a relevant VRML player for interaction. It is possible however, to zoom rotate and perform other basic functions. Third party VRML programs or VR Application Programming Interface (API), Java or its Scripting language are used to make these 3D models interact. The VRML language specification contains a collection of commands for creating a variety of simple objects, vertices, faces and script which is the link used to generate appropriate motion.
Although creating a VR environment is much simpler than using a software development language to interact with 3D models, it still requires extensive learning of individualtoolkits and programming skills before the virtual world can be created and often results in a virtual environment with insufficient geometric accuracy[6,7].
Also using VRML language has other limitations:
It is necessary to use an Internet browser and VRML player
Interaction can be very slow depending on the VR file size
Interaction is also limited to certain movements and lighting effects
Another method of creating virtual simulation of the machining process is to use either high or low level programming languages such as C++ and manipulate the 3D data created by one of the 3D design packages. It is also possible to create the 3D model with the development software. Although this takes a lot longer than basic VR programming, it provides for a more flexible, robust and a faster method. In developing 3D software, programmers are faced with the choice of either developing their own 3D kernel or leasing a proprietary kernel.
This paper outlines the case for more effective use of C&IT in education and focuses on design and development of an efficient approach to constructing virtual manufacturing environments, compares 3D simulation methods, the pros and cons of used kernels and covers details of the developed 3D simulation program for CNC machining operations.
2.A CASE FOR (COMMUNICATION & INFORMATION TECHNOLOGIES) C&IT AND COMPUTER AIDED LEARNING (CAL) IN HIGHER EDUCATION Several reports [1,2,3] have recognised the use of C&IT as a means of improving long-term quality and flexibility of higher education and its management. In the short term, implementation requires investmen t in time, thought and resources. The Government‟s White Paper on Higher Education recommends that all higher educational institutions should have in place a C&IT strategy. Although the UK enjoys a good IT infrastructure, the challenges lie in how to harness that infrastructure, together with high quality teaching materials and management, to meet the needs of students and others. Generally speaking, the use of new technologies for learning and teaching is still at a developmental stage. As has been recommended [2] and is expected, within the next 5 years all students will have their own desktop computer and certainly have open access to Networked Desktop Computers on campus. The extensive application of C&IT as part of the learning environment in inevitable.
Despite the potential of C&IT and some major national initiatives, there remains little widespread use of computer-based learning materials. This is partly due to a reluctance of some academics to use teaching materials created by others. The task of creating ones own CAL material can take considerable time. This can entail the redesign of programmes to integrate computer-based materials and the sorting through limited availability of good materials. Developing good teaching-based learning material is expensive. It therefore makes sound advice to develop materials and systems that can be used by large numbers of students.
Although it has been estimated that up to ten percent of expenditure in higher education goes to C&IT there is relatively little application in learning, teaching and assessment [2]. There is scope for much greater potential for CAL that in future will be driven partly by the impetus for enhanced quality of learning for students in an era of attenuated staff to student ratios.
Computer-based programmes, such as tutorials, simulations, exercises, learning tools and educational games can be highly interactive and provide activities that students need to develop their understanding of others‟ ideas and the articulation of their own.
As with the application of the program described in this paper, through using computer-based learning materials, students can receive immediate feedback to assist with learningcomplex concepts. Through CAL students can often be provided with the opportunity to generate many exercises as a way of supplementing tutor-marked assignments for certain topics. In our application, students can avoid making costly errors that would be possible whilst learning (Computer Numerical Control) CNC programming on an expensive real machine tool. Students can repeat simulations as many times as necessary to enhance their understanding of the procedure and outcomes.
2.1 OTHER BENEFITS OF CAL
Other benefits of using CAL include:
Students can take greater control of their studying through the use of the technology. They can assess materials in their own time, set their own pace and explore materials as it suits them.
CAL can be used for computer-based text, graphics, animations and simple tests that students can use to develop understanding of certain subject matter. This can offer various levels of sophistication with high-end applications containing video or allowing the student to interact with simulations. The penetration of this relatively new technology into engineering teaching is low. Although a number of …off the shelf‟ programs are available for customisation to individual curriculum needs, the process is demanding on time. Some such commercially available programs include,
LearnOR
Question Mark
Blackboard
CVU
The nature of required customisation can be as that described in the proceeding sections.
Here a Kernel was used to produce the graphical interface required to generate a virtual
machine tool along with animation.
This forms only part of the CNC Part Programming process. The complete process is multi-facetted and will include a range of processes from graphical part definition in a detailed form, to component production and machine re-setting. To cover the entirety of the process using a combination of text and animation material, several programs and much customisation are required.
3. DEVELOPMENT OF INTERACTIVE 3D CNC SOFTWARE
3.1 THE USE OF KERNELS FOR 3D APPLICATIONS
Inside every 3D modelling application, there is a hidden engine called a geometric modelling kernel. The kernel consists of a library of core functions, designed to handle the details of creating and manipulating model geometry and topology. When a CAD user executes a command, the CAD software translates the command into a set of fundamental geometric calculations. These calculations are computed by the kernel, the result of which are passed back to the CAD application in preparation for output to the graphics engine for display. Kernels simplify the requirements of advanced maths necessary to develop a 3D design software [5].
Use of Kernels is not limited to CAD applications, indeed many other opportunities lie outside the boundaries of traditional CAD/CAM including such as applied to virtual reality, scientific modelling and laser scanning. Most traditional high-end systems have some kind of hybrid modelling capability. Hybrid solid modellers are an adaptation of the standard Boundary Representation (B-Rep) modeller that uses multiple data structures. For example, they can use 3D wireframe structure for rapid geometry creation and modification, B-Rep structures for geometric and topological integrity, facets for fast graphical display, and a history tree for greater ease in design modification. The
generally better known 3D kernels are Spatial Technology‟s ACIS and Unigraphic‟s Parasolid. Other Kernels include Ricoh‟s DesignBase, Matra -Datavision‟s Cas.cade, Thinkernel‟s think3, Varimetrix Corporation‟s UPG2, Solid Modelling Solutions‟s Smlib and Lattice Technology‟s Lattice Kernel. Owning or renting kernel technology is a business decision made by each application developer. If the application developer owns their kernel technology, the developer has control of the kernel technology without dependence on a third party, this leads to greater control over content and timing of new releases.
It is important that the operating system supports and is compatible with the kernel. Most kernels are supported by Windows NT and Unix platforms such as Sun Solaris, SGI IRIX, IBM AIX, HP HP/UX.
3.2 CNC SIMULATION APPLICATIONS
There are numerous suppliers of CNC simulation software used for simulating the machining process and generating part programs that are post-processed into machine specific cutter paths. Such packages can usually import geometry such as 2D lines and text, surfaces and solid models. Many of these are standalone Computer Assisted Part Programming (CAPP) systems whilst others form part of a vendor‟s suite of CAD/CAM applications. The former relies heavily on data translation through a neutral format such as IGES, DXF, STEP or a dedicated direct translator (which can be more reliable in data exchange, though less commonly found). In the latter transfer of geometrical data from CAD to CAM, using the vendor‟s proprietary software should be a seamless process. Examples of the former (standalone CAPP programs) include, AlphaCAM by LICOM, PEPS by CAMTEK, MasterCAM. PTC, SDRC, Unigraphics Solutions, Dessault Systems amongst many other providers, supply turnkey systems with bundles of their own CAD/CAM software.
3.3 TRAINING STUDENTS IN COMPUTER NUMERICAL CONTROL (CNC) Prior to either becoming familiar with a CAPP application or using a CNC machine tool,
students should be familiar with certain basic concepts. These should include:
Dimensional co-ordinate system definition (X, Y and Z for both positive and negative directions) –
depending on machine tool configuration
Rotary and secondary axis definition (A, B,C and UVW), if applicable
Machine‟s home position
- machine datum position
Workpiece co-ordinate system (c omponent‟s zero datum)
Machine‟s working envelope (maximum machining area)
The application of multiple tooling and the concept of tool offsets
Figure 1
3.4 DEVELOPMENT OF THE APPLICATION CODE
How do you choose a programming language for power hungry applications such as CAD or visualisation? Visual Basic, Delphi, Java and C++ are programming languages used on windows platform for software development. Advantages and disadvantages are offered in using different programming languages for the same development work. Some programming languages will result in faster running of the developed application. It is generally recognised [4] that assembly language, or machine code provide for faster end results from the program. C++ is a popular programming language which may contain machine code and high level programming code. Other software such as Visual Basic may run slower. Java is also a popular language particularly for internet programming but needs to be used either with a browser or an interpreter. It therefore runs very much slower when compared to C++ programming language.
ACIS 3D Building Blox and Visual Basic Programming software has been used to develop our software. In this software the user can view, rotate, manipulate and carry out CNC simulation using relevant commands. The 3D models were created in Solidworks 3D design software and then converted to the ACIS *.sat format. Building Blox has enabled us to read the data from the 3D Modelling system, SolidWorks. Low spec hardware can be utilised for running the developed program.
Figure 2Figure 3
Beyond support for viewing, querying and manipulating ACIS 3D models, this reduced version of the ACIS kernel includes a basic set of model design features. While these won't help to build sophisticated CAD applications, they are good enough to build simple modelling applications, sketching, reading 3D data from other sources and parts recognition for programming. Other low cost application areas can include virtual product design, sales support, training, technical support and simulation.
3.5 SOFTWARE FEATURES AND FUNCTIONALITY
Figures 2 to 10 show screen …stills‟ of the developed software. Figures 2,3,4 and 5 show the designed CNC turning centre. The developed software allows us to zoom, rotate and split the screen into four whilst in either wireframe or shaded mode.
3.6 THE SIMULATION PROCESS
With reference to figure 2, using the created menu the user can select individual machine components that are part of the control process such as the door, chuck, turret, part catcher, and tool carousel (in CNC milling). The door offers options for either open or close and similarly the part catcher offers options for activation (on or off). If the user wishes to select the chuck as a device, the miscellaneous word address control codes M03 and M04 buttons can be selected for simulation of spindle rotation. The turret can be rotated for the selection of the appropriate tool. Whilst the turret is selected, the control codes G00 and G01 from the linear interpolation menu can be used to change the tool position in either rapid or feed rate mode. In figure 3 and 4, the part catcher and turret are selected and can be simulated with the menu provided. Figure 5 shows the turning centre in a four part screen format for shaded and wireframe viewing of the machine.
Figures 6 and 7 show a CNC milling centre. Another control menu is created to simulate and move the components of this machine with a similar format to that of the turning centre. Figures 8 and 9 show, a simplified display version of the CNC turning cutting process. This basic turning is a lot faster for tool movements. Users can view the operation from different angles such as top left, from the front or in perspective or simply maximising the size of the screen for the simulation. The control menu that is situated on the right can simulate G00 and G01 linear interpolation movements with specified feedrate. G02 clockwise and counter-clockwise simulation is incorporated within the software as are many other slide movement codes (G codes). The user has to enter the coordinates for the circular interpolation. If the wrong information is entered a Figure 5 Figure 4
Figure 7 Figure 6
warning is returned to the user for correction of the entered information. Current tool positional co-ordinate data can be seen at the bottom right corner of the screen. The spindle or slide (depending on which is applicable to the machine) can be sent to its home location. For visual effect a red arc is drawn where a circular movement of the tool is expected. The tool follows these co-ordinates.
Figures 9 and 10 show the basic CNC milling process. Similar to the basic turning process, the tool or table can be positioned using G00, G01 and G02. The tool positional co-ordinates here can also be shown at the bottom corner of the control menu.
Students are expected to learn the basic coordinate system and the functions used in CNC programming. Prior to using the real CNC machine, students are required to spend enough time with this software, by using it to simulate various functions. What is expected of them is to understand the basic functions of CNC and retain in their minds basic common control codes. Additional code is added to the interface offering the user the option of creating further basic prismatic objects such as a cube, cylinder or cone. Other features on offer to the user include the saving of specific screens once other 3D objects have been created or imported from other sources.
3.7 FUTURE DEVELOPMENTS OF THE SOFTWARE
More features are planned to be added to the CNC simulation software. This will include creating part programs direct from the machine motion simulation process, adding other ISO word address M & G codes for the simulation such as start and stop of coolant and incremental and absolute coordinate systems. The second phase of the project has started and this includes the use of the Parasolid kernel and Visual C++ programming language. We can therefore expect faster loading time for the models and also faster changes in Figure 9 Figure 8 Figure 10 Figure 11
The software has been designed for popular CNC machine configuration and operations as found in most shop floor environments. Adaptation of the software for other CNC processes such as Electro Discharge Machining (EDM), laser and other profile cutting, punch/press machines is possible.
4. CONCLUSIONS
Development of 3D CNC simulation software for specific machine tools associated with particular processes has been proven possible by the development of this CAL program. What has also been shown is that various machine components that are required to be part of the control process can also be simultaneously simulated. This will enable trainees at either undergraduate or technician level to be trained without the need to use real machines from the outset. This reduces the chances of costly errors. The advantages of using CNC simulation software also include:
✓In industrial situations training can commence prior to the purchase or delivery of the machine therefore less time is spent at a later time when the machine is required to be productive.
✓Provides for a more cost effective means of training groups of students where limited CNC machine tools are available. This is usually the case in educational institutions. Such software applications are in line with current trends in the development of CAL materials and as recommended in the Government‟s white paper for the futu re use of C&IT in higher education.
REFERENCES
1. Ball PD, Carrie AS, and Thornbury H, (1999),“Experiences of integrating Computer-Aided Learning into engineering classes”, ICPR-15, University of Limerick, Ireland pp 1293-1296.
2. Dearing, R.(1997), Higher Education in the Learning Society, the National committee of Inquiry into Higher Education, Report of the National Committee and summary report, pp.118-121.
3. Engineering higher education, report of a working party of the Royal Academy of Engineering, (1996).
4.Gregory J., (1998), Using Visual C++6 Special Edition, ISBN: 0-77-1539-2
5. Salomon D., (1999), Computer Graphics Geometric Modelling, ISBN: 0-387-98682-0, Springer – Verlag Inc., New York.
6. Xu.A.,J., Shao Z.X.,., Baines R.W., (1999), “A Virtual Environment for Manufacturing Simulation”, ICPR-15, University of Limerick, Ireland pp1401-1404
7. Zhao, Z., A, (1998), Variant Approach to Constructing to Managing Virtual Environments. International Journal of Computer Integrated Manufacturing, Vol11, No.6 pp485-499
