CNC part program simulation using solid modelling techniques

Similar documents
3 AXIS STANDARD CAD. BobCAD-CAM Version 28 Training Workbook 3 Axis Standard CAD

TOOLPATHS TRAINING GUIDE. Sample. Distribution. not for MILL-LESSON-4-TOOLPATHS DRILL AND CONTOUR

Introduction to Solid Modeling Parametric Modeling. Mechanical Engineering Dept.

Technological requirements of profile machining

Licom Systems Ltd., Training Course Notes. 3D Surface Creation

Geometric Modeling. Introduction

Exercise Guide. Published: August MecSoft Corpotation

Polar coordinate interpolation function G12.1

Module 1: Basics of Solids Modeling with SolidWorks

CNC 8055 MC EXAMPLES MANUAL REF Ref. 0601

Reconstruction of 3D Interacting Solids of Revolution from 2D Orthographic Views

Manufacturing Processes with the Aid of CAD/CAM Systems AMEM 405

L1 - Introduction. Contents. Introduction of CAD/CAM system Components of CAD/CAM systems Basic concepts of graphics programming

Computer Aided Engineering Applications

What s new in EZCAM Version 18

Surface Swept by a Toroidal Cutter during 5-Axis Machining

CATIA V5 Parametric Surface Modeling

Chapter 9 3D Modeling

CNC-RP: A Technique for Using CNC Machining as a Rapid Prototyping Tool in Product/Process Development

Feature-based CAM software for mills, multi-tasking lathes and wire EDM. Getting Started

Lesson 5 Solid Modeling - Constructive Solid Geometry

CNC Programming Simplified. EZ-Turn / TurnMill Tutorial.

Conversational Programming for 6000M, 5000M CNC

Flank Millable Surface Design with Conical and Barrel Tools

Version 2011 R1 - Router

Chapter 12 Solid Modeling. Disadvantages of wireframe representations

COPYCAT NEW FANGLED SOLUTIONS 2/6/2009

SolidCAM Training Course: Turning & Mill-Turn

Engineering designs today are frequently

Proizvodnja podržana računalom Autor: Tomislav Pavlic, mag.ing.mech.

Multi-Axis Surface Machining

Chapter 2 Parametric Modeling Fundamentals

Automated Drill Design Software

Geometric Modeling Systems

EZ-Mill EXPRESS TUTORIAL 2. Release 13.0

Computer Aided Engineering Applications 3. Advanced Manufacturing 3.5 NC programming 3.6 Automated Manufacturing systems 3.7 Rapid prototyping

Surface roughness parameters determination model in machining with the use of design and visualization technologies

TopMill TopTurn. Jobshop Programming & Simulation for Multi-Side & Complete Mill-Turn Machining for every CNC Control

Section 20: Graphics

Programming Features PERFORMANCE & SPECIFICATIONS

VALLIAMMAI ENGINEERING COLLEGE

Prismatic Machining Overview What's New Getting Started User Tasks

CIRCULAR INTERPOLATION COMMANDS

Mill Level 1 Training Tutorial

Mach4 CNC Controller Mill Programming Guide Version 1.0

1. In the first step, the polylines are created which represent the geometry that has to be cut:

IEEM 215. Manufacturing Processes I Introduction to the ARIX CNC milling machine

Mach4 CNC Controller Mill Programming Guide Version 1.1 Build 3775

Jewelry Box Lid. A. Sketch Lid Circle. Step 1. If necessary start a new Mastercam file, click FILE Menu > New. Fig. 3

Chapter 39. Mastercam Jewelry Box Tray. A. Sketch Tray Circle. B. Twin Edge Point Circles. Mastercam 2017 Tray Jewelry Box Page 39-1

Conversational Programming for 6000i CNC

9000 CNC 9000 CNC: THE NEW STANDARD OF CONTROL. INTUITIVE EFFICIENT PRODUCTIVE

Accurate Trajectory Control for Five-Axis Tool-Path Planning

Copyright 2019 OPEN MIND Technologies AG

VERO UK TRAINING MATERIAL. 2D CAM Training

GENIO CAD/CAM software powered by Autodesk technology for parametric programming of boring, routing and edge-banding work centers Genio SPAI SOFTWARE

