mechanistic modelling of the milling process using an...

17
Mechanistic modelling of the milling process using an adaptive depth buffer D. Roth * , F. Ismail * ,1 , S. Bedi Department of Mechanical Engineering, University of Waterloo, CAD CAM Research Group, Waterloo, Ont., Canada N2L 3G1 Received 27 September 2002; received in revised form 6 March 2003; accepted 7 March 2003 Abstract A mechanistic model of the milling process based on an adaptive and local depth buffer is presented. This mechanistic model is needed for speedy computations of the cutting forces when machining surfaces on multi-axis milling machines. By adaptively orienting the depth buffer to match the current tool axis, the need for an extended Z-buffer is eliminated. This allows the mechanistic model to be implemented using standard graphics libraries, and gains the substantial benefit of hardware acceleration. Secondly, this method allows the depth buffer to be sized to the tool as opposed to the workpiece, and thus improves the depth buffer size to accuracy ratio drastically. The method calculates tangential and radial milling forces dependent on the in-process volume of material removed as determined by the rendering engine depth buffer. The method incorporates the effects of both cutting and edge forces and accounts for cutter runout. The simulated forces were verified with experimental data and found to agree closely. The error bounds of this process are also determined. q 2003 Elsevier Ltd. All rights reserved. Keywords: Mechanistic force modelling; Adaptive depth buffer; 3-axis machining 1. Introduction Various mechanistic force models have been developed and reported in the literature (see Smith and Tlusty [1] for summary). Such models attempt to correlate machining forces to the in-process chip geometry by way of experimentally determined cutting constants. The aim of creating a robust, accurate mechanistic force model is empowering the end user to effectively manage the manufacturing process from the point of view of efficiency and quality. Essentially, a mechanistic model facilitates the proper selection of machining and tool path parameters for a given workpiece and tool combination. However, there are numerous problems yet to be overcome in creating such a force modelling system. One such difficulty is the representation of complex tool geometry. Some of these geometries are shown in Fig. 1. Many models assume the simple geometry of a flat end mill or a ball nose end mill. However, a toroidal end mill (a quartic surface) is most useful in sculptured surface machining, and is a superset of the combined at and ball nose end mills. Another (indeed the primary) difficulty is the calculation of the in-process chip geometry due to the complicated stock shape that remains after one or more tool passes are completed. Analytical calculations of the surface-to-surface intersections between the tool and workpiece may not be computed analytically without extreme effort for all but the most elementary tool paths. With an analytical solution proving to be impractical, researchers have concentrated on two approximate solutions: solid modelling and discrete methods. Voelcker and Hunt [2] began the investigation of the role of solid modelling for NC verification. The use of solid modelling to predict cutting forces was mentioned early on by Bertok et al. [3] and Wang [4]. They computed the metal removal rate for each block of NC code from boolean difference operations of the tool and workpiece. True solid modeling techniques were used in the former, whereas scan- line algorithms were implemented in the latter. Average forces and torques were computed. Peak values, which are more likely to be of interest were not calculated. Takata [5] as well as Spence and Altintas [6] present a genuine solid 0010-4485/03/$ - see front matter q 2003 Elsevier Ltd. All rights reserved. doi:10.1016/S0010-4485(03)00044-7 Computer-Aided Design 35 (2003) 1287–1303 http://www.elsevier.com/locate/cad 1 http://www.me.uwaterloo.ca/~machlab * Corresponding authors. Tel.: þ 1-519-888-4567x7089; fax: þ 1-519- 888-6197. E-mail addresses: [email protected] (D. Roth); fismail@ mechengl.uwaterloo.ca (F. Ismail); [email protected] (S. Bedi).

Upload: truongtu

Post on 06-Apr-2018

216 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Mechanistic modelling of the milling process using an ...mme.uwaterloo.ca/~machlab/papers/2003_Mech._milling_adapt.buffer.… · Mechanistic modelling of the milling process using

Mechanistic modelling of the milling process

using an adaptive depth buffer

D. Roth*, F. Ismail*,1, S. Bedi

Department of Mechanical Engineering, University of Waterloo, CAD CAM Research Group, Waterloo, Ont., Canada N2L 3G1

Received 27 September 2002; received in revised form 6 March 2003; accepted 7 March 2003

Abstract

A mechanistic model of the milling process based on an adaptive and local depth buffer is presented. This mechanistic model is needed for

speedy computations of the cutting forces when machining surfaces on multi-axis milling machines. By adaptively orienting the depth buffer

to match the current tool axis, the need for an extended Z-buffer is eliminated. This allows the mechanistic model to be implemented using

standard graphics libraries, and gains the substantial benefit of hardware acceleration. Secondly, this method allows the depth buffer to be

sized to the tool as opposed to the workpiece, and thus improves the depth buffer size to accuracy ratio drastically. The method calculates

tangential and radial milling forces dependent on the in-process volume of material removed as determined by the rendering engine depth

buffer. The method incorporates the effects of both cutting and edge forces and accounts for cutter runout. The simulated forces were verified

with experimental data and found to agree closely. The error bounds of this process are also determined.

q 2003 Elsevier Ltd. All rights reserved.

Keywords: Mechanistic force modelling; Adaptive depth buffer; 3-axis machining

1. Introduction

Various mechanistic force models have been developed

and reported in the literature (see Smith and Tlusty [1] for

summary). Such models attempt to correlate machining

forces to the in-process chip geometry by way of

experimentally determined cutting constants. The aim of

creating a robust, accurate mechanistic force model is

empowering the end user to effectively manage the

manufacturing process from the point of view of efficiency

and quality. Essentially, a mechanistic model facilitates the

proper selection of machining and tool path parameters for a

given workpiece and tool combination. However, there are

numerous problems yet to be overcome in creating such a

force modelling system.

One such difficulty is the representation of complex tool

geometry. Some of these geometries are shown in Fig. 1.

Many models assume the simple geometry of a flat end mill

or a ball nose end mill. However, a toroidal end mill

(a quartic surface) is most useful in sculptured surface

machining, and is a superset of the combined at and ball

nose end mills.

Another (indeed the primary) difficulty is the calculation

of the in-process chip geometry due to the complicated

stock shape that remains after one or more tool passes are

completed. Analytical calculations of the surface-to-surface

intersections between the tool and workpiece may not

be computed analytically without extreme effort for all but

the most elementary tool paths.

With an analytical solution proving to be impractical,

researchers have concentrated on two approximate

solutions: solid modelling and discrete methods.

Voelcker and Hunt [2] began the investigation of the role

of solid modelling for NC verification. The use of solid

modelling to predict cutting forces was mentioned early on

by Bertok et al. [3] and Wang [4]. They computed the metal

removal rate for each block of NC code from boolean

difference operations of the tool and workpiece. True solid