EML 2322L -- MAE Design and Manufacturing Laboratory. CNC Machining

Offset Triangular Mesh Using the Multiple Normal Vectors of a Vertex

Foam Casualty NCGen User Manual

G & M Code REFERENCE MANUAL. Specializing in CNC Automation and Motion Control

Parametric Modeling with NX 12

Mach4 CNC Controller Lathe Programming Guide Version 1.0

3D Modeling: Surfaces

Cutter Workpiece Engagement Calculations for Five-axis Milling using Composite Adaptively Sampled Distance Fields

Parametric Modeling with UGS NX 4

3. Preprocessing of ABAQUS/CAE

4 & 5 Axis Mill Training Tutorials. To order more books: Call or Visit or Contact your Mastercam Dealer

Structural & Thermal Analysis Using the ANSYS Workbench Release 12.1 Environment

ADVANCED TECHNIQUES APPENDIX A

Mastercam X9 for SOLIDWORKS

Dolphin PartMaster Milling

MANUFACTURING PROCESSES

VisualCAM 2018 for SOLIDWORKS-TURN Quick Start MecSoft Corporation

Demonstration -3D Printer -CNC Milling Machine

Chapter 2 Parametric Modeling Fundamentals

Kuang-Hua Chang, Ph.D. MACHINING SIMULATION USING SOLIDWORKS CAM 2018 SDC. Better Textbooks. Lower Prices.

Belt Buckle A. Create Rectangle. Step 1. If necessary start a new Mastercam file, click New

Mechanistic Modelling of the Milling Process using Complex Tool Geometry

CNC Programming Simplified. EZ-Turn Tutorial.

CAD2Gcode DXF Writer By Bob Adams

VisualMILL Getting Started Guide

CAM Express for machinery

Multipatched B-Spline Surfaces and Automatic Rough Cut Path Generation

Tutorial: Basic G Code Programming By: Matthew Jourden Brighton High School Brighton, MI

Autodesk Conceptual Design Curriculum 2011 Student Workbook Unit 2: Parametric Exploration Lesson 1: Parametric Modeling

Introduction to ANSYS DesignModeler

SOLIDWORKS 2016 and Engineering Graphics

What's New in RhinoCAM 2014

Geometric Modeling Lecture Series. Prof. G. Wang Department of Mechanical and Industrial Engineering University of Manitoba

Rectangular Coordinates in Space

Three-Dimensional Reconstruction from Projections Based On Incidence Matrices of Patterns

Solid Problem Ten. In this chapter, you will learn the following to World Class standards:

What's New in CAMWorks 2016

Tutorial Second Level

Lesson 4 Introduction To Programming Words

Chapter 1 Introduction to Numerically Controlled Machines

What's New in VisualCAD/CAM 2019

Lesson 3: Surface Creation

What's New in CAMWorks For Solid Edge-2015

Create Complex Surfaces

Transcription:

CNC part program simulation using solid modelling techniques G.C. Vosniakos and D. Kollios National Technical University of Athens, School of Mechanical Engineering, Department of Manufacturing Technology, 157 80 Athens, Greece, e-mail: vosniak@central.ntua.gr Abstract : CNC programming on all but the simplest cases needs graphical verification or simulation. The programming paradigm advocated for this task is line-by-line execution of the program with simultaneous creation of the volumes swept by the cutting tool and their subsequent subtraction from the volume of the initial material block. Tool movement is defined following ISO (or G-) codes and auxiliary commands are supported, too, e.g. tool change. A library of tools is maintained and can be easily expanded. The system exploits Boolean operators (notably subtraction) and solid creation operators (extrusion, revolution) as well as solid manipulation operators (3D rotation, offset etc.). The prototype system was created as an Autocad extension using Autolisp and DCL for user interface development. Keywords : CNC verification, simulation, solid modelling, G-codes, Autolisp 1. Introduction Computer Numerically Controlled machines execute axis movement according to programming instructions. For all but the simplest of them the actual result of the program is impossible for the human to visualise without graphical aids. Numerical control simulators are computer programs which seek to determine automatically if an CNC program, when executed in a given machining environment, will produce a specified part from stock without undesirable side effects. Several methods proposed for CNC simulation rely on application of solid modelling technology. However, direct techniques suffer from heavy computational cost and view-based techniques, while very efficient for simulation, are not capable of accurate dimensional CNC verification [1]. Attempts to improve the state-of-the-art use alternative or hybrid representations like octrees, develop algorithms for fast intersection calculation or abandon solid modelling altogether. In [2] both wireframe display of the tool path and solid model of the machine part are used to detect the motion command and auxiliary command errors in NC code. The Z-map method is used for the shaded image display and for comparing CAD and CAM data. In [3] α new method of NC simulation is described, using ray representations in combination with the RayCasting Engine (PCE), a new, highly parallel computer for processing ray reps, which extends the range of verifiable phenomena to include part tolerance assessment, machining dynamics and touch-sense probing. In [4], an exact geometric model of the volume swept by a tool along a given path is first generated. The boundary profile of a general cross-section of the part is then created by means of a Boolean operation of the swept volume with the current profile. The operation and resulting 2-D cross-sectional geometry are maintained using extended quadtrees. Reference [5] presents a procedure for representing the cutter swept surface (CSS) of a generalised cutter in a singlevalued form, z=f(x,y). Τhe main part of the modelling method is to obtain the silhouette curve equations, which becomes a root finding problem for a quartic polynomial (when the cutter bottom surface contains a toroidal surface). An efficient algorithm is presented in [6] for intersecting vectors with swept solids which represent three-axis NC milling tool motions. The intersection calculation proceeds in hierarchical steps through a series of progressively more exact definitions of the shape of the tool swept volume. In [7] a newly-developed approach, the sweep envelope differential equation (SEDE) method, is used to compute the boundary points of the swept volumes generated by commonly used NC tools, represented by the general 7-parameter APT tool model, undergoing general 3-D movements including 5-axis motion. [8] discusses the development of a prototype solid modelling system based on the extended octree modelling approach and its applications in 3-D NC machining simulation and automatic verification. Similarly, in [9] a novel solid modelling method is applied, using a dual quadtree structure and a boundary representation, to model the parts cut by a wire EDM. The overall geometry of the part is represented by a boundary representation. In this work, a simplified approach was taken relying on commercially available solid modelling technology. The hypothesis to prove was that for line by line simulation / verification such an approach should be acceptable in terms of accuracy and speed and should certainly help the human CNC programmer evaluate the effect of each program line.

2. Solid modelling operations for material removal simulation Before actual simulation of the cutting actions two bodies have to have been defined : the material blank and the cutting tool(s). The former is defined by the user and need not be standardised, see Fig.1(a), whereas the latter are invariably defined as modules called in Autocad jargon «blocks» named after the tool code that is used in the CNC program to represent them. Each cutting tool is defined as a two dimensional profile, which is always represented as a «polyline», revolved through 360 degrees to create a solid of revolution, see Fig. 1(b). The solid model of the tool can be extruded along a path, again represented as a «polyline», to form a solid model of the volume swept by the tool in its feed motion, see Fig. 1(c). Note that this kind of operation was only made possible recently; before that, it was the two-dimensional profile that had to be swept along the tool path and the solid models of the tool had to be added at the two extremes of the motion afterwards. This swept volume is then subtracted (Boolean subtraction) from the blank, resulting in the void of the cutting action, see Fig. 1(d). The last two steps are repeated as many times as necessary in order to simulate the corresponding tool movements. Fig. 1 (a) (b) (c) (d) Solid modelling concepts for cutting action simulation in milling (a) blank definition, (b) cutting tool definition (c) tool swept volume definition and (d) volume subtraction 3. Software tools The platform used for development was AutoCad2000. This provided all solid modelling functions necessary, including Boolean operators, model definition and manipulation commands etc. Since the objective was automation of the verification process, commands had to be hidden from the user and this was achieved with two tools : a programming language and a user interface creation environment. The programming language chosen was Autolisp [10] in preference to Visual Basic for Applications due to the prototype nature of the project and the familiarisation with it from work with previous versions of AutoCad. Autolisp is an interpeted language and is defined as a subset of LISP, a language known to the AI community of the 80 s and 90 s. All CAD commands are possible to execute from within Autolisp. Some of them, however, involving user interaction (in particular digitising) are executed using auxilliary» variables. Fig. 2 Dialog window structuring concepts in DCL. 2