modeling techniques were used in the former, whereas scan-

line algorithms were implemented in the latter. Average

forces and torques were computed. Peak values, which are

more likely to be of interest were not calculated. Takata [5]

as well as Spence and Altintas [6] present a genuine solid

0010-4485/03/$ - see front matter q 2003 Elsevier Ltd. All rights reserved.

doi:10.1016/S0010-4485(03)00044-7

Computer-Aided Design 35 (2003) 1287–1303

http://www.elsevier.com/locate/cad

1 http://www.me.uwaterloo.ca/~machlab

* Corresponding authors. Tel.: þ1-519-888-4567x7089; fax: þ1-519-

888-6197.

E-mail addresses: [email protected] (D. Roth); fismail@

mechengl.uwaterloo.ca (F. Ismail); [email protected] (S. Bedi).

Page 2: Mechanistic modelling of the milling process using an ...mme.uwaterloo.ca/~machlab/papers/2003_Mech._milling_adapt.buffer.… · Mechanistic modelling of the milling process using

modelling approach for 2- 12

-axis machining. As this is

computationally expensive, their work concentrated on

accuracy at the expense of efficiency. Mounayri et al. [7]

used a solid modelling system to compute the volume

removed for a given 3-axis tool path followed by a ray

casting technique to compute the instantaneous chip

thickness. Imani et al. [8] developed a simulation system

for 3-axis ball end milling of sculptured surfaces using the

ACISq solid modelling kernel. The authors used a NURBS

curve to model the cutting edge of a tool. The chip geometry

was extracted from the solid model based on the given feed

rate. The authors noted that extracting the instantaneous

chip thickness from the model was computationally

inefficient, and therefore relied on the well known geometry

of the ball-end mill and simple inclined cuts.

The definitive problem associated with the solid

modelling approach is the computational expense. It has

been reported in the literature that the cost of simulation

(i.e. the time) using constructive solid geometry (CSG) is

proportional to the fourth power of the number of tool

positions, Oðm4Þ [9]. It is certainly not unusual for a tool path

to consist of thousands of tool positions, making solid

modelling methods prohibitively expensive.

To this end, much research has been devoted to so-called

discrete implementations of mechanistic models-so

called because of the discretization of the workpiece into

a Z-buffer. A good review of discrete methods is provided

by Jerard et al. [10].

Extended Z-buffers with application to NC machining

visualization were discussed by van Hook [11]. An extended

Z-buffer is a set of Z-direction vectors (ZDV) that store

several vector height values. This quality is essential for

multiple 3-axis setups or 5-axis simulation capabilities.

Choi et al. [12] used a Z-map for tool path planning and

verification of 3-axis machining. Fussell et al. [13]

employed a Z-map for feed-scheduling of 3-axis tool

paths. The authors achieved good success reducing the

time of machining even with a model error of up to 50%.

Later, Fussell et al. [14] conceptually extended their work to

5-axis tool paths, although no experimental verification

was provided. Kim et al. [15] discussed the application of a

Z-map to the prediction of 3-axis ball-end milling forces,

relying heavily on the simple geometry of the sphere and

linear movements. Although Z-buffer algorithms have been

implemented for ball, at and round-end mill cutters [16],

different procedures for calculating the chip geometry are

necessary for each method.

To the authors’ knowledge, all these methods rely on a

generic software implementation of a static, global Z-buffer

technique. By static it is meant that the direction of the

ZDVs does not change with the cutter location (CL) data.

By global, it is meant that the number of ZDVs is based on

the size of the workpiece.

This paper presents a new method of calculating

instantaneous chip geometry for a given tool path based

on an adaptive and local depth buffer. By adaptive, it is

meant that the depth buffer orientation is matched to the

current tool axis orientation. By local, it is meant that

the depth buffer is sized to the tool as opposed to the

workpiece. Once the chip geometry and the volume

removed are known, the cutting forces are then calculated.

While only a 3-axis case using a at end-mill is examined

here, this method is extensible to 5-axis machining.

2. Mechanistic models

Shown in Fig. 2 is a typical at-end milling process.

The cutting force components acting on the tool are shown

in Fig. 3.

Smith and Tlusty [1] classify various force models

according to increasing levels of sophistication and

accuracy. One such classification, and the model used in

this paper, is the instantaneous rigid force model (IRF).

In this model, the instantaneous tangential cutting force

is modelled as,

Ft ¼ Ksbihi ð1Þ

where bi ðmmÞ is the instantaneous width (i.e. axial depth)

of cut, hi ðmmÞ is the instantaneous chip thickness and

Ks ðN=mm2Þ is a constant of proportionality known as the

specific force.

Most often, the instantaneous radial cutting force is

assumed to be proportional to the tangential cutting force,

Fr ¼ KFt ð2Þ

where K is the constant of proportionality.

For a simple linear cut, bi will remain constant, bi ¼ b:

However, hi is a function of the tool rotation. While the true

path of a cutter is a trochoid, most often, the approximation

of Martellotti [17,18] is used. That is, if the feed per tooth, ft

(mm/tooth) is small with respect to the tool radius, R (mm),

then, for a tool fed in the positive X-direction, as shown in

Fig. 3, the instantaneous chip thickness, hi; is related to

Fig. 1. Flat, ball nose and radiused (toroidal) end mills.

D. Roth et al. / Computer-Aided Design 35 (2003) 1287–13031288

Page 3: Mechanistic modelling of the milling process using an ...mme.uwaterloo.ca/~machlab/papers/2003_Mech._milling_adapt.buffer.… · Mechanistic modelling of the milling process using

the angular position, f; by

hi ¼ ft sinðfÞ ð3Þ

where f is measured from the y-axis of the tool coordinate

system in the direction of tool rotation (a left-handed

coordinate system). For the tool shown in Fig. 3 it is more

mathematically convenient to express the tool rotation in a

right-handed coordinate system, using the angle Q;

where Q ¼ p=2 2 f:

3. Graphical method

All of the literature reviewed on surface machining

define some method of converting the IRF method to a

volumetric model or extracting the instantaneous chip

thickness from the volume information.

The most accurate method of determining the

volume removed during a complex machining operation is

computation solid geometry (CSG). Some attempts have

been made in the literature to use computer graphics

hardware to render CSG trees and implement boolean

operations in image-space (i.e. view dependent) [19].

Graphics hardware is used due to its low cost, efficiency

and the royalty free availability of graphics engines

(OpenGL, DirectX etc.) which are capable of directly

accessing the video hardware. Many accelerated and

optimized algorithms are built into these video cards for

the operations needed for scene rendering, including

homogeneous matrix operations, surface occlusion and

surface culling.

The method presented herein is a depth buffer

mechanistic modelling technique. This method has been

implemented using OpenGL, with the results of simulations

presented in Section 5. This paper will employ general terms

when referring to rendering engine functionality rather than

to specific library function calls so as not to limit the scope

of the paper to a particular graphics library.

3.1. Applying a rendering engine to machining simulation

Through a judicious choice of rendering parameters and

with the aid of the depth buffer, a rendering engine may be

used to determine the volume of material removed at any

instance of a tool path. The algorithm is shown in Fig. 4.

The algorithm simulates the machining process in

discrete time steps during which the tool will translate due

to the feed rate and rotate due to the spindle speed. For every

time step, Dt; each tooth of the tool will sweep a sector,

subtended by the angle u; as shown in Fig. 5. If the spindle

speed and the time step interval are constant, the angle u will

be constant as well. If any portion of a tooth sector intersects

the stock material, that portion of the stock material is

machined. By rendering the tooth swept sectors due to every

tool position, the machining process may be simulated.

In order to calculate milling forces, the algorithm

distinguishes between every previous tool position and the

current tool position. Previous tool positions determine

the current state of the stock material i.e. the geometry of the

remaining material. The current tool position is separated

from the previous tool positions for two important reasons.

First, the current tool position may be machining a portion

of the remaining stock material and thus generate cutting

forces. The second reason is related to rendering—because

rendering engines such as OpenGL are graphical systems,

Fig. 2. Top and side views of a three-tooth flat end-mill machining process.

Fig. 3. Force components on the tool.

D. Roth et al. / Computer-Aided Design 35 (2003) 1287–1303 1289

Page 4: Mechanistic modelling of the milling process using an ...mme.uwaterloo.ca/~machlab/papers/2003_Mech._milling_adapt.buffer.… · Mechanistic modelling of the milling process using

they introduce the concept of a viewing direction and a

viewing volume (the bounds of the visible scene). Since the

end user is interested in calculating milling forces by

determining the true chip volume removed, the scene is

viewed along the tool axis of the current tool position—the

effect of which is to always view the tool as a top plan view.

Furthermore, to achieve the greatest resolution, the

dimensions of the viewing volume are constrained in

Fig. 4. Flow chart of force modelling using a rendering engine.

Fig. 5. Tooth swept sectors for a tool rotating by angle u:

D. Roth et al. / Computer-Aided Design 35 (2003) 1287–13031290

Page 5: Mechanistic modelling of the milling process using an ...mme.uwaterloo.ca/~machlab/papers/2003_Mech._milling_adapt.buffer.… · Mechanistic modelling of the milling process using

a deliberate way. The depth of the viewing volume is

constrained to be no more than that of the stock material.

The length and width of the viewing volume are sized so

that the view rendered details only the areas being

machined. This can be accomplished by sizing one view

to the tool diameter or by rendering a separate view for each

tooth of the cutter, as seen in Fig. 7. The former is easier to

implement, but introduces some inefficiencies, such as a

larger depth buffer, rendering tool positions which do not

affect the current force calculations, and a coarser pixel

density. The latter is a more complex method, needing a

number of views equal to the number of tool teeth, N:

However, it allows a finer pixel density, and greater

accuracy, as is shown in Appendix A.3, by ‘zooming in’

on the areas of interest. Finally, the depth buffer array is

aligned with the direction of tool motion to minimize

rasterization errors.

This method of determining chip geometry introduces a

number of advantages. First, it eliminates the need for an

extended Z-buffer. An extended Z-buffer must employ a

book-keeping algorithm to keep track of multiple ZDV

intersections. It must also employ secondary validation of

intersections that occur on the interior of the tool. For details,

the reader is referred to Fussell et al. [13]. In this new

method, as the machining process is always viewed as a plan

view, only a depth buffer is required. A depth buffer differs

from an extended Z-buffer in two respects: the direction of

the depth buffer vectors are in the direction of view and only

one intersection value (the depth) is stored per vector.

Another advantage of this method is the sizing of the

depth buffer to the dimensions of the tool as opposed to

dimensions of the workpiece. This improves the buffer size

to accuracy ratio, which is a measure of the utilization of the

depth buffer. This will result in a dramatic decrease in

the number of vectors maintained, or a dramatic increase

in the accuracy of the method.

3.1.1. Algorithm

The algorithm begins by rendering every tool position to

date, not including the current tool position (N.B. it is to be

understood that the rendering of tooth swept sector

information is implied). This step gives the current state

of the stock material, as shown in Fig. 6. For rendering

purposes, the scene is viewed in the direction of the current

tool axis, with the view direction toward the bottom of the

tool. The user is interested in obtaining the volume of the

chip removed, so it is only necessary to render that portion

of the scene in the immediate vicinity of the tool, as shown

in Fig. 7. Compare Fig. 6 with Fig. 7. Because the viewing

volume is constrained in this manner, most of the scene is

Fig. 6. Determining the current state of stock from previous tool positions.

Fig. 7. Constraining the viewing volume of the scene: (left) based on tool diameter—(right) based on tooth swept sector geometry.

D. Roth et al. / Computer-Aided Design 35 (2003) 1287–1303 1291

Page 6: Mechanistic modelling of the milling process using an ...mme.uwaterloo.ca/~machlab/papers/2003_Mech._milling_adapt.buffer.… · Mechanistic modelling of the milling process using

effectively clipped from view (i.e. not drawn), thus

improving the speed of the simulation greatly.

Once the scene is rendered up to, but not including, the

current tool position, the depth buffer is read to determine

the current state of the stock material. Only a fraction of

the depth buffer need be read, and this is determined by the

swept tooth sectors of the current tool position.

Rendering engines are only capable of reading a rectangular

portion of a buffer as an array, so the bounding box of each

tooth sector is used, as shown in Fig. 8.

It is emphasized here to the reader that at this point in the

algorithm, the current tool position is not actually rendered

to the screen, but rather is used to determine where it will

eventually be rendered. The purpose is to gather information

on the current state of the stock material in the area that will

be affected by the current tool position. Fortunately,

rendering engines allow for this to be done through the

use of a feedback buffer.

Once the current state of the stock material is known, the

current tool position is rendered, and those areas of the depth

buffer read above are read again. In this manner, the effect of

the current tool position on the current state of the stock

material may be determined. Because the size represented

by a pixel is fixed, the volume of material removed is

calculated as,

V ¼ Ap

XJ

j¼1

p0j 2 pj ð4Þ

where Ap is the area of a pixel, j is an index enumerating the

number of pixels read, p is the depth of a pixel as given by

the depth buffer after the current tool position has been

rendered and p0 is the depth before.

Once the volume of the chip removed is calculated,

the forces are determined. Using an IRF model, it is

known that the instantaneous power may be calculated

from

Pi ¼ KsQi ð5Þ

where Qi is the instantaneous metal removal rate. Qi is

equivalent to V =Dt; where Dt is the time needed to sweep

a tooth sector.