The user interface is programmed in the Dialogue Control Language (DCL) supported by Autocad, which is essentially a windows programming environment. A dialog window is composed of several components of standard functionality called «tiles», which can be grouped into sub-assemblies having horizontal and vertical sub-sets (rows and columns), see Fig. 2. Each dialog window is defined in a separate file and these files are hierarchically structured, starting with a «base» file. Both Autolisp and DCL programs are edited through the integrated Visual Lisp editor. 4. The software developed The whole system needs access to a special folder named «gcode» in which data are stored and from which all data are read. The user can optionally define a tool bar containing all possible commands currently available in CNC programming, each of which is further elaborated in a dialog window. The tool bar definition procedure is standard in Autocad. Fig. 3 Tool bar defined for better access to the ISO NC commands supported. In order to start the program all Autolisp files constituting the system have to be loaded first. A file is dedicated to recording all commands movements specified by the user. This file is analogous to the Cutter Location Data file which forms the basis of all CNC machine code. The commands supported so far are : rapid move (G00), linear cut (G01), and circular cut (clockwise G02 and anticlockwise G03) on XY, XZ, YZ plane as indicated by a special code (G17, G18 or G19), as well as a hole making canned cycle (G83). It is straightforward to extend the collection of commands in the manner demonstrated by the existing ones. From the auxiliary commands the most useful one which had to be definitely implemented was the one for tool change (M06). Fig. 4 (a) (b) (c) (d) Dialog windows for (a) linear interpolation, (b) circular interpolation (c) Hole canned cycle and (d) tool change The parameters necessary for each of these commands are filled in by the user on window forms according to ISO standard definitions. For example, G00 and G01 need just the next point to which the tool is to move linearly from its current position in rapid or cutting feed, see Fig. 4(a). G02 and G03 need the center of the circular motion and its endpoint, the starting point being the current one. This data is given as endpoint coordinates plus either a signed radius value or, alternatively, as the vector components (I,J) leading from the startpoint to the arc center, see Fig 4(b). The command G83 is an example of a compound motion consisting of step-wise drilling of a hole starting at X,Y,R+r (r being a small distance) and reaching an ultimate Z-depth in cutting steps of depth Q, see Fig. 4(c). Change of tool is necessary at the beginning of the cutting process and most commonly several times subsequently. The relevant dialog window is shown in Fig. 4(d). Note the initial insertion point coordinates which are necessary for the tool to be correctly led into the blank to be cut. Also, note that default values for all windows are those activated most recently. Studying circular interpolation more closely, observe that apart from the common case depicted in Fig. 5(a), by using an 3

endpoint coincident with the start point a complete circle is specified, see Fig. 5 (b), and by using negative radii the complementary arc is specified, see Fig. 5 (c). Note also that switching on a G17 command means that circular motion is conducted on XY plane, whereas G18 is associated with XZ plane, see Fig. 5(d) and G19 with YZ plane. Fig. 5 (a) (b) (c) (d) Circular interpolation clockwise (a) for R>0 on plane XY (b) for coincident start and endpoints on plane XY (c) for R<0 on plane XY and (d) for R>0 on plane XZ The engraving program corresponding to the simple shape presented in Fig. 6 (a)-(d) is given in Fig. 6(e) to enable appreciation of the different uses of circular interpolation. (a) (b) Fig. 6 (c) (d) (e) (a)-(d) Combination of circular interpolation commands of (e) as an application of the software developed 5. Results and discussion In this section a real-world program that was simulated line by line is presented with sample screens recorded. The CNC program was developed for a 3-axis machining center. It starts with a rectangular block and takes a shallow slice off its top using a face milling cutter in three passes, see Fig. 7 (a)-(c). Next, a new tool is loaded, namely a flat end mill. This performs profiling of the front «steps» and pocketing of the upper part of the recess shown in Fig. (d)-(f). The same tool finishes off pocketing of the lower part of the recess shown in Fig. (g) and (h). Subsequently a mistake is made. The same tool is used for outer profile cutting, but its diameter proves too small and some remaining protrusions are formed, see Fig. 7 (i) and (j). Therefore, a series of undo actions is performed and a new tool, larger than the previous one, is used to perform outer profiling. 4