From this result, the tangential cutting force can be

calculated as,

Ft ¼ Pi=v ð6Þ

where v is the tangential cutting speed of the tool.

If the average chip width, �b; is required (as the chip width

may vary over the sector angle), it may be determined from

�b ¼

Xj

p0j 2 pj

Jp¼

V

ApJpð7Þ

where Jp indicates the number of pixels where the quantity

p0j 2 pj – 0

A noteworthy restriction of the method applies to the

shape of the tool. Let T be a function describing the tool

such that T is the generatrix of the tool surface of revolution.

The graphical method will properly calculate the volume of

material removed iff T : x ! TðxÞ: That is, no vertical line

may intersect the generatrix more than once. This is not a

dire restriction for most practical tools.

3.2. Advantages

By using a rendering engine, numerous advantages are

gained. For instance, as the volume of the chip removed is

determined by rendering the tool into image space, the

actual graphical display of the simulation is achieved at no

extra computational expense. That is to say, whereas before

the act of simulation and visual display were separated into

two distinct tasks, this method combines the two operations

into one since the rendering process is the simulation.

Therefore there is little redundancy in the code and an

efficient simulation is realised.

Second, because of the popularity of video games, the

cost of high end graphics hardware is very inexpensive.

Third, rendering engines have progressed to the state

where they introduce many efficiencies, including

optimised clipping functions and viewing transformations.

Furthermore, most of these operations are now performed

directly in the graphics hardware itself, leaving the CPU

open to other tasks (such as handling user input and file I/O).

Fourth, the use of a rendering engine allows almost any

tool geometry to be represented and modelled with ease.

Fig. 8. Bounding boxes corresponding to each tooth swept sector.

D. Roth et al. / Computer-Aided Design 35 (2003) 1287–13031292

Page 7: Mechanistic modelling of the milling process using an ...mme.uwaterloo.ca/~machlab/papers/2003_Mech._milling_adapt.buffer.… · Mechanistic modelling of the milling process using

It simply remains a fact of rendering the tool using

a combination of native rendering primatives (i.e.

planar facets).

Finally, rendering engines allow for simpler accounting

of real world cutter abnormalities, such as cutter runout and

cutter deflection. These effects may be efficiently simulated

by the addition of appropriate transformation matrices

when rendering the tool.

4. Analysis of the method

4.1. Efficiency

In order to calculate milling forces, solid modelling

techniques must determine the volume of material

removed using boolean operations. First, the swept

volume of incremental tool motions are determined

using the boolean union operator. The machined material

is obtained by intersecting the swept volume with the

stock material. The stock shape is then updated by

subtracting the machined material from the stock material

using the boolean difference operator. In order to

calculate plowing forces, the cutting edges of the tool

must also be intersected with the machined stock

material [7]. Furthermore, the graphical display of

the simulation process is entirely separate from the

mechanistic modelling.

The graphical method described in this paper must also

be able to calculate the tool swept volume, the current stock

shape and the volume of material removed per iteration.

However, all these steps are accomplished by the process of

rendering the tool positions, and reading the results from the

depth buffer. The calculation of the volume removed

involves only the simple summation form of Eq. (4).

Furthermore, the rendering of the tool positions may be

done at very high speeds (e.g. 10 million polygons per

second [20]) due to current hardware capabilities.

This performance will only improve with time, as

computational power increases.

4.2. Resolution of depth buffer

The depth resolution of the proposed algorithm depends

on two parameters—the bit-size of the depth buffer and the

initial size of the stock. At present, typical graphical

applications use a 24 or 32 bit depth buffer. The depth

resolution of the simulation may be calculated as

R ¼H

2q 2 1ð8Þ

where H is the height of the stock and q is the number of bits

in the depth buffer. For example, a 24-bit depth buffer used

to describe a 1 m stock depth size would have a resolution of

0.0596 mm. This is more precise than a typical CNC

machine which has an approximate resolution of 2.5 mm�1

10000½in:�

�4.3. Pixel resolution

4.3.1. Error bound with respect to the tooth sector

When a tool rotates about its axis, each tooth will sweep a

sector. By using a rendering system to represent the cutting

action of the tool, the end result is a rasterized image of

these sectors i.e. the view is composed of pixels.

There will be an error associated with the rasterized

image of the circular profile of the tool and the true

representation. Consider the swept sector and its

corresponding quadrilateral approximation of Fig. 9.

The maximum difference between the actual sector and

the quadrilateral is the chordal deviation, 1; and is given by

1 ¼ Rð1 2 cosðu=2ÞÞ ð9Þ

Let the length represented by a pixel be given as Dx and the

width be given as Dy: By definition, Dx ¼ Dy ¼ D; because

a pixel is a square element. The linear density of pixels is

rp ¼ 1=D: If the pixel size, D; is set equal to, or less than the

chordal deviation, then the simulation is able to represent

the tooth swept sector as a single quadrilateral. Eq. (9) then

represents the error bound of this approximation.

Fig. 9. Chordal deviation of a circular arc.

D. Roth et al. / Computer-Aided Design 35 (2003) 1287–1303 1293

Page 8: Mechanistic modelling of the milling process using an ...mme.uwaterloo.ca/~machlab/papers/2003_Mech._milling_adapt.buffer.… · Mechanistic modelling of the milling process using

4.3.2. Error bound with respect to the chip thickness

The method used to rasterize circles in computer

graphics is the method of Bresenham [21]. This method is

an incremental method that tests various pixel midpoints to

determine whether this point is inside or outside the

algebraic definition of the circle. A pixel is chosen based

on minimizing the error of the pixel midpoint to the circle

centre.

Due to the discrete nature of this method, an error will be

introduced when the chip thickness is smaller than the

discrete pixel size. This is especially prevalent in

conventional milling (up milling) as a tooth enters the cut,

and in climb-cut (down milling) machining as a tooth exits a

cut, where (in both cases) the chip thickness is zero.

Consider Fig. 10, which is a schematic representation of

two tool positions offset by the feed per tooth distance, ft:

When this schematic is rasterized, the two circles will

occupy identical pixels around the intersection points of the

two tool positions.

Accordingly, it can be seen that for a thin chip thickness,

the rasterized version of a circle is represented as a straight

line (shown as shaded pixels 1–4). When the next tool

position is rendered over top of the previous one, the two

rasterized circles will occupy the same pixels. In the worst

case, the longest line of overlapping pixels occurs when the

circle covers an entire pixel width, Dy (as shown,

between points A–B). The angle subtended by this straight

line, eh; is a measure of the error of the method with respect

to the chip thickness, and is given as,

eh ¼ tan21

ffiffiffiffiffiffiffiffiffiffiffiffiffi2RD2 D2

p

Rð10Þ

Therefore, if the engagement angle of the cutter is less than

eh; the discretized version may not be able to detect the

cutting action of the tool. It can be shown that the error

bound, eh; is directly proportional to the tooth swept sector

angle, u (Appendix A).

4.3.3. Appropriate pixel resolution choice

If the pixel grid is aligned with the direction of motion of

the tool, the simulation will be able to detect forward motion

in size increments of D: Because of this, an appropriate

choice of the pixel resolution should be based on the feed

per tooth, ft: Initial good results have been obtained for a

pixel size of 13

ft:

With the pixel size set, a rasterized version of a tool tooth

may be rendered based on a single quadrilateral. The angle

swept by the tool to achieve a resolution of 1; as chosen by

the user, is given by a rearrangement of Eq. (9). That is,

u ¼ 2 cos21 1 21

R

� �ð11Þ

A typical distance between two tool positions in a

programmed tool path is 1 mm. To calculate the forces

produced by the tool engaged in the cut, the time step of the

simulation is chosen based on the tooth swept sector angle

of Eq. (11). So programmed tool positions for the purpose of

the tool path sent to the controller are different from tool

positions considered for force calculations. We may call

them tool position increments, but for the sake of brevity,

the term tool positions is maintained.

The distance the tool is fed forward as the tool sweeps an

angle of u is given by,

fs ¼ Nft

u

2pð12Þ

where N isthe number of teeth in the tool and u is given in

radians.

4.3.4. Error bound of the rasterized area calculation

In the worst case, the relative error of the area of a

rasterized quadrilateral is seen to be a ratio of the perimeter

of the quadrilateral in pixels to the area of the quadrilateral

in pixels (Appendix A). This is a linear to square

relationship, meaning the relative error decreases rapidly

with the number of pixels used to represent the quadrilateral.

It should be noted that it is highly unlikely that this worst

case will occur. It should also be noted that there are two

methods of increasing the accuracy of the results—

increasing the pixel density, and offsetting the buffer origin

to eliminate the occurrence of a worst case rasterization.

Errors in area due to poor rasterization are easily identifiable

as unexpected spikes in the area calculations.

Fig. 10. Schematic representation of two tool positions.

D. Roth et al. / Computer-Aided Design 35 (2003) 1287–13031294

Page 9: Mechanistic modelling of the milling process using an ...mme.uwaterloo.ca/~machlab/papers/2003_Mech._milling_adapt.buffer.… · Mechanistic modelling of the milling process using

4.4. Determining the view window size

Knowing the pixel resolution, the actual display screen

must be sized to an adequate number of pixels in which the

rasterized scene will be rendered. As shown in Fig. 11, for a

tool of diameter D; and runout h; the screen must be sized to

a width, in pixels, of,

Wp ¼ dðD þ 2hÞrpe ð13Þ

where rp is the pixel density and d…e denotes the ceil

function (a function returning the smallest integer that is

greater than or equal to its argument). The use of the ceil

function ensures that the entire tool diameter will be visible

in the display screen, due to the discrete size of the pixels.

The screen height is equivalent to the screen width.

Alternatively, since one is only interested in the volume

removed per tooth, the view screen size can be based on the

cutter insert length and feed per tooth as well as the sweep

angle, u: This would requie that N iew screen areas be

rendered, where N is the number of cutter teeth.

4.5. Centre of mass

Consider the forces acting on one tooth of a tool.

Referring to Fig. 3, the tangential and radial forces are

assumed to be concentrated and acting through the centre of

mass of the chip removed. In the current methodology, the

chip geometry is represented as a rasterized version as

shown in Fig. 12. That is the chip, for a particular tooth, is

represented by the set of pixels {B} ¼ {b1; b2;…; bJp}

consisting of all the pixels in the bounding box for which the

quantity bj ¼ p0j 2 pj – 0; as discussed for Eq. (7) in

Section 3.1.1.

It is unfortunate that the terminology of machining and

computer graphics do not coincide. The reader should

realize that the pixel depth obtained from the graphics

engine depth buffer corresponds to chip width, b; of

machining, and not to the machining depth of cut, a; as

shown in Fig. 2. To alleviate these difficulties, a is more

intuitively called the radial depth of cut and b the axial depth

of cut.

The centre of mass, CM; of this rasterized body is

therefore,

CM ¼1

MT

Xmjrj ¼

1

bT

Xbjrj ð14Þ

where bT ¼P

bj: Relative to the origin of the bounding box

of the tooth, the radius in the pixel space of the bounding

box, rj; in the X and Y directions are given simply as the

index of the pixel in the bounding box. Converting from this

Fig. 11. Sizing the rendering screen to a cutter with runout.

Fig. 12. Rasterization of a tooth sector.

D. Roth et al. / Computer-Aided Design 35 (2003) 1287–1303 1295

Page 10: Mechanistic modelling of the milling process using an ...mme.uwaterloo.ca/~machlab/papers/2003_Mech._milling_adapt.buffer.… · Mechanistic modelling of the milling process using

pixel space to tool space, one need only multiply by the

representative pixel size, Ap:

The center of mass will differ from the leading edge of

the tooth by an amount, dQ: This amount may be calculated

from,

cosðdQÞ ¼r·CM

lrllCMlð15Þ

where r ¼ ðR;QÞ is the vector describing the leading edge

of the tooth. It is important that both vectors be in either

pixel space or tool space. It is also important to use CM in

the calculation of the tangential speed in Eq. (6).

5. Experimental results

In this section, results using the described method of

force modelling, implemented using OpenGL, are compared

with actual cutting tests.

5.1. Apparatus used

Two experiments were conducted using different chip

loads in 6061-T6 aluminum. The tests were conducted at