Next, a drill is loaded to perform G83 cycles twice, see Fig. 7 (k) and another drill, not shown here, is used to drill the larger hole starting at the pocket bottom. The final shape is shown in Fig. 7 (l). (a) (b) (c) (d) (e) (f) (g) (h) (i) Fig. 7 (j) (k) (l) Simulation shots for a real-world component, using four tools on a three-axis machining center. 5

The final shape, as well as any intermediate shapes corresponding to intermediate cutting stages, are complete solid models. As such, they can be exploited to find out coordinates of specific vertices and dimensions of specific features to compare with the engineering specifications of the product. In addition, any gouging or collision of the tool and the part or holding fixtures, if these are modelled, too, can be checked as well. However, this check, as the system stands, relies on the user and would require further programming in order to be safely conducted in an automatic mode. This would need to use the interference operator of the ACIS solid modelling engine inside Autocad acting on the fixture element bodies and the tool body. The system does not model tool deflection or wear and, of course, no machine tool dynamics. These factors are among the most common ones that contribute to differences arising between the real machined shape and the simulated machined shape. An important extension of the system would be implementation of tool compensation. Part programs can assume zero diameter of tool at the point of tool path specification and rely on the user to add any value for it later. This was tried and was only partly succesful due to the inflexibility of the curve offseting operator of Autocad. In particular, the side towards which the curve is offset in interactive mode is indicated by digitising, but Autolisp does not support this in the programmed mode in quite the same way. An additional difficulty with offseting comes from the fact that any offset vertex is calculated as the intersection of the current segment of the tool path and the next one, which however is not supposed to be known in a line by line simulation mode. 6. Conclusions The system prototyped in Autolisp and DCL on top of Autocad made use of a number of routines for creation and manipulation of solid models which are available in Autocad and would otherwise need years of work to implement. The line-by-line simulation approach coupled with the interpreted nature of Autolisp and the window-based user interface permits experimentation with many parameters of the part program, including coordinates and tools. Spindle speed and feed are not simulated, which is by no means a drawback. Tool diameter compensation was not straightforward to implement due to Autolisp inflexibility, which certainly detracts from the systems appeal as a smart portable extensible add-on application being a viable substitute to fancy CAM programs that are commercially available. References [1] J.H. Oliver and E.D. Goodman. Direct dimensional NC verification, Computer-Aided Design, 22(1):3-10, 1990. [2] C.B. Kim, S. Park and M.Y. Yang. Verification of NC tool path and manual and automatic editing of NC code, Int Jnl Production Research, 33(3):659-673, 1995. [3] J.P.Menon and D.M. Robinson. Advanced NC verification via massively parallel raycasting, Manufacturing Review, 6(2):141-154,1993. [4] C. Liu, and D.M. Esterling. Dimensional verification of NC machining profiles using extended quadtrees, Computer-Aided Design, 28(11):845-852, 1996. [5] Y.C. Chung and J.W. Park. Modelling the surface swept by a generalised cutter for NC verification, Computer- Aided Design, 30(8):587-594, 1998. [6] J.H. Oliver. Efficient intersection of surface normals with milling tool swept volumes for discrete three-axis NC verification, Trans ASME Jnl Mechanical Design, 114(2):283-287, 1992. [7] M.C. Leu, L.Wang and D. Blackmore. A verification program for 5-axis NC machining with general APT tools, Annals CIRP, 46(1):419-424, 1997. [8] U. Roy, and Υ. Xu. 3-D object decomposition with extended octree model and its application in geometric simulation of NC machining, Robotics & Computer-Integrated Manufacturing, 14(4):317-327, 1998. [9] C. Liu and D. Esterling. Solid modelling of 4-axis wire EDM cut geometry, Computer-Aided Design, 29(12):803-810, 1997. [10] B. McFarlane and C. McElhinney. Using AutoLISP with AutoCAD, Arnold, 1998. 6