feed rates of 900 and 1350 mm/min (ft of 0.1 and 0.15

(mm/tooth).

For each feed rate, a wedge shape cut was taken using

both a conventional and a climb-cut tool path, as shown in

Fig. 13. The wedge width was equal to the cutter radius at

the start of the cut and tapered to zero over a length of

90 mm. The depth of the wedge was 6 mm at the start of the

cut tapering to zero as well. This cut necessitates the tool to

move in the X; Y ;Z axes simultaneously. The tests were

conducted on an OKK MCV 410 vertical machining center.

The forces were measured using a Kistler type 9255A force

table connected to a Kistler type 5804A 3-channel charge

amplifier. Data acquisition was facilitated using Labview

5.0 and a National Instruments PCI-MIO-16E-4 analog to

digital converter as well as a CB-68LP interface card.

The spindle speed used in all experiments was 3000 rpm

(50 Hz). The data acquisition sampling frequency used was

5000 Hz (giving 100 samples per cutter revolution).

The cutter used was a Sandvik RA215.44-25MN25-09C

at bottom 3-tooth endmill, with an outer diameter of

25.4 mm. The cutter runout was measured at 0.013335 mm

using a Mitutoyo 0.0001 [in] (0.00254 mm) reading dial

indicator.

5.2. Determining force coefficients

The force coefficients used in the models were

determined according to the method described by Altintas

[22]—a linear regression of average cutting forces for

several chip loads (in this case 900–1350 mm/min, in

increments of 150 mm/min).

The force coefficients obtained from this analysis are

given in Table 1, where the subscripts t; r and a denote

tangential, radial and axial force coefficients, respectively.

The subscripts c and e refer to either cutting or edge force

coefficients.

5.3. Force model and simulation

The following IRF model is described by Altintas [22],

Ft ¼ Ktcbh þ Kteb ð16Þ

Fr ¼ Krcbh þ Kreb ð17Þ

Fa ¼ Kacbh þ Kaeb ð18Þ

This model, in addition to considering cutting forces

proportional to the chip area as given in Eq. (1), also

takes into account plowing (or edge) forces, which are

proportional to the engaged width of cut.

When using a rendering engine, each simulated position

is composed of pixels. As each pixel has a constant area, and

a variable depth (axial depth of cut, b) as determined by the

depth buffer, volumetric quantities are obtained. In order to

use the model of Eqs. (16)–(18), these equations need to be

transformed in order to use information available from the

rendering simulation. With respect to Eq. (16), the first term

(cutting forces) is determined using Eq. (6) and the second

term (edge forces) is determined using the maximum chip

width found for a given bounding box. Eqs. (17) and (18) are

similarly computed.

Once the tangential and radial force components on each

tooth of the cutter are determined, they are summed together

in the global X and Y reference frame. In this way, the

simulation results are easily compared to the experimental

Fig. 13. The experimental piece including an orthographic wedge detail.

D. Roth et al. / Computer-Aided Design 35 (2003) 1287–13031296

Page 11: Mechanistic modelling of the milling process using an ...mme.uwaterloo.ca/~machlab/papers/2003_Mech._milling_adapt.buffer.… · Mechanistic modelling of the milling process using

results. With reference to Fig. 3, these forces are converted

to global X and Y force components by,

Fx ¼ 2Fr cosðQÞ2 Ft sinðQÞ ð19Þ

Fy ¼ 2Fr sinðQÞ þ Ft cosðQÞ ð20Þ

As before, Q is the angular rotation of the tool.

5.4. Comparing experimental and simulation results

Four experiments were conducted with the tool linearly

interpolating along the X;Y and Z axes to form a wedge

shaped cut as shown in Fig. 14. As the tool rotates in a

clockwise direction, with the tool fed on the left side of the

experimental piece, the result is a climb cut. Similarly,

conventional cutting occurs when the tool is fed on the right

hand side. Both the measured and the simulated results for

the climb cut case, at a feed rate of (900 mm/min), are

presented in Fig. 15. Marked in this figure are three

locations—close-up views of the results at these locations

are shown in Figs. 16 and 17. Results for the other

experiments are similar.

As the model presented here is an IRF model, dynamic

effects of the tool are not accounted for. These effects were

filtered out using a digital Butterworth lowpass filter. Both

the filtered and the un-filtered signals may be seen on the left

hand side of Figs. 15–17.

In addition to considering cutting forces contributed by

the shearing action of the tool and the edge forces,

the simulation also takes into account cutter runout—that

is, eccentricity of the tool rotation. If there were no tool

eccentricity, the peak force encountered by each tooth

would be identical. Eccentricity causes effectively different

tool radii for each tooth (with one tooth being designated as

the high tooth), and each tooth will consequently encounter

different chip loads. This results in varying peak forces for

each tooth.

5.5. Discussion

The pixel density, rp; used in the experiments was

30 mm21 ðD ¼ 1=30 mmÞ and was chosen based on the chip

load of the experiment. The value used was ft=3; although

the choosing of this parameter warrants further

investigation.

Using the pixel size for the resolution of the simulation,

the sector angle was calculated from Eq. (11) as 8.38.

The actual simulation was carried out with a sector angle of

88 to allow for an overlap between rendered tooth swept

sectors. This was done to cover any discrete approximation

roundoff errors.

The simulation screen measured 764 pixels in both

length and width.

From Eq. (10), the simulation engagement/disengage-

ment resolution is calculated at 4.18. As the chip area is very

small during tool engagement for conventional milling and

disengagement for climb cut milling, the simulation may

miss the contribution of both cutting, and more significantly,

edge forces during this portion of the cut.

Figs. 15–17 show the comparison of the simulation to

the experimental results are excellent. For almost all cases,

the simulation results are within 10% of the filtered

experimental results. There are two exceptions: the

maximum climb cut X-direction case and the maximum

conventional cut Y-direction case. In both cases, the

maximum experimental value is positive, whereas

the simulation predicts no force.

With reference to Fig. 16, consider the X-direction climb

cut case. The troughs of the X-direction forces correspond to

Table 1

Force coefficients obtained for aluminum

Aluminum

Ktc (MPa) 974.983

Krc (MPa) 714.709

Kac (MPa) 106.128

Kte (N/mm) 19.315

Kre (N/mm) 24.362

Kae (N/mm) 4.077

Fig. 14. Climb and conventional cutting during the experimental validation.

D. Roth et al. / Computer-Aided Design 35 (2003) 1287–1303 1297

Page 12: Mechanistic modelling of the milling process using an ...mme.uwaterloo.ca/~machlab/papers/2003_Mech._milling_adapt.buffer.… · Mechanistic modelling of the milling process using

a tooth just entering the cut, where the tangential force

dominates and the chip thickness is greatest. As the tooth

progresses through the cut, the chip thickness diminishes

and edge forces begin to dominate. The X-direction forces

fall to zero as the tooth exits the cut. However, due to

inertial effects of the force table dynamometer, the table will

continue to vibrate, giving false positive force values.

A similar thing occurs for the Y-direction up-milling

case. However, as the chip thickness is greatest at the end of

the up-milling cut, the cutting force will be a maximum at

this point. The greater force magnitude will lead to a larger

vibration amplitude of the force table after the tooth exits

the cut.

Towards the end of the cut, at position [3], the differences

in the simulation and measured force profiles are noticeably

different than at the previous two points considered. At this

point in the cut, the maximum chip load encountered is

approximately hmax ¼ ft=2: Accordingly, the relative error

from Eq. (A8) for a fully rendered tooth swept sector is

69%. Furthermore, the amount of noise in the sampled

signal is approximately 10 N—a significant portion of the

measured values.

In order to improve the simulation results at this point, a

finer pixel density is required. Most likely, the second

method of Section 3.1 (where the depth buffer is sized to the

tooth swept sector) would be of most use. This being said,

one must also realize that the level of forces at location [3]

was very low; that is, not of great concern regarding tool

deflection and the resulting accuracy.

A slight stepping of approximately 30 N may be

observed in the Y-direction simulation forces for the climb

cut case and the X-direction conventional cut case. This has

more to do with the averaging effect of the sector sweep

angle, u; than the choice of pixel size, D: When a tooth cuts

along the entire sweep angle, the resulting simulation forces

are averaged over the period of time it takes for the tool to

Fig. 15. Measured (left) and simulated (right) climb cut forces, ft ¼ 0:1 mm: (a), (b), x-direction. (c), (d) y-direction.

D. Roth et al. / Computer-Aided Design 35 (2003) 1287–13031298

Page 13: Mechanistic modelling of the milling process using an ...mme.uwaterloo.ca/~machlab/papers/2003_Mech._milling_adapt.buffer.… · Mechanistic modelling of the milling process using

sweep the sector angle. In effect, the forces are calculated

based on the average chip thickness in this time period.

Periodically, however, only a small portion of the sector

angle will engage at the beginning of the cut, resulting in a

net higher average chip thickness.

Consider in the experiments that u was calculated at 8.38.

The radius of the cutter used was 12.7 mm, and the tool path

started at half immersion and progressed linearly to 0 along

a length of 90 mm. The arc length of the sector sweep angle,

u; is s ¼ ru ¼ 1 : 84 mm: Therefore, the number of steps

encountered should be 12:7=1:84 < 7; or, as the tool path is

completed in about 6 s, the steps should occur every 1:84 £

6=12:7 < 0:87 s; which is seen to be the case.

Note that this stepping is only of concern when the tool is

entering or exiting a cut where the chip thickness is

significant. As the Y-direction climb cut forces reach a

minimum at this point, the stepping is observed only along

the bottom of the simulation force graph of Fig. 15.

Fig. 16. Details of the measured (left) and simulated (right) x-direction climb cut forces at different locations along the cut. (a), (b), location [1]. (c), (d) location

[2]. (e), (f), location [3].

D. Roth et al. / Computer-Aided Design 35 (2003) 1287–1303 1299

Page 14: Mechanistic modelling of the milling process using an ...mme.uwaterloo.ca/~machlab/papers/2003_Mech._milling_adapt.buffer.… · Mechanistic modelling of the milling process using

The X-direction climb cut forces reach a minimum value at

approximately Q ¼ 608; so no stepping is observed for that

case.

6. Future work

Currently, the simulation employs a brute force algor-

ithm whereby every previous tool position is rendered to

determine the cutting forces of the current tool position.

Ways of speeding up the process need to be found. Although

this method is of significantly less computational complex-

ity than solid modelling, there still exists room for

improvement.

The dynamic effects of the system were not taken into

account during this simulation. Certainly, these effects are

not negligible. The presented model must be expanded to a

regenerative force, dynamic deflection model, as classified

in Ref. [1].

Finally, the above model must be developed to simulate

the full 5-axis machining case.

Fig. 17. Details of the measured (left) and simulated (right) Y-direction climb cut forces at different locations along the cut. (a), (b), location [1]. (c), (d) location

[2]. (e), (f), location [3].

D. Roth et al. / Computer-Aided Design 35 (2003) 1287–13031300

Page 15: Mechanistic modelling of the milling process using an ...mme.uwaterloo.ca/~machlab/papers/2003_Mech._milling_adapt.buffer.… · Mechanistic modelling of the milling process using

7. Conclusions

This paper presents a volumetric force model of the

milling process based on the depth buffer of a high end

rendering engine. This method has the distinct advantage

of sizing the depth buffer to the size of the tool rather than

to the size of the workpiece, allowing for increased

simulation accuracy while reducing memory requirements.

The in-process chip geometry for a given tool path is

readily calculated by rendering every tool position to the

screen to determine the current state of the stock material

and then determining the effect of the current tool

position. The simulation is intricately tied to the rendering

of the process, giving two additional advantages: the

graphical display of the simulation is achieved at no extra

computational expense and furthermore, as graphics cards

are optimized for rendering engines such as OpenGL and

DirectX, the simulation process is hardware accelerated.

A final advantage of method is that it is independent of

the shape of the tool being used—it only remains a matter

of determining how to render the cutting tool based on

rendering primitives.

Two experiments were done to validated this graphical

method. The simulation was able to accurately determine the

force magnitudes and variations of a full 3-axis cut, for both

conventional and climb cut cases. The model accounts for

cutting and edge forces as well as the effect of cutter runout.

Acknowledgements

The authors appreciate the funding provided by the

Natural Sciences and Engineering Research Council of

Canada as well as the research infrastructure provided by

the Ontario Innovation Trust and the Canada Foundation for

Innovation.

Appendix A. Detailed calculations

A.1. Relating the sector angle, u; to the chip thickness

error bound, eh

If the maximum allowable chordal deviation, Eq. (9) is

chosen based on the pixel size, D; then, from Eq. (11),

cosu

2

� �¼ 1 2

D

R

� �ðA1Þ

and if D is small with respect to R; then from Eq. (10),

tan eh ¼

ffiffiffiffiffiffi2RD

p

R

tan2eh

D

RðA2Þ

Combining Eqs. (A1) and (A2), it is found that

tan2eh

2þ cos

u

2

� �¼ 1 ðA3Þ

Surprisingly, this eh 2 u relationship of Eq. (A3) is

essentially linear for 0 # u # 458; as shown in Fig. 18,

meaning the error associated with rasterizing a thin chip

portion decreases linearly with the chosen sector angle.

A.2. Linearizing the u; eh relationship

If it is assumed that chip thickness error bound, eh; is

directly proportional to the sector angle, u; then,

u ¼ leh ðA4Þ

where l is the constant of proportionality. From Eq. (A3),

cosleh

2

� �þ

tan2eh

2¼ 1 ðA5Þ

Expanding using a Taylor series, and assuming eh is small,

1 2

leh

2

� �2

þ ðOÞ4

0BB@

1CCAþ

ðeh þ ðOÞ3Þ2

2¼ 1

e2h 1 2

l2

4

!¼ 0

l ¼ 2 ðA6Þ

This can be observed in Fig. 18 to be true as the slope of the

line is eh=u ¼ 1=l < 1=2:

A.3. Error bound of the area of the rendered quadrilateral

The quadrilateral representing the swept tooth sector and

the rasterized version of the quadrilateral will have an

associated error in area. As this is the area used in Eq. (4),

this error must be bounded.

A rasterized quadrilateral will cover a given pixel only

‘if its exact center falls within the [quadrilateral’s]

mathematical boundary’ [23]. As seen in Fig. 19, from the

point of view of area calculation, the worst error will occur

Fig. 18. Relationship between u and eh; for 0 # u # 458:

D. Roth et al. / Computer-Aided Design 35 (2003) 1287–1303 1301

Page 16: Mechanistic modelling of the milling process using an ...mme.uwaterloo.ca/~machlab/papers/2003_Mech._milling_adapt.buffer.… · Mechanistic modelling of the milling process using

when a quadrilateral just covers the center of all pixels

within its boundary. This occurs in two orientations.

In this figure, the quadrilateral has a length L and a width

W : The pixel size is given as before, Dx ¼ Dy ¼ D:

Let L ¼ L0D; where L0 is the number of pixels covered by

the length L: Similarly, let W ¼ W 0D:

With respect to Fig. 19, the absolute error of the left-hand

rasterized quadrilateral area is given by

eA ¼ 1=2Dð2L þ 2WÞ ðA7Þ

The actual area of the quadrilateral is A ¼ LW : The relative

error is therefore

e rel ¼ eA=A ¼DðDL0 þ DW 0Þ

DL0DW 0

e rel ¼L0 þ W 0

L0W 0ðA8Þ

The relative error of the right-hand rasterized quadrilateral,

by a similar analysis, is found to be

e rel ¼L0 þ W 0

2L0W 0ðA9Þ

Therefore the left hand figure represents the worst case

possible.

Note that this error affects the cutting force only and not

the edge forces. Furthermore, the origin of the depth buffer

can be perturbed to avoid any occurrences of the worst case

geometry of Fig. 19 from happening, leading to a much

smaller average error. It should also be noted that this error

bound could be dramatically improved by using the second

view screen sizing technique discussed in Section 4.4.

With this method, virtually any tolerance desired could be

achieved. However, in this paper, the first method was

implemented for simplicity.

References

[1] Smith S, Tlusty J. An overview of modeling and simulation of the

milling process. ASME J Engng Ind 1991;113(2):169–75.

[2] Voelcker HB, Hunt WA. The role of solid modelling in machining-

process modelling and NC verification. Technical Report 810195,

SAE; 1981

[3] Bertok P, Takata S, Matsushima K, Ootsuka J, Sata T. A system for

monitoring the machining operation by referring to a predicted cutting

torque pattern. Ann CIRP 1983;32(1):439–44.

[4] Wang WP. Solid modeling for optimizing metal removal of

three-dimensional NC end milling. J Manuf Syst 1988;7(1):57–65.

[5] Takata S. Generation of a machining scenario and its

applications to intelligent machining operations. Ann CIRP 1993;

42(1):531–4.

[6] Spence AD, Altintas Y. A solid modeler based milling process

simulation and planning system. ASME J Manuf Sci Engng 1994;116:

61–9.

[7] El-Mounayri H, Spence AD, Elbestawi MA. Milling process

simulation—a generic solid modeller based paradigm. ASME J

Manuf Sci Engng 1998;120:213–21.

[8] Imani BM, Sadeghi MH, Elbestawi MA. An improved process

simulation system for ball-end milling of sculptured surfaces. Int J

Mach Tools Manuf 1998;38(9):1089–107.

[9] Jerard R, Drysdale R, Hauck K, Schaudt B, Magewick J. Methods for

detecting errors in numerically controlled machining of sculptured

surfaces. IEEE Comput Graph Appl 1989;9(1):26–39.

[10] Jerard RB, Fussell BK, Ercan MT. On-line optimization of

cutting conditions for nc machining. 2001 NSF Design,

Manufacturing and Industrial Innovation Research Conference;

January 7–10 2001

[11] van Hook T. Real-time shaded nc milling display. SIGGRAPH

Comput Graph 1986;20(4):15–20.

[12] Choi BK, Kim DH, Jerard RB. C-space approach to tool-path

generation for die and mould machining. Comput Aid Des 1997;

29(9):657–69.

[13] Fussell BK, Hemmett, JG, Jerard RB. Modeling of five-axis end mill

cutting ueing axially discretized tool moves. North American

Manufacturing Research Conference. Society of Manufacturing

Engineers; May 25–8 1999

[14] Fussell BK, Jerard RB, Hemmett JG. Robust feedrate selection for 3-

axis nc mchining using discrete models. ASME J Manuf Sci Engng

2001;123(2):214–24.

[15] Kim GM, Cho PJ, Chu CN. Cutting force prediction of sculptured

surface ball-end milling using z-map. Int J Mach Tools Manuf 2000;

40(2):277–91.

[16] Choi BK, Jerard RB. Sculptured surface machining: theory and

application. Dordrecht: Kluwer; 1998.

[17] Martellotti M. An analysis of the milling process. Trans ASME 1941;

63:677–700.

[18] Martellotti M. An analysis of the milling process, part ii—down

milling. Trans ASME 1945;67(1):233–51.

[19] Stewart N, Leach G, John S. An improved z-buffer csg rendering

algorithm. Workshop on Graphics Hardware, Eurographics/Siggraph;

1998. p. 25–30

[20] Graphics Processing Unit (GPU). http://www.nvidia.com/view.

asp?IO ¼ gpu

[21] Bresenham J. A linear algorithm for incremental digital display of

circular arcs. Commun ACM 1977;20(2):100–6.

[22] Altintas Y. Manufacturing automation—metal cutting mechanics.

machine tool vibrations, and CNC design. Cambridge: Cambridge

University Press; 2000. p. 45–6.

[23] OpenGL Technical FAQ and Troubleshooting Guide. http://www.

opengl.org/developers/faqs/technical.html

David Roth is currently a PhD student and

instructor at the University of Waterloo in the

Mechanical Engineering department. His

research interests include mechanistic model-

ling of 5-axis machining, high-speed machin-

ing, tool path planning and swept volume

generation. He received his BASc in 1997 and

his MASc in 1999 both from the University of

Waterloo.

Fig. 19. Error bound of a rasterized polygon.

D. Roth et al. / Computer-Aided Design 35 (2003) 1287–13031302

Page 17: Mechanistic modelling of the milling process using an ...mme.uwaterloo.ca/~machlab/papers/2003_Mech._milling_adapt.buffer.… · Mechanistic modelling of the milling process using

F. Ismail obtained his BSc in Mechanical

Engineering and his Masters degree in Pro-

duction Engineering, both from the University

of Alexandria, Egypt. He received his PhD

from McMaster University in Canada. He has

been with the University of Waterloo, Water-

loo, Ontario in Canada for the past 19 years.

Prof. Ismail’s areas of expertise include

modeling and control of machining chatter,

structural dynamics using modal analysis, and

machinery diagnostics.

S. Bedi is interested in the application of

CAD/CAM, solid modeling, and geometric

and surface modeling methods to mechanical

engineering. His recent work includes 5-axis

machining strategies, NC simulation, and

intelligent NC machine control. Details of his

current activities and interests can be found at

http://www.me.uwaterloo.ca/~mechlab.

D. Roth et al. / Computer-Aided Design 35 (2003) 1287–1303 1303