SOLID MODELLER BASED MILLING PROCESS SIMULATION

373
SOLID MODELLER BASED MILLING PROCESS SIMULATION by ALLAN DOUGLAS SPENCE B.Math. (Applied Mathematics), University of Waterloo, 1984 M.A.Sc. (Mechanical Engineering), University of Waterloo, 1986 A THESIS SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF DOCTOR OF PHILOSOPHY in THE FACULTY OF GRADUATE STUDIES MECHANICAL ENGINEERING We accept this thesis as conforming to the required standard THE UNIVERSITY OF BRITISH COLUMBIA March 1992 © Allan Douglas Spence, 1992

Transcript of SOLID MODELLER BASED MILLING PROCESS SIMULATION

Page 1: SOLID MODELLER BASED MILLING PROCESS SIMULATION

SOLID MODELLER BASED MILLING PROCESS SIMULATION

by

ALLAN DOUGLAS SPENCE

B.Math. (Applied Mathematics), University of Waterloo, 1984

M.A.Sc. (Mechanical Engineering), University of Waterloo, 1986

A THESIS SUBMITTED IN PARTIAL FULFILLMENT OF

THE REQUIREMENTS FOR THE DEGREE OF

DOCTOR OF PHILOSOPHY

in

THE FACULTY OF GRADUATE STUDIES

MECHANICAL ENGINEERING

We accept this thesis as conforming

to the required standard

THE UNIVERSITY OF BRITISH COLUMBIA

March 1992

© Allan Douglas Spence, 1992

Page 2: SOLID MODELLER BASED MILLING PROCESS SIMULATION

In presenting this thesis in partial fulfilment of the requirements for an advanceddegree at the University of British Columbia, I agree that the Library shall make itfreely available for reference and study. I further agree that permission for extensivecopying of this thesis for scholarly purposes may be granted by the head of mydepartment or by his or her representatives. It is understood that copying orpublication of this thesis for financial gain shall not be allowed without my writtenpermission.

Department of Mcc

The University of British ColumbiaVancouver, Canada

Date O) ct92_

DE-6 (2/88)

Page 3: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Abstract

Continuing advances in manufacturing automation stress reducing the need for direct

operator attention. In totally unstructured environments, this will be achieved only with

extensive improvements in sensor design and machine intelligence. Milling operations,

however, are largely predictable. Within tolerances, information on the geometry and

material properties of the cutter and part is available, and the applicable constraints are

known. Indeed, current practice is to use CAD/CAM programs to plan the cutter paths

in advance of actual part production.

This thesis proposes extension of the path planning function to a solid modeller based

milling process simulation system. The system predicts the cutting forces, torques and

deflections in advance, and automatically schedules the maximum safe feed rate before

machining takes place. On the factory floor, technological data from the solid modeller is

used to assist in recognizing unexpected events, and when necessary to warn of upcoming

cutting condition changes.

The required milling process simulations are shown to depend on cutter immersion

geometry calculated by the solid modeller. Constructive solid geometry (CSC) is shown

to be particularly useful in reducing the complexity of the immersion calculations with

general part shapes. Rather than simultaneously examining every detail of the part def

inition, the intersection of the milling cutter is separately analyzed with each block and

cylinder primitive. Individual results are then combined by applying the same Boolean

operators and tree used in the overall part definition. Substantial increases in simu

lation speed are achieved through application of CSG redundant primitive elimination

Ii

Page 4: SOLID MODELLER BASED MILLING PROCESS SIMULATION

methods. Representation issues, cutter path segmentation and local boundary evalua

tion techniques are explored to avoid repeated calculations with irrelevant primitives.

Computational geometry strategies for identifying only the locally significant paths in a

cutter path chain are proposed, and compared to existing strategies. It is shown that

under given assumptions this problem has a linear intrinsic complexity. Often after ap

plying these methods the cutter-part intersection geometry reduces to a single immersion

interval. In such cases an especially rapid simulation technique is used.

Beyond a laboratory demonstration of the principle, industrial usefulness of the meth

ods requires that the milling process simulations be carried out in a systematic and ef

ficient manner. Existing methods work incrementally by summing differential elements

along the cutter axis, slightly rotating the cutter, and stepping forward along the path.

In contrast, this thesis develops analytical solutions that, for 2 1/2 dimensional parts,

eliminate the need for axial summations. To improve upon repeated sampling at many

cutter rotation angles, numerical methods and calculus techniques are used to rapidly

determine extreme forces, torques, and deflections. Finally, when the part boundary is

simple, piecewise functions are used to accelerate simulation along the cutter path.

The algorithms are implemented, and the simulation accuracy verified by experi

mental measurement of instantaneous, average and maximum resultant forces, average

torque, and surface error. For process planning, a continuously varying feed rate is au

tomatically scheduled to respect imposed average torque, maximum resultant force and

surface error constraints. Additional simulation and cutter-part intersection geometry

data is calculated to assist with online monitoring and control tasks. Without surren

dering the responsiveness of an online solution, upcoming sudden part geometry changes

are communicated to a customized adaptive controller, allowing it to safely pass through

regions where dangerous force transients would normally occur.

111

Page 5: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Table of Contents

Abstract ii

List of Tables x

List of Figures xi

Glossary XiX

Nomenclature xxii

Acknowledgement xxvi

1 Introduction 1

1.1 Overview 1

1.2 Product development cycle 1

1.2.1 Design 3

1.2.2 Manufacturing planning 3

1.2.3 Part production 4

1.2.4 Summary 4

1.3 Milling process constraints 4

1.4 Thesis focus 7

1.5 Outline 9

2 Literature review 12

iv

Page 6: SOLID MODELLER BASED MILLING PROCESS SIMULATION

2.1 Overview.

2.2 Metal cutting mechanics

2.2.1 Overview

2.2.2 Constraints

2.3 Manufacturing systems automation

2.3.1 History

2.3.2 Process monitoring

2.3.3 Control tasks

2.3.4 Summary

2.4 Solid modelling and computational

2.4.1 History

2.4.2 Milling process simulation requirements.

Solid modellers

Comparison of solid modelling strategies

Computational geometry

Numerical analysis

3 Process model and constraint mathematics

3.1 Overview

3.2 Milling process model relationships

3.2.1 Material removal rate based models

3.2.2 Uncut chip thickness based models

3.2.3 Other models

3.3 Constraint equations

3.3.1 Torque and power

3.3.2 Tooth breakage

12151517232326293335353640464956

techniques

2.4.3

2.4.4

2.4.5

2.4.6

59

59

59

59

62

64

67

67

68

v

Page 7: SOLID MODELLER BASED MILLING PROCESS SIMULATION

3.3.3 Shank breakage

3.3.4 Surface location error

3.3.5 Tool wear

3.3.6 Chatter

3.4 Summary

4 Cutter—part intersection calculations

4.1 Overview

4.2 Cutter—primitive intersection calculations

4.2.1 Rectangle calculations

4.2.2 Circle calculations

4.3 Cutter immersion interval combination

4.4 Summary

5 Relevant primitive identification

5.1 Redundancy and local cutter paths

5.2 Cutter path chains

5.2.1 Overview

5.2.2 Incremental swept volume checking . .

5.2.3 Line segment intersection test

5.2.4 Pocket cutter path generation strategies

5.2.5 Planar subdivision methods

5.3 Cutter path segmentation

5.3.1 Overview

5.3.2 Primitive redundancy portions

5.3.3 Analytic interval endpoint expressions .

6970737578

81

81

84

88

97

103

107

112

113

131

131

133

133

137145171171172172

vi

Page 8: SOLID MODELLER BASED MILLING PROCESS SIMULATION

5.4 Summary.

6 Milling process model implementation

6.1 Zero helix expressions

6.1.1 Average chip thickness model

6.1.2 Linear edge force model

6.2 Helix expressions

6.2.1 Critical angle determination

6.2.2 Analytic force expressions

6.2.3 Summary

6.3 Feed rate scheduling

6.3.1 Incremental solution

6.3.2 Rapid numerical solution

6.4 Summary

180

182

183

183

191

193

194

197

212

212212223227

229

229

230

231

231

233

241

245

249

249

249

7 Simulations and experiments

7.1 Introduction

7.2 Experimental equipment

7.3 Face milling examples

7.3.1 Introduction

7.3.2 Model verification and monitoring applications

7.3.3 Feed rate scheduling

7.3.4 Recursive parameter identification

7.3.5 Summary

7.4 End milling examples

7.4.1 Introduction

vii

Page 9: SOLID MODELLER BASED MILLING PROCESS SIMULATION

7.4.2 Model verification

7.4.3 Feed rate scheduling

7.4.4 Summary

7.5 Adaptive control

7.5.1

7.5.2

7.5.3

7.5.4

7.5.5

7.5.6

250

261

269

270

270

271

277

278

287

290

8 Summary 292

Appendices 296

A Algorithm analysis and growth rates 296

B Planar subdivision algorithm complexity proofs

B.1 Overview

B.2 Preliminary lemmas

B.3 Horizontal visibility partition

B.4 Generalized Voronoi diagrams

C Detailed milling process model mathematics

C.1 Linear edge force model

C.2 Helix intersection cases geometric constants

C.3 Maximum resultant force calculation

Introduction

Process model

Controller design

Simulations and experiments

Discussion

Summary

298

298

299

304

307

311

311

314

321

viii

Page 10: SOLID MODELLER BASED MILLING PROCESS SIMULATION

C.4 Surface profile calculations 323

C.5 Piecewise linear approximation 326

Bibliography 336

ix

Page 11: SOLID MODELLER BASED MILLING PROCESS SIMULATION

List of Tables

2.1 Boolean set identities.56

4.1 Boolean immersion interval combination rules 104

4.2 Boolean immersion interval combination 104

5.1 HVP tree maintenance 154

6.1 Helix rotation interval cases 198

7.1 Helical cutter instantaneous force tests 250

7.2 Determination of cb3,01 264

7.3 Steady-state maximum resultant forces 276

7.4 Identified cutting model parameters . . 276

x

Page 12: SOLID MODELLER BASED MILLING PROCESS SIMULATION

List of Figures

1.1 Milling process simulation system overview . 2

1.2 Cutter motion specification 5

2.1 Metal removal process 16

2.2 Common face and end milling operations . 18

2.3 Milling process geometry 19

2.4 Cutter failure causes 20

2.5 Surface location error 21

2.6 Milling chatter 22

2.7 Numerical control machine tool axes 25

2.8 Axis feedback control system 31

2.9 Contouring error 32

2.10 Adaptive maximum resultant force control 34

2.11 Ambiguity in wireframe part representations 37

2.12 2 1/2 dimensional parts 38

2.13 Cutter—part intersection parameters 39

2.14 Relevant path identification 40

2.15 Octree solid model representation 42

2.16 Boundary representation of a solid 44

2.17 Manifold and orientable surfaces 45

2.18 Constructive solid geometry representation 47

2.19 A non-regularized Boolean operation 48

xi

Page 13: SOLID MODELLER BASED MILLING PROCESS SIMULATION

2.20 Ray casting for CSG evaluation . . . 50

2.21 Redundancy definitions 52

2.22 CSG primitive local approximations . 53

2.23 Iso-oriented boxes 54

2.24 Modelling pocketing with CSG 57

3.1 MRR model definitions 61

3.2 Mechanistic model parameters 65

3.3 Multiple in cut sections 66

3.4 Mohr’s circle for end milling 71

3.5 Differential element force summation 72

3.6 Kline’s cutter deflection model 74

3.7 Regeneration in chatter 76

3.8 Feedback loop in chatter 79

3.9 Calculation of cutter engagement length 80

4.1 Cutter—part immersion geometry 82

4.2 Advancing cylinder cutter model 83

4.3 Cutter path definitions 86

4.4 Rectangle and circle definitions 87

4.5 Rectangle—perpendicular side 89

4.6 Rectangle—parallel side 90

4.7 Rectangle—intermediate angle side—initial contact 91

4.8 Rectangle—intermediate angle side—final contact 94

4.9 Rectangle redundancy 94

4.10 Rectangle—cutter intersection angles 96

4.11 Rectangle—cutter arc classification 98

xii

Page 14: SOLID MODELLER BASED MILLING PROCESS SIMULATION

4.13

4.14

4.15

4.16

4.17

4.18

4.19

Multiple part features

Redundant part features

Reduced CSG tree

Iso-oriented boxes

Sweep paradigm for isobox intersection

Poor isobox fit

CSG subtree and primitive bounds .

S-bounds refinement—initialization . .

S-bounds refinement—upward (pass 1)

S-bounds refinement—downward (pass 2)

Active zones for primitives

Cutter path swept volumes

Approximate bound fit

Line segment intersection by sweep

Pocketing material removal stages

Zigzag cutter path chain

Spiral cutter path chain

99

101

102

105

106

108

109

110

115116117119120121124125126127130132134136138139140

4.12 Circle critical points—re <rF . .

Circle critical points—re r

Circle—cutter intersection angles

Boolean immersion interval combination illustration

Immersion interval linked lists

Complex CSG part

Complex part immersion interval combination

Cutter immersion algorithm implementation

5.1

5.2

5.3

5.4

5.5

5.6

5.7

5.8

5.9

5.10

5.11

5.12

5.13

5.14

5.15

5.16

5.17

XII’

Page 15: SOLID MODELLER BASED MILLING PROCESS SIMULATION

5.18 Cusp avoidance 141

5.19 Occluding cutter paths 142

5.20 Doubly linked circular queue 143

5.21 Boundary segment queue maintenance 144

5.22 Adjacent cutter path density 147

5.23 Path centreline based bounds 149

5.24 Horizontal visibility partition 150

5.25 Vertex types 151

5.26 HVP tree maintenance 153

5.27 Adjacency data structure 157

5.28 Incremental adjacency data structure construction 158

5.29 Rectangle—tail chain intersection 60

5.30 Active trapezoid left/right paths 161

5.31 Interior path tracing 162

5.32 Subsequent path crossings 163

5.33 Top/bottom crossings 164

5.34 Vertical blocks 167

5.35 Approximating rectangle randomization. . 168

5.36 HVP traversal example 169

5.37 A generalized Voronoi diagram 170

5.38 Primitive redundancy segments 173

5.39 Boundary evaluation 175

5.40 Rectangle—cutter intersection angles 178

5.41 Circle—cutter intersection angles 179

6.1 Process model parameters 185

xiv

Page 16: SOLID MODELLER BASED MILLING PROCESS SIMULATION

6.2

6.3

6.4

6.5

6.6

6.7

6.8

6.9

6.10

6.11

6.12

6.13

6.14

6.15

6.16

6.17

6.18

7.1

7.2

7.3

7.4

7.5

7.6

7.7

7.8

186194195196198199201207210217219

221

222

225

225

226

226

232

234

235

236

238

238

239

239

Rotation intervals

Face mill nose shapes

Helical flute immersion angle

Unrolled part surface

Helical flute contact cases

Helix rotation interval endpoints

Definition of 0

Surface generation in down milling

Concentrated load cantilever deflection . .

Chatter angle and direction definitions . .

Maximum permissible axial depth of cut .

Target feed rate approximation

Servo dynamics compensation

Predicted maximum resultant force

Target feed rate—Fmax=1.2 kN

Predicted maximum surface location error .

Target feed rate—Sy,max=O.100mm

Experimental setup

Face milling example parts

Face milling cutter path

Experimental average forces—three features, feed rate 0.151

Average forces—one feature, feed rate 0.100 mm/tooth . .

Average forces—one feature, feed rate 0.151 mm/tooth . .

Average forces—two features, feed rate 0.100 mm/tooth .

Average forces—two features, feed rate 0.151 mm/tooth .

mm/tooth

xv

Page 17: SOLID MODELLER BASED MILLING PROCESS SIMULATION

240

240

242

243

244

244

245

246

246248251251252252253253254255256257258258259

260

262

262

7.11

7.12

7.13

7.14

7.15

7.16

7.17

7.18

7.19

7.20

7.21

7.22

7.23

7.24

7.25

7.26

7.27

7.28

7.29

7.30

7.31

7.9 Average forces—three features, feed rate 0.100 mm/tooth

7.10 Average forces—three features, feed rate 0.151 mm/tooth

Average force Boolean combination

Predicted average torque—three feature part

Target feed rate—average torque constraint . .

Merged target feed rate—average torque constraint

Scheduled feed rate—average torque constraint

Average forces—scheduled feed rate

Average torque—scheduled feed rate . .

Recursive parameter estimates

Helical cutter instantaneous force test 0

Helical cutter instantaneous force test 1

Helical cutter instantaneous force test 2

Helical cutter instantaneous force test 3

Helical cutter instantaneous force test 4

Helical cutter instantaneous force test 5

End milling example part

End milling cutter paths

Average forces—end path A

Maximum resultant force—end path A . .

Average forces—end path B

Maximum normal force—end path B

Surface profile—end path B

7.32 Maximum surface location error—end path B

7.33 Piecewise linear feed rate—maximum resultant force constraint

7.34 Merged target feed rate—maximum resultant force constraint

xvi

Page 18: SOLID MODELLER BASED MILLING PROCESS SIMULATION

7.35 Entry angle evaluation points—maximum resultant force constraint

7.38

7.39

7.40

7.41

7.42

7.43

7.44

7.45

7.46

7.47

7.48

7.49

7.50

7.51

7.52

B.1

B.2

B.3

B.4

B.5

Scheduled feed rate—maximum surface location

Maximum normal force—scheduled feed rate.

Surface profile—scheduled feed rate

Maximum surface location error—scheduled feed rate

Maximum resultant force process block diagram

Process dynamics due to cutter compliance

PRBS feed rate and maximum resultant force .

Adaptive controller block diagram

Adaptive control part A

Adaptive control part B

Adaptive control—unaided, part A

Adaptive control—unaided, part B

Assistance material—part A

Assistance material—part B

Adaptive control—solid modeller assistance,

263

265

265

267

267

268

269

271

273

276

279

280

281

284

285

286

287

288

289

297

300

302

303

308

310

7.36 Scheduled feed rate—maximum resultant force constraint

7.37 Maximum resultant force—scheduled feed rate

error constraint

part A

7.53 Adaptive control—solid modeller assistance, part B

A.l Common algorithm growth rates

A 0.5r x 0.5r square

Illustration for lemma B.2

Illustration for lemma B.3

Doubled path vertical blocks

Illustration for theorem B.2

xvii

Page 19: SOLID MODELLER BASED MILLING PROCESS SIMULATION

C.1 Surface profile prediction 327

0.2 Kline’s surface profile 328

C.3 Rectangle side endpoint angle graphs 331

C.4 Cylinder second derivative component graphs 333

0.5 Cylinder endpoint angle graphs 335

xviii

Page 20: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Glossary

2 1/2 D a part shape that can be defined by extruding a planar area in a direction normal to the plane. A great many practical parts, and hence many milling operations,are 2 1/2 dimensional or 2 1/2 D.

ACC adaptive control with constraints

ACT average chip thickness (mechanistic milling force model)

active zone for a primitive S in a CSG tree, the region within which a change to theshape of S will result in a change in the shape represented by the overall tree

APT Automatically Programmed Tooling (a part programming language)

B-rep see boundary representation

boundary representation a solid modelling scheme in which the part is described bya data structure expressing relationships between the surface vertices, edges andfaces

CAD computer aided design

CAM computer aided manufacturing

CNC computer numerical control

contour error the dimensional error in coordinated axes motion due to the followingerror of the drive motor and control system

contouring peripheral milling intended to generate the final part surface

CSG constructive solid geometry

cutter immersion interval in a 2 1/2 dimensional part, an angular segment duringwhich the cutter teeth will be engaged in the part

cutter path the trajectory that the milling cutter should follow to produce the desiredpart surface

D dimensional

down milling the situation where cutting occurs over a single immersion interval [qj, 7t)

xix

Page 21: SOLID MODELLER BASED MILLING PROCESS SIMULATION

end milling operation with an end milling cutter, usually for peripheral milling purposes or for pocketing

EXAPT an extension of APT which attempts to automatically calculate appropriatespindle speeds and feed rates

face milling operation in which the primary goal is to produce a fiat part surface normalto the cutter axis. Usually the depth of cut a is small and the cutter radius r,, large.

flute the tooth edge on a HSS end mill

following error the time lag of a control system output behind its commanded input.For example, in a machine tool axis position control loop, the actual axis positionwill be behind the commanded (reference) position due to the control system andtable drive dynamics.

growth rate the rate at which the running time of an algorithm increases as a functionof its input size

heapsort an O(nlogn) sorting algorithm (see Aho, Hopcroft and Ullman[1j)

horizontal visibility partition a planar subdivision which divides the plane intotrapezoidal and triangular sections. The top and bottom sides are horizontal, andthe left and right sides are portions of object line segments (a cutter path centrelinesegment in the thesis) which share a horizontal visibility relationship.

HSS high speed steel—a tool material frequently used in end mills

HVP see horizontal visibility partition

islands material to be left uncut inside a pocket

isobox see iso-oriented box

iso-oriented box a box with sides parallel to the coordiate axes used to approximateobjects such as CSG primitives

LEF linear edge force (mechanistic milling force model)

MRR material removal rate

NC numerical control

octant one of the eight smaller cubes produced by recursive subdivision in the octreesolid modelling representation scheme

xx

Page 22: SOLID MODELLER BASED MILLING PROCESS SIMULATION

octree a solid modelling representation scheme in which the part volume is enumeratedby the octants or cubes which it occupies

part quality in manufacturing, the tolerances on shape, surface roughness, etc. specified by the designer

peripheral milling operation is which the primary goal is to produce a contoured partsurface parallel to the cutter axis

pocket an empty region bounded on all sides (except above) by the solid part

pocketing removal of material from a pocket

ray casting a solid model evaluation scheme that uses infinite lines cast through thepart region to identify the volume that it occupies.

solid modelling a part representation method which yields an unambigous definitionof the volume occupied

subtree the portion of a CSG tree below the nominated interior node

surface location error In peripheral milling, the deviation of the machined part surface from nominal (due substantially to deflection of the cutter, and the part itself).

up milling the situation where cutting occurs over a single immersion interval [0, qex)

Voronoi diagram a planar subdivision which divides the plane into regions which contain all points nearer to the enclosed object (a cutter path centreline segment inthe thesis) than to any other object

wireframe model a geometric part model that consists of the isolated lines and arcsrepresenting the boundary. Since there is no interior/exterior definition, such models are ambigous.

xxi

Page 23: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Nomenclature

A very large number of symbols are required in the thesis, and, due to its interdisciplinary

nature, usages are not unique. Rather than selecting an uncommon symbol, the notation

most frequently encountered in the literature is retained. Subscripts, superscripts and

function arguments clarify the meaning intended, and the context of the usage resolves

any remaining conflicts.

a axial depth of cut (mm)

C1, c2 radial/tangential force ratios (LEE model)

d radial width of cut (mm)

B Young’s modulus of elasticity for the end mill (kN/mm2)

f1() the inverse of a function f()

Fmax maximum resultant cutting force (kN)

Fmax,r reference maximum resultant cutting force (kN)

FR radial cutting force component (kN)

FT tangential cutting force component (kN)

FR,FT average radial, tangential cutting force (kN)

F feed force component (kN)

F normal force component (kN)

h instantaneous uncut chip thickness (mm)

average uncut chip thickness per revolution (mm)

is =/St

hmax maximum permissible uncut chip thickness to avoid tooth breakage (mm)

xxii

Page 24: SOLID MODELLER BASED MILLING PROCESS SIMULATION

h* critical uncut chip thickness (LEP model) (mm)

i cutter immersion interval index

I end mill moment of inertia (mm4)

j cutter tooth index

J end mill polar moment of inertia (mm4)

J number of teeth on the cutter

KR radial/tangential force ratio (ACT model)

K3 specific cutting pressure (LEF model) (kN/mm2)

KT specific cutting pressure (ACT model) (kN/mm2)

KTR KT(1 + K)1/2 (kN/mm2)

tan &/rc (mm1)

L cantilevered length of end mill (mm)

MR,MT i multiplier for KR,Kp (ACT model)

O(f(n)) an upper bound on the running time growth rate of an algorithm with inputsize n, where f(n) is a function of n

average power (kW)

F33, specific power (kW/(mm3/s))

FR,PT i exponent for KR,KT (ACT model)

q’ discrete transfer function backward shift operator

r cutter radius (mm)

R denotes a real number

s feed rate (mm/s)

st feed rate per tooth (mm)

5t,tgt target feed per tooth to satisfy constraint (mm)

average cutting torque (N-m)

xxiii

Page 25: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Tmax maximum torque on end mill shank (N-m)

u table drive command velocity (mm/s)

normal force density (kN/mm)

v surface cutting speed (mm/s)

x cutter feed axis

Xa position control ioop actual position

x,. position control loop commanded (reference) position

y cutter normal axis

z cutter depth axis

zL = L — z, is the distance measured from the tool holder to the cutter tip(mm)

ZCF,y normal force centre (mm)

Z(S) in a CSG model, the active zone of primitive S

c4 adaptive control pole parameter, estimate (caused by cutter flexibility)

3,/3 adaptive control gain parameter, estimate (kN/mm)

S, normal end mill deflection

LIF,D solid modeller data assistance quantity added to the maximum resultantforce in the augmented adaptive controller

adaptive control zero feed rate offset parameter, estimate (kN)

A the empty or null set

q reference cutter rotation angle

q5 angular spacing between successive cutter teeth (= 2ir/1)

qex,i cutter tooth exit angle

qst,i cutter tooth entry angle

ib end mill helix angle

xxiv

Page 26: SOLID MODELLER BASED MILLING PROCESS SIMULATION

w spindle speed (rad/s)

Q the universal set

f1(g(n)) a lower bound on the running time growth rate of an algorithm with inputsize n, where g(n) is a function of n

a normal stress on end mill shank (CPa)

a(S) spatial bound for a CSC primitive S

T shear stress on end mill shank (CPa)

—* regularized Boolean difference operator

fl* regularized Boolean intersection operator

U* regularized Boolean union operator

xxv

Page 27: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Acknowledgement

Sincere thanks are extended to Dr. Yusuf Altintas (Mechanical Engineering) and Dr.

David G. Kirkpatrick (Computer Science) for jointly supervising this work.

Scholarship funding to the author was provided by a Natural Sciences and Engineering

Research Council of Canada (NSERC) Postgraduate Scholarship, a British Columbia

Advanced Systems Foundation Graduate Research Scholarship, and an award from the

Department of Mechanical Engineering, The University of British Columbia. Support

from NSERC equipment grant EQP-0028762 and operating grant OGP-0006164 (awarded

to Dr. Altintas) and operating grant OGP-0003583 (awarded to Dr. Kirkpatrick) is also

acknowledged.

The staff of the Department of Mechanical Engineering, Faculty of Applied Science,

and the Centre for Integrated Computer Systems Research (CICSR) always cheerfully

provided assistance. The National Research Council of Canada Institute for Mechanical

Engineering (Vancouver, BC) provided the surface profile data for figures 7.31 and 7.32.

xxvi

Page 28: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 1

Introduction

1.1 Overview

It is perceived that a diminishing proportion of the workforce will be employed in man

ufacturing, and hence the pressure to automate will steadily increase [51]. Existing

strategies for achieving the untended machine tool isolate the design, manufacturing

planning and factory floor activities. Alternatively, this thesis develops an integrated ap

proach centred around a methodically implemented solid modeller based milling process

simulation system (figure 1.1).

To identify the essential requirements for such a system, short introductory sections

follow on the product development cycle, and milling process constraints. The closing

sections define the thesis focus, and outline the remaining chapters.

1.2 Product development cycle

Development of a new product can be divided into design, manufacturing planning and

actual part production stages. With reference to solid modeller, milling process simula

tion and untended machining needs, these stages are outlined below. A brief summary

concludes the section.

1

Page 29: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 1. Introduction 2

MACHINING DATA BASEcutter calibration constants

PART DESIGN cutter failure constraintsinitial and final machine tool constraintspart geometry part tolerance constraints

I rcutter—part intersection milling process I

geometry calculations simulation

SOLID MODELLER BASED MILLING

L?L1’2ZLJPATH PLANNER improved path strategy simulation

cutter trajectories planning strategy analysis data

FINAL PROCESS PLAN MONITORING AND

cutter trajectories CONTROL DATA

spindle speeds cutter failurefeed rate schedule adaptive control

MACHINE TOOL

Figure 1.1: Milling process simulation system overview. The part geometry is specifiedusing a solid modeller, and cutter trajectories are selected using path planning software.After the cutter-part intersection geometry has been calculated, calibration constantsfrom the machining data base are used by the milling process simulator to predict theforces, torques and deflections for the specified path, cutting speed and feed rate. Thesimulation data is analyzed and, if necessary, the cutter trajectories improved. Afterthe cutter paths have been finalized, feed rates are automatically scheduled to adhereto constraints listed in the machining data base. This information, along the additionalmonitoring and control data, is transmitted to the machine tool.

Page 30: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 1. Introduction 3

1.2.1 Design

Following recognition of need, the creation of a new product begins with its design.

Synthesis is an iterative procedure, with the final design being chosen only after a number

of alternatives have been examined. Because of the high costs and time delays involved in

constructing prototypes, it is instead preferred to carry out computer assisted engineering

analyses. The solid modeller [97, 98] has become widely accepted as the vehicle for this

work because of its utility in rendering a visual image of the part, performing stress

analysis, checking assemblies for interference, and other tasks. The ultimate goal is to

reduce the human effort required to produce an acceptable design the first time.

1.2.2 Manufacturing planning

After the part geometry has been finalized, the manufacturing process is planned. For

milling, the initial part geometry must first be specified. Next, the cutting tool is chosen,

and the cutter trajectories or paths programmed. The cutting speeds and feed rates must

be programmed so that the operation proceeds rapidly, but without violating any failure

or part tolerance constraint. Because of the substantial geometric nature of this activity,

the solid modeller provides the best vehicle to accomplish the task, since it already has a

representation of the part shape in its data base. The proposed strategy is to simulate a

selected milling process plan before machining occurs. Forces, torque, cutter deflections

and surface errors are predicted to aid the human operator to select appropriate cutter

trajectories and machining conditions. Feed rates are automatically scheduled by the

simulation system to maintain adherence to milling process constraints.

Page 31: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 1. Introduction 4

1.2.3 Part production

After the manufacturing plan has been finalized, actual part production can begin. Dur

ing actual cutting at the machine tool a number of unexpected events may occur. These

should be automatically handled without the need for direct operator attention. With a

good milling process simulation system, reference technological data can be supplied to

give an absolute indication of expected cutting forces, torques, etc. at any point along

a cutter path. An intelligent machine tool controller can use this reference to quickly

and automatically identify discrepencies, diagnose the cause and take corrective action.

When adaptive force control systems are being used, the technological data can warn of

upcoming sudden process changes so that excessive transient forces, which would cause

cutter breakage, are avoided. The solid modeller alone is able to provide this reference

data ahead of the cut.

1.2.4 Summary

To summarize, consistent production of acceptable parts requires a milling process simu

lation system capable of assessing the manufacturability of a part design, planning cutter

motions consistent with constraints, and providing technological data to assist in achiev

ing untended machining at the factory floor (figure 1.1). Since manufacturing planning

is typically an interactive activity, the system should be highly efficient computation

ally, and should form a component of existing solid modellers to extend their capability

throughout the product development cycle.

1.3 Milling process constraints

Essentially, the metal cutting processes involve moving a cutter tooth relative to the part

so that a thin layer of material will be sheared away, leaving a new part surface. In milling

Page 32: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 1. Introduction 5

____

— cutter_path

____

cuttinq speed

feed rate

Figure 1.2: Cutter motion specification. The cutter path is the trajectory followed bythe centre of the cutter (relative to the part). The cutting speed is the rate at which thecutter edge moves relative to the part surface. The feed rate is the speed at which theuncut part moves toward the cutter.

this is achieved by a cutter mounted in a rotating spindle. The part is secured to a table,

which is moved relative to the cutter by a precision motor and gear mechanism. With

modern numerically controlled (NC) machine tools, this is accomplished automatically

by running a part program which specifies in sequence the cutter motions to execute.

After selecting the intended cutter, a cutter motion is specified by choosing an ap

propriate cutter path, cutting speed, and feed rate (figure 1.2). The cutter path is the

trajectory to be followed by the cutter centre, and is planned so that under nominal

conditions the final part shape has the correct finished dimensions. The cutting speed is a

function of the cutter radius and the spindle rotational speed. Based on the part and tool

materials, it is selected to achieve rapid material removal but prevent excessive heating

and tool wear, and avoid chatter. The feed rate is the speed at which the part moves

relative to the cutter. It is selected to avoid excessive forces, torques and defiections.

Page 33: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 1. Introduction 6

A solid modeller based planning system should be capable of automatically determin

ing all three aspects of the cutter motion specification. Under nominal conditions, the

geometric aspect of cutter path planning, including verification, has been frequently con

sidered by others. However, little attention has been given to scheduling varying cutting

speeds and feed rates along the cutter path as the part geometry changes. It is this issue

which is addressed in the thesis.

The important considerations in selecting cutting speeds and feed rates are failure

or part quality constraints. Failure constraints, if violated, would lead to breakage of

the machine tool, cutter or part. For example, if the localized stress on any tooth is

excessive the cutting edge will fracture. This will in turn result in higher loads on the

remaining teeth, and can quickly lead to severe damage. Prevention of tooth breakage

can be accomplished by scheduling cutting conditions so that the excessive stresses are

always avoided. If a breakage does occur, the online machine tool monitoring system can

use data from the solid modeller to distinguish a true breakage from a part geometry

change, and safely halt the operation in the former case.

In slender end milling applications an excessive resultant force on the cutter can break

the cutter shank. Again, this can be avoided by using the milling process simulation

system to predict the forces and schedule an appropriate cutter motion. When some

variation in part shape or tool condition is expected, an adaptive force control system

can be used to maintain productive cutting conditions without violating this constraint.

However, a warning from the solid modeller is still required to prevent excessive force

transients and shank breakage when sudden changes in part geometry occur.

Chatter, caused by self-excited vibration of the cutter, machine tool or part, is difficult

to simulate. For particular equipment, however, a depth of cut limit and stable cutting

speed can be predicted and used to schedule appropriate cutting conditions. When online

monitoring is used to detect chatter, reference to condensed part geometry information

Page 34: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 1. Introduction 7

will be required to satisfactorily specify an alternative feed rate.

Additionally, the solid modeller based milling process simulation system must check

that the cutting force loads will not exceed the torque or power capabilities of the spindle

motor, or any of the table drives. A complete planning system should consider these

failure constraints as well, and specify a cutter motion that violates none of the conditions

listed.

The finished part must meet dimensional constraints, which can be violated by exces

sive deflection of the part or cutter. Since these deflections are the result of forces acting

on the flexible components, they can be predicted by using a milling process model.

The forces can be determined, used to predict the deflections, and appropriate cutting

conditions scheduled to avoid unacceptable finished dimensions.

In order to treat all of these constraints, a milling process simulation system must

first be able to efficiently and reliably determine the intersection of the cutter and part

at any time. This is required to accurately implement the milling process model. It

must then schedule productive cutting conditions that violate neither the failure or part

quality constraints. The system should furthermore be capable of providing condensed

technological information to the machine tool controller to assist it in monitoring and

controlling the actual cutting operation.

1.4 Thesis focus

Solid modellers currently have little or no ability to simulate the milling process. Re

ported research has difficulty in determining the cutter—part intersection boundary, uses

poor process model approximations, or is computationally inefficient. This thesis ad

dresses the problem by developing the solid modelling algorithms necessary to obtain the

geometrical information, and simulation strategies based on accurate mechanistic milling

Page 35: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 1. Introduction 8

force models. The emphasis in both areas is to move beyond informal approaches to the

use of methodical and efficient techniques.

The cutter—part intersection geometry is shown to be essential to all of the milling

process calculations. To find these intersections the “divide and conquer” algorithmic

paradigm is used with a constructive solid geometry (CSG) representation scheme to

yield a reliable solution. In order to avoid repeated operations on irrelevant part features,

redundant primitive elimination methods are reviewed and tailored for application to the

milling process simulation problem. Special attention is paid to identifying only the few

relevant cutter paths in operations such as pocketing, where a long chain of paths is

used—each incrementally changing the shape of the part. Alternative solutions based on

computational geometry techniques which improve on the quadratic time complexity of

incrementally checking all previous cutter paths, and avoid repeated updating of the CSG

tree, are proposed.

Several improvements over reported milling process simulation techniques are devel

oped. Rather than summing small differential elements along the cutter axis, analytic

expressions are developed to rapidly obtain forces, torques and defiections in 2 1/2 di

mensions. Numerical methods and calculus techniques are then used to find extreme

values, eliminating the need to repeatedly sample at small angular increments as the

cutter rotates. Whenever possible, the cutter—part intersection boundary is simplified so

that accelerated simulation can occur along the cutter path as well. After simulating the

milling process, the highest material removal rate (MRR) consistent with the relevant

constraints is scheduled.

The algorithms are tested in simulation use, and compare well with experimental

results. The potential of the techniques to assist in manufacturing automation is demon

strated by a number of applications. Feed rates are automatically scheduled to maintain

the highest MRR consistent with average torque, maximum resultant force, and surface

Page 36: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 1. Introduction 9

error constraints. Use of technological data to assist in factory floor decision making is

exemplified by part shape verification and tooth breakage detection. In adaptive force

control, advance information from the solid modeller is used to anticipate sudden part

geometry changes, avoiding the dangerous transients that otherwise would occur.

1.5 Outline

An outline of the thesis follows:

In chapter 2 the existing literature on solid modeller based milling process simulation

is appraised, and the relevant metal cutting mechanics, manufacturing automation, solid

modelling and computational geometry references are reviewed.

Chapter 3 explains mathematically the metal cutting process models used in the the

sis, and the physical constraints limiting material removal rates. Specifically, the cutter—

part intersection geometry is shown to be fundamental to successful implementation of

the models.

Chapter 4 presents constructive solid geometry (CSG) as a suitable solid modelling

method for milling process simulation. A reliable “divide and conquer” strategy is devel

oped for determining the important cutter immersion angles. Block and cylinder prim

itives in 2 1/2 dimensional parts are thoroughly analyzed, and expressions describing

their intersection with a cylindrical milling cutter formulated.

Chapter 5 explores several ways of increasing the simulation efficiency by eliminating

irrelevant CSG primitives. The suitability of existing schemes is evaluated, and tech

niques particularly suited to milling process modelling are presented. The problem of

identifying relevant cutter paths in a chain is examined and solved by applying computa

tional geometry based solutions. It is shown that under given assumptions this problem

Page 37: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 1. Introduction 10

has a linear intrinsic complexity. Often after these methods have been applied the cutter—

part intersection geometry can be simplified to a single immersion interval. In these cases

a very rapid simulation technique is proposed.

Chapter 6 develops analytic expressions to predict cutting forces, torques and cutter

deflection. Each of the formulae critically depends on the immersion information avail

able from the solid modeller, and is much more efficient than the small differential axial

element summation methods used by previous researchers. Furthermore, use of analytic

expressions permits rapid determination of critical forces and deflections, without requir

ing sampling at small cutter rotation angular increments. The formulae are inverted for

use in scheduling feed rates consistent with physical constraints.

Chapter 7 demonstrates the simulation algorithms and confirms their accuracy with

a number of experimental tests. The good agreement obtained supports use of the solid

modeller data to automatically schedule feed rates consistent with constraints, and to

augment online monitoring functions. This is confirmed by experiments to maintain a

constant average torque, maximum resultant force and surface error by varying the feed

rate as the part geometry changes. Use of solid modeller data for monitoring purposes is

specifically demonstrated by comparing the average forces of parts missing one or more

features, and outlining a tooth breakage detection algorithm.

Application of solid modeller data to assist with adaptive control of the maximum

resultant cutting force is also examined. It is shown that, when sudden changes in part

geometry are encountered, standard controllers are unable to react in time to prevent

catastrophic tool breakage. By introducing information from the solid modeller, the

controller is warned of the upcoming change, and smoothly adjusts its commanded output

to eliminate the dangerous force transient.

In chapter 8 the major contributions of the thesis are recounted and summarized. Ex

tensions of the work to support more complex cutters and part geometries, and to further

Page 38: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 1. Introduction 11

integrate the solid modeller based milling process simulation system with the machine

tool controller, are suggested. This is followed by the appendices and bibliography.

Page 39: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 2

Literature review

2.1 Overview

Researchers have recognized that sustained operation of machine tools requires both gen

eration of correct cutter motions, and enhanced online monitoring and control capabilities

[7, 55]. Development of a solid modeller based milling process simulation system will ad

dress these needs by automatically considering the constraints on the material removal

rate (MRR), and providing reference technological data to the factory floor controller.

Although the motivation to develop such a system arose with the introduction of numer

ical control (NC) in 1952, only recently have research efforts been directed towards its

practical realization.

The research group associated with Takata has produced a number of papers on a

part model based cutting simulation system [7, 49, 53, 120, 131, 132]. In [7] the average

torque is estimated using an empirical equation based on the MRR. While this method

can provide quick estimates to check that the spindle motor will not be overloaded,

instantaneous forces, needed to check for shank breakage and excessive deflection, are

unavailable. The later articles [120, 131] use a more accurate mechanistic milling force

model. Following Kline [57], the authors subdivide the axial depth of cut into thin slices

and sum the force vectors to obtain the overall cutting forces. This time consuming

incremental simulation approach is continued in both the cutter rotation and cutter path

directions. No attempt is made to increase the calculation efficiency by exploiting the

12

Page 40: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 2. Literature review 13

local part description.

In [132] the authors propose, for pocketing, maintaining a constant radial width of

cut to adhere to cutting force and chatter constraints. A direct inverse calculation from

a milling process model, however, is not used. Iwata and Takata [49] outline a sys

tem architecture integrating milling process simulation with the online machine tool

controller. Their list of desireable features (process planning, adaptive control and mon

itoring) matches the implementation achieved in this thesis.

Wang [140] considers more complex part shapes than Takata, and demonstrates by

example the reduction in machining time possible if a milling process simulation system

is used to schedule the highest safe feed rate. However his process model is the simple

MRR approximation taken from [61], and similar in implementation to [7]. Again, the

depth or Z-buffering technique is used to calculate the cutter—part intersection. Feed rate

scheduling within the NC programming block is not possible, and no online monitoring

and control applications are considered. The recent article by Yamazaki et al [145] deals

with sculptured surface machining, but retains the MRR process model.

The work by Kendall’s group [55, 78, 154] parallels the philosophy of Takata, but

recognizes the importance of developing a methodical system. In [55] the idea of supplying

knowledge from a solid modeller to an intelligent machining centre controller is advanced.

An analytic cutting force model is developed in [154], but not pursued to fully exploit

its capabilities. The end mill engagement determination method reported in [78] is the

closest work to that proposed in this thesis. A boundary representation (B-rep) of the

part is used to determine the cutter—part intersection along separately specified cutter

paths. There is no apparent effort to develop the system upwards towards the design

stage of product development, or to increase computational efficiency by identifying the

locally relevant portion of the large B-rep data structure.

The research group lead by Armarego has also reported an analytical cutting force

Page 41: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 2. Literature review 14

model for end milling [4, 141]. The emphasis of that work was to create a cutting force

constant data base which can be used by milling process simulation systems such as the

one proposed in this thesis.

This thesis formally addresses the problem of developing a solid modeller based milling

process simulation system. As opposed to the MRR based systems which ignore proven

milling process models, this thesis directly identifies the geometrical parameters needed

for the simulations. The geometrical information is then obtained from the solid modeller

using computationally efficient methods in which incremental summations and sampling

are replaced by analytical expressions and more advanced numerical techniques.

Implementation of the milling process simulation system will entail integration of

current knowledge and methods from metal cutting mechanics, manufacturing systems

automation, solid modelling, computational geometry and numerical analysis to be suc

cessful. These topics are surveyed in separate sections following.

The metal cutting mechanics review explains the fundamentals of the milling process,

and the constraints imposed on the MRR. Particular emphasis is placed on capturing

the required geometrical knowledge in the solid modeller based simulation system, both

for planning purposes and assisting with untended machining tasks.

The manufacturing systems automation section examines the present capabilities of

NC machine tools and controllers, including sensor technology. It is concluded that the

before the cut information available from the solid modeller will enhance the untended

machine tool capabilities in a practical way that currently cannot be matched by sensors

alone.

Existing solid modeller based milling process simulation systems operate with poor

efficiency due to their failure to fully exploit part geometry knowledge. The final section

reviews the representation techniques and computational tools available to address these

deficiencies. With reference to the implementation requirements of the milling process

Page 42: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 2. Literature review 15

model, the common solid modeller representation strategies are briefly compared. Com

putational geometry and numerical analysis methods appropriate to the milling process

simulation problem are outlined.

2.2 Metal cutting mechanics

2.2.1 Overview

In the metal removal processes the passage of each tooth results in a thin layer of part

material being sheared away. A sketch of the basic operation for orthogonal cutting, in

which the tooth edge is perpendicular to the cutting direction, is shown in figure 2.1.

The dimension h, which marks the thin layer before the tooth, is referred to as the uncut

chip thickness. Forces on the tooth arise from chip formation along the primary shear

plane, additional shearing and friction along the rake face, and the largely frictional force

on the flank face. A vector showing the resultant of these forces is shown in figure 2.1,

along with the shear angle which is measured from the cutting direction to the shear

plane. The force on an entire milling cutter is found by summing the contribution of

each tooth section.

Classical studies of the physics of machining have been conducted by authors such

as Merchant [79, 80] and Lee and Shaffer [70]. Although their work contributed to

understanding the process, a purely predictive model of metal cutting has yet to be

developed. Rather, mechanistic models based on the uncut chip thickness are most

frequently used in practice.

Milling cutters consist of a number of teeth arranged around the circumference of a

main body (figure 2.2). A face mill is used to produce a flat surface normal to the cutter

axis. It usually has a large radius r and operates at a small depth of cut a. End mills

are typically used at much larger depths of cut, have a smaller radius, and teeth which

Page 43: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 2. Literature review 16

Figure 2.1: Metal removal process. The passage of each tooth results in a thin layer ofthe part material, with uncut chip thickness h, being sheared away. The shear angle isdenoted by , and the resultant force direction on the tooth is indicated.

recede at a helix angle .

The cutter is rotated by a spindle at speed w to achieve the cutting speed v = wr,

where r, is the cutter radius. The part is moved toward the cutter at a feed rate of s

mm/tooth. Martellotti [74, 75] noted that the path traced by a single tooth is trochoidal,

but, since the rotational speed is normally much faster than the feed rate, a circular path

approximation is normally used. In this case the instantaneous uncut chip thickness

varies sinusoidally as the tooth edge rotates according to the formula ii = s sin q, where

q5 is the immersion angle shown in figure 2.3. The mechanistic models (see for example

Kline [57]) separate the cutting force into tangential FT and radial FR components, which

are proportional to the uncut chip thickness. These components are vectorially summed

over all in cut tooth edges to yield the total load on the cutter. The complex expressions

required for the vector summations are presented in chapters 3 and 6, including formulae

rake face

shear plane

resultant1’’

force

\‘\

,\\\\\ %\\\\\\\\\ \\\

/ace

//////

Page 44: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 2. Literature review 17

for helical end mills. Based on this fundamental introduction however, it is recognized

that geometrical methods for determining the portions of the cutter teeth engaged in

the part, and the corresponding uncut chip thicknesses, are needed for implementing the

milling process simulation system.

2.2.2 Constraints

The rate at which a milling process may proceed (the MRR), is limited by constraints

imposed to prevent failure of the machine tool or cutter, or production of an unacceptable

finished part. Both failure and part quality constraints were introduced in chapter 1, and

will be treated in mathematical detail in chapter 3. This section serves to briefly identify

the type of calculations that will be required in a milling process simulation system.

The MRR constraints arise because of a combination of the tool and part properties,

and their intersection geometry. Part material properties are studied under the title of

machinability—a topic which has received intensive research attention. The primary focus

is on the selection of tool materials that can cut with lower forces and longer tool life

[106, 130]. Research on tool materials aims to improve tool life both in wear and sudden

breakage.

Prediction of the rate of wear for a particular tool is difficult due to the wide variations

encountered in practice. Yellowley and Barrow [149] have observed that thermal cycling

due to the interruption of cut in milling is a major contributing factor. This is a geometric

aspect of the cutting conditions, which can be ascertained by the solid modeller and

incorporated into an approximate wear model.

To obtain a satisfactory wear resistance, tool materials are hard and brittle. This

increases susceptibility to breakage when the tooth load becomes excessive or suddenly

changes [89, 90] (figure 2.4(a)). This condition can be checked for by determining the

maximum uncut chip thickness that the cutter teeth will encounter, which is a function

Page 45: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 2. Literature review 18

Figure 2.2: Common face and end milling operations. (a) Face milling. Teeth are spacedaround the circumference of the cutter body. The cutter radius r is large and the depthof cut a relatively small. (b) End milling. The leading edges of the teeth (the flutes)recede at a helix angle i&. The depth of cut is large compared to the cutter radius andwidth of cut d, and deflection can be significant.

a

C

r

(a)

(b) d

Page 46: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 2. Literature review 19

Figure 2.3: Milling process geometry. The teeth on a milling cutter rotate at angularspeed w, tracing out an approximately circular path as the part advances at a feed rateof .st. Under these conditions the instantaneous uncut chip thickness varies according tothe formula h s sin q. The cutting speed is v = wr. The tangential Fr and radial FRforce components are assumed to be proportional to h.

FR\

Page 47: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 2. Literature review 20

(a)

Figure 2.4: Cutter failure causes: (a) tooth breakage due to excessive uncut chip thickness. (b) shank breakage due to excessive resultant cutting force.

of the part geometry, and can be controlled by varying the feed rate.

In end milling an excessive load on the slender cutter can result in brittle failure of

the cutter shank (figure 2.4(b)). Using mechanistic milling process models, the load on

the cutter can be predicted by finding the uncut chip thickness at each point along the

teeth in cut, determining the force contribution, and vectorially summing to obtain the

resultant. The fundamental problem again is one of cutter—part intersection geometry,

and can be solved by a solid modeller based milling process simulation system.

Surface location error (figure 2.5) due to cutter deflection is a related problem. The

doctoral studies by Kline [56] and Sutherland [117] consider this topic, including radial

runout, part deflection, and dynamic considerations. They use very computationally

expensive element summation methods in order to achieve simulation of radial runout,

part deflection, etc. However, a basic cantilever beam cutter model is sufficient for process

(b)

Page 48: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 2. Literature review 21

‘D

Figure 2.5: Surface location error. The cutting forces deflect the flexible cutter, and, ifthe part wall is thin, the part as well. To avoid violating this constraint, the simulationsystem must predict the cutter and part deflection.

planning purposes with thick walled parts. In chapter 6 this model is solved analytically,

and a feed rate automatically scheduled to maintain an acceptable surface location error.

Chatter is self-excited vibration of the cutter relative to the part. It begins when a

natural frequency of the structure is excited, causing undulation in the generated part

surface (figure 2.6). This leaves a periodically varying uncut chip thickness which is

encountered by subsequent cutter teeth, causing a varying force and deflection. Should

the tooth passing frequency be unfavourable with respect to the chatter frequency, the

vibration will again generate an undulating part surface, and the phenomenon will re

peat. Growth of chatter is caused by a long contact length between the cutter and

part (Koenigsberger and Tlusty [60]). Again, this is a geometric quantity which can

be reported by the solid modeller, and ultimately incorporated into a chatter prediction

system.

Other constraints, such as torque and power limitations, are also based on the cutting

surfacelocationerror

/

Page 49: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 2. Literature review 22

Figure 2.6: Milling chatter. When the cutter or part begins vibrating, an undulatingsurface is left to be encountered by subsequent teeth. This varying uncut chip thicknessresults in varying forces and defiections, causing the new undulating surface to be generated. A solid modeller can predict the contact length between the cutter and part, whichis important in chatter prediction (Koenigsberger and Tlusty [60]).

Page 50: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 2. Literature review 23

force, require the same information from the solid modeller, and can be checked in a

similar way. The mathematical details are outlined in chapter 3.

2.3 Manufacturing systems automation

The increased emphasis on untended manufacturing has renewed research in the areas

of machine tool monitoring and control. In this section the history of numerical control

(NC) for machine tools is briefly presented. Following subsections cover the important

aspects of both monitoring and control tasks.

2.3.1 History

The history of numerical control (NC) in the metal removal industry began with demands

by the United States Air Force for rapid and accurate production of complex aerospace

parts [40, 64]. Manual operation of the machine was becoming unproductive due to the

large portion of time being spent measuring the dimensional accuracy of the part. The

first work in NC development is attributed to the Parsons Corporation, Traverse City,

MI, USA. After their work was demonstrated in 1948, contracts were awarded by the

Air Force to both Parsons, and soon after to the Massachusetts Institute of Technology

(MIT) Servomechanism Laboratory. The first NC machine tool was demonstrated by

MIT in 1952.

The low level NC programming language format understood by the machine tool

controllers adheres to ETA (Electronics Industries Association) standards RS-273-A and

RS-274-B. The major benefit of the NC language is the ability to specify a linear, circular

or parabolic cutter path which will automatically be followed by coordinating the machine

axes (figure 2.7)—a task beyond human capability. For easy control implementation, the

cutter path is the track to be followed by the centre of the cutter. Therefore in manual

Page 51: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 2. Literature review 24

part programming a number of tedious geometrical calculations are required to determine

the path which will leave the desired shape at the part surface.

This difficulty was recognized, and immediately after the first NC machine tool was

introduced, the Air Force sponsored additional research at MIT to develop a higher level

NC programming language. In 1959 the APT (Automatically Programmed Tooling)

language was first released, and remains in use even today. APT programs consists of

two major parts [40j: (i) part and cutter geometry specification and (ii) cutter motion

statements. The geometry is specified using lines, circles, etc. that represent the part

boundary in a chosen plane. Additional statements declare the radius of the cutter, etc.

Cutter motion statements specify the path to be followed relative to the part geometry.

APT automatically computes the necessary offsets from the part surface to yield the

correct cutter centre location. The cutter motions are translated into the standard low

level NC programming language format suitable for controlling the factory floor machine.

Other parts of the language allow for automatic cutter selection, etc. The human part

programmer must additionally specify the appropriate spindle speeds and feed rates—

APT has no capability in this area. Extensions and variations of APT, such as EXAPT

[311, attempt to automatically compute speeds and feeds but are limited by a lack of

geometrical information.

The need to separately specify the part geometry for cutter path programming can be

eliminated if computer aided design (CAD) systems are used to design the part. Instead,

a part programming feature is added which accesses the existing CAD design data. The

complete part descriptions provided by solid modellers further permit development of a

milling process simulation system.

Page 52: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 2. Literature review 25

axis 1

axis

Figure 2.7: Numerical control machine tool axes. A set of five axes is shown. The firstthree axes represent the usual Cartesian coordinate system. Additional axes are gainedby adding a turntable (axis 4) and permitting rotation of the spindle head (axis 5). Foreach axis a feedback control system is used to obtain accurate positioning. Coordinatingthe axes motions manually is a task beyond human capability.

Page 53: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 2. Literature review 26

2.3.2 Process monitoring

With NC having replaced the need for a human to actually operate the machine tool,

continued progress towards untended manufacturing requires replacement of the senses

and judgement of the machinist (Wright and Bourne [143]). A major difficulty in visually

monitoring machining operations in process is the hostile environment. The shiny surface

of the metal parts causes difficulty in observing the process using cameras. Furthermore,

flying hot chips and cutting fluid are likely to strike the camera lens, causing damage or

at least blocking the view. Most measurements are therefore carried out using a variety

of special purpose transducers. A critical review of sensors for unmanned machining was

conducted by Tiusty and Andrews [126]. Additional discussion of sensors and actuators

is contained in recent textbooks [29, 143], including bibliographical references.

Monitoring tasks in an untended environment concentrate on identifying abnormal

conditions so that an appropriate response can be initiated.

Breakage of a cutter tooth must be immediately detected and the cutting process

halted before additional damage occurs. Several authors [67, 85] have attempted to

detect the acoustic emission generated by sudden fracture of the tooth, but research in

this area still requires substantial study before the technique can generally applied in

industry. Altintas [3] proposes detecting tooth breakage by comparing the average forces

of successive tooth periods. When a tooth edge breaks it becomes smaller, removes a

smaller uncut chip load, and normally experiences smaller forces. The following tooth

on the cutter then must remove a larger portion of material, and therefore bears a larger

load. When an unusually low average force is followed by a higher than normal value, the

existence of a broken tooth is inferred. Practical application of the approach is hindered

by runout and a lack of part geometry knowledge—which are both difficult to distinguish

from a broken tooth. False broken tooth detections must be avoided if a productive MRR

Page 54: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 2. Literature review 27

is to be maintained. In the case of runout this is achieved by properly preparing the cutter

so that runout is minimized. An average force change above a threshold value then is

assumed to be the result of a broken tooth. Immersion information and predicted average

forces from a solid modeller based milling process simulation system can be transmitted

to the online monitoring system to assist in distinguishing part geometry changes from

tooth breakage.

Shank breakage occurs when long, slender high-speed steel (HSS) end mills are sub

jected to excessive loads. The actual cause of failure is brittle fracture due to a high

bending moment in the cutter shank area. This type of failure is extremely dangerous,

since the broken cutter may be propelled away at high speed. It is best avoided through

proper planning, or the use of adaptive control techniques (see section 2.3.3). When it

does occur, it can be immediately detected by the sudden lack of cutting forces, torque

and power.

Chatter vibrations can rapidly grow in amplitude, possibly resulting in breakage of

the cutter. An unacceptable surface finish will certainly result, and hence chatter must

be quickly detected. Several types of transducers have been proposed for detecting the

onset of chatter. The rapid cutting force variations can be detected by piezoelectric

dynamometers. A common laboratory arrangement is to mount a small part on a table

dynamometer, which itself is secured to the machine tool table. In actual practice,

however, it is inconvenient to change parts with this setup. Furthermore, as the part is

machined its shape and mass change, making it difficult to ascertain the transfer function

of the part and dynamometer, which is needed to correct the frequency response reported.

Accelerometers can be mounted on either the part or the spindle headstock. Again, this

method indirectly measures the vibration at the cutter—part interface, and the bandwidth

is limited.

Smith [108] recognizes chatter by detecting its characteristic high frequency noise with

Page 55: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 2. Literature review 28

microphones arranged to reject sounds away from the cutting region. He then develops a

strategy, based on the theoretical understanding of the phenomenon, to select alternative

cutting conditions that should avoid chatter. After measuring the dominant frequency

of the chatter noise, his method then adjusts the spindle speed so that the tooth passing

frequency matches the chatter frequency. This establishes a stable phase angle in the

regenerative feedback system, and is useful in high-speed machining applications, where

chatter is common, and a wide choice of spindle speeds is available. After a new spindle

speed has been chosen, he slowly advances the part to verify stability without risking high

amplitude forces. If chatter free conditions are now apparent, the feed rate is increased

to a productive level. A solid modeller based milling process simulation system is useful

at this point to select the new feed rate. If the cutting conditions which result in chatter

or stable cutting are recorded, a data base can be developed to aid in development of a

chatter prediction model, which remains an active research topic.

Detection of over torque or over power conditions also must be rapid to prevent

machine tool or part damage. Should the capabilities of the spindle motor be exceeded

it may suddenly stall. Part feed must then immediately be halted. Avoidance of such

an occurrence is preferred to its detection, and can be achieved by checking the part

dimensions before cutting. If the part is found to be within tolerance, the simulations

carried out by the solid modeller guarantee safe cutting conditions. Average torque

and power in process are most readily measured by sensing the spindle motor electrical

current [113, 120]. In the laboratory, instantaneous forces can be measured using a table

dynamometer, although the frequency response is limited and changes with the part.

Sensors for industrial use are usually located in the spindle and sense the strain in the

bearing ring. Tiusty and Andrews discuss these sensors in their critical review [126].

Short of removing the cutter from part contact, tool wear is difficult to measure

directly. In process methods of detecting tool wear function indirectly by tracking the

Page 56: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 2. Literature review 29

surface location error [41], or by measuring the cutting temperature [47, 1521 or electrical

resistance [111]. Acoustic emission has also been proposed for tool wear measurement

[48, 66, 95], but remains unaccepted for practical use. Since cutting forces and torques

tend to increase with wear [26, 133], data from a solid modeller can assist by providing a

reference set of values simulated under sharp tool conditions. Slowly increasing forces or

torques would then indicate wear, which can be recognized in time to replace the cutter

before a catastrophic failure occurs.

The availability of new technological data from a solid modeller milling process sim

ulation system offers the potential to more closely monitor adherence of the part shape

and material properties to expected, nominal values. Use of a reference signal from this

source has previously been suggested by authors such as Takata and Sata [119]. Solid

modeller information is therefore an enabling contribution needed to successfully begin

exploring this application area.

In summary, monitoring of milling processes is a matter of verifying that the operation

is proceeding normally. Nominal forces and torques can be predicted by a solid modeller

based simulation system, and the data used by the online monitor to detect deviations

which require halting cutting and human operator attention.

2.3.3 Control tasks

Accurate, automatic control of machine tools was required starting with the introduc

tion of NC. Each axis of the machine tool is positioned using a feedback control system

(figure 2.8(a)) which compares the position commanded from the NC program and inter

polators to the actual axis location, and, through a control system tuning filter, amplifier,

motor and lead screw, achieves the required motion. Because of the inherent inertia in

the electrical and mechanical elements, there will be a non-zero dynamic delay or fol

lowing error between the commanded Xr and actual position Xa (figure 2.8(b)). When

Page 57: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 2. Literature review 30

coordinated motion of two or more axes is required, this appears as a contouring error

(figure 2.9) which, at high speeds, can leave significant surface location errors on the

finished part. This problem can be avoided during linear interpolation by stopping the

table between successive steps in the NC program, but this solution is undesireable when

a high MRR is to be maintained. The subject is an active research topic, and progress

articles by several authors have appeared in the literature [13, 25, 42, 63, 92, 135].

Adaptive control theory has been proposed to optimize costs in milling [21], but the

majority of the research has addressed adherence to constraints such as the maximum

resultant force, which is responsible for the breakage of slender end mill shanks.

The first research on adaptive control for machine tools is attributed to Stute and

Goetz [114], who showed that the machining is time varying—the process parameters

being a function of the part geometry (tool wear and material properties change much

more slowly). Their cutting model consisted of a varying gain and a fixed first order

pole. The gain was calculated from force and feed rate measurements and the regulator

then tuned to ensure stability of the system. Masory and Koren [65] later developed an

adaptive control system for turning. Tomizuka et al [129] first applied modern adaptive

control theory to the milling process using a model reference adaptive control (MRAC)

scheme. Again only the gain of the process was identified. Daneshmend and Pak [28]

applied MRAC to turning in a similar fashion. A number of other researchers have also

investigated and reported on this issue [38, 68, 69, 83, 121, 134].

All of these systems are referred to as adaptive control with constraints (AC C), and

consist of two main components: (i) identification of the process to be controlled (pa

rameter estimation) and (ii) tuning of the control regulator based on the parameter

estimates (figure 2.10). The process is identified using methods such as recursive least

squares (RLS). The regulator control law is then formulated so that the desired closed

loop transfer function is achieved. The tuned regulator sets the feed rate command signal

Page 58: SOLID MODELLER BASED MILLING PROCESS SIMULATION

E

0

C,,o

Chapter 2. Literature review 31

(a)

3

2

1

00.00 0.02 0.04 0.06 0.08

time (s)1.00

(b)

Figure 2.8: Axis feedback control system. (a) A position control ioop is used to accuratelyachieve agreement of the actual position Xa with the commanded (reference) position Xr.

(b) Dynamic response of a position control loop. The following error is substantial,leading to significant contouring error (figure 2.9).

Page 59: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 2. Literature review 32

actual path

1

x position (mm)

Figure 2.9: Contouring error. At the corner the x axis is commanded to instantaneouslystop. Simultaneously the y axis is commanded to suddenly assume a high velocity.Because of the following error (figure 2.8), a significant contour error occurs.

commanded path

0

(I)0a>N

2 C

Page 60: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 2. Literature review 33

u so that the measured maximum resultant force Fmax corresponds to the reference force

Fmax,r. Details on implementation of a pole placement adaptive controller are given in

section 7.5, including development of a dynamic milling process model which includes

the influence of edge forces.

The major difficulty with such force control systems is their inability to perform

adequately when extremely sudden changes in part geometry are encountered. If the

depth or width of cut increases too quickly, the regulator will be unable to reduce the feed

rate before a large force transient occurs (figure 2.10(b)). This excessive force will likely

break the end mill shank, and may also damage the part and fixtures. The inability to

recognize and react to upcoming changes in geometry has prevented industrial acceptance

of adaptive control. In section 7.5, geometric information from the solid modeller is

provided to an augmented adaptive control system to overcome this difficulty, while

retaining the advantage of online feedback.

Active chatter control systems [22, 50, 72] work by modulating the spindle speed in

an attempt to disturb the regeneration process. The theory behind such approaches is

in its infancy, and is not further considered in this thesis.

2.3.4 Summary

In untended machining the most difficult open problem is replacement of the senses

and judgement of the machinist. By including a solid modeller simulation capability in

such a system, reference or expected values with which to compare online process sensor

readings will be readily available. In applications such as tooth breakage or chatter

detection, where decision making is hindered by a lack of absolute force value information,

provision of solid modeller simulation data can uniquely enhance the autonomy of the

machine tool executive.

Page 61: SOLID MODELLER BASED MILLING PROCESS SIMULATION

0

=3Cl)U)

E=3

E

E

Chapter 2. Literature review 34

(a)

0 20 40 60 80 100

position (mm)

3

2

1

0120

(b)

Figure 2.10: Adaptive maximum resultant force control. (a) Block diagram. The machining process is recursively identified, and the parameter estimates used to adjust theregulator to achieve the desired closed ioop response. The example shows an adaptivecontrol system to maintain the maximum resultant force Fmax at the reference level Fmax,,.by adjusting the feed rate St. (b) Dangerous force transients. This is a reproduction ofthe top portion of figure 7.48. When a sudden change in cutting conditions occurs, suchas a rapid increase in depth of cut, the controller is unable to prevent the dangerous forcetransient.

Page 62: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 2. Literature review 35

2.4 Solid modelling and computational techniques

Part geometry and its representation play important roles in all phases of the product

development cycle. To be of practical utility, any milling process simulation system

must therefore interface with existing part representation schemes. A brief history of the

subject is provided at the beginning of this section. Next, the requirements of a part

representation scheme to be used for milling process simulation are outlined. Contem

porary solid modellers are then assessed for suitability to the task, and a representation

scheme for use throughout the thesis selected.

Attainment of efficiency will require appropriate use of tools from the fields of com

putational geometry and numerical analysis. Introductions to these areas are briefly

provided to establish a basis for methodically implementing the complete solid modeller

based milling process simulation system.

2.4.1 History

Early computer aided design (CAD) programs provided only an “automatic drafting”

level of assistance. The computer part representation was merely a rendering of the

isolated two dimensional lines and arc entities that previously were hand drawn.

Programming of the cutter motions in such a system is accomplished by selecting

the appropriate entities as boundaries to be used in an APT like preprocessor. Since no

immersion information is available, the part programmer is required to manually select

appropriate cutting speeds and feed rates. Due to the tedium of such calculations, very

conservative estimates are normally used, leading to an inefficient MRR.

More advanced systems provided some three dimensional capabilities, and combined

the isolated entities into a “wireframe” part representation. Although an improvement,

the wireframe representation is ambiguous (figure 2.11) because there is no differentiation

Page 63: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 2. Literature review 36

between the interior and exterior of the part—information which is needed for engineering

analyses (Finite Element Methods (FEM), mass calculation, etc.). This limitation has

turned current attention to solid modellers, which explicity identify the solid region of

the part.

Part programming systems based on solid modellers are now becoming available (see,

for example [8, 15, 88]), and are expected to be commonplace in the immediate future.

Because of the expense of an error in manufacture of single quantity items (such as

plastic injection molds or airframe components), geometrical verification of NC programs

to detect errors (assuming inflexible parts and cutters) has been an active research area

[87, 116, 139]. This thesis concentrates on using geometrical information from a solid

modeller to implement a physical milling process simulation system, and the literature

review is conducted with that aim.

2.4.2 Milling process simulation requirements

To develop the concepts needed to implement a milling process simulation system, atten

tion in this thesis is focussed on 2 1/2 dimensional parts and straight line cutter paths.

A 2 1/2 dimensional or 2 1/2 D part can be imagined as a vertical extrusion of an x-y

planar profile (figure 2.12). Such “functional” parts comprise a large portion of everyday

machined components [32, 105, 137] and therefore provide a practical foundation. Fur

thermore, for simplicity, the shape will be restricted to edges formed by flat or cylindrical

faces. More complex shapes can be treated, without increasing the simulation difficulty,

by permitting a lamination of 2 1/2 D layers. A straight line cutter path restriction is

also imposed only for simplicity in developing the overall strategy for the milling process

simulation system.

In order to simulate the milling process, the part representation must permit the

cutter—part intersection to be rapidly determined. This is a primary requirement that

Page 64: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 2. Literature review 37

Figure 2.11: Ambiguity in wireframe part representations. (a) Since wireframes provideno information to identify the part interior and exterior, it is unclear whether the hole isthrough (b) the top, (c) the front, or (d) the side of the block. The literature attributesthis example to J. Shapiro (see [46, chapter 1]).

Page 65: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 2. Literature review 38

Figure 2.12: 2 1/2 dimensional parts. Such parts can be imagined as a vertical extrusionof the x-y plane. More complex shapes can be constructed by permitting a laminationof 2 1/2 D layers, such as the half depth hole shown above.

was recognized in section 2.2. For 2 1/2 D parts this corresponds to determining the axial

depth of cut a and the angles over which the cutter teeth are immersed as the cutter

revolves (figure 2.13). As will be shown in chapter 6, knowledge of the immersion angles

at a single axial location is sufficient even when helical end mills are being used.

Since completion of cutting for each path implies a change to the part, these changes

must be recorded in the part representation before simulation along the next path can

begin. In practice, however, only a few of the preceding cutter paths are likely to be

relevant during subsequent simulation. In figure 2.14, there are cutter path chains to

mill the outside perimeter of the part, and two internal pockets A and B. The three

chains are isolated, and hence there is no need to, for example, consider the perimeter

or the paths in pocket A when simulating the milling process in pocket B. Furthermore,

only a portion of the paths in B itself are relevant at any stage during its removal.

z

Page 66: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 2. Literature review 39

a

Figure 2.13: Cutter—part intersection parameters. For 2 1/2 D parts, the axial depth ofcut a, and the angles during which the cutter teeth are immersed in the part (circumference arc shown with thick lines) are the geometric parameters required to simulate themilling process.

0

Page 67: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 2. Literature review 40

3\\

I /

Figure 2.14: Relevant path identification. Three cutter path chains to mill the partperimeter and two internal pockets A and B are shown. When simulating removal ofpocket B, the paths associated with the perimeter and pocket A should be quickly eliminated from consideration. Within pocket B itself, only a portion of the preceding pathsare relevant. For example, path 3 is too far distant from 6 to warrant consideration.

To achieve rapid performance throughout simulation of a large and complex part shape,

efficient methods of recording updates to the part shape and identifying only the required

portions of the part representation data structure are needed.

2.4.3 Solid modellers

The representation schemes used in solid modellers are divided into three primary groups:

1. spatial enumeration or octree encoding

2. boundary representation

Page 68: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 2. Literature review 41

3. constructive solid geometry

A brief description of the strategy used in each representation follows.

Spatial eiiumeration

The spatial enumeration or octree encoding [76, 103, 104, 144] technique recursively

subdivides a volume into cubic regions (called octants or voxels) until the part is ex

actly represented, or a specified tolerance is reached. A step by step description of the

procedure follows:

1. First enclose the part in a sufficiently large cube, centred at the origin and aligned

with the coordinate system axes. The cube side dimension is chosen so that re

peated subdivision into halves is easy to perform.

2. If the part exactly fills the cube mark the cube as occupied 0. If the part occupies

none of the cube mark the cube as vacant V. In either case then exit from the

procedure. Otherwise, subdivide each side of the cube into halves, producing eight

smaller cubes.

3. Recursively repeat the previous step until the cubes exactly define the part, or a

specified tolerance is reached.

An illustration of the procedure is given in figure 2.15(a).

An eight child hierarchical tree data structure is used to combine the cubes into an

overall spatial enumeration of the volume occupied by the part (figure 2.15(b)). At each

level of subdivision, fully occupied or vacant octants become leaves and are respectively

marked 0 or V. Partially occupied octants become interior nodes with eight smaller child

octants.

Page 69: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 2. Literature review 42

OctantNumbering

(a

PartRepresentation

(b)

Figure 2.15: Octree solid model representation. (a) The cubes are recursively divided intoeight until they either exactly represent the volume occupied by the part, or a specifiedtolerance is reached. (b) Data structure for representation in part (a). Branch nodes arerepresented by circles, and leaf nodes by squares. Occupied octants are identified withan 0, and vacant octants are marked V.

o1

Page 70: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 2. Literature review 43

Octrees provide a structured way to decompose a solid to any desired tolerance level.

They are particularly useful when the part is bounded by complex surfaces that are not

easily described by other means [12]. However, since the cube is the only permitted

elementary shape, even regularly curved objects such as cylinders require storage of an

unacceptably high number of octants to achieve a sufficient approximation. Furthermore,

since the cubes are aligned with the coordinate axes, a rotated prismatic shape also can

be only approximated.

An extension of the octree data structure called the polytree [20] has been proposed.

A polytree allows the octant cubes to be trimmed by a plane at any specified orientation,

and hence permits exact representation of rotated prismatic shapes. Curved surfaces

are represented by faceting, a frequently employed technique from surface modelling in

which the surface is approximated by a set of fiat faces. These techniques are useful for

rendering, and finding intersections. However, once the octree representation has been

defined the original, exact part shape is no longer available. A later change in resolution

requires complete recalculation.

Boundary representation

Many of the the commercial solid modellers, such as I-DEAS1 and CADKEY2,im

plement the boundary representation scheme. A boundary representation (B-rep) of a

solid uses a directed graph linking surfaces, edges and vertices to represent the part

(figure 2.16). A surface normal identifies the interior of the part.

Boundary representations provide an explicit definition of the part boundary, and

hence are very useful for surface intersection calculations. Furthermore, it is easy to

associate technological data with both a complete part or an individual face. For example,

1registered trademark of Structural Dynamics Research Corporation, Milford, OH, USA2registered trademark of Micro Control Systems, Inc., Vernon, CT, USA

Page 71: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 2. Literature review 44

Solid

Figure 2.16: Boundary representation of a solid. The surface normal vectors always pointaway from the interior (which is shown hatched). A directed graph data structure linkssolid—> surface—> edge—> vertex.

a B-rep can easily store the information “chrome plate this face”.

Much of the literature on boundary representations requires the manifold surface

property (figure 2.17(a)). That is, the surface cannot touch or intersect itself. The

orientable property requires that two separate sides of the surface be distinguishable.

This rules out such well known exceptions as the Möbius strip (figure 2.17(b)).

When updating a B-rep, difficulties can arise in maintaining topological validity. It is

easy to specify a data structure which does not represent a manifold, orientable surface.

Detailed information on topological validity can be found in the text by Hoffman [46].

The point to be made is that updating a B-rep, inserting new vertices, edges and faces,

Page 72: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Ghapter 2. Literature review 45

(a) (b)

Figure 2.17: Manifold and orientable surfaces. (a) A non-manifold surface—it touchesitself along line AB. (b) A non-orientable surface. The Möbius strip is a thin sheet witha half twist. From a beginning point at the inside rear of the strip (shown hatched),counterclockwise tracing along the same side returns to the outside rear of the strip.

and verifying validity can be a very tedious and computationally intensive task.

Constructive solid geometry

In a constructive solid geometry (CSG) representation, the part is defined by regularized

Boolean set operations [122] intersection fl*, union U* and difference —* applied to

primitives such as blocks and cylinders (figure 2.18(a)). The formula to produce the

shape is maintained in a binary tree styled data structure, where the primitives are stored

at the leaves and the Boolean operations are stored at the interior nodes (figure 2.18(b)).

Primitives and solid combinations can be translated or rotated to achive more complex

representations. The term regularized means that the resulting solid has no regions of

zero thickness (dangling faces) (figure 2.19). A subtree is simply the portion of a CSG

tree below the interior node root. Widely known implementations of the approach are

the PADL-2 [11] and TIPS [86] solid modellers.

Page 73: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 2. Literature review 46

The CSG approach provides an intuitive procedural representation. A well chosen

ordering of the set operations will produce a data structure which, when traversed, spec

ifies in order the volume removal operations that would be required to machine the part.

In terms of internal storage requirements, CSG is most efficient because only the implicit

definitions of the primitives and operators need be maintained. It is easy to add another

primitive to the data structure, since evaluation of the part boundary or volume occu

pied can be deferred. This property can be exploited when maintaining a changing part

model, as is the case in milling process simulation.

2.4.4 Comparison of solid modelling strategies

The spatial enumeration or octree scheme has not received serious attention for mechan

ical part modelling purposes. Although it offers a conceptually simple way of dealing

with complex surfaces, many practical parts are of the functional variety. That is, they

can be represented by combining simple shapes such as the CSG primitives. The sub

stantial memory requirements and loss of exact part representation for even cylindrical

objects have limited its acceptance. For milling process simulation purposes, it is ex

pected to be very inefficient. Cutter immersion information is not available in a simple

form. Although the spatial location of occupied cubes is explicitly stored, a very large

data structure would have to be traversed to locate these. Again, there is no apparent

method of extracting the needed geometrical information in a condensed form.

A frequently stated advantage of the boundary representation scheme is its apparent

superiority when technological information (surface finish tolerance, etc.) must be speci

fied. The explicit representation of each part face facilitates storage of such information.

Requicha and Chan [96], however, have observed that CSG model1es can also implement

storage of information associated with a part face. Each primitive has a finite number

of faces, and hence the information can be stored at the primitive level. When Boolean

Page 74: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 2. Literature review 47

Solid P r I m it i ye s

Figure 2.18: Constructive solid geometry representation. (a) The L-shaped part withhole is formed by applying regularized Boolean set operations to the primitive blocks Aand B, and cylinder C. (b) Data structure for part (a). The tree represents the solid(B—*A)—*C.

A

88

(a)

C

(b)

Page 75: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 2. Literature review 48

danglingface

AnB An*B

Figure 2.19: A non-regularized Boolean operation. The dangling face is removed to yieldthe regularized solid.

operations are applied each remaining face belongs to one of the original primitives. That

is, faces can be removed through Boolean operations, but never created. Therefore, it is

sufficient to maintain technological information for only the primitive faces.

The only known attempt to implement a milling process simulation system directly

using the B-rep strategy is by Melkote and Kendall [78]. The difficulty in using B-reps

is, like the octree representation, the need to explicitly maintain the part shape. Since

boundary evaluation is well recognized as an inherently expensive computational task

(see for example [99]), this can lead to very poor simulation speed when a complex part

is to be cut using many cutter paths. Explicitly evaluating the boundary after each cut

and then updating the part representation data structure is a very unattractive idea, and

no methods of avoiding this task are obvious.

The primary difference between the CSG and octree or B-rep strategies is its implicit

representation. An implicit representation requires minimal information storage, and is

//A//

Page 76: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 2. Literature review 49

advantageous when frequent updates to the part model are anticipated—such as during

simulation of pocket milling. However, before any engineering analysis can occur it

is necessary to evaluate the implicit CSG primitives to obtain the actual part shape.

Methods of accomplishing this using a B-rep conversion strategy are well known [9, 99,

123]. Conversion from B-reps or octrees to a simple CSG representation is an unsolved

problem.

Alternatively, ray casting methods (see for example Roth [101]) can be used. Ray

casting is becoming a widely accepted evaluation method for CSG models, and specialized

hardware has been developed to accelerate this operation [30, 54]. An illustration of ray

casting is shown in figure 2.20. A field of infinite rays are cast through the solid region,

and classified into in and out sections [99, 123]. The ray casting method is particularly

well suited to rendering the solid on a video display since it automatically performs

hidden line removal, and is easily extended to shading.

In this thesis, for implementing the milling process simulation system outlined, the

CSG representation is most convenient. It most naturally accommodates representation

of features in the part, or the volume removed by a cutter path [14, 16, 93, 96, 112].

The use of simple primitives permits a methodical calculation of cutter immersion an

gles using the “divide and conquer” paradigm (chapter 4). Furthermore, the implicit

representation of CSG permits effective grouping of primitives, and an easier method of

avoiding redundant calculations during long simulations (chapter 5).

2.4.5 Computational geometry

As has been observed by Quinlan and Woodwark [94], “Solid modelling has now come of

age, and attention is shifting from demonstrating that techniques are feasible to questions

of efficiency and utility.” Similar conclusions have been reached by Voelcker and Wesley

[138]. Progress towards this goal is a primary aim of the thesis. This section briefly covers

Page 77: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 2. Literature review 50

Figure 2.20: Ray casting for CSG evaluation. An infinite ray is cast through the solidand divided into in (dashed lines) and out (continuous lines) sections. By using a fieldof rays covering the entire solid region rendering on a video display can be accomplished,or properties such as volume computed.

Page 78: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 2. Literature review 51

the computational geometry tools that are expected to contribute towards attaining an

efficient and methodically implemented solid modeller based milling process simulation

system.

Computational geometry is concerned with the development of efficient algorithms for

geometrical problems [77, chapter VIII]. Much of the classical literature on the subject

discusses 2 D (planar) problems, but 3 D extensions are receiving increased attention—

often because of their applications in solid modelling. Although the extent of the field is

not precisely defined, problems such as

• reporting all intersections within a set of line segments

• locating the portion of the plane containing a nominated point

• subdividing the plane into disjoint regions with a specific property

are examples of interest areas.

Since all of the geometric calculations required to implement a solid modeller based

milling process simulation system require repeated queries of the part representation,

computational geometry techniques will be of value in obtaining efficient solutions.

Using the CSG scheme, part representation queries result in extensive tree traversal

to check each primitive for relevance in a particular, localized calculation. With large and

complex models, the number of primitives to examine can easily number in the hundreds.

Simulation of material removal expands the problem since each cutter path would be

modelled as a group of primitives in addition to the initial, blank part. The greater than

linear time growth rate of most query algorithms further increases the computation effort

required.

Lack of explicit location information hinders identification of relevant CSC primitives

for a particular calculation. One approach suggested to overcome this deficiency is to

Page 79: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 2. Literature review 52

Figure 2.21: Redundancy definitions. (a) A is A redundant in A U *B. (b) C isredundant in C U *D.

augment the CSG Boolean operation tree with a data structure that spatially segments

the primitives [94, 1391. The method proposed is similar to the octree method. Al

though this technique is valuable for a static part model, the time consuming calculation

needed to update the data structure as the part shape changes limits its usefulness during

milling process simulations. Instead, most contemporary approaches rely on redundancy

detection methods.

In a CSG solid model, a primitive is said to be redundant if it can be replaced by either

the null set A or the universal set 2 and, through simplification of the Boolean expression,

then removed from the overall solid representation. To illustrate, in figure 2.21 A is A

redundant in A U *B, and C is 2 redundant in C U *D.

Redundancy detection usually involves forming a local approximation of a primitive to

reduce the complexity of the query. Near the primitive C Tilove [124] calls S’ a localization

of S if S U *C 5’ U *C (figure 2.22). In his paper he further describes a number of

algorithms designed to detect null objects. The approach is particularly intended for use

(a) (b)

Page 80: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 2. Literature review 53

Figure 2.22: CSG primitive local approximations. Near C 5’ is a localization of S sinceS fl *C = 5’ fl *C (see Tilove [124]).

in interference checking. If two solids A and B have intersection A fl *B = A then they

do not interfere, otherwise they do. A difficulty with Tilove’s approach is that he does

not specify how one should choose an approximation SI.

A number of approximate bounds for a CSG primitive S have been suggested, but the

iso-oriented box or isobox a(S) [46, 77] is most widely accepted. Two and three dimen

sional examples of isoboxes are shown in figure 2.23. An isobox bound just encloses the

associated primitive, and has its sides oriented parallel to the coordinate axes. Efficient

algorithms based on the interval tree or segment tree have been developed to report all

intersections between a population of n isoboxes. Assuming that N intersections are re

ported, the running time growth rates achieved are O(N+n log n) and O(N+n log2 n) for

the 2 D interval tree and 3 D segment tree solutions respectively. The reader is referred

to the texts by Hoffmann [46] and Mehlhorn [77] for further details.

Using a bound such as an isobox, Cameron [17] has proposed the S-bounds CSG based

bounds refinement and redundancy checking method. His approach involves initially

surrounding each primitive with an approximate bound (such as an isobox). Then,

through a series of refinement steps alternately traversing the tree from the leaves to the

Page 81: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 2. Literature review 54

(a)

()

(b)

Figure 2.23: Iso-oriented boxes. An iso-oriented box or isobox has its sides oriented parallel to the coordinate system axes, and just encloses the primitive that it approximates.(a) 2 D isobox (b) 3 D isobox

A

(A)

Page 82: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 2. Literature review 55

root and vice versa, an approximate bound for the CSG tree (or subtree) as a whole is

obtained. Bounds other than isoboxes, such as circles, convex polygons or spheres, have

also been suggested [19]. Further details on the S-bounds method are given in chapter 5,

where the question of redundacy and milling process simulation is specifically addressed.

An alternative redundancy checking method, which exploits the CSG set theoretic

principles and Boolean operations, is the the active zone method proposed by Rossignac

and Voelcker [100]. The active zone Z(S) of a CSC primitive S is the region within

which, if the shape of S were to change, the resulting CSG tree shape would also change.

Conceptually, it is easier to consider active zones on a positive CSG tree—that is, trees

with only U* and 11* operations. All —* operations are replaced by a fl* operation, with

the right child replaced by its set complement.

The active zone of a primitive S is determined by replacing it with , and interpreting

any U* operations as —* operations along the tree traversal path from the root to S. It

has been shown [100] that a primitive S is redundant if and only if 2(5) C 5, and is

A redundant if and only if S fl *2(5) A. Further details are provided in chapter 5.

Implementation of active zones requires a means of testing the sets referred to, and

isoboxes are frequently suggested to approximate this. Cameron and Rossignac [18]

discuss relationships between S-bounds and active zones.

After any primitives in a CSG tree have been identified as A or Q redundant, the tree

can be simplified to eliminate the redundant leaves. This is accomplished by applying

the appropriate Boolean set identity from table 2.1.

In some instances explicitly building the CSG tree and then applying an approximate

bounds method is inefficient. An example of this is pocket milling, where, conceptually,

the volume swept by each cutter motion is modelled by a small CSG primitive group,

and the tree is updated at the completion of each cutter pass (figure 2.24). If a large

number of paths n are needed to clear the pocket area, the CSG tree will grow quickly

Page 83: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 2. Literature review 56

A1 AuB AnB A-*BPA P A PAP P A APci ci P A

ci P

Table 2.1: Boolean set identities. When a primitive is identified as being either A orci redundant, it removed from the CSG tree by applying the appropriate Boolean setidentity. This simplification is repeated recursively as the tree is traversed from theprimitive leaves to the root. In the table above A represents the null or empty set, ci theuniversal set and P any primitive. Note that the expression ci — *P cannot be simplified.

as the operation proceeds. When simulating the milling process along a particular cutter

path, only preceding paths with interfering swept volumes are relevant. The number of

relevant paths N is expected to be few, and hence, rather than performing redundancy

detection on the entire tree of n paths, it is more appropriate to find the N relevant paths

and build a CSG tree including only those. When processing path i, the most natural

query is to check each of the preceding i — 1 paths for interference. Over all n paths in

the pocket, however, this requires 0 + 1 + 2 + . . . + (n — 1) n(n — 1)/2 or ci(n2) queries.

Alternative approaches to solving this problem will be presented in detail in chapter 5.

The material there includes a number of observations about typical pocketing scenarios,

and suggested solutions based on a simple, non-iso-oriented box intersection test and

planar subdivision based methods.

2.4.6 Numerical analysis

As stated in chapter 1, a multi-faceted approach to optimizing the calculations for 2 1/2 D

parts is planned. Reducing summation of small axial elements is accomplished by develop

ing analytical expressions for the required cutting force and torque equations (chapter 6).

Beyond accelerating calculations at a particular cutter rotation angle, this achievement

Page 84: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 2. Literature review 57

A/\

(a)

M2)—*M3)—*M4)—*

M5)—*M6)—*M7)

(b)

Figure 2.24: Modelling pocketing with CSG. (a) The volume swept by each cutter motionis modelled using a small CSG primitive group M = (A U *B) — *C. (b) The partshape CSG tree is repeatedly updated by subtracting the M groups from the initial,uncut part W.

—*

/\ci

((((((((w-*c1)-*M1)- *

Page 85: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 2. Literature review 58

enables the use of numerical methods to quickly locate extreme values over a tooth pe

riod. This is needed, for example, when the maximum resultant force is the limiting

constraint (to prevent end mill shank breakage). Numerical methods also are required

to condense the simulation data calculated along each cutter path, and to invert force—

feed rate relationships for process planning purposes (chapter 7). Other examples arise

throughout the thesis. The primary numerical analysis reference texts used in the thesis

to solve these problems were Brent [10], Conte and de Boor [27] and Forsythe, Malcolm

and Moler [34j.

Page 86: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 3

Process model and constraint mathematics

3.1 Overview

In the first section of this chapter the mathematical relationships used to implement the

solid modeller based milling process simulation system are developed. The predictions

calculated using these equations are needed both for process planning and to provide

technological data to assist in online monitoring and control tasks. The second section

presents the constraint equations used to schedule appropriate cutting conditions during

each cutter motion.

3.2 Milling process model relationships

Mathematical milling process models have been developed to varying levels of accuracy

and complexity. A review of the these was recently presented by Smith and Tlusty [109].

3.21 Material removal rate based models

The simplest models are based on the equation (figure 3.1(a))

MRR = adswJ/2-w

where

MRR is the material removal rate (mm3/s)

a is the axial depth of cut (mm)

d is the radial width of cut (mm)

59

Page 87: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 3. Process model and constraint mathematics 60

st is the feed per tooth (mm)

w is the spindle speed (radians/s)

3 is the number of teeth on the cutter

The average power consumed during cutting is then estimated to be

PZPSP.MRR (3.1)

where the specific power P3, is determined either by experiment or reference to published

data [81, chapter 7]. Directly from (3.1) the average torque is then computed as

(3.2)

Equations (3.1) and (3.2) provide a simple check that the the capacity of the spindle and

motor will not be exceeded. They were used to provide basic feed rate scheduling in early

systems such as EXAPT, and remain the extent to which the milling process physics is

considered in contemporary cutter path planners.

Researchers such as Wang [140] have attempted to extend this model to predict

cutter deflection and surface location error in end milling. The proposed equation is

(figure 3.1(b))

F = 0.5P/v

where F is the cutting force component normal to the feed direction and v = wr is the

peripheral cutting speed. The cutter is assumed to deflect as a cylindrical cantilever beam

with the force F concentrated at the tip. This equation does not consider the discrete

edges that are actually involved both in producing the cutting force and instantaneously

generating the finished part surface. Agreement with experiment is poor.

Page 88: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 3. Process model and constraint mathematics 61

Figure 3.1: MRR model definitions. (a) The axial depth of cut is denoted by a, the radialwidth by d, and the feed per tooth by s. The rotational speed is w and the cutting speedis v = w’r, where r is the cutter radius. (b) The normal cutting force is F, whichis assumed to be constant as the cutter rotates. The corresponding cutter deflection iscalculated by assuming a point load at the tip, and modelling the cutter as a cylindricalcantilever beam extending from the tool holder.

r

(a) d

(b)

Page 89: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 3. Process model and constraint mathematics 62

3.2.2 Uncut chip thickness based models

Improved mechanistic models which consider the instantaneous in cut geometry of each

portion of the cutter teeth are used as a basis in this thesis. Two variations are considered:

(1) the average chip thickness model, denoted by ACT throughout the thesis, and (2)

the linear edge force model, denoted by LEF.

Average chip thickness model

Koenigsberger and Sabberwal [59, 102] first reported the proportional relationship be

tween the uncut chip thickness and the tangential cutting force component. This model

has been extended by Tiusty and MacNeil [127] and DeVor, Kline et al [37, 57] to include

a radial force component.

For an elemental axial slice, the cutting forces at each tooth j are separated into tan

gential dFT,3 and radial dFR,J components (figure 3.2) and modelled using the expressions

dFT,(b,z) KTh(q5,z)dz()

dFR(q5,z) = KRdFT,J(b,z)

Assuming a circular cutter path, the uncut chip thickness h3 is defined as

h(q,z) =s1sinq5(z)

wheretan çb

Z

and

s is the feed per tooth (mm)

is the cutter rotation reference angle (figure 3.2)

q is the angular spacing between successive teeth

Page 90: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 3. Process model and constraint mathematics 63

The slice of tooth j at axial location z is engaged in cut (and forces exerted) oniy when

4j(z) < q. The slices are added together to obtain the total force since, for

end mills, the existence of a non-zero helix angle J.’ complicates derivation of an overall

analytic expression. This is a computationally intensive task for which improvements are

developed in chapter 6.

The specific cutting pressure Kr and the radial/tangential force ratio KR are calibra

tion parameters particular to a cutter and part material combination. They are modelled

as exponential expressions of the average chip thickness ) per revolution [57}

MTi_PT

(3.4)KR = MRh

The average uncut chip thickness is defined geometrically as the ratio of the chip volume

removed to the exposed chip area. Hence for 2 1/2 dimensional parts (figure 3.3)

a> I stsinqd4— i Jti

— a (qex,i

(3.5)(cos 1erj — cos çb5t,2)

= —St(ex,i

— st,i)

where the q,j) are the isolated in cut sections. In face milling there frequently are

a number of in cut sections, which the solid modeller must be able to quickly identify

by examining the part geometry (chapter 4). Two special cases frequently arise in end

milling for which there is only one in cut section: (i) down milling, where the single

cutter immersion interval is [q, ir); and (ii) up milling, where the single cutter immersion

interval is [0, q).

Page 91: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 3. Process model and constraint mathematics 64

Linear edge force model

Yellowley [3, 153] has proposed a linear milling process model which divides the forces

into uncut chip and edge contributions. His model has the form

= aK5(h(q) + h4)(3.6)

= aKa(cihj(c6)+c2h*)

Since this model is used only for face milling calculations, it is assumed that there is

no helix angle, and hence the entire edge of the tooth is located at the same angle,

independent of the axial position z. Therefore in this case h(q) s sin and çb =

q + jq. The remaining parameters are independent of the cutter immersion geometry,

and are determined experimentally. Edge forces are accounted for by the critical uncut

chip thickness h*. The specific cutting pressure is K. The constants c1 and c2 specify

ratios between the radial and tangential force components.

Cutter and part deflection at large depths of cut can be significant, causing the teeth

to resist entering the part material until well past reference angle 0 (up milling).

This results in the edge forces being exaggerated, and hence the model cannot generally

be used as a process model for end milling.

3.2.3 Other models

The mechanistic uncut chip thickness models described in the previous section are widely

accepted and used, and serve adequately to develop the solid modeller based milling

process simulation system methods proposed.

Models of increased complexity proceed to consider the flexibility of the cutter and

part, and the influence that this has on the instantaneous uncut chip thickness. With

large flexibilities and small cutter diameters or widths of cut, this indeed is a significant

effect. It was not thoroughly considered in this thesis because the basic geometrical

Page 92: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 3. Process model and constraint mathematics 65

yt

x

(b)

z

Figure 3.2: Mechanistic model parameters. (a) A thin slice in the cutter axis planeduring a down milling operation is depicted. For each tooth j cutting forces are resolvedinto tangential dFT and radial dFR,, components which are a function of the uncut chipthickness h3. A reference angle q is associated with the bottom edge of the first tooth,and the angle between successive teeth is qS,. In the example shown the cutter immersioninterval is [q3,7r). (b) In end milling the slices are added to find the total force sincethe existence of a non-zero helix angle /‘ complicates derivation of an overall expression.

(a)

Page 93: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 3. Process model and constraint mathematics 66

Figure 3.3: Multiple in cut sections. In the example 2 1/2 D part shown above the cutteris immersed in the part during the in cut sections qex,i)io,1,2.

calculations required of the solid modeller remain unchanged. In section 7.5 a flexible

end mill is considered in conjunction with the linear edge force model to develop the

process model to be used with an adaptive control system. The proposal is to augment

the controller with a priori information from the solid modeller to warn of upcoming

part geometry that otherwise would lead to sudden cutting force transients and end mill

shank breakage.

Models which include chatter simulation require time domain simulations [109, 125],

and are very computationally intensive. Much of the work in this area has been conducted

to further understanding of chatter. It is recognized that a chatter model to predict the

limit of stability will depend on immersion geometry, particularly the depth of cut and

number of teeth in immersion. A basic model of this form is considered in chapter 6.

Page 94: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 3. Process model and constraint mathematics 67

3.3 Constraint equations

Achievement of untended machining by avoiding unexpected factory floor events through

a priori planning is preferred practice, and hence the ability to plan good cutter paths

and appropriate cutting conditions is essential. Consideration of the MRR constraints

as they apply to the chosen part and machine tool is therefore a central purpose for

developing a milling process simulation system. In an integrated system information on

the relevant constraints to monitor would be communicated to the machine tool controller

to assist with its online operations. It will be shown in this section that knowledge of

the cutter—part intersection geometry is fundamental to these tasks.

3.3.1 Torque and power

Instantaneous maximum and average torque and power must be limited to the capabilities

of the spindle shaft and motor. These specifications are provided by the machine tool

manufacturer, or can be measured experimentally.

These constraints are most prevelant during face milling, where larger radii cutters

are used, and during high speed end milling. Assuming a zero helix angle, the torque

contributed by tooth j of the cutter, engaged in the part at an angle qj = + jq, is

Tj(q5) = rFT3(cb)

where r is the cutter radius. Either the ACT (3.3) or LEF (3.6) models can be used

to compute the tangential force FT3(). The total instantaneous torque is found by

summing the contributions of all teeth in cut, which is dependent on the part geometry.

The maximum torque can be determined by sampling over the angles swept out during

one tooth period, but is more efficiently found by applying either calculus or numerical

methods (chapter 6).

Page 95: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 3. Process model and constraint mathematics 68

The average torque and power are found by integrating over a full revolution of the

cutter. For the average torque

jE _jT(q)dq

This calculation must be carried out in a piecewise fashion, with endpoints occurring

each time a tooth enters or exits from in cut contact with the part. Knowledge of the

part geometry is essential.

The average forces in the z and y directions are not considered as constraints, but

are useful for verifying the part shape (chapter 7). In chapter 6 it will be shown how, in

conjuction with the part geometry, the average forces are used to calibrate the milling

process model parameters.

Using the relationship P = Tw constraints on power can similarly be calculated.

3.3.2 Tooth breakage

To prevent fracture of the cutter tooth, its load must be limited in any milling operation.

Detailed analyses of this constraint have been carried out by a number of authors such as

Pekeiharing [89, 90]. For implementation as a constraint, the simple limit on the uncut

chip thickness

hmas SSi7Lbj (3.7)

suggested by Yellowley [151] is adopted in this thesis. By finding the in cut immersion

intervals using a solid modeller, the maximum value of sin q is easily found. The per

missible feed rate s can then be selected to satisfy the maximum uncut chip thickness

threshold hma.

Page 96: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 3. Process model and constraint mathematics 69

3.3.3 Shank breakage

Shank breakage is a common cause of high speed steel (HSS) end mill failure. It occurs

when the tensile stress exceeds the strength of the brittle tool material. A normal stress

load results from the bending moment caused by the maximum resultant cutting force

Fmax = sup{(F()2+F()2)2e[O,4)}

An additional shear stress arises from the torque on the cutter. The normal stress due to

the axial force is assumed to be negligible. As a first approximation, the cutter is assumed

to be a cylindrical cantilever [62]. Its moments of inertia are calculated assuming a radius

of O.8r. That is,

I r(O.8r; J ir(O.8r

Using Mohr’s circle (figure 3.4), the tensile stress is

2 1/2

° +Txy +

The maximum tensile stress is expected to occur on the cutter surface in the shank region

whereMmaxrc Tmaxrc

and r,=

A typical end mill is very slender, with L > 8r. Additionally, it is difficult to achieve

clearance between the tool holder and the part unless L > 2a. The maximum bending

moment is therefore

Mmax F, (L—

3L> - ma

> 6Fma7’c

The tangential force from each edge will certainly be less than Fmax, and at most two

edges of a four tooth cutter will ever be fully immersed simultaneously. Therefore the

Page 97: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 3. Process model and constraint mathematics 70

maximum torque will be Tmax<2Fmaxrc. With these approximations

/ / \2 1/2

— ( MyaT i I \ i Mmaxrcma 21 ) J ) 21

[(i.55Miax)2+(1.55T)2]2

+ 155Max

Fmax { [x + x’]112 + XM}

where XM > 9.3 and XT < 3.1, implying that the contribution to the maximum tensile

stress due to the torque component is less than three percent. The maximum resultant

cutting force alone is therefore used as the shank breakage constraint in the thesis.

Computation of the maximum resultant cutting force for helical end mills is an in

volved task because of the perceived complexity of the cutter—part immersion geometry.

The common approach in the literature (see Kline [57]) is to divide the cutter into a

number of differential axial elements (figure 3.5). The cutting forces are determined for

each slice, and vectorially added together to find the overall force. This must be repeated

at small increments of rotation over a tooth period to find the maximum resultant force

under the current immersion conditions. A more rapid approach to solving this problem

is developed in chapter 6.

3.3.4 Surface location error

The flexibility of slender end mills causes them to deflect under forces, leaving a location

error on the finished part surface. Modelling the cutter as a cantilever beam, Kline [58]

computed the force normal to the part surface and the corresponding cutter deflection

incrementally. He assumed that the total normal force F(qS) was concentrated at the

normal force centre zcF,(q), which is defined as the point where the total normal force

would cause the same bending moment at the tool holder as the distributed normal force

density wy(cb) (figure 3.6). The deflection of the cutter was then computed from the

Page 98: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 3. Process model and constraint mathematics 71

max

Figure 3.4: Moh?s circle for end milling. The constraint is the maximum normal tensilestress max which is primarily due to the bending moment on the cutter shank.

0

Page 99: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 3. Process model and constraint mathematics 72

resultantforce

Figure 3.5: Differential element force summation. Due to the perceived complexity ofthe cutter—part intersection geometry in end milling, the common approach used in theliterature (see Kline [57]) to find the resultant force is to vectorially sum a number ofsmall differential axial elements.

Page 100: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 3. Process model and constraint mathematics 73

cantilever equation

z) = [<zcF,() - z > -(L - z) + 3(L - z)2(L-

where L is the length of the cantilevered portion of the cutter, E is Young’s modulus and

I is the cutter moment of inertia. The location of the flute contact with the part was

found, which defines a point on the finished surface. To entirely determine the part surface

location, the calculation was incrementally repeated over an entire tooth rotation period.

He extended his model to include radial runout (eccentricity) and included flexibility of

the part through the use of finite element methods.

By assuming a rigid part and using an analytic solution for the cutting forces, the

normal force density w(4, z) can be found and the cantilever beam equation

d4 ()El —w,z)

solved exactly. Further simplifying to a point force applied midway along the depth of

cut, the maximum surface location error can be predicted without iteratively sampling

at many cutter rotation angles. This permits a rapid scheduling of feed rates to avoid

excessive error. These ideas are developed in chapter 6.

3.3.5 Tool wear

Useful cutting tool life depends on many factors including tool and part material, cutting

velocity (spindle speed), and, in milling, the influence of intermittent cutting.

Yellowley and Barrow [150j have developed a model which is strongly dependent on

the cutter—part immersion geometry. In peripheral milling, they define an equivalent feed

per toothS

t,eq J sin 1bdb (up milling)leX 0

Page 101: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 3. Process model and constraint mathematics 74

zsurface generation

port

points z

on the shank

WY

Figure 3.6: Kline’s cutter deflection model [58]. The cantilevered length of the cutteris L and the axial depth of cut is a. The surface is generated at the points ZSG whichdepends on the helix angle & and rotation angle q. The normal force centre ZCF,Y isdefined as the point where application of the total normal force F would result in thesame bending moment at the tool holder as the distributed normal force density wi,,.

maximum bending

moment

L

Y

a

CF, y//

Page 102: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 3. Process model and constraint mathemaLics 75

and then derive the tool life relationship

1ta

31/Tpq

where ta is the tool life time in cut. The exponents s, 1/r, p and q are calibrated for the

tool and part material. The thermal fatigue parameter X is defined as

1/2

X=Er(R.t_)

where

Er is a temperature calibration parameter

R is the spindle speed in rpm (= 60 2ir . w)

t is the uninterrupted tool life time

The ratio t/ta relates the uninterrupted cutting time to the actual time in cut, which for

a single immersion interval is equal to

27r

q58t

This thesis does not further consider tool wear as a constraint, but geometrical informa

tion from the solid modeller clearly is needed to handle tool life predictions.

3.3.6 Chatter

A fundamental explanation of chatter theory is best presented by considering a single

tooth edge. The material following is based on Tlusty [125]. The predominant and

sustaining cause of chatter in milling is regeneration of an undulating surface, caused by

a relative vibration between the cutting edge and the part (figure 3.7)

Assume that the preceding pass of the cutting edge left a wave

Rosinwt

Page 103: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 3. Process model and constraint mathematics 76

Figure 3.7: Regeneration in chatter (adapted from Tiusty [125]). A single cutting edgeis shown under fully developed conditions. During the previous tooth pass it is assumedthat a wavy surface with amplitude R0 was left behind. This causes a modulated uncutchip thickness, a varying force, vibration of the cutting edge and regeneration of a newwavy surface with amplitude R. If R> R0 then the chatter is unstable.

hm

Page 104: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 3. Process model and constraint mathematics 77

and that the current pass is producing a wave

r = R sin(wt + 2irN + e)

If the mean feed or chip thickness is hm, then the instantaneous chip thickness is h

hm + h, where h = r0 — r. The cutting force is assumed to obey the equation

F = Fm+Fv

KTR1c(hm + h)

= KTRlchm + KTRl(ro — r)

where KTREJ? is a specific cutting pressure related constant and l is the length of contact

between the cutter tooth and the part.

The regeneration process can be imagined as a feedback ioop as shown in figure 3.8.

The Laplace domain oriented transfer function GU,oR(s) R(s)/F(s) relates the motion

of the cutter edge in the r direction to the cutting force. The e2 term is the Laplace

delay element. At the limit of stability R = IR0L which occurs when the Nyquist

criterion [43, chapter 10]

KTRlGoR(s)(l — = —1

is satisfied. Since all the other values are real and positive numbers, it must hold that

G,oR(s)(1 — eJc) = 2T[G,oR(s)j < 0

where J?[G,oR(s)] is the real part of G,oR(s). If e is unrestricted (as is the case at lower

spindle speeds) then the theoretical stability limit on the contact length is

—11c,lim = r j, c[ç’ 1 (3.8)

ATRJ413v,ORjmin

where

J[Gu,OR1mzn inf{J?[G,oR(jw)] wc(—oo, +oo)}

Page 105: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 3. Process model and constraint mathematics 78

That is, R[Gv,OR]m:n is the largest negative value of G,oR(jw). In control theory terms,

this is the critical gain beyond which the system is operating with positive feedback. In

high-speed milling the spindle speed can be manipulated adequately to control e and

achieve an increased 1c,Lim that lies between stability lobes [108, 125]. This idea is not

pursued further in this brief introduction.

Another form of chatter, mode coupling, is non-regenerative. It is less prominent in

milling applications, and is not explained here.

Derivation of a theoretical expression for multi-toothed milling cutters is difficult

because of the varying orientation of the cutter edges. Time domain simulations are

therefore used for accurate research study. From figure 3.8, however, it is apparent

that the depth of cut, a geometric quantity, is a fundamental parameter for single tooth

cutting. For multi-toothed cutters research studies confirm that the equivalent parameter

is the length of cutter edge in cut. This can be calculated from the part geometry

(figure 3.9) and correlated with time domain chatter simulations to develop a prediction

capability.

3.4 Summary

The strong dependence of the milling process model and constraint calculations on the

cutter immersion geometry is readily apparent from the material presented in this chap

ter. For the 2 1/2 D parts considered, the axial depth of cut and the angles during which

the teeth are engaged in the part (the immersion angles) are the essential variables.

The following chapters develop capabilities to allow a CSG based solid modeller to

methodically and efficiently determine this geometric information along each cutter path

as the part is machined.

Page 106: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 3. Process model and constraint mathematics 79

R(s)

Figure 3.8: Feedback ioop in chatter (adapted from Tiusty [1251). The nominal uncutchip thickness is hm and the cutting force Fm. The varying force component Fe(s), actingthrough the structural transfer function G,oR(s) causes the cutting edge to vibrate inthe r direction with amplitude R. When the previous surface, with wave amplitude R0,is encountered a varying uncut chip thickness h(s) and force F(s) are generated, and theprocess repeats.

Page 107: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 3. Process model and constraint mathematics 80

+

Figure 3.9: Calculation of cutter engagement length. Research studies indicate the cutterengagement length is the stability parameter in multi-tooth milling. This can be foundusing a solid modeller milling process simulation system.

Page 108: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 4

Cutter—part intersection calculations

4.1 Overview

In chapter 3 cutter-part immersion geometry was identified as fundamental to implemen

tation of a milling process simulation system. For the 2 1/2 D parts under consideration

this can be determined by finding the axial depth of cut a, and the immersion intervals

[q8,cbex,i) (figure 4.1).

To determine the immersion geometry, imagine the cutter as an advancing cylinder

which cuts along only its leading edge (figure 4.2(a)). This concept has been proposed

by Bertok et al [7] and Wang [140], but these authors used it to implement a milling

process model at only the MRR level. In a particular lamination of the 2 1/2 D part,

consideration of a planar semi-circular arc advancing along the cutter path is sufficient.

For this case the axial depth of cut is constant, and readily determined by a query of the

part model and cutter path specification. It remains to calculate the two dimensional

cutter immersion intervals [qSt, qexi) which vary as the part features are encountered

along the path (figure 4.2(b)). Development of an efficient method to determine this

cutter-part intersection information is the chapter focus.

In the next section, intersection calculations for a stationary semi-circular cutter

arc encountering rectangles and circles (2 1/2 D blocks and cylinder primitives) are

developed. The simplicity of the intersection calculation with isolated primitives exploits

the “divide and conquer” paradigm unique to the CSG representation scheme.

81

Page 109: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 4. Cutter—part intersection calculations 82

Figure 4.1: Cutter—part immersion geometry. For the 2 1/2 D parts under consideration,this is the axial depth of cut a and the immersion intervals [q,j, qex,j).

t, 0 0e x , a)øst,1 øex,i)

,[øSt,2x,2)ci

Page 110: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 4. Cutter—part intersection calculations 83

cutter

Figure 4.2: Advancing cylinder cutter model. (a) The milling cutter is imagined as acylinder which advances along the programmed path into the uncut part. (b) In twodimensions this is equivalent to a semi-circular arc which encounters the features of thepart as it advances along the cutter path, defining cutter immersion intervals.

workp lece

TV

(b)

Page 111: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 4. Cutter—part intersection calculations 84

The subsequent section describes how the CSG part definition can be used to combine

the intersection information from each primitive to yield the overall immersion angle data.

The Boolean operations that define the part are used, providing a methodical approach

that must function correctly. A practical demonstration of the method is shown using

an example part shape and a microcomputer implementation of the algorithms.

A final section summarizes the chapter.

4.2 Cutter—primitive intersection calculations

Simultaneous consideration of an arbitrary part when calculating the cutter immersion

interval is unviable. The infinite combination of CSG primitive combinations allowed

prevents enumeration of all cutter-part intersection possibilities. In contrast, the in

tersection calculation of the cutter arc with an isolated primitive can be exhaustively

analyzed. In this section, intersection of the semi-circular cutter arc with rectangles and

circles (2 1/2 D blocks and cylinders) is studied.

In the x’-y’ plane, the straight line cutter path is assumed to begin at the point

yp,i) and end at (x,2,Yp,2) (figure 4.3). To provide a consistent reference frame for

the intersection analyses, a homogeneous transformation [441 is applied which maps the

cutter path to begin at the origin (0, 0) and extend along the x axis to (lu, 0), where the

path length l is equal to ((x,2—x,1)2 + (yp,2 — ypl)2)’12. Translation of the x’-y’ point

(Xp,i,yp,i) to the origin is accomplished by the matrix equation

0 Xp,l

0 =A•

1 1

Page 112: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 4. Cutter—part intersection calculations 85

where

1 0 Xp,i

= 0 1 Yp,i (4.1)

00 1

The rotation required to then move the path onto the x axis is

cos6 sin& 0

A 6 0 (4.2)

0 01

where

I Yp,2 Yp,10 = arctan\ Xp,2 — p,i

is the rotation angle. Transformation of the rectangle and circle primitives from the x’-y’

coordinate system to the x-y coordinate system is therefore accomplished by multiply

ing together the matrices from (4.1) and (4.2) to yield the matrix A = ArAt. Using

homogeneous coordinates, the transformation equation is

x

=A.

1 1

Calculations in all subsequent sections assume that the primitives and cutter path have

been transformed into this x-y coordinate system.

Rectangles are defined by a base point (Xrb, Yrb), lengths l and l,,, and an orientation

angle a (figure 4.4(a)). Equivalently, the four vertices (Xrk, Yr,k)k=O...3 can be used.

These points are defined as follows:

Xr,O = Xrb Yr,O = Yrb

Xr1 = Xrb + ,, cos Yr,1 Yrb + l

Xr,2 Xrb — lsina +lcosa Yr2 Yrb +lcosc + lsina

Xr,3 1y 5fl t?t = y,.j, + l, cos

Page 113: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 4. Cutter—part intersection calculations 86

y

(Xp,2,yp,2)

Figure 4.3: Cutter path definitions. In the aY-y’ plane, the cutter path begins at (x,1,yp,i)and ends at yp,2). For convenience in analysis, the coordinate system is tranformedso that the path begins at (0, 0) and extends along the positive x axis to the point (lv, 0),where l, is the length of the path.

Circles are defined by their centre (XF,yF) and radius rF.

There are two steps involved in determining the intersection of the semi-circular cutter

arc with a rectangle or circle primitive:

1. Locate the critical points along the cutter path at which contact between the cutter

arc and the primitive begins or ends. The immersion angles will be unchanging on

one side of such a point.

(x,1,y1)

x

2. Carry out the immersion angle calculations where necessary along the segments

Page 114: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 4. Cutter—part intersection calculations 87

(Xr3 ‘Yr,3)

y

(x rb ‘Yrb )x (XrO,Yr)

x

(a)

(b)

(Xr2 ‘Yr,2)

(x r,1 ‘Yr,i)

Figure 4.4: Rectangle and circle definitions. These correspond to 2 1/2 D block andcylinder primitives. (a) A rectangle is defined by a base point (Xrb,yrb), lengths l, andli,, and an orientation angle c. Equivalently, it can be described by the four vertices(Zrk,yrk)krO3. (b) A circle is defined by its centre (XF,yF) and radius rF.

yx

y

Page 115: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 4. Cutter—part intersection calculations 88

between the critical points.

The mathematics needed for these tasks is developed in the following sections.

4.2.1 Rectangle calculations

The intersection of the cutter arc with a rectangle is further subdivided into an isolated

treatment of each of the four sides. Cases of the side being (1) perpendicular, (2) parallel

or (3) at an intermediate angle to the cutter path are separately considered.

Perpendicular side

For the case of a perpendicular side, initial contact occurs only if some portion of the

side is within r, of the cutter path. Denoting the sides endpoints K1(XK1,yKl) and

K2(xK2,yK2), if the side K1K2 crosses the path then initial contact occurs when the

cutter arc is tangent to the side (figure 4.5(a)). That is, the cutter arc centre C(xc, 0)

at initial contact is located at (XK1 —r, 0).

Otherwise, construct a triangle from the side endpoint with a hypotenuse of length

r, back to the cutter path in order to find the cutter arc centre at initial contact (fig

ure 4.5(b)). In the example the side endpoint is K2 and the cutter arc centre C is located

at (xK2 — (r —

y2)’/2 0).

If either endpoint of the side is farther than r from the path, then the cutter arc

centre at final contact is the intersection of the path with the infinite extension of the

side (figure 4.5(c)). That is, C (XK1,0) at final contact.

Otherwise, choose the endpoint most distant from the path, and construct a triangle

from there with hypotenuse length of r back to the path to find the cutter arc centre

point at final contact. In the example the most distant point is K2, and C = (xjc2 —

(r—y2)’/2,0) (figure 4.5(d)).

Page 116: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 4. Cutter—part intersection calculations 89

cutter arcK1

Crectangle

v side(a) ‘2

rK2

(d)

Figure 4.5: Rectangle—perpendicular side. The side endpoints are Kl(XK1,yJcl) andK2(xK2,yK2). The cutter arc centre point is labelled C. (a) Initial contact—side crossescutter path (b) Initial contact—side does not cross cutter path (c) Final contact—sideextends farther than r from the path (d) Final contact—side never extends farther thanr, from the path.

K1

c

(b)

C

Page 117: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 4. Cutter—part intersection calculations 90

cutter arc rectangleside

(b)

Figure 4.6: Rectangle—parallel side. The side endpoints are K1(XK1,yKl) andK2(xiç2,yK2). The cutter arc centre point is labelled C. (a) Initial contact (b) Finalcontact.

Parallel side

Sides parallel to the cutter path can quickly be evaluated. If the side is farther than

r from the path, then no contact occurs. Otherwise, construct triangles from the side

endpoints, with hypotenuse of length r, to find the cutter arc centre points at initial and

final contact (figure 4.6). In the example shown these points are (XK1 — (r —

y1)1/2,0)

and (XK2 — (r —

y2)1/2,0) respectively.

Intermediate angle side

Sides that are at an intermediate angle to the cutter path require a more involved analysis.

First, the side is checked to verify that a portion of it is within r of the cutter path.

Analysis continues only if this is so. If the side is nearly parallel or nearly perpendicular

to the cutter path, then the solutions for these earlier cases is used. Remaining cases are

assumed to be numerically well conditioned. A treatment of the specific numerical issues

for these calculations can be found in the article by Middleditch, Stacey and Tor [82].

C

K1 K2

(a)

C

Page 118: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 4. Cutter—part intersection calculations 91

Figure 4.7: Rectangle—intermediate angle side—initial contact. The side endpoints areK1(XK1,yKl) and K2(xK2,yK2). The cutter arc centre point is labelled C. (a) Initialcontact at a tangent (b) Initial contact at endpoint K1 (c) Initial contact at endpointK2.

Initial contact with the side can occur either when the side becomes tangent to the

cutter arc (figure 4.7(a)), or when an endpoint of the side is reached (figure 4.7(b) and

(c)). The three possibilities are individually checked and the cutter arc centre point

earliest along the path retained as the initial contact point for the side.

Tangency occurs when the perpendicular to the side crosses it at a distance r away

from the cutter centre. Writing the equation for the side I(1K2 as

cutter arc

T

C

(a)

rectangleside

K1

K2

(c)

Y — ?IK1 = mK(x—

XK1) (4.3)

Page 119: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 4. Cutter—part intersection calculations 92

where the slope mK is given by

YK2 — YK1mK=

XK2

the equation for the perpendicular line through the tangent point T(x,y) is

—1Y—YT —(x—XT) (4.4)

At C, the cutter arc centre, y 0 and, solving (4.4) for x yields

XC = XT + mKyT (4.5)

The distance from C to T is r,, hence

(XX — xC)2 + y =

Substituting from (4.5)

YT +(1 +m)hI2(4.6)

A valid tangent requires XC < XX, or equivalently (from (4.5)), 0 < XT—XC = —mKYT.

That is, m and YT must have opposite signs. Furthermore, the point T must actually be

on the side (i.e. be between K1 and K2). This is verified by checking that XT is between

XK1 and XK2 or equivalently that YT is between YK1 and YK2.

The points at which the cutter arc reaches the side endpoints are readily located.

To check endpoint K1 first check that IYK1 < r and then construct a triangle with

hypotenuse of length r from K1 to the cutter path. The centre point C at which initial

contact occurs is (XK1 — (r— y)’/2,0). A similar calculation is made for endpoint

K2. The retained initial side contact point is then chosen as the candidate which occurs

earliest along the cutter path.

The final contact point of the cutter arc and side can arise in two ways. First, the

points where the side is a distance r away from the cutter path are checked (figure 4.8(a)).

Page 120: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 4. Cutter--part intersection calculations 93

This is determined by solving

— YK1 = mK(xc — XK1)

for XC. Only the solutions corresponding to actual points on the side are retained.

When a side endpoint is less than r away from the cutter path, the cutter arc centre

is located by constructing a triangle with hypotenuse of length r back to the cutter path.

For example, with endpoint K2 the centre point C is located at (XK2 — (r—

y2)l/2,0)

(figure 4.8(b)). A final contact at side endpoint K1 is handled similarly. The retained

final contact point is the candidate which is latest along the cutter path.

The initial and final contact points of all sides are combined to yield critical points for

the rectangle as a whole. Before the overall initial contact point and after the final contact

point any cutter immersion interval query against the rectangle can be answered simply

by returning the null interval [0, 0). In this case the rectangle is null or A redundant.

Similarly, if it is found that the cutter arc is past final contact with some of the sides

before coming into initial contact with other sides, the arc must be entirely within the

rectangle. In this case the immersion interval is always a full [0, 7r) and the rectangle can

be replaced by the universal set 2 during this segment of the cutter path (figure 4.9).

In between the initial and final contact points for a rectangle side the immersion

interval endpoint angles must be explicitly calculated. For sides perpendicular to the

cutter path this is quickly accomplished by computing the angles

= ±arccos(XK1— xc)

(4.7)

measured from the horizontal cutter path (figure 4.10(a)). Following the usual notation

the corresponding immersion angles are çb = ir/2— 6A and çb = 7r/2

— 9B• For sides

parallel to the cutter path the immersion interval endpoint is a constant q = 7r/2—

Page 121: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 4. Cutter—part intersection calculations 94

Figure 4.8: Rectangle—intermediate angle side—final contact. The side endpoints areK1(XK1,yKl) and K2(xK2,yK2). The cutter arc centre point is labelled C. (a) Finalcontact at cutter arc edge (b) Final contact at side endpoint K2.

K3

K1

Figure 4.9: Rectangle l redundancy. After the cutter arc passes final contact with sidesK2K3 and K3K0 it has yet to initially contact sides K0K1 and K1K2. During this periodthe rectangle is redundant, and the cutter immersion interval is always [0, 7r).

cutter arc

rectangleside

‘2

K2(a) K1 (b)

K2

K0

Page 122: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 4. Cutter—part intersection calculations 95

where (figure 4.10(b))

= arcsin () (4.8)

For sides at an intermediate angle to the cutter path, a line CT passing through

the instantaneous cutter centre C(XC, yc) and perpendicular to the side is constructed.

This line is the bisector of the chord A (figure 4.10(c)) and intersects it at the point

T(XT,yT). The angle L is given by

— arctan—

(4.9)\YK2 —YK1)

Furthermore,/CTj\

= arccos j (4.10)r j

and hence the immersion interval endpoint angles are = r/2— 6A and B = 7r/2

where 6A = &L + Up and 8B = —

The intersection points divide the semi-circular cutter arc into intervals which must

be classified as in or out of cut. For this purpose the rectangle is first considered as

a complemented feature—that is, it is considered as an empty area surrounded by solid.

Because a rectangle is a convex shape, each exterior immersion interval will be associated

with only one of the sides, and hence they can be treated in isolation. On the other hand,

cutter arcs inside of the rectangle can interact with the sides in complex ways.

After the cutter immersion intervals for all four sides of the rectangle have been

combined and complemented to again reflect a solid interior rectangle, the in or out

of cut classification of the cutter immersion intervals begins. This is done by checking

whether the zero angle point O(xo,yo) (figure 4.11) is inside or outside of the rectangle.

Denoting the four rectangle vertices Kk( r,k, Yrk)k=O...3, this is accomplished by imagining

each side of the rectangle to be a vector KkKI where 1 = (k + 1) mod 4. A second set of

four vectors KkO leads from each rectangle vertex to the zero angle point. Since the side

Page 123: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 4. Cutter—part intersection calculations 96

Figure 4.10: Rectangle—cutter intersection angles. (a) perpendicular side. The immersioninterval endpoint angles are found using (4.7). (b) parallel side. The immersion intervalendpoint angle is found using (4.8). (c) intermediate angle. Line CT is the perpendicularbisector of the chord Afl. The immersion interval endpoint angles are found by using(4.9) and (4.10) to solve for 8L and 8T, and then changing to the usual immersion anglenotation.

0

B7-’-

(a) (b)

K1

K2(c)

Page 124: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 4. Cutter—part intersection calculations 97

vectors advance around the rectangle in a counterclockwise direction, if the zero angle

point is to the left of each side vector then it must be inside of the rectangle. With three

dimensional vector cross product notation, if K/cK1 x KkO has a positive z component

for k = 0. . . 3 and 1 = (k + 1) mod 4, then the zero angle point is inside of the rectangle.

Using the point coordinates, the zero angle point is inside of the rectangle if and only if

(r,i — Xr,ic)(yO— Yr,k) — (Xo — Xr,k)(Yr1 yr/c) > 0

When the zero angle point is inside of the rectangle, then its immersion interval

is marked as in cut, Advancing around the semi-circular arc the remaining intervals,

bounded by the intersection points A(XA,YA) and B(XB,YB) must then alternately be

out of then in cut. This process is repeated at each incremental sample point C(x, 0)

along the cutter path.

4.2.2 Circle calculations

The circle feature is assumed to have a radius of rF and be centred at the point F(XF, yF).

That is, its defining equation is

(x— XF) + (y

— YF) = r (4.11)

To determine if a cutter arc of radius r, ever intersects the circle the quadratic formula

is applied to find the solutions for xc in (figure 4.12)

(r + rF)2 (xc—

XF)2 + y (4.12)

If there is no real solution then the cutter never crosses the circle along the current path,

and the null cutter immersion interval [0, 0) is returned in response to any intersection

query. Otherwise, the earlier of the two roots from (4.12) is the point of initial contact.

In figure 4.12 this is point A.

Page 125: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 4. Cutter—part intersection calculations 98

Figure 4.11: Rectangle—cutter arc classification. After the immersion intervals from allfour sides of the rectangle have been combined, they are complemented to again reflect asolid interior rectangle feature. The cutter arc zero angle point is inside the rectangle ifand only if it lies to the left of each of the four sides. In that case, the immersion intervalcontaining the zero angle point is classified as in cut. Advancing around the semi-circulararc the remaining intervals, bounded by the A(XA, VA) and B(XB, YB) intersection points,are alternately marked as out of then in cut.

K2

K1

K3 out

t, 1in

r\Q

Page 126: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 4. Cutter—part intersection calculations 99

r

Figure 4.12: Circle critical points—re < rp. The circle centre point is F(XF, yF). Initialcontact of the cutter arc with the circle occurs at tangency (point A) where the distancefrom F to A is r + Tp. The cutter arc then passes entirely inside of the circle at point B,where the line r below the path intersects the circle. The cutter arc crosses to the outsidebeginning (point C) where the distance from F to C is rF — r. Final contact occurswhen the cutter arc centre is at point D, where the line r above the path intersects thecircle.

Page 127: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 4. Cutter-part intersection calculations 100

The two cases (1) r < TF (cutter radius smaller than circle radius) and (2) r ‘rF

(cutter radius equal or larger than circle radius) now require separate analyses.

In the first case r, <rF the cutter arc can move along the path to next be fully inside

the circle, in which case the cutter immersion interval is a full [0,7r). This condition

is checked by constructing a line parallel to the cutter path a distance r away and on

the side opposite to the circle centre point F. The intersection points of this line with

the circle are then computed. If real solutions exist, the point with the earlier Xc value

locates the cutter arc centre when it passes fully inside of the circle. For example, in

figure 4.12 the circle centre F is above the cutter path and hence the parallel line has

the equation y —re. The intersection points are found by simultaneously solving the

line equation with the circle equation (4.11)

(XC — XF) + (—re— yp) = r

The earlier point in this case is marked B.

Assuming that the cutter did pass fully inside the circle, the next critical point occurs

when it again becomes tangent with the circle. This point is found by retaining the later

solution for XC in the equation

(TF — r)2 = (XC — XF)2 + y (4.13)

In figure 4.12 this is point C.

Finally, the cutter arc will be completely past the circle when its diameter perpen

dicular to the path is beyond the circle circumference. To find this point construct a line

parallel to the cutter path at a distance r, and on the same side as the circle centre point

F. The point of final contact is the intersection of the line with the circle that has the

later XC value. In the example of figure 4.12 the equation to solve is

(XC — XF)2 + (r— yF) = (4.14)

Page 128: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 4. Cutter—part intersection calculations 101

Figure 4.13: Circle critical points—re > TF. (a) Final contact at tangency (b) Finalcontact when the cutter diameter perpendicular to the path passes the circle.

and the cutter arc centre at final contact point is point D.

In the second case r > TF it is impossible for the cutter arc to be entirely inside of

the circle. Instead, check solutions to (4.13). If real solutions exist then the later xc

value is the final contact point. Otherwise construct the parallel line r away from the

cutter path and on the same side as the circle centre F, and solve as in (4.14). These two

cases are illustrated in figure 4.13, where the cutter arc centre location at final contact

is marked C.

As with the rectangle feature, computation of the cutter immersion interval endpoints

is performed incrementally. At an instantaneous cutter centre location C(x, yc) the line

CP (figure 4.14), which is the perpendicular bisector of AB, subtends an angle

= arctan(XFXC)

(4.15)

(a) (b)

with the horizontal cutter path. The immersion interval endpoint angles are now

Page 129: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 4. Cutter—part intersection calculations 102

Figure 4.14: Circle—cutter intersection angles. The circle centre is located at F(XF,YF)and the cutter is centred at C(x, 0). The perpendicular bisector CF of AB is found,and the angles 0L and 87’ computed using (4.15) and (4.16). The immersion intervals arethen expressed in the usual immersion angle notation.

ir/2— 8A and q!B ‘ir/2

— 8B where 8A °L + 87’ 0B = —

07’ and

= arccos (loT!)(4.16)

The zero angle point of the cutter arc is classified as in cut if distance from the circle

centre F to the zero angle point is less than rF, and out of cut otherwise. Moving along

the semi-circular arc the remaining intervals, bounded by the intersection points A and

B, are then alternately marked as in then out of cut to obtain the correct [4,j, qex,i)

classification.

OUt\

0

C

\

out

Page 130: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 4. Cutter—part intersection calculations 103

4.3 Cutter immersion interval combination

In order to find the cutter immersion arcs for the part as a whole, it is necessary to

combine the results for each isolated primitive. This is accomplished using a recursive

method which exploits the data structure and “divide and conquer” paradigm of the

CSG solid model representation scheme.

Cutter immersion queries are answered by a recursive traversal of the CSG tree used

to define the part. When two primitive or leaf nodes are found as children, the parent

operation is applied to combine the immersion data for each child according to table 4.1.

The actual merge of the two cutter immersion arcs is performed as follows:

1. Each primitive’s immersion data is stored in an endpoint list sorted in increasing

order by angle.

2. Beginning at the zero angle point, the lists are merged and the immersion intervals

marked as in or out of cut according to table 4.1.

3. Duplicate and redundant endpoints are deleted to yield the combined list.

This combination procedure is repeated until the entire CSG part representation tree has

been traversed.

Illustration of the procedure is shown in figure 4.15. The solid portion of the part is

shown hatched, and the in cut intervals of the cutter are drawn with thick arcs. The cor

responding Boolean immersion interval combination table is included as table 4.2. First,

the cutter immersion arcs for the rectangle A [b5t,A, qSexA) and the circle B [q-13t,B, ex,B)

are determined using the methods developed in section 4.2. Next, each interval is clas

sified as either in or out of cut. The interval endpoints are sorted in ascending order by

angle, and merged. Finally, using table 4.1, the intervals are combined according to the

Boolean operator rules to yield the final immersion intervals [qst,i,q1ex,i).

Page 131: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 4. Cutter—part intersection calculations 104

A B Au*B AnB A-*Bin in in in outin out in out in

out in in out outout out out out out

Table 4.1: Boolean immersion interval combination rules. The left two columns list theclassification of a cutter immersion interval for primitives A and B. The right threecolumns list the resulting classifications for the Boolean union U*, intersection fl* anddifference —* combinations.

A B Au*B[0, /it,B) [0, ‘b3,o) out

[0, çb3t,A) out [1-st,B, kex,B) [q’st,o, q’ex,o) in

[ /-st,i)

[st,A, çbex,A) [q5exB, ir) out [qfi, qex,i) in[ qX,A, ir) [qes,i, 7r) out

(a)

A B AnB

[0,q5stA) out [0, bt,B) [0, o) out

[ qex,A) in [qst,B, bexB) in [q3t,o, 4’ex,o)

[q5,o, r) out[4ex,A,7r) out eB,7r) out

(b)

A B[0, çb5t,A) o btB)

[0, q58t,o) 2L[4stO, ex,O) in

[cb5t,A, cbex,A) in [‘k5tB, f)ex,B) [1exü, ki,i)

[4’exB ,it) out [q’st,i, qSex,i)

[q.4e,A, ii-) [qex,i, it) iT(c)

Table 4.2: Boolean immersion interval combination. The table above shows the irnmersion interval classification for each of the three cases illustrated in figure 4.15.

Page 132: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 4. Cutter—part intersection calculations

A

0st,A

0st,A

B—. øst,B

8—--- øst,B

Au*8_ øs t , 0

0

105

Figure 4.15: Boolean immersion interval combination illustration. The solid portion ofthe part is shown hatched, and the in cut immersion intervals [qst,i, cbex,i) are drawn withthick arcs. See also table 4.2. (a) A U *B. The combined cutter immersion intervalsconsist of intervals in either A or B. (b) An *B. The combined cutter immersion intervalconsists of the interval in both A and B. (c) A — *B. The combined cutter immersionintervals consist of intervals in A but not in B.

\

//

/

(a)

An*8

//

(b)

A_*B

—*

(c)—— 0ex,1

Page 133: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 4. Cutter—part intersection calculations 106

p xQpIp_[jo

øst,O øexO

0

øst,1 øex,1

0

øst,2 øex,2

0

øst, Oøex, 0

0øst,O1øex, 0

0

0st,1 Øex,1

0

Figure 4.16: Immersion interval linked lists. For each sample point x along the cutterpath a new list is begun, with the immersion intervals stored as separateelements.

The cutter immersion information for the overall part shape is then recorded in the

form of a linked list data structure (figure 4.16). At each sample point along the

cutter path a list of the cutter immersion intervals [q5st,i, qex,) is formed. The lists for

each sample points are then chained together so that the cutter immersion information,

needed during milling process model calculations (chapter 6), is available incrementally

along the entire path.

A part consisting of 12 primitives and requiring a more complex CSG data structure

is shown in figure 4.17. Using this example, a demonstration of the cutter immersion

interval combination procedure is shown in figure 4.18. At each sample point along the

cutter path the immersion intervals are found for each of the primitives. The intervals

Page 134: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 4. Cutter—part intersection calculations 107

are then combined using the Boolean operation at the parent node. The procedure is

repeated until the entire CSG tree has been traversed. Figure 4.19 is a screen image of

the algorithms of this chapter as implemented on a graphics monitor equipped micro

computer (see [110, appendix D, program cutmod]). The time to calculate and display

the immersion intervals at 100 evenly spaced sample points along the cutter path was

approximately 20 seconds. In section 7.3 several face milling simulations and experiments

are conducted using this example part shape.

As more features are added to the part shape, the number of primitives and com

plexity of the CSG tree soon becomes excessive. The majority of the primitives will not

contribute to the immersion interval calculation at a specific point on the cutter path,

and hence a large portion of the computation time will be wastefully consumed. Ad

ditional computational effort is required to repeatedly sample along the cutter path to

determine the immersion intervals. When only a single immersion interval is involved in

the calculation, this incremental approach should be improved by developing analytical

formulae to express, as functions of the path position x, the interval endpoint angles

b8,(xC) and qex,i(xc).

In chapter 5 computational geometry methods for identifying and eliminating re

dundant primitives are examined. Interval endpoint angle functions are developed to

avoid incremental sampling along the cutter path when a simple immersion geometry is

recognized.

4.4 Summary

In this chapter a systematic method of finding the cutter immersion angles was developed.

First, the straight line cutter path was transformed to a standard location and orientation

beginning at the plane origin and advancing along the positive x axis. Using concise

Page 135: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 4. Cutter—part intersection calculations 108

Figure 4.17: Complex CSG part. The part consists of 12 primitives and requires a morecomplex CSG data structure. A sample calculation of the cutter immersion intervalswith this part is shown in figure 4.18.

-*

/

J KL ABu*/\

u*

CD

Page 136: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 4. Cutter—part intersection calculations

Figure 4.18: Complex part immersion interval combination. At one location along thecutter path the immersion intervals are calculated for the part in figure 4.17. In cutintervals are drawn with thick arcs, and out of cut intervals are shown with thin, brokenlines. A display of the calculation along the entire path, using an implementation of thealgorithms developed in this chapter, is shown in figure 4.19.

109

-*

o 0

___

F)o-0

-

0

/

/u*\

/

‘60

0 10-/

-

_u\.

0 \ 0

‘Li 0 1

/u*\ /u*\ /u*\

:; -0 ) 0) 0 ) OD)

0

Page 137: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 4. Cutter—part intersection calculations 110

(right to ahort)

Figure 4.19: Cutter immersion algorithm implementation. The algorithms developedin this chapter have been implemented on a graphics monitor equipped microcomputer(see [110, appendix D, program cutmod]). A screen image of the program operatingon a complex part is shown above. Refer to figure 4.17 for the corresponding CSG datastructure.

Enter snap size 3 .

define (IDorkpiece1 define (C)utter path, coMpute (A)ngles, (S)nap size,(D>isplay control, eOOit

aclick left hutton to select featuraSave angle list to file (UN)? t>

Page 138: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 4. Cutter—part intersection calculations 111

definitions of rectangle and circle primitives (blocks and cylinders in 2 1/2 D), calculation

of the cutter—primitive intersection was carried out in a straightforward manner. The

intuitive Boolean combination method provides an easily implemented solution capable

of handling any part definable with the CSG primitives and data structure.

Page 139: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 5

Relevant primitive identification

In chapter 4 a straightforward procedure for determining the cutter-part intersection

geometry was developed. The method began by determining the immersion angles for

simple primitives such as rectangles and circles (blocks and cylinders in 2 1/2 D). These

were then combined by applying the appropriate Boolean operator as the part defini

tion tree was traversed. Any 2 1/2 D part representable using the CSG primitives and

operation tree could therefore be accommodated.

As the part becomes more complex, however, increasing computational effort will be

expended examining primitives which do not affect the final cutter immersion interval

endpoint angles. Redundancy problems of this nature must be efficiently solved to achieve

acceptable computation speed. The focus of this chapter is on the redundancy issue and

relevant primitive identification as applied to a CSC based milling process simulation

system.

The following section examines redundancy of part features distant from a group of

localized cutter paths. Representation issues and design strategies to assist in eliminating

irrelevant primitive groups are discussed. The S-bounds, active zone and iso-oriented box

techniques reported in the literature are outlined and related to milling process simulation

requirements.

Next, in section 5.2, the issue of identifying relevant primitives in a chain of n cutter

paths, such as in pocketing operations, is addressed. In this case the part model changes

as each path is completed. Instead of reflecting this by incrementally updating the CSG

112

Page 140: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 5. Relevant primitive identification 113

tree, it is proposed that a separate list of completed cutter paths be checked. Then,

after the entire chain has been completed, the model is updated using a smaller CSG

primitive group which represents the net effect of the cutter path chain. Implementation

of this strategy requires that an efficient method of identifying relevant cutter paths be

used. Checking each of the paths previous to each current path has an undesireable

quadratic time complexity. To improve on this, computational geometry based solutions

with O(n log n) and linear time growth rates are examined.

In section 5.3 the concept, from chapter 4, of dividing cutter paths into segments

bounded by the initial and final primitive contact points is further developed. Within

each segment primitives which can be identified as null A or universal set f redundant

are pruned from the CSG tree. This substantially reduces the effort needed to locally

calculate the cutter immersion intervals. In end milling it is frequently discovered at this

point that the remaining CSG tree consists of very few primitives. When this is the case,

and there is a single in cut immersion interval, the varying interval endpoint is expressed

analytically as a function of the cutter centre position along the path. This permits an

especially rapid milling process simulation method to be used in section 6.3.2.

A summary of the chapter and the overall geometric aspects of the milling process

simulation system is then given in section 5.4.

5.1 Redundancy and local cutter paths

Typical parts are comprised of a number of disjoint features which can each be described

by a CSG primitive group. Consider for example figure 5.1, where a part comprising

of three holes (labelled A, B and C) and five pockets (D—H) is shown. The individual

primitives for feature F are shown in detail. Each of the pockets and the outside

periphery I is described by a similar primitive combination D, E, ..., I and hence

Page 141: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 5. Relevant primitive identification 114

overall the part requires a complex CSG tree description. During cutter immersion

interval calculations this large tree must be repeatedly traversed—a time consuming and

wasteful procedure since the majority of the primitives is unlikely to influence any one

particular cutter path.

If, however, the part is milled in a methodical fashion, it is possible to eliminate most

of the CSG tree from consideration during simulation along a group of individual cutter

paths. For example, imagine that the features are cut from the initial blank part W in

the order A, B, C,. . . , I. Just prior to starting to mill pocket G the part would appear

as in figure 5.2. At this moment the CSG part representation would include the blank

part W, and each of the completed features A—F. The swept volume of any cutter path

Ge,, used to mill G will certainly be a subset of C, and hence primitives disjoint from

G will also be irrelevant to each of its constituent cutter paths. In the example shown

all of the part features are disjoint from G, and can be replaced by the null set A. After

simplification using table 2.1 the CSG tree will consist of only the blank part W which,

with respect to C, is redundant (figure 5.3). It is not uncommon for such extensive

simplifications, and the associated reduction in immersion interval calculation effort, to

be possible.

To automatically recognize the disjoint part features, several interference checking

algorithms are appropriate. Iso-oriented box methods, and the S-bounds and active zone

approaches used specifically with CSG representations are discussed in the following

sections.

Iso-oriented boxes

To establish that two primitives A and B are disjoint, it is sufficient to check that their

intersection is null (i.e. A fl *B = A). Proving this directly is often difficult due to the

complex shapes involved, and hence approximate bounds enclosing the actual primitive

Page 142: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 5. Relevant primitive identification 115

Figure 5.1: Multiple part features. The part above consists of three holes A, B and C,and five pockets D—H. The outside periphery is labelled I, and the initial blank shape isdenoted by W. The individual primitives for feature F are shown in detail. Eachof the pockets and the outside periphery is described by a similar primitive combinationD1, E, ..., I and hence overall the part requires a complex CSG tree description.

Page 143: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 5. Relevant primitive identification 116

Figure 5.2: Redundant part features. The part from figure 5.1 is shown just prior tocutting pocket G. During cutter immersion interval calculation for the paths of G, thepreviously completed features A—F are irrelevant and can therefore be replaced by thenull set A. Furthermore, the initial blank W can be replaced by , the universal set (seefigure 5.3), minimizing the immersion interval calculation effort.

Page 144: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 5. Relevant primitive identification 117

Figure 5.3: Reduced CSG tree. After substituting A or for the redundant primitives,the CSG tree can be simplified (section 2.4.5, table 2.1). In the example from figure 5.2it reduces down to the universal set A, minimizing the immersion interval calculationeffort. For clarity only the individual primitives for the pocket F are explicity shown.

—*

-*-----

/\—* D E

w

/u*C/\

A 8

F

u*/\ /\

u*/\ /\ /\ /

F1 F2 F3 F4 F5 F6 u/\

F7 F8

F9

0

Page 145: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 5. Relevant primitive identification 118

are frequently used. If cr(A) and a(B) are approximate bounds enclosing primitives A

and B respectively, and u(A) and a(B) are disjoint, then A and B are disjoint. That is,

if A C u(A) and B C (B), then u(A) fl *u(B) = A = A fl *B = A. Iso-oriented boxes

are the most common simple shape used for this purpose.

An iso-oriented box or isobox has its sides oriented parallel to the coordinate system

axes. When used as an approximate bound for a CSG primitive A, the box size is chosen

so that it just encloses A. Examples of isoboxes in two and three dimensions are shown

in figure 5.4.

Testing for intersections of isoboxes in two dimensions is most efficiently accomplished

using the sweep paradigm. First, the horizontal line segments of the n isoboxes are

sorted in decreasing order by y coordinate. This can be completed in O(ri log n) time

using an algorithm such as heapsort (see Aho, Hopcroft and Ullman [1, chapter 8]).

Then, beginning above the highest isobox, an imaginary horizontal sweep line is moved

downwards (figure 5.5).

As the top of each isobox is encountered, its horizontal interval [Xq,L, Xq,R) is checked

against all intervals already stored in an interval tree [46, 77]. This data structure is

a binary tree containing all horizontal interval endpoints Xj,L and x,R augmented by a

doubly linked list and balanced tree to store the intervals. It permits all intervals which

share points with the query interval [Xq,L, Xq,R) to be identified in logarithmic time.

If the new interval intersects any entries s1ored in the interval tree, this fact is reported

as a pair of interfering isoboxes. The new interval is then added to the interval tree. When

the bottom horizontal segment of an isobox is encountered, its interval is deleted from

the tree. This procedure reports all isobox intersections exactly once, and operates in

time O(N + n log n), where N is the total number of reported intersections.

A slightly more complex approach, based on the segment tree, is required for three

dimensional isobox intersection testing. This method operates in O(N + n log2 n) time.

Page 146: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 5. Relevant primitive identification 119

(G)

(b)

Figure 5.4: Iso-oriented boxes. An iso-oriented box or isobox has its sides oriented parallelto the coordinate system axes, and just encloses the primitive that it approximates. (a)a 2 D isobox (b) a 3 D isobox

A

a(A)

(B)

Page 147: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 5. Relevant primitive identification 120

Figure 5.5: Sweep paradigm for isobox intersection. An imaginary horizontal line is sweptfrom top to bottom. When the top of an isobox is encountered, its interval [Xq,L, Xq,R) 5

checked against entries [x,L, x,R) already stored in an interval tree and any intersectioncases reported. The new interval is then added to the tree. Intervals are deleted whenthe horizontal line passes over the bottom of the isobox. In the example above, intervalscurrently stored in the tree are shown with thicker lines.

Further details are provided in the texts by Hoffmann [46] and Mehlhorn [77].

A disadvantage of bounds such as isoboxes is the potentially poor approximation of

the shape enclosed. This can result in many isobox intersections being reported when the

primitives enclosed are actually disjoint (figure 5.6). Excessive false interference detection

is a problem which can degrade of overall usefulness of the technique.

The intersection reporting algorithms for isoboxes are general tools independent of

any particular solid modeller representation. Although this generality would seem an

advantage, it prevents beneficial exploitation of a particular solid model data structure.

For example, referring again to figures 5.2 and 5.3, testing that the features A—F are

disjoint from C would be performed by checking each individual primitive, rather than

1,R

sweep line

Page 148: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 5. Relevant primitive identification 121

(6)

(A)

Figure 5.6: Poor isobox fit. Here shapes A and B do not interfere, but their isoboxes u(A)and u(B) do. These false interference cases will be reported by the isobox intersectionalgorithms, degrading the usefulness of the method.

Page 149: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 5. Relevant primitive identification 122

by testing the feature as a whole. There is no means of grouping the primitives into CSG

subtrees. The S-bounds and active zone approaches, described in the following sections,

offer improvements in this area.

S-bounds

As was observed in the previous section, mechanical parts frequently can be described

as a collection of features. With the CSG representation, each feature is comprised of

a number of primitives which are combined using the regularized Boolean operators to

form a subtree. During redundancy detection these subtrees should be treated as a unit,

with an appropriate enclosing bounds available for the feature as a whole. This will avoid

the need to exhaustively check each primitive pair combination to verify that two feature

subtrees are disjoint.

Cameron [17] has proposed the S-bounds method, which is particulary useful in these

circumstances. His method proceeds as follows:

1. First, each primitive in the feature subtree is enclosed in an approximating bound.

An example CSG subtree with isobox bounds is shown in figure 5.7.

2. Next, a “window” is attached to each leaf and interior node of the CSC subtree.

Initially the approximating bounds are used for the primitives (leaves), and the

universal set (the approximating bound with infinite dimensions) is used for the

interior nodes.

3. Beginning at two sibling leaves L1 and L2, the parent node window is refined by

applying one of the following three rules, depending on the parent operator:

(a) If the operation is L1 U *L2, then substitute u(u(L1)U *a(L2)) for the parent

window.

Page 150: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 5. Relevant primitive identification 123

(b) If the operation is L1 fl *L2, then substitute a(u(Li) fl *u(L2)) for the parent

window.

(c) If the operation is L1 — *L2, then replace the parent window with u(Li).

This step is recursively repeated until the root of the solid is reached.

4. Beginning at the root, the bound at a child L1 is replaced by u(Li) 11 *u(L), where

L is the parent node. This continues until all leaves have been reached.

5. Steps 3 and 4 are alternately repeated until no further changes occur.

Figures 5.8 through 5.10 demonstrate the method as applied to the solid depicted in

figure 5.7. Cameron has shown that the overall algorithm converges in at most n — 1

passes, where n is the number of leaves in the tree. Bounds other than isoboxes, such as

circles, convex polygons or spheres, have also been suggested for use with the S-bounds

method [19j.

The S-bounds method provides an intuitive approach to approximating the shape

of a CSG subtree. It permits the part to be examined as a collection of features in a

structured way, rather than individually considering each primitive in a large CSG model.

When there are a few, complex features (such as completed pockets) this approach avoids

much of the work needed to identify disjoint CSG subtrees.

An additional benefit of the S-bounds approach is its ability to identify redundant

primitives which can permanently be pruned from the feature subtree. In the example

shown, primitives F, T and U are identified as A redundant. The primitive R is redun

dant, but this cannot be detected by the S-bounds method. The active zone approach,

described in the next section, is capable of identifying fI redundant primitives.

Page 151: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 5. Relevant primitive identification 124

/\S U

Figure 5.7: CSG subtree and primitive bounds. (a) Each primitive (shown with thicklines) is enclosed in an isobox bound (shown with thin lines). The bounds are then refinedby the S-bounds method, which is illustrated in the subsequent figures. (b) CSG treefor part (a). The Boolean expression represented is ((Q — *F) fl *(S U *U) — *T) fl *R.

(a)

R

-7/\

Q PN

T

(b)

Page 152: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 5. Relevant primitive identification 125

Figure 5.8: S-hounds refinement—initialization. The example is continued from figure 5.7.Primitives are initially bounded by their isoboxes, and interior nodes by the universal set2 isobox which has infinite dimensions.

Page 153: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 5. Relevant primitive identification 126

Figure 5.9: S-bounds refinement—upward (pass 1). The bounds at the interior (parent)nodes are refined by applying the appropriate Boolean operation with the children.

Page 154: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 5. Relevant primitive identification 127

Figure 5.10: S-bounds refinement—downward (pass 2). The bounds at the leaves arerefined. The algorithm converges on this pass, and a relatively small resultant bound remains. Primitives F, T and U are identified as A redundant. Primitive R is Q redundant,but this is not detected by the S-bounds method.

Page 155: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 5. Relevant primitive identification 128

Active zones

An alternative redundancy checking method is the active zone technique proposed by

Rossignac and Voelcker [100]. The active zone 2(L) of a CSC primitive L is the region

within which, if the shape of L were to change, the resulting CSG tree shape would also

change.

Conceptually, it is easier to consider active zones on a positive CSG tree—that is, trees

with only U* and fl* operations. All —* operations are replaced by a fl* operation with

the right child replaced by its set complement. For example, the shape in figure 5.7, with

Boolean expression ((Q — *P)n *(Su*U)— *T)fl*R has ((Q n*P)n*(Su *U)fl 4’)fl*R

as its positive equivalent.

The active zone of a primitive L is then determined by replacing it with Q, and

interpreting any U* operations as —* operations along the tree traversal path from the

root to L. For example, in figure 5.11(b) 2(U) is ((Q fl *P) fl *(( — *S) fl *)) fl *R.

Similarly, 2(R) (Qn*P)n*((Su*U)n*T). It has been shown [100] that a primitive L

is redundant if and only if 2(L) C L, and is A redundant if and only if L fl *2(L) A.

Hence in figure 5.11(b) U is shown to be A redundant (It can similarly be shown that P

and T are A redundant.). Figure 5.11(c) shows that R is f redundant.

Implementation of active zones requires a means of testing the sets referred to, and

isoboxes are frequently suggested to approximate this. Cameron and Rossignac [18]

discuss relationships between S-bounds and active zones.

As with the S-bounds method, the active zone technique is particular to the CSG

representation method. It provides a structured approach to identifying and removing

redundant primitives from CSG subtrees, thus simplifying the later task of calculating the

cutter immersion intervals. Although it does not directly refine bounds for the primitives

or subtree, it is capable of identifying Q redundant primitives—which the S-bounds method

Page 156: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 5. Relevant primitive identification 129

cannot do.

Discussion

This section has examined, with reference to milling process simulation requirements,

three redundancy checking methods in common use.

Iso-oriented boxes were described as an approximate bounds which can be used to

simplify intersection calculations with CSG primitives. In conjuction with the interval

and segment tree data structures, the isobox can be used to achieve efficient identification

of intersecting primitives. The difficulty with the approach is that it requires testing of

the entire population of primitives in a CSG tree. No attempt is made to exploit the

feature subtree structure which normally would be present.

The S-bounds and active zone methods are particular to the CSG representation, and

make beneficial use of it. S-bounds can be refined for a subtree in a natural way using

the familiar regularized Boolean operators. The active zone technique identifies the part

of a CSG tree that sensitive to changes in any one primitive. In particular it can be used

to identify primitives that are l redundant.

The success of any of the approaches discussed is highly dependent on the tightness of

the approximate bound. The highest success rate will be achieved when the bound very

nearly matches the actual shape being enclosed. In this case intersecting bounds will

seldom be reported when the enclosed shapes themselves do not intersect. In contrast,

when the bounds are very poor (as in figure 5.6), many false intersections may be detected.

This degrades the usefulness of the algorithms involved.

Throughout the section it has been assumed that the part model was automatically

created in the desired feature subtree structure. With most solid modellers, however, this

is up to the discretion of the part designer. It is reasonable to assume existence of such a

structure, since it naturally leads to a manufacturing process plan which cuts the features

Page 157: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 5. Relevant primitive identification

//\

Q

//\QP

//\

Q

//\

/\-T

/\

Figure 5.11: Active zones for primitives. (a) the positive form of the CSG tree infigure 5.7(b) (b) the active zone 2(U) of primitive U. The parent operator for S andU has been switched from U* to —*, and U has been replaced by . The path fromthe root to U is shown with thicker lines. Note that 2(U) fl *U A, and hence U is Aredundant. (c) the active zone 2(R) of primitive R. Since 2(R) C R, R is Q redundant.

130

R

P T

S U

R

/\-—* T/\

SQ

(a)

(b)

(c)

P

S U

Page 158: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 5. Relevant primitive identification 131

as a unit [23, 107, 136]. Other researchers, however, feel that this is too strict a burden

to impose on the designer, and that instead automatic feature recognition algorithms

should be used to restructure the part definition [45, 71, 142]. Regardless of the way

in which it is built, a feature subtree structured model is needed to effectively use the

techniques described in this section.

5.2 Cutter path chains

5.2.1 Overview

Assuming that the redundancy elimination methods reviewed in the previous section

were used effectively, the remaining CSG part model will now be much smaller as milling

process simulation begins for the next feature. Recalling the example in figure 5.2,

only the universal set Q remained in the CSG tree when the first path of pocket C is

started. This simplification avoided much of the computational effort that would have

been needed to find the cutter immersion intervals if the large, original part tree were

retained. Simulation of each cutter path in the pocketing operation, however, can again

cause rapid growth in the CSC data structure, and poor computational efficiency.

As outlined in chapter 2, the most apparent way to represent material removed by

a cutter path is to model the swept volume using a group of three CSG primitives

(figure 5.12(a)). As each path is completed, its swept volume is subtracted from the

initial part shape using the Boolean difference operator —*. Figure 5.12(b) illustrates

the appearance of pocket G as its third path begins. The corresponding CSG expression

for the part at this point is ((cl — *Gc,1)— *G,1) — *G,2 (including the initial drilling

cut).

Since the swept volume of a previously completed path may influence the immersion

interval calculations along the current cutter path, an up to date representation of the

Page 159: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 5. Relevant primitive identification 132

/ \GCAI GCB,i

(a) (b)

Figure 5.12: Cutter path swept volumes. (a) Each cutter path swept volume canbe modelled as a group of three CSG primitives combined using the expression

= (GA2 U *BCB,1) — *G1. (b) Appearance of pocket G as the third path begins. Including the initial drilling cut, the CSG expression for the part at this point is(( — — *G1)— *G2.

—*

/

Page 160: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 5. Relevant primitive identification 133

part shape must be available. Maintaining a CSG tree of completed cutter paths is the

most apparent solution, but it becomes increasingly time consuming as the data structure

grows. Therefore alternative methods, which allow more efficient identification of the few

relevant preceding paths, are preferred. This is the goal of the section.

5.2.2 Incremental swept volume checking

One intuitive alternative is to incrementally check all previous paths in a cutter chain

for relevance to the current path by testing their swept volumes for intersection. Only

paths that are found to be relevant would actually be included in the CSG tree used for

immersion interval calculation.

Beginning with the second path in the chain, the first path would be checked for

intersection. Next, the first two paths would be checked against the third path, and so

on. For a total of n paths, this would involve checking 0 + 1 + ... + (n — 1) preceding

paths. The sum of this arithmetic series is n(n — 1)/2, and hence the procedure has an

undesireable quadratic running time growth rate.

Another alternative is to enclose the swept volume of each cutter path within an

isobox and apply the O(N + n log n) time complexity interval tree and sweep paradigm

as described in section 5.1. Often however, the cutter paths are long and may be oriented

away from the coordinate system axes. Hence, because of poor isobox fit, this approach

can report a high number of false intersections (figure 5.13(a)).

5.2.3 Line segment intersection test

An improved approach is to again enclose the swept volume in a box (rectangle in 2 D),

but align it with the direction of the path (figure 5.13(b)). Since a common cutter radius

r is assumed throughout the path chain, each rectangle will have the same width 2r. A

minimum enclosing rectangle length of 2r is always used.

Page 161: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 5. Relevant primitive identification 134

>

Figure 5.13: Approximate bound fit. (a) Since cutter paths are often long and maybe oriented away from the coordinate system axes, isoboxes can poorly approximatethe enclosed swept volume. This may cause a high number of false intersections to bereported. (b) Rectangles oriented with the cutter path direction always provide a tightfit.

(a) (b)

Page 162: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 5. Relevant primitive identification 135

Under these circumstances it is impossible to produce a situation where one rectangle

entirely encloses another, and hence the specific capability of the interval tree method

to detect such an occurrence is unnecessary. Instead, since at least one pair of sides

of interfering rectangles must cross, a test for intersection of the side line segments is

sufficient. A brief description of a sweep paradigm based algorithm (see Mehlhorn [77,

chapter VIII, section 5.1]) to accomplish this task follows.

To report all N intersecting pairs of n line segments in O((N + ii) log n) time, first

sort the 2m segment endpoints in decreasing order by y coordinate. Using heapsort this

can be accomplished in O(nlogn) time. The list of sorted endpoints is then stored in a

balanced search tree E (such as a 2-3 tree [1]).

Next, sweep an imaginary horizontal line down the plane, starting above the line seg

ment with the highest endpoint (figure 5.14). This is equivalent to traversing the search

tree in order. When a line segment is first reached, its horizontal position is determined

relative to any segments which the sweep line already crosses. The segment is then in

serted into a second balanced search tree S of horizontally ordered active line segments.

The new segment is then checked for intersection with its left and right neighbours and, if

an intersection point is found, it is reported and the point inserted into the endpoint tree

E. When it is later encountered during the tree traversal, the two intersecting lines are

swapped in S. Further intersection tests are then carried out between the two swapped

lines and their nearest left and right neighbours. When the lower endpoint of a line

segment is reached, it is removed from S, and an intersection test conducted for its two

nearest neighbours. The algorithm terminates when E has been completely traversed,

which indicates that the sweep line must be below the lowest endpoint.

In conjunction with the rectangle approximating bounds for the cutter path swept

volume, the line segment intersection method is a straightforward solution for finding

relevant cutter paths. It is easier to implement than the interval tree method and uses

Page 163: SOLID MODELLER BASED MILLING PROCESS SIMULATION

‘ // /

\ / //\ / / /\ N\ r 7

1\ > II\,\ 1/

L____1

Chapter 5. Relevant primitive identification 136

/

sweep line

//

// /

>

// //

/

//

//

//

//

/

Figure 5.14: Line segment intersection by sweep. After the endpoints of all line segments(the rectangle sides) have been sorted, an imaginary sweep line is moved downwards.When a line segment is reached, it is inserted in a tree of horizontally ordered active linesegments (The currently active line segments are shown with thicker, unbroken lines.).Intersection tests are conducted each time a new line segment neighbour pair is created.

Page 164: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 5. Relevant primitive identification 137

a much tighter bound than the isobox. In addition to the path itself, the only required

information is the cutter radius. With its O((N + n)log n) time complexity this method

a good choice for use when there are a moderate total number of cutter paths within a

pocket.

When the number of paths n becomes larger, however, it is valuable to have alterna

tive solutions which offer even lower algorithmic growth rates. To achieve this requires

exploiting the properties of cutter path chains, and hence an examination of the common

pocket cutter path generation strategies is warranted.

5.2.4 Pocket cutter path generation strategies

Removal of material from a 2 1/2 D pocket is usually performed in three stages (fig

ure 5.15). In the first stage, a pass is made around the pocket a slight distance away

from the intended finished surface. This permits subsequent passes to avoid internal

corners where high cutting forces and chatter often occur. The second stage consists of

the cutter paths which remove the bulk of material. Finally, the third stage generates

the final pocket walls.

Two strategies: (1) zigzagging and (2) spiralling are commonly chosen for the bulk

material removal in stage two. The characteristics of these methods and are reviewed in

the following two sections.

Zigzagging Strategy

The zigzagging strategy begins at one corner of the pocket and, using a sequence of

reversing paths, advances toward the diagonally opposite corner. The horizontal spacing

between adjacent cutter paths must be less than 2r to ensure overlap. Further limitations

to avoid an uncut cusp at a corner are discussed with the spiralling strategy below.

Using the zigzagging strategy, a complete set of cutter paths to mill the example pocket

Page 165: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 5. Relevant primitive identification 138

Figure 5.15: Pocketing material removal stages. The material removed by each stage isindicated by hatching. Three stages are common: 1. An initial pass is made a slightdistance away from the intended finished surface. 2. The bulk of the material is removed.3. The final pocket walls are generated.

Page 166: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 5. Relevant primitive identification 139

Too ipaths:Contour

________________

Dr ill

_____________

PocketrUled

___________

Swept

__________________

Neuolut ion

proJectMisc.

____________________________

3d too lpthEnd progrnBackupMain Menu

2

________________

Color: 15Level: 1.Mask OFFCplane: TGuieu: T

Figure 5.16: Zigzag cutter path chain. Above is a screen image showing the complete set

of cutter centreline paths to mill the example pocket from figure 5.15. The MASTER-CAM commercial program was used to generate the paths.

from figure 5.15 is shown in figure 5.16. The MASTERCAM’ commercially available

program was used to generate the paths.

Previous relevant path centrelines must have at least one point in the band which

extends 2r above and below the current path. By using techniques similar to the planar

sweep paradigm, these paths can be identified without searching the entire pocket.

1registered trademark of CNC Software, Inc., Tolland, CT, USA

Page 167: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 5. Relevant primitive identification 140

Too lpathsContourDr illPocketru ledSweptRevolutionproJectMisc3d too lpthEnd progrmBackupMain Menu

ZColor 15Level: 1Mask: OFFCplane: Tuieu: T

Figure 5.17: Spiral cutter path chain. Above is a screen image showing the complete setof cutter centreline paths to mill the example pocket from figure 5.15. The MASTER-CAM commercial program was used to generate the paths.

Spiralling Strategy

Generating the cutter paths for the spiralling strategy starts by constructing offset seg

ments beginning at the pocket boundary (figure 5.17). These segments are then chained

to create the cutter path needed to remove the pocket material. Further details on

spiralling algorithms have been published in the literature (see for example [91, 115]).

The spacing between adjacent offset segments must ensure that no material remains

as a cusp at the corners. For a corner angle of a, this is assured if the spacing is less

than r[1 + sin(a/2)] (figure 5.18).

Page 168: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 5. Relevant primitive identification 141

//

//

r [1 +sin(cx/2)]

Figure 5.18: Cusp avoidance. To prevent cusps of material being left at internal corners,the spacing between adjacent cutter paths must be less than r[1 + sin(a/2)].

If the cutter path traces the offset segments in sequence, only the paths comprising

the offset adjacent to the current offset will be relevant. This is true regardless of the

spacing and whether or not the swept volumes intersect, since the path nearest the current

path will cut away any influence that a more distant path might have had on immersion

interval calculations (figure 5.19).

Discussion

Ideally, a solid modeller based system should include cutter path generation and milling

process simulation components as well as design capabilities. Specific communication

/ //

/r sin(cx/2)

-f

Page 169: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 5. Relevant primitive identification 142

intervening path

irrelevant path

currentpath

Figure 5.19: Occluding cutter paths. Only the path nearest the current cutter path isrelevant, since any intervening path would cut away or occlude the influence that a moredistant path would have on immersion interval calculations.

between the path planning and milling process simulation components would allow a

quick assessment of the chosen cutter paths, and the possibility of adjusting the strategy

to achieve a specific requirement.

The previous two sections have outlined how the frequently used zigzagging and spi

ralling pocketing strategies are used to plan cutter paths. When adherence to the strategy

can be assured, relevant paths can be identified when the current path is generated—

eliminating the need to perform this task separately. Often, however, this approach is

not available, and hence other solutions are needed.

If no islands are contained in the pocket, both the the zigzagging and spiralling

strategies will cut from a single “land” when the bulk of material is being removed

(figure 5.15, stage 2). This situation also occurs during the final pass stage or during

contouring operations. In such cases the line and arc segments bounding the land can

Page 170: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 5. Relevant primitive identification 143

segment Q segment QQdescription Qdescription

element 0 element 1

OIdescptonelement i

Figure 5.20: Doubly linked circular queue. Each element of the data structure contains adescription of the boundary segment that it represents, and pointers to both its predecessor and successor. The relevant segments for the current cutter path form a contiguouslist, which advances along the queue for subsequent paths.

be maintained with a doubly linked circular queue data structure (figure 5.20). The

boundary segments within each path’s swept volume are marked as relevant, and the

milling process simulation performed. New boundary segments caused by the current

path are then added to the queue, and the previously relevant segments either deleted

or adjusted to fit the new part boundary. For example, in figure 5.21(a), the relevant

segments for the cutter path shown are 2, 3, 4 and 5. After the path has been simulated,

segment 2 is adjusted to terminate at the new segment A, segments 3 and 4 are deleted,

and new segments A, B and C are added to the queue. Segment 5 is then adjusted to

begin at the new segment C. The relevant segments for the next path would then begin

at segment B.

More generally however islands may be present, or strict adherence to the zigzagging

or spiralling strategies cannot be guaranteed. Therefore, in the next section relevant path

Page 171: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 5. Relevant primitive identification 144

1 7

1

Figure 5.21: Boundary segment queue maintenance. (a) For the current cutter path,the relevant segments are 2, 3, 4 and 5. (b) After simulating the current path, segment2 is adjusted to terminate at the new segment A. Segments 3 and 4 are deleted, andsegments A, B and C are added to the queue. Segment 5 is then adjusted to begin at thenew segment C. The relevant segments for the next path would then begin at segmentB.

0

(a)

0(b)

Page 172: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 5. Relevant primitive identification 145

identification algorithms are developed which operate in isolation of the path planner.

The prominent characteristics of cutter path chains recognized above will be used to

achieve the anticipated efficiency of the solution, but the algorithm will remain robust if

the assumptions are violated.

5.2.5 Planar subdivision methods

Preamble

Although an ideal goal is to provide relevant path identification within the path planner,

there remain important reasons for providing this capability separately. Correct per

formance of path planners is difficult to guarantee. The human part programmer may

have incorrectly specified a parameter, or the algorithm may fail. Need for geometric

verification of NC part programs has previously been recognized (see for example Sun

gurtekin and Voelcker [116j). A logical extension is the physical verification provided by

the milling process simulation system developed in this thesis.

When errors are detected during the geometric verification process the correction

might be made only to the NC program, and not be reflected up to the path planning

stage. Changes made at the machine tool are frequently recorded only in this manner.

Additionally, a firm may possess older, verified NC programs that were created manually,

or generated using a no longer available path planner. Companies would resist discarding

a geometrically verified, complex NC part program to use a new cutter path generation

algorithm, but still desire the potential productivity improvements the milling process

simulation system can provide.

In such cases the cutter path generation algorithm cannot be combined with the

milling process simulation system, and adherence to a specific path generation strategy

Page 173: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 5. Relevant primitive identification 146

cannot be guaranteed. Nonetheless the planned path will likely exhibit the same charac

teristics as paths generated using either the zigzagging or spiralling strategies outlined in

the previous section. The relevant cutter path identification algorithms developed in this

section use these anticipated path planning strategy characteristics to achieve efficiency,

but remain robust if these assumptions are violated. Throughout, the total number of

cutter paths in the chain is denoted by n.

The following cutter path chain characteristics are assumed:

1. Cutter paths intersect at most 0(n) times. Typically a crossing would be required

only during the infrequent jumps to complete a different region of the pocket.

2. A line segment of specified length (e.g. 2r) intersects at most a constant number of

(e.g. three) cutter paths (figure 5.22). A limit of three in a 2r length is justified by

examining an interior corner (figure 5.18). As the corner angle c approaches zero

there would be exactly four paths in the 2r length, with the two middle passes

overlapping. It is argued that a good cutter path generation algorithm would

shorten the overlapping paths back to the point where they diverge in order to

adhere to the criterion. Equivalent situations arising elsewhere in the chain would

be handled in a similar way.

3. All cutter paths exceed a minimum length (e.g. are at least r long). During

milling of the bulk of the pocket material (figure 5.15, stage 2) this is a reasonable

restriction.

Substitution of other values for the example constants indicated above does not alter the

asymptotic complexity of the algorithms developed herein (see appendix B).

Since all of these assumptions are statements about the cutter path centrelines rather

than the swept volume, it is appropriate to consider an intersection test which involves

Page 174: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 5. Relevant primitive identification 147

cutter path

Figure 5.22: Adjacent cutter path density. It is assumed that at most a constant numberof (e.g. three) adjacent cutter paths are crossed by a line segment of specified length(e.g. 2r). A good path planner would avoid a high density.

Page 175: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 5. Relevant primitive identification 148

the centrelines and an approximate bound. The swept volume for a cutter path extends

r away from its centreline in any direction (figure 5.23(a)). If the material removed by

any initial drilling cut or preceding path in the chain is excluded, the swept volume of

the current path is as shown in figure 5.23(b). Suppose this region is then surrounded by

a boundary offset r away from it. For convenience in calculation, the region is closely

approximated by a rectangle enclosing it. A candidate cutter path can be relevant if and

only if a portion of its centreline enters this rectangle. For example, in figure 5.23(c) path

4 is current, and 1 and 3 are relevant. Path 2 is outside of the region and is therefore

irrelevant. Paths 5 and 6 are not considered as they have yet to be cut.

The relevant cutter path identification question can now be posed as follows: Given

a chain of n cutter paths, report the previously completed paths which interfere with

the bounding rectangle for the current path. Based on the above three assumptions and

approximating rectangle bound it is proposed that planar subdivision methods be used

to efficiently accomplish this task.

A planar subdivision represents the plane as a set of disjoint regions which are con

nected by a graph data structure. For the relevant cutter path identification problem

the idea is to determine the region in which the current cutter path is located, and then

move outwards until a specified visibility or distance criterion can no longer be satisfied.

All cutter paths encountered during the search are identified as relevant. This strategy

permits the relevant cutter paths to be identified without repeatedly examining the entire

population.

First, a horizontal visibility solution will be studied in detail, followed by a section

describing a generalized Voronoi diagram solution.

Page 176: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 5. Relevant primitive identification 149

Figure 5.23: Path centreline based bounds. (a) The swept volume for any candidatecutter path extends r away from its centreline. (b) Excluding any material removed byinitial drilling cuts or the preceding path in the chain the swept volume for the currentpath is as shown. (c) The region in (b) is offset by a distance r, and approximated by arectangle. Any candidate path centreline must now be partially within the rectangle tobe relevant. In the example, path 4 is the current path. Paths 1 and 3 are relevant, andpath 2 is not. Paths 5 and 6 have yet to be cut.

(c)

Page 177: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 5. Relevant primitive identification

—00 H-

I-————

F

-l

150

Figure 5.24: Horizontal visibility partition. The horizontal visibility partition divides theplane into disjoint regions bounded to the left and right by the cutter paths, and aboveand below by horizontal links between adjacent paths. An additional vertical pair of“paths” is added at left infinity —oo and right infinity +oo to enclose the overall regionof interest.

Horizontal visibility solution

Overview A horizontal visibility partition (HVP) of the plane divides it into disjoint

trapezoidal (and some triangular) regions (figure 5.24). For the problem under consid

eration these regions are bounded to the left and right by the cutter paths, and above

and below by horizontal links joining the adjacent paths. An additional pair of vertical

H +00

__1

L

“paths” is added at left and right infinity to enclose the overall region of interest.

Page 178: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 5. Relevant primitive identification 151

Figure 5.25: Vertex types. The vertices are shown by a .. A type 1 vertex is verticallybetween the two path segments that it joins. Similarly type 2 and type 3 vertices arerespectively above and below the path segments that they join. The fourth type of vertexrepresents path intersection, which is assumed to occur infrequently (at most 0(n) times).It is recognized during the sweep portion of the algorithm.

Building the data structure Adjacency information for the subdivision is created

using the sweep paradigm based method described by Fournier and Montuno [36]. Their

approach uses simple data structures and operates in 0(n log n) time. Chazelle [24] has

recently contributed a linear time algorithm which solves this problem for the case of a

simple (non-intersecting) chain.

The algorithm begins by classifying the vertices as type 1, 2, or 3 (figure 5.25). A

type 1 vertex lies vertically between the two path segments that it joins. Similarly, type 2

vertices lie above their path segments, and type 3 vertices lie below their path segments.

The fourth case represents intersection of path segments, and is not discovered until later

in the algorithm. Vertices are then sorted in decreasing order by y coordinates. If the

y coordinates are equal, the vertex with the smaller x coordinate is placed earlier. By

consistently using this ordering test throughout the algorithm horizontal paths require

no special treatment. The 0(nlogn) time heapsort algorithm is used to perform the

sort.

2 4

The actual horizontal visibility partitioning step, including building of the adjacency

Page 179: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 5. Relevant primitive identification 152

data structures, is then performed. Initially storing oniy the left and right infinity sides, a

2-3 tree S storing the path segments sorted in horizontal order is updated as each vertex

is encountered by the sweep line. This data structure is required to support horizontal

location of a new path in 0(log n) time. Depending on the vertex type, the following

tree maintenance operations are performed:

type 1 The upper path segment is deleted from S and the lower path segment is inserted.

type 2 The two new path segments are inserted into S in horizontal order.

type 3 Two ending path segments are deleted from S.

type 4 The horizontal order of the intersecting path segments is reversed in S.

The open starting and ending segments of the chain are treated as special cases of type

2/3 vertices in which only one path segment is inserted/deleted.

After each vertex is processed any new neighbour pairs are checked for intersection.

Since any intersecting segments must be adjacent immediately before they cross, this test

is sufficient. If an intersection is found it is entered as a new type 4 pseudo-vertex and

will be processed correctly when it is later encountered. It is an assumed characteristic

of the cutter path chain that intersections occur infrequently (at most 0(n) times) and

hence this work will not increase the asymptotic complexity of the algorithm.

The procedures to maintain S are illustrated in figure 5.26, which shows the example

geometry and sweep line location, and table 5.1, which shows the entries in S before and

after each vertex is encountered.

The actual adjacency data structure is a directed graph identifying the immediate

left and right neighbours. For each segment a left and a right doubly linked list, sorted

by y coordinates, is built which stores pointers to the neighbouring paths. Pointers to

the head and tail of the each list, and its most recently accessed element, are separately

Page 180: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 5. Relevant primitive identification

_OOl 1+00

Figure 5.26: HVP tree maintenance. As the horizontal sweep line encounters each vertex,the 2-3 tree S of line segments must be updated. The illustration above shows the examplegeometry and sweep line locations which are referred to in table 5.1 (The sweep line isshown at location e.).

153

0

jO

1

‘dsweep line

H————

e

Page 181: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 5. Relevant primitive identification

a

b

C

d

e

fg

2

1

2

4

1

3

3—cc, +00

154

Table 5.1: HVP tree maintenance. The table above shows the entries in the 2-3 tree Scontaining the cutter path centreline segments sorted in horizontal order. For example,just prior to the sweep line reaching location e (a type 1 vertex) the stored segments,in horizontal order, would be —cc, 0, 2, 4 and +oc. Following location e the storedsegments would be —cc, 0, 2, 3 and +co. Refer to figure 5.26 for definitions of the pathsand the sweep line locations.

ieep line location vertex typebefore

stored path segmentsafter

—cc, +00

—cc, 0, 1, +00

—cc, 0, 2, +cc

—cc, 0, 4, 2, +cc

—cc, 0, 2, 4, +00

—cc, 0, 2, 3, +cc

—cc, 2, 3, +cc

Page 182: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 5. Relevant primitive identification 155

maintained. Additional pointers create a combined list which is the union of the left and

right lists (again sorted by y coordinate). Construction of the adjacency structure is si

multaneously performed with path segment tree maintenance as the sweep line advances.

This procedure, for each vertex type, is described below:

type 1 First the left and right neighbours P1 and Pr of the ending path are identified.

The new path Pa is then marked as the next right neighbour of P1 and the next

left neighbour of Pr. Also, paths P1 and P are stored respectively as the first left

and right neighbours of Pa.

type 2 After the insertion location has been found it is assumed that the left neighbour

is P1 and the right neighbour is Pr. In horizontal order, paths Pa and Pb are to be

inserted. First, Pa is marked as the next right neighbour of P1 and Pb is marked

as the next left neighbour of P. Then P1 is marked as the first left neighbour of

1a and Pr is marked as the first right neighbour of Pb. Finally, Pb is marked as the

first right neighbour of Pa and Pa is marked as the first left neighbour of Pb.

type 3 It is assumed that, in horizontal order, paths Pa and Pb are to be deleted. Fur

thermore, P1 is the left neighbour of Pa and P,. is the right neighbour of Pb. The

new adjacency relationship is established by marking Pr as the next right neighbour

of Pi and P1 as the next left neighbour of P.

type 4 It is assumed that above the intersection point the two intersecting paths appear

in the order Pa followed by Pb. Path P1 is the left neighbour of Pa and Pr is the

right neighbour of Pb. To record the new adjacency relationship, mark Pa as the

next right neighbour of Pb and Pb as the next left neighbour of Pa. Also mark Pb

as the next right neighbour of P1 and Pa and the next left neighbour of Pr. Finally,

mark P1 as the next left neighbour of Pb and F,. as the next right neighbour of Pa.

Page 183: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 5. Relevant primitive identification 156

For endpoint type 2 or 3 vertices the obvious simplifications are made.

To illustrate, when the sweep line passes through e (a type 1 vertex) (figure 5.26),

path 4 is replaced by path 3. This is recorded by marking path 3 as the next right

neighbour of 2 and the next left neighbour of +. Paths 2 and +00 are also marked

as respectively the first left and right neighbours of path 3. The overall adjacency data

structure corresponding to figure 5.26 is shown in figure 5.27.

Using suitable pointers the adjacency lists can be maintained in constant time per

insertion/deletion. The time complexity of the overall procedure is therefore determined

by the cost of maintaining the data structure of horizontally sorted path segments. Using

the balanced 2-3 tree suggested, this is O(nlogri).

Note that the data structure could have been built by adding cutter paths incremen

tally, but this can lead to a quadratic growth rate. Figure 5.28 shows an example where

each of n/2 insertions requires processing n/2 horizontal adjacency relationships, leading

to Q(n2) time complexity.

Relevant path identification After the adjacency data structure has been built the

relevant paths are identified. Treating in sequence each cutter path in the chain as cur

rent, relevant paths are defined as paths which precede the current path, are within

the approximate rectangle bound described in figure 5.23(c)), and are not occluded (fig

ure 5.19). A description of the identification procedure follows. The algorithm time

complexity proofs are provided in section B.3.

First, starting at the tail of the current path, preceding paths are followed until the

rectangle bound is intersected. Each of these paths is recorded as relevant, and the path

which intersects the rectangle is denoted P. If the beginning of the path chain is reached

before the rectangle is intersected, the procedure is complete (figure 5.29(a)). Otherwise,

the left P1 and right Pr neighbours of P are found by advancing down the portion of its

Page 184: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 5. Relevant primitive identification 157

—c +00

a

b

d

e

g

Figure 5.27: Adjacency data structure. The path adjacency information is stored usingdirected graphs which indicate the immediate left and right neigbours. Doubly linkedlists, sorted by y coordinate, are used to locate the current neighbour link to use. Theexample shown above corresponds to the geometry shown in figure 5.26.

Page 185: SOLID MODELLER BASED MILLING PROCESS SIMULATION

———--1

——

Chapter 5. Relevant primitive identification 158

_0oI +00

I-

EEEE

--

Figure 5.28: Incremental adjacency data structure construction. The illustration showsthe data structure after adding path 12. If the horizontal adjacency data structure wereconstructed incrementally for the example above, insertion of each of paths 9 through15 would require processing each of the eight the adjacency relationships caused by thevertices of paths 0 through 7. This has a n/2 . n/2 or quadratic time complexity.

Page 186: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 5. Relevant primitive identification 159

combined adjacency list that is within the rectangle (figure 5.29(b)).

The identification procedure then continues by walking along the rectangle in a coun

terclockwise direction. If the direction is downwards (figure 5.30(a)), then P and P are

respectively the left and right path of the active trapezoid (The trapezoid through which

rectangle side currently passes). If the boundary direction is upwards (figure 5.30(b)),

then P1 and P are the left and right paths. The rectangle side is followed until (i) the

left path is crossed, (ii) the right path is crossed, or (iii) the top (or bottom) of the active

trapezoid is crossed.

In cases (i) or (ii), if the path crossed precedes the current path (indicating the path

crossed has been cut) the intersected path is denoted by P, and the path chain is traced

inside of the rectangle until a side is again intersected (at the next path Ps). Each path

in this portion of the chain is recorded as relevant. At the second intersection point the

new P, P and Pr are defined (by advancing along the portion of the path adjacency

lists that are within the rectangle) and tracing continues (figure 5.31(a)). In the example

paths 0 and 1, although within the rectangle region, are obscured and are never recorded

as relevant. This is an additional benefit of the approach.

If the beginning of the path chain is encountered before reaching a second side inter

section point (figure 5.31(b)) then all paths from P, to the chain beginning are recorded

as relevant. Tracing then continues along the side starting at P but, for case (i), P is

replaced by P1 and P1 is replaced by its left neighbour. For case (ii) P1 is replaced by P,.

and F,. is replaced by its right neighbour. These adjustments are required to correct for

the new active trapezoid which has been entered.

If the path crossed follows the current path, indicating that the path has yet to be

cut (figure 5.32), then tracing again continues along the rectangle side starting at P.

For case (i) F,. is replaced by P1 and P1 is replaced by its left neighbour. For case (ii) P1

is replaced by F,. and P,. is replaced by its right neighbour.

Page 187: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 5. Relevant primitive identification 160

PI=1

Figure 5.29: Rectangle—tail chain intersection. The segments traced are shown withthicker lines. (a) Path 3 is the current path. Tracing the chain from the tail of path 3,paths 2, 1 and 0 are recorded as relevant. The procedure then terminates. (b) Path 2in the tail chain intersects the approximating rectangle, and is recorded as relevant. Forthis example the path P, is 2, the left neighbour P1 is 1 and the right neighbour F,. is 3.

(a)

(b)

Page 188: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 5. Relevant primitive identification 161

Figure 5.30: Active trapezoid left/right paths. The interior of the approximating rectangle is shown by hatching near the sides, and an arrow indicates the tracing direction.(a) The tracing direction is downwards. The left and right paths are respectively P, andFr. (b) The tracing direction is upwards. The left and right paths are respectively F1and P.

P r

(b)

Page 189: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 5. Relevant primitive identification 162

Figure 5.31: Interior path tracing. The segments traced are shown with thicker lines. (a)Tracing along the rectangle, path P = 4 is encountered. The paths are then followedinside the rectangle until a side is again reached at path P = 2. Paths 0 and 1, althoughwithin the rectangle region, are fully obscured, and are never recorded as relevant. (b)After the path P, = 1 is encountered, the paths inside the rectangle are recorded asrelevant and followed until the beginning of the chain is found. After the left and rightpaths for the active trapezoid are updated, tracing then continues along the rectangleside from the point where the intersection with P occurred.

(a)2

(b)

Page 190: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 5. Relevant primitive identification 163

3

Figure 5.32: Subsequent path crossings. The segments traced are shown with thickerlines. If a path following the current path is encountered, tracing continues in the newactive trapezoid on the other side of the intersection point.

When either the top or bottom of the active trapezoid has been reached (case 3), then

its left or right path must have ended at a vertex. If the left side P1 has ended then it is

replaced by the next left neighbour of Pr (figure 5.33(a)). If the right side Pr has ended

then it is replaced by the next right neighbour of P1 (figure 5.33(b)).

If the end of a rectangle side has been reached, then processing merely continues

along the next (counterclockwise) side, with the up/down direction changed if necessary.

The doubly linked lists used to store the neighbour pointers facilitate this change. The

procedure terminates when the trace returns to the point on the rectangle where the first

intersection (with the chain from the current path tail) occurred.

Detailed traversal procedure time complexity proofs are deferred to section B.3. The

main highlights are summarized here. The work required to identify the paths relevant

to any current path can be divided into three components:

1. tracing along cutter paths inside the approximating rectangle until one of the four

rectangle sides is reached

Page 191: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 5. Relevant primitive identification 164

Figure 5.33: Top/bottom crossings. The segments traced to the crossing are shown withthicker lines. (a) On the left path 3 ends. The right path is 1, and its next left path is2. (b) On the right path 0 ends. The left path is 3, and its next right path is 1.

(b)

Page 192: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 5. Relevant primitive identification 165

2. processing an intersection between an approximating rectangle side and a cutter

path

3. processing an intersection between an approximating rectangle side and a horizontal

visibility link

The adjacency data structure provides sufficient information to process any single inter

section in component 2 or 3 in constant time.

Lemma B.3 establishes that the total number of component 2 intersections is 0(n).

Without further enhancements, however, the number of component 3 intersections can

reach 0(n2). For example, consider figure 5.34(a). With this geometry the approximating

rectangle for each cutter path i intersects (i) horizontal links caused by preceding paths.

Repeated over all n paths the result is Q(n2) total intersections.

This situation can be prevented by inserting additional vertical blocks which extend

from each cutter path vertex to the lowest/highest extent of the approximating rectangle.

In effect, the blocks stop any horizontal link from being intersected by more than a

constant number of rectangles. Although at first it may appear that this approach only

shifts the problem to another location, theorem B.1 and lemma B.4 establish that this

will achieve 0(n) time complexity for the traversal portion of the HVP relevant path

identification solution.

It is also shown in section B.3 that this enhancement does not increase the asymptotic

time complexity of the adjacency data structure building procedure. Since blocks have

a finite length (less than or equal to 2\/r) at most a constant number of intersections

between a block and existing cutter paths will occur. Over all n blocks this adheres

to the assumption of 0(n) path intersections. Since the 0(n log n) sweep paradigm

based adjacency data structure building procedure can handle intersections, no additional

difficulties arise if it is used.

Page 193: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 5. Relevant primitive identification 166

However, when it can be assumed that the unmodified cutter path is simple (does

not self-intersect), a more indirect approach which does not create block—cutter path

intersections should be used to insert the blocks. Details are given in section B.3. This

allows the linear time adjacency data structure building algorithm developed by Chazelle

[24] to be used (Chazelle also describes in [24] an 0(n) procedure for verifying the validity

of the adjacency data structure constructed, which would be violated if the chain self-

intersected. Robustness is therefore not sacrificed by this approach. The problem of

building a HVP adjacency data structure containing unknown intersections in 0(n) time

remains unsolved.). Combined with the linear time relevant path traversal algorithm

developed herein, this proves the 0(n) intrinsic complexity of identifying the relevant

cutter paths in a simple chain.

Finally, to prevent numerical problems caused by the approximating rectangle side

overlapping a path, the rectangle was slightly enlarged by randomly locating its vertices

in 0.1r squares at each corner of the initial bound (figure 5.35). With this change the

probability of overlap is zero.

Aprogram to demonstrate the relevant cutter path identification traversal procedure

has been implemented on a graphics monitor equipped microcomputer (see [110, ap

pendix D, program trpz]). An example screen image showing the program in operation

is shown in figure 5.36. The 0(n log n) sweep paradigm approach described in this section

was used to build the adjacency data structure.

Voronoi diagram solution

An alternative planar subdivision solution is the generalized Voronoi diagram. A Voronoi

diagram partitions the plane into regions which contain all points nearer to the enclosed

object than to any other object. A region boundary is the locus of points which are

equally distant from the two objects it separates. The basic version deals with isolated

Page 194: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 5. Relevant primitive identification 167

— -

(a)

I——--———- -

L -

(b)

Figure 5.34: Vertical blocks. The • highlights the intersections between the horizontalvisibility links and the traced approximating rectangle bound for path 8. (a) Certaingeometries can result in horizontal links being repeatedly intersected by many approximating rectangles. (b) To prevent this, vertical blocks (shown with thicker lines) wereadded to the adjacency data structure. Although at first it may appear that this onlyshifts the problem to a new location, in section B.3 it is shown that this solution doesachieve 0(n) intersections between horizontal links and approximating rectangles withoutincreasing the adjacency data structure building algorithm time complexity.

Page 195: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 5. Relevant primitive identification 168

O.1r0

Figure 5.35: Approximating rectangle randomization. To prevent numerical difficultiescaused by sides overlapping cutter paths, the approximating rectangle vertices are ran—doming located within the O.1r squares at each corner of the initial bound. The thickerlines show the approximating shape actually used.

points as objects (see Mehlhorn [77, chapter VIII, section 3.1]). Generalized Voronoi

diagrams support objects such as line segments, arcs, etc. For this application the cutter

paths are chosen as the objects, in which case the boundaries will be straight line segments

and conic sections (i.e. a parabola, hyperbola or ellipse). A generalized Voronoi diagram

can be constructed in O(nlogri) time (see for example Fortune [35] or Yap [146]). If a

non-simple path is to be supported then the intersections would be pre-identified by the

O(nlogn) sweep paradigm based algorithm described in section 5.2.3.

Each Voronoi region, which may be bounded by 0(n) boundary segments, is then

divided into subregions by adding straight line “spokes” from the Voronoi boundary to

the nearest point on the enclosed path. Overall, this yields in total O(n) regions bounded

by at most four sides (the Voronoi boundary segment, two spokes, and possibly a portion

of the enclosed path). An example of a portion of a generalized Voronoi diagram is shown

Page 196: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 5. Relevant primitive identification 169

X)itt) pthe path with tail nea’est the selected point will be chosenclick left button to select point Cright to ahoyt) -

xeiove (C)olanea vei’tices, construct (T)rapezoiJzzation select last (P)ath, e()Oit

Figure 5.36: HVP traversal example. The horizontal visibility partition traversal procedure developed in this section has been implemented on a graphics monitor equippedmicrocomputer (see [110, appendix D, program trpz]). A screen image of the programin operation, which includes a legend identifying the cutter paths relevant to, precedingand following the current path, is shown above. Vertical blocks are not shown in thispartial implementation.

____

relevant — preceding — following

Page 197: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 5. Relevant primitive identification 170

/ \Voronoi -straight \ / I - -\ region -

L : \: : -: : *

paraboc spoke\ * -ç

cutter path

Figure 5.37: A generalized Voronoi diagram. For cutter path objects, the generalizedVoronoi diagram boundaries are straight line segment or conic sections which partitionthe plane into regions containing all points nearest to the enclosed cutter path. “Spokes”are added to create subregions bounded by at most four sides.

in figure 5.37.

Identifying the relevant cutter paths for a generalized Voronoi diagram proceeds in a

manner similar to that used in the HVP solution. First, the cutter path chain is traced

from the current path tail until the approximating rectangle is intersected. All of these

paths are marked as relevant. The rectangle sides are then followed from this intersection

point. When the cutter path associated with the current Voronoi region is intersected

by the rectangle, the path chain is traced inside the approximating rectangle just as in

the HVP solution.

It is shown in section B.4 that the time complexity for traversing the Voronoi diagram

Page 198: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 5. Relevant primitive identification 171

for the n approximating rectangles is 0(n). Since 0(n log m) time is required to initially

build the Voronoi diagram the overall solution is also 0(nlogn).

Note that the difficulty of intersecting (n2) Voronoi boundary segments or spokes

does not arise. This is due to the properties of the Voronoi diagram. Each point on the

Voronoi boundary can be associated with the Euclidean distance between the objects it

separates. On the other hand the horizontal visibility links represent only a horizontal

relationship—regardless of distance. The vertical blocks are therefore required to prevent

problems in the approximating rectangle area above and below the associated cutter

path.

5.3 Cutter path segmentation

5.3.1 Overview

In the previous two sections of this chapter methods for identifying the CSG primitives

relevant to cutter immersion interval calculations were presented. Section 5.1 discussed

structuring the CSG representation into subtree groups to reduce the need to examine

each primitive individually during relevance testing. Section 5.2 presented computational

geometry based approaches for efficiently determining the relevant paths in a chain.

This section further refines the region of relevance for a primitive by recording the

segments of the cutter path over which it is and is not redundant. When it is discovered

that a single primitive boundary influences the part geometry over a cutter path segment,

analytic formulae are used to express the cutter immersion interval endpoints without

resorting to incremental sampling along the path. This permits an especially rapid milling

process simulation method to be used in section 6.3.2.

Page 199: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 5. Relevant primitive identification 172

5.3.2 Primitive redundancy portions

After the relevant cutter paths have been nominated by the methods of section 5.2 their

associated swept volume primitives are constructed. Along with any others surviving the

elimination methods of section 5.1, these primitives form the part surface at which the

cutter immersion angles must be computed to carry out the milling process simulation.

Using the methods of section 4.2, the critical points along the path at which the

cutter first contacts, finally contacts, or becomes fully engaged with each primitive are

found. The collection of all of these critical points divides the current cutter path into a

number of segments within which a primitive may be redundant. The method is equally

applicable to both end milling and face milling.

If the cutter is entirely outside of the primitive, then the primitive is A redundant. If

the cutter is entirely inside of the primitive, then the primitive is redundant. This is

illustrated in figure 5.38. Within each segment of the current cutter path, the redundant

primitives are replaced by A or in the CSG tree and it is simplified according by

applying the rules in table 2.1. This final procedure reduces the CSG data structure size

down to the minimum required to correctly determine the cutter immersion intervals.

5.3.3 Analytic interval endpoint expressions

Very frequently, particulary in end milling, it is discovered that very few non-redundant

primitives remain in the CSG tree for a cutter path segment. When this situation is

recognized, time consuming incremental sampling along the path to determine the cutter

immersion intervals can be avoided by the use of analytic expressions.

To utilize the analytic expressions it first must be confirmed that peripheral milling

is occurring. That is, the single cutter immersion interval must be either [0, çbex) (up

milling) or [q, 7r) (down milling). This is checked by evaluating the boundary of the

Page 200: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 5. Relevant primitive identification 173

Figure 5.38: Primitive redundancy segments. Assume that the three preceding cutterpaths were identified as relevant. Of their corresponding primitives, A, B and G arealways A redundant, and may be removed from the CSG tree during simulation over theentire current path. The remaining four primitives are A redundant during the segmentsshown with the thicker lines. The geometry for primitive D is shown in outline foradditional emphasis. The method is equally applicable to situations with redundancies,or to face milling.

Page 201: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 5. Relevant primitive identification 174

solid represented by the relevant primitives remaining in the path segment and discarding

any unneeded portions. The generate and test paradigm [9, 99] is the simplest procedure

for accomplishing this, and proceeds as follows:

1. Generate the boundary of each remaining relevant primitive.

2. Find all intersections of boundaries, and then break the boundaries into portions

which terminate at the intersection points.

3. Test each portion of the boundary, and classify it as in, on or out relative to the

solid.

4. Retain only portions that are classified as on the solid.

An example appears in figure 5.39, which shows the remaining relevant primitives in

segment [x1,x3) from figure 5.38. If the solid represented is —*((BU*C)U*D), then the

single cutter immersion interval is [q, 7r) (down milling). While the cutter centre is in the

segment [x1,x2) the interval endpoint q is determined by the boundary of primitive C.

In the segment [x2,x3) the side from primitive B determines q. These boundary portions

are shown with thicker lines in the figure. When carrying out milling process simulations

and peripheral milling is not occurring improvements over incremental sampling along

the cutter path are not readily implemented.

Since peripheral milling is a common special case, particularly in contouring and in

pocketing operations, it is worthwhile to recognize its occurrence and exploit its simple

geometry to avoid incremental sampling during milling process simulation. This idea is

developed in detail in section 6.3.2. For future reference, analytic expressions qSt(xc)

and qex(xc) for the immersion interval endpoints as a function of the position xc along

the cutter path are derived herein for the rectangle (2 1/2 D block) and circle (2 1/2 D

cylinder) primitives.

Page 202: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 5. Relevant primitive identification 175

x1 x2 x3

Figure 5.39: Boundary evaluation. When very few primitives remain relevant in a pathsegment, evaluation of the solid boundary may identify a single cutter immersion interval.The example above is continued from figure 5.38. The in cut immersion intervals areshown with thick lines, and the out of cut intervals are shown in broken lines. In thepath segment [afl, a3) only primitives B, C and D remain relevant. After evaluating theboundary of the solid formed by the expression — *((B U *C) U *D) it is recognizedthat down milling over the interval [q3, 7r) is taking place. In segment [x1,x2) primitiveC determines the interval endpoint q5, and in segment [x2,x3) primitive B determinesthe interval. The portions of the solid boundary formed by these primitives are shownwith thicker lines.

Page 203: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 5. Relevant primitive identification 176

Rectangle expressions

As in section 4.2.1 separate expressions for a rectangle side being perpendicular, parallel

or at an intermediate angle to the cutter path are used.

If the side is perpendicular to the cutter path, then (4.7) (repeated below)

(XK1 — XC= +arccos

\. r

is used. Converting to the usual immersion angle notation the expression

/XK1 — XC’\bA(xc), qB(xc) = r/2 + arccos (5.1)

r

is obtained. In (5.1) XK1 is the constant x coordinate of all points on the perpendicular

side and r is the constant cutter radius. The expression for the immersion interval

endpoint angles is therefore a function of only the cutter centre location XC, and is

monotonic for each of the two branches.

If the side is parallel to the cutter path then equation (4.8) is used. Again, converting

to the usual immersion angle notation the expression

= 7r/2 — arcsin (-) (5.2)

is obtained. In (5.2) YK1 is the constant y coordinate of the rectangle side. Since the

cutter radius r also is constant, the immersion interval endpoint angle cb does not

change over the path segment under consideration. This situation frequently arises in

pocketing operations when adjacent cutter paths are parallel. Under these circumstances

the forces, torques and defiections also will be constant, and hence incremental sampling

along the cutter path is unnecessary. This is discussed further in section 6.3.2.

When the rectangle side is at an intermediate angle to the cutter path equations (4.9)

and (4.10) are used. Combining the equations and expressing the result in the usual

Page 204: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 5. Relevant primitive identification 177

immersion angle notation the interval endpoints are

= /2— [8L+arccos((XL _xc)cosOL)]

(53)

As in the perpendicular side case, each of the two branches is a monotonic function of the

cutter centre location xc. For convenient reference figure 4.10 is repeated on page 178

to illustrate these immersion interval endpoint angle formulae.

Circle expression

Again from chapter 4, the immersion interval endpoint angles are calculated using (4.15)

and (4.16). In the circle case the angle eL varies according to the formula ((4.15) repeated)

/ YF ‘\8L(XC) = arctan 1 (5.4)\XF —

The circle centre F(XF,YF) is fixed and hence (5.4) is a function of the cutter centre XC.

To use (4.16) an expression for the length CTI as a function of xc is required. This

is derived as follows: The length GF is easily calculated as ((XF — xC)2 + y)”2 and

TFj = 1CF — CTI. In the right triangles

— CT2 = — =

and hence

jTF2-iCT2 =

(CFj—CTj)2—ICTj2=

1CF12 — 2CFIGTI + ICTI2 — OTt2 = r —

or

CTIOFt2 +r-

(5.5)

Page 205: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 5. Relevant primitive identification 178

YK1

Figure 5.40: Rectangle—cutter intersection angles. This is a repetition of figure 4.10. (a)perpendicular side. (b) parallel side. (c) intermediate angle.

0

7-’-

(a) (b)

K 1

K2(c)

Page 206: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 5. Relevant primitive identification 179

Figure 5.41: Circle—cutter intersection angles. Figure 4.14 is repeated here for convenience. The immersion interval endpoint angle expressions are monotonic on each sideof the cutter centre point (XQ, 0), where the cutter intersects the circle at its quadrant.

The complete expression for the immersion angle endpoints is therefore

)A(XC), cbB(XC) = 7r/2— (OL + 8T)

= — [arctan ( YF ) ± arccos (IcTI)]

= — arctan arccos(cF2+ r — r

(5.6)XF—XC 2CFr j

By referring to figure 5.41 (figure 4.14 repeated), it is apparent that these functions will

be monotonic on each side of the cutter centre point (xQ, 0), where the cutter intersects

\

C

the circle at its quadrant.

Page 207: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 5. Relevant primitive identification 180

5.4 Summary

This chapter has examined a number of techniques for identifying relevant primitives

during milling process simulation. A relevant primitive was defined as a primitive in

the CSG part description which influences the cutter immersion interval endpoint angles

within the path segment currently being simulated.

In section 5.1 methods for identifying redundant primitives which should be removed

from the CSG tree were discussed. First, approximate bounds such as iso-oriented boxes

were used to simplify the primitive interference calculations. The sweep paradigm to

gether with the interval and segment tree was presented as a method to be used with

a large, unrelated population. By comparison, the S-bounds and active zone methods

utilize the hierarchy of the CSG data structure to reduce the computational effort when

the part has been described as a collection of feature subtrees.

Next, in section 5.2, methods of identifying relevant primitives and cutter paths in

a chain were considered. This differed from section 5.1 in that there the primitives to

retain were identified, as opposed to the primitives to eliminate. It was observed that

over a total of n paths the straightforward technique of checking all paths previous to

the current cutter path had an undesireable quadratic time growth rate, and hence more

efficient methods should be sought.

The first alternative considered was the sweep paradigm used with isoboxes and the

interval tree to obtain an O(N+nlogn) solution. This method, while sound in principle,

was noted to be unsuitable in practice due to the likely excessive number of false path rel

evance reports. Instead, it was shown that by bounding the paths by rectangles oriented

with the path direction a much tighter approximating bound would be achieved. Because

all rectangles had equal widths, the sweep paradigm for finding line segment intersections

could be used to report all relevant paths with O((N + n) log n) time complexity.

Page 208: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 5. Relevant primitive identification 181

Under special circumstances, such as when pocketing without islands and during

contouring, the problem of determining the immersion interval endpoint angles has a one

dimensional nature. In these situations maintenance of a simple linked list of the part

boundary segments is sufficient.

The anticipated characteristics of a path chain generated to cut a pocket were then

reviewed and used to develop efficient relevant path identification algorithms based on

planar subdivision methods. The horizontal visibility partition method was presented as

an method which, by choosing the optimal adjacency data structure creation algorithm

and assuming a simple cutter path chain, can achieve 0(n) time complexity. Proof of this

linear intrinsic complexity is a valuable research result. The generalized Voronoi diagram

was presented as an 0(n log n) time complexity solution which is conceptually simpler

than the HVP method. Algorithm complexity details for both the horizontal visibility

partition method and generalized Voronoi diagrams were deferred to appendix B.

Finally, in section 5.3, the cutter path was segmented into disjoint portions over which

an unchanging set of CSG primitives remain relevant. It was demonstrated that in periph

eral milling, where a single immersion interval endpoint angle varies, analytic expressions

may be used to avoid incremental sampling during the milling process simulation. This

idea is developed further in section 6.3.

Page 209: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 6

Milling process model implementation

In chapter 3 the fundamental mathematics required for milling process simulation was

outlined. In particular, note was made of the strong geometric nature of the process model

equations. Chapter 4 developed a method of determining the in cut immersion interval

endpoint angles based on the CSG representation scheme. In chapter 5 it was observed

that most of the primitives in a part description do not participate in the immersion

interval calculations along an individual cutter path. Strategies for identifying relevant

primitives and eliminating the redundant ones were therefore proposed in an effort to

improve computational efficiency.

This chapter combines the information from these three previous chapters and imple

ments the milling process models for 2 1/2 D parts described using a CSG solid modeller.

Particular emphasis is given to exploiting the available geometric information, and to pro

viding both a simulation capability under fixed machining conditions and the ability to

schedule the feed rate to adhere to imposed constraints.

In section 6.1 milling force and torque expressions are provided using both the aver

age chip thickness (ACT) and linear edge force (LEF) models introduced in chapter 3.

Included is a description of how, using solid modeller information, the models can be

continuously calibrated during cutting.

In section 6.2 expressions for the instantaneous cutting forces with a helical cutter

are developed. It is shown that as the cutter rotates the flutes will be bounded by the

part face in five distinct ways. By summing the contributions of all in cut flute sections,

182

Page 210: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 6. Milling process model implementation 183

analytic expressions for the cutting forces are obtained. Calculus and numerical analysis

techniques are then used to obtain the extreme values of the forces over a rotation period

without sampling at small angular increments. The condensed expressions are also used

to directly solve the cantilever beam equation for the prediction of surface location error.

Section 6.3 recasts the milling process simulation equations for use in scheduling a

feed rate to adhere to constraints. The necessary curve fitting techniques are outlined,

including consideration of the machine tool table drive servomechanism dynamics. To

avoid incremental sampling along the cutter path, the analytic immersion interval end

point angle expressions developed for peripheral milling in section 5.3.3 are used to create

a piecewise linear approximation of the target feed rate schedule.

The chapter is briefly summarized in section 6.4.

6.1 Zero helix expressions

Cutters with a zero helix angle are widely used in face milling operations. In this situation

the material removal rate (MRR) limiting constraints are usually the maximum and

average torque and power—hence the capability to simulate these quantities is needed.

Furthermore, expressions for the average feed and normal forces are required to calibrate

the process models. In this section equations based on both the average chip thickness and

linear edge force models introduced in chapter 3 are tailored for use with the immersion

geometry information available from the solid modeller.

6.1.1 Average chip thickness model

The average chip thickness model separates the cutting forces at each tooth j into tan

gential FT,3(b) and radial FR,3(q) components (figure 6.1). Modifying equations (3.3) for

Page 211: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 6. Milling process model implementation 184

use with a zero helix angle, the model is expressed as

FT,(4)) aKTh(4))(6 1)

= KRFT,(4))

where a is the axial depth of cut. The uncut chip thickness h is defined as

= .stsin4)

where q = 4) + jcb and q is the angular spacing between successive cutter teeth.

The instantaneous torque expression, summed over all teeth in cut, is therefore

T(4)) = Fr,j(q) = rsaKT sin(4) + jq) (6.2)

The term for an individual tooth j is included in the summation only during intervals

[4)k, 4’k+) where it is actually engaged in the part. The endpoint angles of these intervals

are found by equating the angular position of each tooth q5j with the immersion interval

endpoint angles (figure 6.2). The torque expression (6.2) is therefore com

prised of a set of functions—each of which is applicable over one of the rotation intervals

[bk, 4)k+1). For the example in figure 6.2 there are five rotation intervals, and hence the

instantaneous torque is given by

>j=1,3 sin(qS + j4)); 4)e[O, 4))sin(4) + jqS); 4)e[4)i, 4)2)

T(4)) = rCSaKT >Z=o,i sin(4) + j4)); 4)e[qS2,4)) (6.3)

j=O,1,2 sin(4) + i&); 4)e[4)3,4))

Z=0,2sin(4) + jqS); 4)[4), 4))

Note that the period of the function is qS.

To find the maximum instantaneous torque over a tooth period (6.3) is first evaluated

at each interval endpoint 4)k and the maximum value retained. Next, the local maxima

Page 212: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 6. Milling process model implementation 185

x

Figure 6.1: Process model parameters. This figure is similar to figure 3.2. For each toothj the cutting forces are resolved into tangential FT, and radial FR,3 components whichare a function of the uncut chip thickness h3. A reference angle 4 is associated with thefirst tooth edge, and the angle between successive teeth is q. In the example shownteeth enter cut at an angle q58 and exit at an angle bex. More generally a number of incut immersion intervals [q,j, may exist (see figure 6.2).

yr

Page 213: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 6. Milling process model implementation 186

05 0C 0ex,O

øst,1

0ex,1

Figure 6.2: Rotation intervals. The instantaneous torque is expressed by a number ofseparate functions—each valid over one rotation interval [q5,, qSk+1). An interval endpointqk occurs any time a tooth at angle q passes an immersion interval endpoint or

-7øst,O

9ex,i

Page 214: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 6. Milling process model implementation 187

within the intervals are checked by differentiating the torque expression, solving T’(q5m)

o for bm and updating the maximum value if T(bm) is larger. This is easily accomplished

by rewriting an individual function of (6.3) in the form

T(q) = rstaKTsin(q+jqS)

=

= rsaKT(P sin q + Q cos q)

where during the interval [4k,‘6k+1) the constants P and Q have the value

P > cos jb; Q = sin j4)c

The first derivative is therefore

T’(q) = rsaKT(P cos— Q sin q)

and hence

km = arctan

The average torque per revolution (or tooth period)

= 1 f2

T()d

is most easily calculated by exploiting the periodicity of the instantaneous torque and

noting that the helix angle has no influence [102, 147]. It is therefore sufficient to consider

a single, zero helix tooth at reference angle q and write

= rCSaKT sin q5dq (6.4)

where J is the number of cutter teeth and the in cut immersion intervals are qex,j).

The maximum and average power are then calculated using the expression P = Tw

which relates the power P to the torque T and the spindle rotation speed w.

Page 215: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 6. Milling process model implementation 188

As with the average torque calculation, the average forces in the feed x and normal y

directions are found by considering a single, zero helix tooth at reference angle q. From

figure 6.1 the forces resolved in the x and y directions are

F,o(q5) —FT,o(q) cos— FR,o(4) sin q

—SLaKT [sin q cos + KR sin2 qSj

—sEaKT[sin2 + KR(1 — cos2)]

F,o(q) = FT,o(b) sin — FR,o(b) cos

= saKT[(1 — cos2) KRsin2]

The average forces are then calculated by summing the integrals due to each in cut

immersion interval [q3e,, and multiplying by the total number of cutter teeth J. In

the x and y directions

= sLKT [cos 24 + KR(sin 2q — 2)] ::::= StKT(7?+SKR) (6.5)

=

= StKT > [— (sin2qS — 2q) + KRcos2]

= sKT(—S+7KR) (6.6)

where the geometric parameters 7? and S are defined as

7? = [cos 2j ‘; S = [sin 2q — 2]

These calculations are carried out by the solid modeller at each required simulation

increment along the cutter path.

Page 216: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 6. Milling process model implementation 189

The x and y average forces have two applications. First, as will be discussed in chap

ter 7, monitored average force signals are useful in verifying that the milling operation

is proceeding as expected. A second and essential use for average forces is in calibrating

the average chip thickness process model. Recalling (3.4) and (3.5), the ACT model

parameters KT and KR are calibrated using the equations

KT(h) = MJT; KR(i) = MRTPR (6.7)

where in 2 1/2 D the average chip thickness is defined as

a f St sin (cos — C05

-L-_ i — iIt— ——St

a (qex,i — st,i) (qex,i — cbst,i)

First, PX and F measurements are taken at several different h choices. This can be

achieved either by varying the part geometry or by changing the feed rate st. Next, by

simultaneously solving (6.5) and (6.6) the corresponding values

F7?—S FR+FSKT

St(2 + S2) KR= —

(6.9)

are found.

The constants MT, PT, MR and PR are then estimated by rewriting (6.7) in the form

log KT(h) = log MT — Prlogh(6 10)

logKRQi) = 1ogMR—PRlogJ

and using linear regression techniques [6, 52, 73]. For example, in the usual notation the

expression for K in (6.10) would be written as

y(t) = (t)81 +2(t)O2 =

where the t’th measurements are

y(t) = log KT(t); T(t) [1 —1og)Qt)

Page 217: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 6. Milling process model implementation 190

and the parameter vector is

&Tz[0gPT]

For a set of t samples define

Y(t) [y(i) y(2) y(t) ]T

[log KT(1) log K(2) log KT(L)1T

and

1 —1ogJ(1)

(PT:(2)= 1 —1ogi(2)

1 —logii(t)

The least squares estimate for the parameters & using I measurements is now given by

Alternatively, a recursive least squares (RLS) estimate of the ACT model constants

can be obtained by using the equations

(t) = (I -1) + K(t)[y(t) -yT(t)(t- 1)1 (6.11)

K(t) = P(t)ço(t)

= P(t — l)o(t)[I +ç0T(1)P(1— 1)(t)]_1 (6.12)

P(t) = [I — K(t)pTQt)]P(t — 1) (6.13)

where K(t) is a vector of weighting factors, P(t) is the covariance matrix (= T(t)(t)),

and I is the identity matrix (=1 in this case). Details on implementing the approach are

contained in Aström and Wittenmark [6, chapter 3], and L.jung and Söderström [73].

The advantage of the RLS method is that it allows the process model calibration

to be continuously updated during cutting of the part, which assists in maintaining

Page 218: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 6. Milling process model implementation 191

accurate force predictions and can potentially recognize changes caused by tool wear.

During cutting along an unchanging part geometry the updating algorithm should be

suppressed, since no new information is being provided. This will avoid difficulties due

to lack of persistent excitation, which results in the P(t) matrix being singular, and the

estimates 0 not being unique (see Aström and Wittenmark [6, chapter 3]).

6.1.2 Linear edge force model

In addition to separating the cutting forces into tangential and radial components, the

linear edge force model further divides the forces into uncut chip and edge contributions.

Repeating equations (3.6) the model form is

FT,(q) = aK5(h(4) + h*)(6 14)

FR,() aKs(cihj()+c2h*)

As with the ACT model, h(4) = St sin q, where cbj = q + j. The four calibration

parameters are independent of the instantaneous cutter immersion. Edge forces are

accounted for by the critical uncut chip thickness h*. The specific cutting pressure is K3,

and constants c1 and c2 specify ratios between the radial and tangential force components.

Expressions for the cutting torque and forces using the LEF model are given below.

The derivation details resemble the ACT model, and are included in section C.1.

The instantaneous torque expression is

T(q) = F,j(q5) = raK3[St sin(ç + jq) + h*] (6.15)

As with the ACT model, the term for a tooth j is included only when it is actually in cut.

For the example part geometry shown in figure 6.2, the piecewise function expression for

Page 219: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 6. Milling process model implementation 192

T(q)is

[2h* + t =1,3 sin(q + jq)j; qe[O, q)

[h* + t >j1 sin(q + jqc)]; qe[q1,q2)

T(cb) = raK8 [2h* + t Z=o,i sin(q5 + j&)]; q[q2, (6.16)

[3h* + t jO1,2 sin(q5 + i&)1; q[cb,[2h* + Sj j=O,2 sin(q + j4)}; qc[q, q)

Note that the period of the function is &, and that the critical uncut chip thickness

parameter h* is multiplied by the number of teeth in cut.

The maximum instantaneous torque over a tooth period is found by first evaluating

(6.16) at the interval endpoints bk. The local maxima within the intervals are then

checked at the critical points (see appendix C)

= arctan () (6.17)

where during the interval [qS, k+1) the constants P and Q have the value

P cosjc; Q = sinjq

The maximum is updated if T(qm) has a larger value.

The average torque per revolution is

T=

rcaKs(h* + t )d (6.18)

where 3 is the number of cutter teeth and the in cut immersion intervals are [q3,qex,).As with the the ACT model, the maximum and average power are then calculated using

the relationship F = Tw.

In the LEF model the average forces in the feed x and normal y directions are (see

appendix C)

= K3[s(7?. + ciS) + h*(_Q +c2P)] (6.19)

= K3[s(—S + ci7?) + h*(_P— c2Q)] (6.20)

Page 220: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 6. Milling process model implementation 193

where the four geometric parameters are defined as

P = > [cos ]‘

= [sin j7?. = [cos2j S = [sin2 —

As with the ACT model, the average forces are useful for monitoring purposes (chapter 7).

Calibration of the LEF model is also accomplished using least squares methods. The

details are deferred to appendix C.

The expressions for both the ACT and LEF models assume a square cutter edge

and an axial depth of cut a. For a HSS end mill this is a valid assumption. However,

face mills usually have replaceable inserts with either a finite radius or chamfered nose

(figures 6.3(a) and 6.3(b) respectively). The simplest method of accomodating such

cutters is to adjust, as a function of the axial depth of cut a, the model calibration

parameters. For the ACT model an appropriate method is to define an equivalent average

chip thickness ‘eq = iheq(a). For the LEF model functions c1(a) and c2(a) would be used.

These functions would be calibrated by experiment, or could be predicted using geometric

methods (see Yellowley [148]).

62 Helix expressions

For helical cutters calculations in addition to those presented in the previous section are

necessary to check for violation of maximum resultant force and surface location error

constraints. In both of these cases an expression for the instantaneous forces must be

available at any cutter rotation angle. To avoid performing this by sampling at small

angular increments, the critical angles at which flutes change contact geometry with a

2 1/2 D part are determined in section 6.2.1. The corresponding analytic force expressions

which use this geometric information are then derived in section 6.2.2.

Page 221: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 6. Milling process model implementation 194

cutter L / /

sert

___

(a) (b)

Figure 6.3: Face mill nose shapes. Face mills usually have replaceable inserts with eithera (a) finite radius or (b) chamfered nose.

6.2.1 Critical angle determination

First, define k,,, = tan where is the helix angle. The immersion angle for a flute

section j at axial location z is (figure 6.4)

= q + jq5 —k,z (6.21)

Again q. is the angular spacing between successive cutter teeth. Inverting (6.21) yields

the expression

z(qj) (1/k,)[q + 11c—

(6.22)

which gives the axial location z of a flute section j at immersion angle.

Now imagine that the surface of the part has been “unrolled” from its cylindrical

shape to a flat wall (figure 6.5). Each of the faces of the part is now bounded by the two

vertical lines = cb5t,1 and q5exi, and the two horizontal lines z = 0 and z = a, where

a is the axial depth of cut.

As the cutter rotates each of the flutes will intersect a face i in one of five distinct

Page 222: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 6. Milling process model implementation 195

Figure 6.4: Helical flute immersion angle. At z = 0 flute j is at immersion angle= çb + where çb, is the angular spacing between successive flutes. At an arbi

trary axial location z the immersion angle is q3(z) = j(O) —(tan ib/r)z = qj(O) — kpz,

where k = tan/r and r is the cutter radius. The helix angle is &.

taniz

zO

Page 223: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 6. Milling process model implementation 196

øst,1

Figure 6.5: Unrolled part surface. The axial depth of cut is a and the immersion intervalsare [qst,i, qex,i). Imagine that the cylindrical shape of the part surface is “unrolled” toform fiat faces bounded by the two vertical lines = and q = 4,j, and the twohorizontal lines z = 0 and z = a.

øex,O —

øst,o øex,O øst,1 0ex,1

Page 224: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 6. Milling process model implementation 197

ways (figure 6.6). The corresponding axial limits zj,j,1 and z1,,2 for each of the five cases

are

case 0 z,i = 0; z,2 = a

case 1 z,1 = 0; z,2 = (1/k)[qS + j& —

case 2 zj,j,i = (1/k,)[q + jq5c — qex,j; z,3,2 = a

case 3 = (1/k)[q + jc5c — qex,ij; zj,2 = (1/k)[qS + j qst,i1

case 4 the flute is not engaged with this face

The applicable case for each flute is found by locating the intersection of the diagonal

flute line with the four cutting zone boundaries. Note that when the axial depth of cut

is very large the full set of in cut flute sections is found by stepping in multiples of 27r.

Critical angles occur each time a flute changes contact geometry with a part face.

This is illustrated by example in figure 6.7, where the critical angles define five rotation

intervals [q, bk+1). The corresponding flute contact cases during each rotation interval

are listed in table 6.1.

In the next section instantaneous cutting force expressions are derived for use within

each of these rotation intervals.

6.2.2 Analytic force expressions

Referring back to (3.3), the cutting forces for an elemental axial slice (using the ACT

model) are

dFp(q5,z) = KTstsinb(z)dz(623)

dFR,(,z) = KRdFT,(,Z)

where

Page 225: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 6. Milling process model implementation 198

0st 0exC

- -

0. 4

z

0— .

___________

0 0

Figure 6.6: Helical flute contact cases. The flutes intersect a face in one of five distinctways, according to which of the four face boundaries are intersected.

flute rotation intervalnumber [O,) [qSi,42) [q2,3) [q3,q.) [14,&)j=O 4 1 1 1 1j=1 1 1 3 2 2j=2 2 2 2 2 4jzE3 4 4 4 4 [ 4

Table 6.1: Helix rotation interval cases. The instantaneous force expressions derived insection 6.2.2 are valid over one rotation interval. Corresponding to the illustration infigure 6.7, the flute contact cases during each rotation interval [qA, bk+l) are listed in thetable. Note that the cycle repeats with period 4.

Page 226: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 6. Milling process model implementation 199

\\\

Figure 6.7: Helix rotation interval endpoints. Rotation interval endpoints qSk occur eachtime a flute changes its contact geometry case. Table 6.1 lists the flute contact casescorresponding to the illustration above.

\

TV TV

\

\

\

\\\

70 øc TV

Page 227: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 6. Milling process model implementation 200

At any particular location along the cutter path the uncut chip thickness and (by

(6.7)) KR are constant. Therefore the angle between dFT,3 and the differential resultant

force vector dF3 (figure 6.8) is fixed at e = arctan KR. With this substitution the

elemental forces resolved into feed a and normal y components are

z) = —dFj(cb, z) cos(q3(z) — 0) (6.24)

dF,(4, z) = dF(qS, z) sin(qj(z) — 0) (6.25)

where

dF(q5, z) = (dF(q5, z) + z))h/2

= dF(çb, z)(1 + K)112

= StKT(1 + K)”2sin 4(z)dz

= stKTRsin(z)dz (6.26)

and KTR = KT(1 + K)”2.

The cutting force contributions due to an in cut flute section are now found by

integrating with respect to z between the two limits zj,j,i and zj,,2 found in section 6.2.1.

In the x direction

fZj j 2

F,,(qS)= J dF,(b)dz

fZj j 2

jzi,j1

t2ij,2

—stKTRJ [cos q(z)cos0 + sinq(z)sin0] sinq3(z)dzzi, 1

1 f2j2

= ——StKTRj [sin2(b+jq5—kz)cos02

— cos2(q5+j — k,&z)sin0]dz

1 1 Zjj2

= StKTRj_ —cos2(b+jq—kz) cos0Z,)l

1 2ij,2

— sin0 (6.27)2k J

Page 228: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 6. Milling process model implementation 201

x

Figure 6.8: Definition of 0. At any particular location along the cutter path the uncutchip thickness i and (by (6.7)) KR are constant. Therefore the angle between dFT, andthe differential resultant force vector dF3 is fixed at 0 = arctan KR as shown above. Thediagram is based on figure 3.2.

yf

Page 229: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 6. Milling process model implementation 202

Similarly

pF,13(q.’)

= J sjKTRsinq(z)sin(q(z)—0)dzZi,j,1

fZij,2

StKTRj [sin (z) cosO — cos q(z)sin0}sinq(z)dzzi,j11 PZij,2

= —StKTR J [(1 — cos 24(z)) cos 0 — sin2ç63(z) sin 0]dz21 fZjj2

—stKTRJ [(1—cos2(q5+jq—kz)cos02 Zij,1

—sin2( +jqc — k,,1,z)sinO}dz

1 1 1 Zj2

= StKTRj cosOzi 1

1 ii2 ‘1— sin01 (6.28)

Zi j 1

By explicity evaluating these integrals the cutting force can be written as

F,j(q) 8tKTR[—(A + Ejq) sin 0 + cos 0

sin(2q5 — 0) — V13 cos(2q — 0)](6.29)

F,,(qS) + jq5)cos 0 + sine

+B,j cos(2q — 0) + V sin(2qS— 0)1

where, depending on the intersection geometry case (figure 6.6), the geometric constants

A, through E are defined as

case 0 z23,1 = 0; = a

= a

= (1/2k)[sin2(jq — ka) — sin 2j]ci,j = 0

= (1/2k,t,)[cos2(jq — k,,a) — cos2jc]= 0

case 1 z1,,1 = 0; z1,2 = (1/k,j,)[q + jq5c —

= (1/2k,)sin243t+ (1/k)[jq—

= —(1/2k)sin2j

Page 230: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 6. Milling process model implementation 203

C2, = —(1/2k)cos2q3t,.Vi, = —(1/2k)cos2jq

= (1/kg,)

case 2 zi,,,i = (1/k1,11)[4 + 3c — ex,ij; z,,,2 = a

= a— (1/2k&)5jfl2exi (1/k)[j

(1/2k)sin2(j—k4,a)Ci,, (1/2k)cos2q5ex,j

= (l/2lc,J,)cos2(jq—k1fra)=

case 3 z,1 (1/k,)[q’ + j4 —

= (1/k,)[q. + jq— q8t,1

A (1/kq,)[qex,j—

— (1/2k,)[sin2qexj — sin 2q3t,2j0(1/2kv, )[cos2qes,i — COS2qS3t,]00

case 4 the flute is not engaged with this face

= 0= 0

C2,, = 0= 0= 0

A detailed derivation of the expressions above is deferred to section C.2.

The total forces within a rotation interval [qSk, ck+1) are now found by summing over

all faces i and all teeth j. That is

F() =

= stKTR[—(A + ) sin 0 + C cos 0

+13 sin(2 — 0) — V cos(2q — 8)] (630)

F(q5) =

= StKTR[(A + ) cos 0 + C sin 0

+Bcos(2 —0) + Dsin(2 — 0)] (6.31)

Page 231: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 6. Milling process model implementation 204

where

A=A; B=>Bj; C=C,,3;V=>Dij;

These summations are quickly computed since in practice there are both very few faces

and a small number of flutes.

Maximum resultant force calculation

The maximum resultant force is an important MRR constraint to avoid shank breakage

in end milling (section 3.3.3). Using the x and y force expressions (6.30) and (6.31) the

instantaneous resultant force is

F() = [F) + F)]’/2= StKTRFGEO() (6.32)

where

FGEo() = {(A+)2+B2+c2 +D2 +2(A+t)[Bcos2+Dsin2]

+2C[l3sin2qS — Vcos2]}”2 (6.33)

Observe that FQEo(b) is independent of the ACT model calibration parameters KT and

KR. Therefore the maximum of FQE0(q5)

FGEO,mas = sup{FGEo(q’)jqSc[0,q)}

can immediately be determined using only solid modeller geometrical information. The

maximum resultant force Fma(q) can later be found by scaling when accurate calibration

data is available. That is

Fma = SLKTRFGEOmax (6.34)

To determine FGEO,ma, the maximum of FGEO(b) within each rotation interval

[bk, qk+1) is found. The function is not readily analyzed using calculus, and hence a

Page 232: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 6. Milling process model implementation 205

numerical method must be used. In this case a very appropriate choice is the glomin

algorithm developed by Brent [10, chapter 6]. When supplied with an upper bound M on

the second derivative, this algorithm will calculate the global minimum of a function over

an interval to within a specified tolerance FEot0l. The number of function evaluations

required is O((M/FEoj0t)1/2).

For this application the function to use is

—FEo(b) = -(A + E)2— B2 — C2 — V2

—2(A + Eq)[B cos 2 + V sin 2] — 2C[B sin 2q — V cos 2q] (6.35)

It is chosen over FGE0(q5)to avoid unbounded derivatives, and because glomin returns

the global minimum rather than the global maximum. The second derivative of FEO(q)

is bounded since the geometric quantities A—tX’ are constants, the trigonometric functions

satisfy sin c < 1 and j cos j < 1 for all , and e[0, q). Therefore, by choosing a

tolerance FEot0land using glomin, in any rotation interval [1k, qk+1)

FEO,max FEO,glomin + FEo,t0j

where FEog1jn is the global minimum determined by glomin. For further details

see section C.3. The overall FGEO,max is then found by taking the largest of the individual

rotation interval values.

This approach is superior to sampling at small angular increments in two ways. First,

it confidently estimates FGEO,max to within a specified tolerance—which sampling cannot

guarantee. Second, of course, far fewer function evaluations will be required under normal

circumstances, when there are both few part faces and a small number of cutter flutes.

Surface location error calculation

Complex research models [4, 58, 84, 109, 118] have been developed to advance under

standing of the active mechanisms in milled surface generation. In these models the

Page 233: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 6. Milling process model implementation 206

effects of radial runout, a flexible part, and feedback of the slightly modified immersion

geometry are explicitly considered during force calculations.

Modelling of all of these effects goes beyond the first requirements to plan a material

removal rate (MRR) consistent with a surface location error constraint. For the thesis

purpose of studying integration of solid modeller geometrical calculations with milling

process simulation, a no runout, no feedback rigid part model is adopted. Surface location

errors are assumed to be due solely to the flexible cutter being deflected by cutting forces.

In peripheral milling the surface is generated when a cutter flute section passes

through angle zero (up milling) or r (down milling). Examining the down milling case

in detail, the surface generated at any axial position z,(4) is determined by choosing

the flute j such that qS[0, &) in the equation

= + jc-

(6.36)

It is located a distance S(zL,3) away from its nominal location, where ZL,3 = L —z5,(4)

(figure 6.9). With a very deep axial depth of cut the higher surface generation points are

found by substituting 3ir, 57r, etc. for 7t in (6.36).

To determine the deflection the flexible end mill is modelled as a cylindrical cantilever

which obeys the equationd46

= —wy(q, zL) (6.37)dzL

where

E is Young’s modulus of elasticity for the end mill (kN/mm2)

I is the end mill moment of inertia (mm4)

S is the end mill deflection (mm)

zL L — z, is the distance measured from the tool holder to the cutter tip(mm)

Page 234: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 6. Milling process model implementation 207

ZL_LZ

Iz

Figure 6.9: Surface generation in down milling. It is assumed that any surface locationerror is due solely to deflection of the flexible end mill by the cutting forces. The surfacegenerated at axial positionz3,() = (1/k)[q+j—7rj will be will be generated by flute

j and located a distance S(zL,3)away from its nominal location, where z,5 = L — z,j(q).

/

/

L

/

T

I

0 7k

Page 235: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 6. Milling process model implementation 208

At any rotation angle the normal force density is

dF(q, z)wy(q,zL)_

dz

which can be written as

w(b,zL) =

where, substituting from (6.25) and (6.26)

wy,3(q, zL) = StKTR sin b,(zL) Sin(b(zL) — 0) (6.38)

q,(zL) = 4 +j — k(L — z) and 0 = arctanKR. Each of the functions wy,j(q,zL) in

(6.38) is valid over only the axial interval zL,,j,2) = [L — zi,j,1,L — defined

by the cases listed on page 197. This requires that the overall density function zL)

be specified in a piecewise manner over intervals [ZL,k, ZL,k+1) where {zL,k} is the set

{ zL,j,2} in sorted order.

The cantilever equation (6.37) is solved for the deflection S(zL,3) by repeated piece

wise integration over the axial intervals [zL,k,ZL,k+1) and at the appropriate value of q.

That is

V,zL)

M(,zL)= J V(Z)dZ

ZL)fLM, 2)dZ

= f O(q,Z)dZ

where respectively ‘4(4, zL), M(qS, zL), zL) and S(qS, zL) are the shear, bending

moment, slope and deflection of the end mill in the normal or y direction. The integration

constants are found by imposing the boundary conditions

V(b,zL=L) M(b,zL=L) = 0

= 0

Page 236: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 6. Milling process model implementation 209

Further details on this procedure, including an example calculation, are given in sec

tion C.4.

Although the procedure just outlined has been found to give accurate predictions

under the physical conditions assumed, it is very time consuming due to the need to

repeat the entire sequence at small angular increments. A simpler model is therefore

desired which will permit more rapid feed rate scheduling to respect a surface location

error constraint. This model is described below.

It is assumed that the constraint is the maximum surface location error 8ymax. This

can be expected to occur at the end mill tip, where flexibility is greatest, and when the

normal force achieves its extreme value. Using the coordinate system in figure 6.1 the

maximum overcut in up milling and the maximum undercut in down milling both occur

at the maximum normal force Fy,max. For simplicity, the point of the force application

is fixed at a location half way along axial immersion a (figure 6.10).

Under this conditions the maximum deflection of the end mill, and hence the largest

possible surface location error, is given by the cantilever deflection equation

,12ymax”Uy,max

— 6E1 —

where A = L — a/2. Observe that the deflection is directly proportional to Fy,max.

Beginning from (6.31)

F(4) =

= stKrR[(A + E) cos 0 + C sm 0

+13 cos(24 — 0) + V sin(2q — 0)j

the maximum normal force Fy,max is found by checking the endpoints of each rotation

interval [q, 4k÷1) and retaining the maximum value. Differentiating

F) = StKTR[t cos 0 — 213 sin(2 — 0) + 2D cos(2q5 — 0)

Page 237: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 6. Milling process model implementation 210

Figure 6.10: Concentrated load cantilever deflection. If, for simplicity, the cutting forceis assumed to be concentrated at a single point, the maximum deflection of the end millwill occur at the tip, and is given by (6.39).

AL—a/2

Page 238: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 6. Milling process model implementation 211

= StKTR [tcosO — 2(32 + V2)112 sin (25 —0— arctan

and setting Fy’(qm) 0, the extreme values are found at

1 1 . / é’cos0 ‘\jarcsln2(B2 + V2)h/2)

+ arctan + 8

If a local extreme value Fy(bm) is larger, it becomes the maximum normal force F!,,max.

To demonstrate the approach consider a case studied by Kline [56, figure 5.lla]. In

his example a four flute end mill with radius r=9.525 mm, helix angle b=30 degrees

and cantilever length L=108 mm was used. The axial depth of cut was a=50.8 mm,

the radial width of cut d=254 mm and the feed rate per tooth was st=0.38l mm. A

down milling operation was used, and hence the single immersion interval was ex)

= [2.394, 7r). The calibration parameters were KT 0.644 kN/mm2and KR = 0.320 for

the 7075-T6 aluminum part material. Kline computed the moment of inertia as I r/3

rather than the usual 7rr/4 to account for the absent material behind the flutes. This

is consistent with the observations of Ziatin et al [155] and the value 7r(0.8r)4/4 more

recently reported by Kops [62]. The value for Young’s modulus was E 207 kN/mm2.

Under these conditions the maximum normal force is Fymax=l.6lkN and the max

imum deflection is 6m=0.777 mm or 777 This agrees almost exactly with the

maximum surface location error determined experimentally by Kline (see section C.4),

and compares well with the predicted value of 830 m found by a piecewise integra

tion of the cantilever equation (6.37). The above example suggests that, for feed rate

scheduling purposes, it is reasonable to utilize the concentrated maximum normal force

surface location error model, and exploit calculus instead of sampling at small angular

increments.

Page 239: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 6. Milling process model implementation 212

6.2.3 Summary

In this section the cutter immersion geometry for helical end mills in 2 1/2 dimensional

cutting was further examined. It was found that the immersion of the flutes with the

part faces can be classified into five cases, and that analytic, piecewise expressions for the

forces and surface location error could be defined to avoid incremental sampling along

the cutter z axis. The maximum resultant force, important when shank breakage is a

concern, could then be found using a numerical method rather than sampling at small

angular increments. For rigid parts it was demonstrated that a simplified, concentrated

maximum normal force surface location error model was sufficient. This allows calculus

to be used to much more rapidly determine the maximum normal force and maximum

surface location error.

6.3 Feed rate scheduling

A principal reason for developing a solid modeller based milling process simulation sys

tem is to plan material removal rates consistent with the constraints first discussed in

chapter 3. In this section the MRR constraint equations developed earlier in the chapter

are recast to schedule a feed rate which simultaneously satisfies the limitations reviewed

in the thesis. Separately considered are an incremental solution, and a more rapid nu

merical method applicable during peripheral milling, when the immersion angle endpoint

can be analytically expressed (section 5.3.3).

6.3.1 Incremental solution

The equations developed in this chapter always eliminate the need to sample in the

axial direction and at small angular increments. This significantly accelerates the milling

process simulation speed. However, when there are several in cut part faces, such as in

Page 240: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 6. Milling process model implementation 213

face milling, analysis of the cutting forces produced by the many qex,) immersion

intervals is still best treated by incremental sampling along the cutter path. The sample

spacing chosen should be on the order of the feed rate per tooth. Since no part feature

is likely to influence a single tooth period, this ensures that a sudden change is safely

recognized. Near the rapid change, smaller steps can be taken to further refine the

simulation.

To specify a target feed rate under these conditions, the following procedure is applied

at every sample point along the cutter path: First, write the MRR constraint equation

in the form

Qtgt = f(st,tgt)

Here Qtgt is the target value for the constraining force, torque, deflection, etc. and f(stt9t)

is the function relating the feed rate to the constraint. Frequently the function can be

inverted, and the target feed rate found by evaluating

f1(Qtgt)

Average torque constraint

As an illustration, consider the average torque constraint. For the ACT model the

constraint equation (6.4) can be rewritten as

T = SEKTg (6.40)

where the geometric constant is defined as

= rasinqfdçb

Substituting from (6.7) and (6.8) yields

PT PTKT(st) = MTILS St

Page 241: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 6. Milling process model implementation 214

where— (cos COS st,i)

= Z (6.41)e2 st,i

Hence (6.40) may be expressed as

7= (gMrl’T)s_PT

and inverted to obtain— 11(1—PT)Ttgt

Stjgt

cMTh5

For the LEP model the inverted relationship between feed rate and average torque is

-

hd] (6.43)

Tooth breakage constraint

Implementation of the tooth breakage or maximum uncut chip thickness constraint (3.7)

is straightforward. If 7r/2c[qS, qex,) then Sttg = hmax. Otherwise

St,tgt = inf{(hma/ sin c)Ic5 q’st,o, q5ex,o, st,1,

Maximum resultant force constraint

To prevent shank breakage, the maximum resultant force equation (6.34)

Fmax = StKTRFGEOmax

must be inverted. As a function of s

StKTR(st) = stMTi’T(1 + Mh2)1l2

= stMThTsT(1 +M2s2)h/2

= MT T(2(1_PT)+ (6.44)

Page 242: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 6. Milling process model implementation 215

where the geometric quantity i is defined by (6.41). With conventional cutters and

part materials, and expected feed rates, the quantities 1— PT — PR and 1

— FT are both

positive. Hence (6.44) represents a strictly increasing function of the variable s. By

sampling (6.44) over the expected range of .st a very good approximation of the inverse

to fK(st) StKTR can be obtained by interpolating the sample points with a cubic

spline. Representing this inverse by the notation fQ, the target feed rate is then found

by evaluating

— :—1 (2Fmax,tgtSt,tgt_J j T

\rGEo,max

Surface location error constraint

Treatment of the surface location error constraint is more involved because the ra

dial/tangential force ratio term KR cannot be separated in the normal cutting force

expression. This constraint is usually active during peripheral milling, where frequently

the rapid numerical solution discussed in section 6.3.2 can be applied. In the few cases

where this is not possible, an appropriate feed rate can be chosen automatically by iter

ation.

Chatter

As indicated in section 3.3.6 an approximate cutter contact length limit for chatter avoid

ance is ((3.8) repeated)—1

1c,lim 1ZATRJL[tv,ORjmin

where

J?[Gv,OR1min — inf{[G,oR(jwU)I w,c(—oo, +oo)}

It is assumed that a machine tool transfer function model is available in the orthog

onal x and y directions (figure 6.11). The oriented transfer function GoR(jw) is then

Page 243: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 6. Milling process model implementation 216

modelled as

G,oR(jw) = + G,(jw)

where

j, is the vibration directional factor in the x direction

G,(jw) is the r direction machine tool transfer function

is the vibration directional factor in the y direction

G,(jw) is the y direction machine tool transfer function

Similarly, the real part of G,oR(jw) is

lJ[G,oR(jw,,)] = + tR[G(jw)j

For up milling a simple chatter model assumes that the vibration direction v, OR

is aligned with the cutter radial halfway through the immersion interval [0, q) (see

Tiusty [125]). A similar assumption can be used for down milling. The value for KTR =

KT(1 + K)’/2 is calibrated by experiment, and 0 = arctan KR. Under these conditions,

if the cutter is advancing in the +x direction, the vibration directional factors are

I ç6ex . q’ex . I lex bex= cos —0 + sin -i—; = — sin jO + cos

For milling in the +y direction and , are exchanged.

To assess this simple chatter model, it was compared to time domain simulation

results reported by Tlusty, Smith and Zamudio [128]. The simulation assumed a four

flute (qc, = 7r/2) helical end mill with radius r = 12.5 mm, helix angle ib = 30 degrees and

length 100 mm. The part material was aluminum alloy. Constant calibration parameter

values KT = 0.800 kN/mm2and KR = 0.3 were used.

The machine tool structure was modelled using damped second order Laplace domain

transfer functions

G(s)=-.ks2+2Cws+w

Page 244: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 6. Milling process model implementation 217

øex/2

v,x

I

/v,OR V,Y

Figure 6.11: Chatter angle and direction definitions. Up milling is illustrated in theexample above. The angle between the tangential direction and the resultant force Fdirection is 0 arctan KR. The vibration modulating the uncut chip thickness occursin the direction v, OR, which is assumed to be aligned with the cutter radial halfwaythrough the immersion interval [0, 4ex). That is v, OR = sin(qSex/2)v, x + cos(e/2)v, y.

x

Page 245: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 6. Milling process model implementation 218

Substituting s jW,, and taking the real part

c-lrr(. “hi— WnWn—WVJt[_LuiJWv)j

— f 2 2’2fl, WWtj) TILt,WnWv)

In the a direction the stiffness was = 4.17 kN/mm, the natural frequency was

= 5919 radians/s (942 Hz) and the damping ratio , = 0.030. In the y direction two

dominant vibration modes were included. The parameters used were = 1.02 kN/mm,

= 5831 radians/s (928 Hz), j = 0.015 and 6.98 kN/mm, = 6189

radians/s (985 Hz), y2 = 0.022. The y transfer function (and hence its real part) is the

sum of the two modes. That is

Wn,yi Wn vi —

= .2_i / 2 2’2 /i=1,2 U,yz — Wv) + t,yzWn,yiWv)

The predicted chatter free axial depth of cut was then computed using the expression

— cosaLim = r 1 — (6.46)

2KTRIi?[GvORjminj

where

lJ[Gu,OR]min = inf{j&,G,(jW) + we(—oo, +oo)}

and the average number of flutes in cut is 7 = qex/qSc. The factor cosb accounts for

the helix angle. Figure 6.12 compares the simple model predictions to those given in

[128]. The simple model predictions are near the time domain values, and provide an

approximate chatter limit. Time domain simulations, which include additional effects

such as process damping (due to increased flank face contact with the part) and non

linearities (such as the cutting edge jumping out of contact with the part) are widely

regarded as being more realistic.

By repeating the chatter limit predictions at finer increments, a more complete chart

of radial width of cut versus permissible axial depth of cut combinations can be con

structed for use in milling process simulation and cutter path trajectory planning. These

ideas are further pursued in [128], and in the article by Tsai et al [131].

Page 246: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 6. Milling process model implementation 219

EE

C)

C)

cz

-C)

C)><C)

1.0

radial width of cut

Figure 6.12: Maximum permissible axial depth of cut. The graph above shows themaximum permissible chatter free axial depth of cut predicted by the simple chattermodel (6.46) and by time domain simulation (see Tlusty, Smith and Zamudio [128}) asa function of the fraction of full radial immersion. Results for up milling in the +x and+y directions are shown. Legend: A—[128j; B—(6.46)

Final feed rate scheduling

After the target feed rate has been found for all active constraints, the final target is

chosen to be the miminum of all candidates. That is, if the target feed rates for individual

constraints are labelled 5t,tgfl, 5t,tgt2, ..., then the final target feed rate to be achieved by

the machine tool table drive is

St,tgt — inf{st,t9n,.st,tgt2, . .. }

In order to reduce the amount of data that must be permanently stored and later

transmitted to the machine tool controller, the final target feed rate sample points are

then condensed into a piecewise function comprised of linear segments. This representa

tion is sufficient for the purpose, is easy to build within the solid modeller milling process

simulation system, and can rapidly be interpolated at the machine tool. The method

used to construct the approximating function is described below.

2.5

0.2 0.4 0.6 0.8

Page 247: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 6. Milling process model implementation 220

First, assume that the sampled final target feed rate is represented by the set of points

(Xm, St,tgt,m)m=o,1,2,.... The goal is to construct a set of straight line segments such that

for any sample abscissa Xm along the cutter path the value

St,fir,m — St,apx(Xm)

where

St,flr,m inf{st,tgt,m_i,8t,tgt,m, st,tgt,m+i}

3t,apx(m) is the approximating function value at Xm and 8t,tol > 0 is the permitted error.

This criterion is intended to ensure that the feed rate returned by the approximating

function never exceeds the value dictated by the sample points.

Next, beginning at the point (x0, st,fl,o), draw “tolerance rays” through the points

(x1, st,fjr,1) and (x1, St,flr,1 —to define a tolerance region T0,1. If (x, .5t,fir,2) is inside

To, then continue by drawing rays from (x0, St,flr,O) through the points (x2, St,flr,2) and

(x2,8t,ftr,2 — si) to define tolerance regions T0,2 and T0,2 = fl To,i. Now check if

(x3, St,fjr,3) is inside 7,2, and so on. When a point (xi, stjii.,i) is outside of the tolerance

region Tm,ii then a vertex must be inserted to begin a new line segment in the approx

imating function. If (xi, St,flr,t) is below then the vertex is inserted at the point

(x1, St,apx(i)), where St,apx(i) is the smallest feed rate value within Tm,11 at abscissa

x1. Otherwise the vertex is inserted at (xi, St,apx(i)) with Stapx(i) being the largest feed

rate value within at abscissa xl. Figure 6.13 illustrates the procedure.

Finally, to allow for the table servo drive dynamics, a commanded feed rate profile

must be constructed. This ensures that, along the straight line cutter path, the achieved

feed rate never exceeds the target. This requires that the feed rate s in mm/tooth be

converted to a feed rate s in mm/s. For a cutter with J evenly spaced teeth and a

spindle speed of w radians per second the conversion equation is

J (teeth) —1s (mm/s) = St (mm/tooth).27r

. w (s )

Page 248: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 6. Milling process model implementation

Figure 6.13: Target feed rate approximation. The example above illustrates the targetfeed rate approximation procedure for the first three sample points. The point (x3, St,flr,3)

is below the tolerance region To,2 and hence a vertex is inserted at abscissa value x2 andwith the lowest feed rate value still inside To,2. Processing then continues through theremaining sample points.

221

a p (x2)

I.

Cl)

30

To,1

To,20

x

Page 249: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapler 6. Milling process model implementation 222

(1)

x

Figure 6.14: Servo dynamics compensation. The legend show the target, offset, and commanded feed rates. To avoid violating feed rate constraints during decelerating portionsof the profile, the target feed rate is offset to be commanded Sft3d mm early. Practicalexamples of this step appear in chapter 7.

Typically the table servo control system is tuned so that it is critically damped. As

sume that the rise time is 3d seconds. The commanded feed rate should then be sent

mm before the target feed rate. Using the piecewise linear feed rate approxima

tion, this is accomplished by offsetting the deceleration portions of the target feed rate

(figure 6.14) and using those segments as the commanded feed rate. Additional practical

examples of this procedure appear in chapter 7.

Sf tsd

targetoffsetcommand

Page 250: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 6. Milling process model implementation 223

6.3.2 Rapid numerical solution

During many pocketing and contouring operations, peripheral milling is occurring at a

constant axial depth of cut. In these cases there is a single in cut immersion interval,

and only one varying angle. In down milling, for example, the immersion interval is

7r). Over a segment of the cutter path çb. can be expressed as an analytic function

of the cutter centre location xc (see section 5.3.3). Hence, by further expressing as a

function of cb quantities such as the maximum resultant force Fmax(qst(xc)) and the

maximum normal force Fy,marr(bst()) analytic expressions as a function of the cutter

centre location are obtained. Alternatively, the target feed rate to maintain adherence

to a constraint can be specified as a function st,tgt2(45t(xc)), etc. Sub

stituting an immersion interval of [0, ex(X)), a similar method can be developed for

up milling. Using numerical methods, these would then combined by determining which

constraint specifies the smallest target feed rate, and the segment of the cutter path over

which it remains smallest. In this section example force and feed rate target functions

required to implement this approach are presented.

The examples which follow were all calculated with calibration data for an actual

cutter and part material used in chapter 7. Down milling is assumed throughout, but

up milling can be handled in a similar fashion. The cutter is a four flute end mill with

helix angle =30 degrees and radius rz’J2.7 mm. In the maximum surface location error

tests, a measured compliance of ksje=0.1736 mm/kN at the cutter tip is used. The ACT—--0.424 2 ——0217model calibration equations are KT = 0.317h kN/mm and KR = 0.212h for

the 7075-T6 aluminum part material used. The axial depth of cut is fixed at 19.05 mm.

During down milling at a feed rate of t=0087 mm/tooth, the predicted maximum

resultant force Fmax(bst) is plotted in figure 6.15. With an imposed maximum resultant

force constraint of 1.2 kN the target feed rate plot, computed from (6.45) and clipped at

Page 251: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 6. Milling process model implementation 224

a practical ceiling of 0.30 mm/tooth, is shown in figure 6.16. In both cases the curves

can readily be approximated by straight line segments to allow rapid interpolation.

At a feed rate of st=0.087 mm/tooth, the maximum surface location error =

ksteFy,max is plotted in figure 6.17. The target feed rate to maintain SmaxO.100 mm

is shown in figure 6.18. This calculation requires some iteration since the ACT model

calibration parameter KR, which changes with the feed rate, influences the cutter rotation

angle at which the maximum normal force will occur. The relationship is well behaved in

practice however, and the target feed rate values are quickly computed by using a local

zero finder (such as zero [10, chapter 4]) with (6.31).

When the axial depth of cut is constant, using precomputed graphs such as those

shown in figures 6.15 through 6.18 avoids the need to repeatedly carry out the calcula

tions described in section 6.2. Instead, if peripheral milling is occurring, the predicted

maximum resultant force or surface location error, or required target feed rates, can be

retrieved as soon at the single entry q53t or exit q’ex value has been determined.

Using the analytic cutter immersion interval endpoint expressions from section 5.3.3,

this can be extended further to avoid incremental sampling along the path during feed

rate scheduling. First, for each active constraint the associated target feed rate functions

st,tgti(qst), st,t9t2(t), etc. are approximated using the method described in section 6.3.1

with cb3t as the abscissa. Assume that the piecewise linear approximating functions,

labelled st,tgti,p(qst), St,tgt2,p(4)st), etc., introduce a maximum error St,tolk. That is

st,tgti(4’st)—

3t,tgtlp(43t) St,tolçl,

St,tgt2(/5st)—

8t,tgt2p(’st) 8t,tolcb

etc. These functions are then combined to yield the final feed rate target approximation

st,tgtp(cbst) which satisfies

st,tgtp(bst) = inf{st,t9ti(q’5t),st,tgt2p( cbt), ..

Page 252: SOLID MODELLER BASED MILLING PROCESS SIMULATION

L)

Z3Cl)U)

E

E

E

CC

E

U)

C

U)

U)

C

0 Tt/4 31/2 3n/4

Chapter 6. Milling process model implementation 225

_

2.00

1.50

1.00

0.50

0.00

entry angle (radians)

Figure 6.15: Predicted maximum resultant force. The graph above shows the maximumresultant force predicted by the ACT model as a function of the entry angle q. Cuttingconditions are down milling with immersion interval [1 ir), axial depth of cut a=19.05mm and feed rate t=O.O87 mm/tooth. Remaining conditions are stated in the text.

0.30

0.25

0.20

0.15

0.10

0.05

0.00

entry angle (radians)

Figure 6.16: Target feed rate—Fmax=1.2 kN. The graph above shows the target feed rateto maintain a maximum resultant force Fmax of 1.2 kN computed from (6.45) and clippedto a practical ceiling of 0.30 mm/tooth. Cutting conditions are stated in the text. Thecurve can easily be approximated by straight line segments to allow rapid interpolationfor feed rate scheduling.

0 31/4 331/4

Page 253: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 6. Milling process model implementation

E

ci)

C)

z3(I)

>cE

0 31/2 33114

226

0.4

0.3

0.2

0.1

0.0

entry angle (radians)

Figure 6.17: Predicted maximum surface location error. The graph above shows themaximum surface location error predicted using the simplified Sy,max ksieFy,max model.Cutting conditions are down milling with immersion interval [bst, 7r), axial depth of cuta=19.05 mm and feed rate .st=O.O87 mm/tooth. Remaining conditions are stated in thetext.

0.30

0.15

- 0.10

0.05

2 0.00

Figure 6.18: Target feed rate—Sy,ma’O.lOO mm. The graph above shows the target feedrate to maintain a maximum surface location error 8y,max of 0.100 mm. The feed ratevalues are found by using a local zero finder (such as zero [10, chapter 4]) with (6.31)and are clipped to a practical ceiling of 0.30 mm/tooth. Cutting conditions are stated inthe text. The curve can easily be approximated by straight line segments to allow rapidinterpolation for feed rate scheduling.

0 331/4

entry angle (radians)

31

Page 254: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 6. Milling process model implementation 227

It too is piecewise linear and therefore has a constant first derivative over any

particular piece.

Now suppose that the analytic cutter immersion interval endpoint expression st(XC)

is also approximated by piecewise linear functions such that over a cutter path interval

XCb)

cbst(c) — qstp(xc) st,toi (6.47)

where qstp(xc) is the approximating function. Under these assumptions a piecewise linear

approximation of st,tgt(q5t(xc)) is obtained satisfying

st,tgtp(4stp(rc)) + St,to1c + .st,gt(cbst(xc)) (6.48)

To allow for the table servo drive dynamics, this profile is then offset by the method

illustrated in figure 6.14 to create the final commanded feed rate.

The variable cutter path sampling procedure described above, although involving

more analysis, is time saving when large values are acceptable for the tolerances 3t,to1çf

and and the derivative is relatively small in absolute magnitude. Often in

pocketing operations q (down milling) is constant over long portions of the cutter path,

in which case only one target feed rate must be determined. Example cutter paths and

parts on which the approach has been used are presented in chapter 7. The outline of a

method to construct the piecewise linear approximation5(x) is given in section C.5.

6.4 Summary

In this chapter the geometric information obtained from the solid modeller (chapters 4

and 5) is used to implement milling process calculations required for monitoring and

planning purposes. For the 2 1/2 D parts considered, several methods to avoid time

consuming incremental sampling are developed.

Page 255: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 6. Milling process model implementation 228

First, analytic expressions are used to replace sampling along the cutter z axis for both

face milling cutters and helical end mills. These analytic expressions then permit calculus

and numerical methods to be used to rapidly predict maximum resultant forces and

surface location errors without sampling at small rotational increments. Finally, during

peripheral milling it is shown that piecewise linear functions can be used to approximate

process values to a specified tolerance. This method ensures that rapid changes are

not overlooked, and permits the sample increment along the cutter path to be varied

—achieving a third degree of reduction in computational effort.

The computed force, torque, etc. values can be used directly for monitoring purposes,

or to schedule a feed rate consistent with the active process constraints. This is explored

for average torque and feed rate constraints in face milling using both the ACT and LEF

models. In end milling, additional constraints on the maximum resultant force (to avoid

shank breakage) and maximum normal force (to avoid excessive surface location error)

are considered. The target feed rates for each active constraint are then combined to

yield an overall target feed rate schedule which can be commanded to the machine tool

servo drives.

Applications of the solid modeller milling process simulation system, including a num

ber of examples to demonstrate the procedures, are presented in chapter 7.

Page 256: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 7

Simulations and experiments

7.1 Introduction

This chapter presents the simulations and experiments that were conducted to demon

strate and verify the solid modeller based milling process simulation system developed

earlier in the thesis. It is divided into sections as outlined below.

In section 7.2 the equipment used to conduct the experiments is described. This

includes the machine tool, data acquisition hardware, supervisory microcomputer and

the table servo drive motion controller.

Section 7.3 presents the face milling simulations and experiments. This includes

average force and torque verification experiments for example parts, feed rate scheduling

to adhere to average torque and feed rate constraints, and an example of recursive milling

process model parameter identification.

In section 7.4 the end milling simulations and experiments are presented. Included are

verification of the analytic helical cutter expressions (6.29), and maximum resultant force

and surface location error prediction examples. Using the rapid simulation method de

scribed in section 6.3.2, the feed rate is automatically scheduled to adhere to a maximum

resultant force constraint. An example of feed rate scheduling to adhere to a maximum

surface location error constraint is also included.

Section 7.5 proposes use of solid modeller data to assist in adaptive control of maxi

mum resultant cutting forces. After outlining the intended application of the proposal, a

229

Page 257: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 7. Simulations and experiments 230

subsection is devoted to describing the process model and controller design. Experiments

with parts exhibiting a step change in axial depth of cut and a rapid change in radial

width of cut are used to demonstrate the approach.

7.2 Experimental equipment

The main components of the experiment setup are illustrated in figure 7.1. A vertical

milling machine equipped with a 5 kW AC motor connected to the spindle drive gear

reduction was used. The two linear machine tool table axes were driven by 15 A perma

nent magnet DC servomotors connected directly to the lead screw shafts. A Motorola

MC68008 based motion controller was used to coordinate the table axes. The external

supervisory microcomputer was connected to the motion controller via a bus adapter.

Pulse width modulated motor drive amplifiers complete the system.

Cutting force signals were obtained using a dynamometer and charge amplifiers. The

dynamometer was secured to the machine tool table and the part mounted on the dy

namometer table. Hence the cutting forces on the part were actually measured. The

charge amplifier signals were then processed by an analog peak detector and signal av

erager circuit. This permitted maximum and average forces to be directly measured. A

spindle mounted shaft encoder was used to provide synchronization. Analog to digital

conversion was accomplished by a data acquisition card installed in the supervisory com

puter. Again the spindle shaft encoder was used to synchronize storage of the sample

data points.

For feedback control purposes the table axes positions were obtained by querying

the motion controller. Along the x axis of the plotted graphs, however, the position

was measured in synchronization with the cutting force measurements by sampling a

ramp waveform voltage with a period of 0.325 mm. Ensuring that the absolute table

Page 258: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 7. Simulations and experiments 231

position remained unambigous required that the maximum feed rate be limited during

experiments. The supervisory microcomputer was an Intel 12 MHz 80286/80287 based

system. As stated above, the computer bus was connected to the machine tool table

motion controller and a data acquisition card.

The National Research Council of Canada Institute for Mechanical Engineering (Van

couver, BC) provided the surface measurement data for figures 7.31 and 7.32.

7.3 Face milling examples

7.3.1 Introduction

The cutter body used for the face milling experiments had an effective radius r,, of 50.8

mm and an inclination (equivalent to helix) angle of seven degrees. The eight evenly

spaced cutting inserts had a nose radius of 1.20 mm. Special care was taken to minimize

radial runout. The part material was 7075-T6 aluminum and was cut dry at a spindle

speed of 775 rpm. An axial depth of cut a=3.175 mm was used throughout.

To initially calibrate the ACT and LEF process models cutting tests were conducted

over feed rates ranging from 0.075 mm/tooth to 0.168 mm/tooth and with immersion

intervals of [0.597, 2.544) radians and [1.571, 2.544) radians. The calibrations values found

for the ACT model were

l.553h°151 kN/mm2; KR = 0.274h°383

For the LEF model the values found were

K = 1.905 kN/mm2; = 0.0172 mm

c1 = 0.364 c2 = 2.519

The example part shapes used in the verification experiments are shown in figure 7.2.

The shape in figure 7.2(a) is shown with all dimensions and will subsequently be referred

Page 259: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 7. Simulations and experiments 232

Figure 7.1: Experimental setup. The illustration above shows the main components usedin the milling experiments. Legend: A—charge amplifier; C—supervisory computer anddata acquisition card; D—force dynamometer; E—spindle shaft encoder;• M—DC servomotor; P—peak detector and signal averager; R—ramp waveform for table position; T—part;V—vertical milling machine; W—table axes motion controller.

Page 260: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 7. Simulations and experiments 233

to as the three feature part. The parts in figures 7.2(b) and 7.2(c) have identical di

mensions except for the missing features. These will respectively be referred to as the

two feature and one feature parts. This shape was chosen to demonstrate the cutter

immersion interval calculation procedures from chapter 4. Refer back to figure 4.17 for

a diagram of the CSG data structure for the three feature part. The cutter path used is

shown in figure 7.3 together with the cutter immersion arcs for the three feature part at

selected reference positions.

7.3.2 Model verification and monitoring applications

Average x and y forces measured per tooth period are shown in figure 7.4 for the three

feature part cut at a feed rate of 0.151 mm/tooth. Note that the negative of the average

x force is plotted to reduce the graph range. The signal coarseness is due to the remain

ing runout between the eight cutting inserts. By referring to figure 7.3 the dominant

points on the graph can be explained. On initial contact of the cutter with the part

the forces increase rapidly since cutting occurs near the maximum uncut chip thickness.

The absence of material over the two 16.0 mm diameter holes (near position 20 mm)

then causes a reduction in average force. Beyond the holes the widest immersion is en

countered, and the average forces increase to their highest level. A reduction in average

force then occurs as the cutter encounters the two 25.4 mm radius semi-circular features,

followed by an increase as the centre of the feature is passed. The lack of material at the

start of the 25.4 mm wide L-shaped feature then causes a sharp reduction in both the

x and y average forces. The y force then increases until the portion of the third feature

perpendicular to the cutter path is encountered near position 110 mm. This is caused by

the increasing radial force contribution near the extreme right edge of the cutter immer

sion arc. Beyond the third feature the average forces increase briefly before the second

pair of 16.0 mm diameter holes are reached near position 135 mm. The average forces

Page 261: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 7. Simulations and experiments 234

157.0

Figure 7.2: Face milling example parts. (a) Three feature part. (b) Two feature part.(c) One feature part. All parts are similar in shape (except for the missing features) andhence dimensions are shown only for the three feature part.

15.0 — 127.0

8.0

92.0

ciii dimensionsin millimetres

30.0+

25.4

35.597.5

(0)

(b) (c)

Page 262: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 7. Simulations and experiments 235

oH dimensions in millimetres

Figure 7.3: Face milling cutter path. The path of the 50.8 mm radius cutter over thethree feature part is shown by the centre line. The same path was used for the two andone feature parts. Cutter immersion arcs are drawn at 10 mm increments and labelledat the 10 mm, 40 mm, 80 mm, 120 mm and 160 mm positions.

Page 263: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 7. Simulations and experiments 236

2.5

2.0

1.5

2 1.0c

0.5

‘ 0.0

-0.5200

position (mm)

Figure 7.4: Experimental average forces—three features, feed rate 0.151 mm/tooth. Theposition along the x axis corresponds to the labels shown in figure 7.3. The negative ofthe average x force has been plotted to reduce the graph range. Signal coarseness is dueto the remaining runout between the eight cutting inserts.

then smoothly decay as the cutter exits the part.

Simulations and experiments were conducted for the one, two and three feature parts

at feed rates of 0.151 mm/tooth and 0.100 mm/tooth. Graphs were then prepared to

allow comparison of the ACT and LEF model predictions to the experimental measure

ments (figures 7.5 through 7.10). For clarity the runout component of the average force

experimental measurements has been removed by taking an eight point moving average.

In all graphs the negative of the average r force has been plotted. In each case there is

good agreement between simulation and experiment. These examples demonstrate the

correctness of the cutter immersion calculation procedures developed in chapter 4 as well

as the suitability of the ACT and LEF milling process models.

The cutter immersion intervals were computed from the part CSG model using a

microcomputer and the cutmod program. As stated in chapter 4, approximately 20

seconds were required to calculate the immersion intervals at 2 mm increments. The ACT

0 40 80 120 160

Page 264: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 7. Simulations and experiments 237

model process simulation was computed using program helix, and the LEF model process

simulation was computed using program face. Both programs had an execution time of

approximating 45 seconds and hence the total CSG model to average force prediction

procedure was completed one minute and five seconds. Details on the microcomputer

used and listings of the simulation programs are provided in [110, appendix D].

When the part shape matches the solid model there is a very strong agreement be

tween the milling process model predictions and the observed average cutting forces. The

machine tool should therefore monitor these signals to confirm that cutting is proceeding

normally. If a significant deviation is observed then cutting should be stopped immedi

ately and the cause diagnosed. An abrupt change in average forces between successive

tooth periods may indicate tooth breakage (see Altintas [3]). The other possibility is

a sudden change in part geometry. If the solid modeller simulation predicts no sudden

change in average forces, then a tooth breakage may be concluded. Otherwise cutting

should continue at a cautious feed rate. If the measured average forces greatly exceed the

solid modeller predictions or abrupt changes occur once per rotation then again damage

to the cutter teeth may be concluded. Final conclusive evidence of tooth breakage can

be obtained by calculating the predicted instantaneous x and y forces for the next few

tooth periods and comparing these to the measured signals. If indeed a tooth has been

damaged these values will greatly disagree. Should this not be observed then cutting may

safely resume at the scheduled feed rate. Normally all of the simulation data for this

purpose would not be calculated in advance, but would be required on demand should a

potential tooth breakage be detected. To implement this scheme there must be a commu

nications link between the machine tool executive and the solid modeller host computer

(as suggested in figure 1.1). Furthermore, the solid modeller must be able to compute

the required information very quickly to avoid long idle times on the factory floor.

Prolonged deviation of the measured average forces from the solid modeller prediction

Page 265: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 7. Simulations and experiments 238

1)

ci)

c3

ci)L)

C

ci)

ci)>

position (mm)

40 80 120 160

2.5

2.0

1.5

1.0

0.5

0.0

-0.50 200

position (mm)

Figure 7.5: Average forces—one feature, feed rate 0.100 mm/tooth. The legend shows theline types plotted to represent the ACT and LEF model predictions, and the experimentalmeasurements.

2.5

2.0

1.5

1.0

0.5

0.0

-0.50 200

Figure 7.6: Average forces—one feature, feed rate 0.151 mm/tooth. The legend shows theline types plotted to represent the ACT and LEF model predictions, and the experimentalmeasurements.

40 80 120 160

Page 266: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 7. Simulations and experiments 239

U)C)C

0

U)

U)

U)C)

0

U)

0C

U)

0

40 80 120 160

posftion (mm)

2.5

2.0

1.5

1.0

0.5

0.0

-0.50 200

Figure 7.7: Average forces—two features, feed rate 0.100 mm/tooth. The legend shows theline types plotted to represent the ACT and LEF model predictions, and the experimentalmeasurements.

2.5

2.0

1.5

1.0

0.5

0.0

-0.5200

Figure 7.8: Average forces—two features, feed rate 0.151 mm/tooth. The legend shows theline types plotted to represent the ACT and LEF model predictions, and the experimentalmeasurements.

0 40 80 120 160

position (mm)

Page 267: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 7. Simulations and experiments 240

C)

0

c)

ci,>C)

ciC)

0

ci)

C)

ci>C)

0 40 80 120 160

position (mm)

2.5

2.0

1.5

1.0

0.5

0.0

-0.5200

Figure 7.9: Average forces—three features, feed rate 0.100 mm/tooth. The legend showsthe line types plotted to represent the ACT and LEF model predictions, and the experimental measurements.

2.5

2.0

1.5

1.0

0.5

0.0

-0.5 0 200

position (mm)

Figure 7.10: Average forces—three features, feed rate 0.151 mm/tooth. The legend showsthe line types plotted to represent the ACT and LEF model predictions, and the experimental measurements.

40 80 120 160

Page 268: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 7. Simulations and experiments 241

may indicate an unexpected actual part shape. Observe in figures 7.5 through 7.10 the

significant difference in the average force “signatures” of the three different but similar

part shapes. Any sizeable feature of the part will influence the overall average force values,

and its absence will be detectable. The LEF model equations for computing the average

forces (6.19) and (6.20) are based solely on integrals of the cutter immersion interval.

Therefore the average forces for disjoint intervals can be added linearly. That is, if interval

A [4st,A, Ekex,A) is disjoint from interval B [qS8t,B,q5ex,B) and the corresponding average

forces are F,A, F,A, F,B and F,B, then the Boolean union A U B has average forces

FX,AUB = F,A + F,B and F,AUB = F,A + F,B. Similarly if B C A then the Boolean

difference A — B has average forces FX,A_B F,A — F,B and FY,A_B = F,A — FB.

For example, if the average forces for the set complement of the third part feature are

subtracted from the average forces for the two feature part, then the average forces for

the three feature part will be obtained (figure 7.11). This property can be used to assist

in identifying a single missing part feature. If the average uncut chip thickness (and

hence KT and KR) change little then this technique can also be applied using the ACT

model.

7.3.3 Feed rate scheduling

To illustrate the incremental feed rate scheduling procedure (section 6.3) the three feature

part was used. At a constant feed rate of 0.151 mm/tooth the predicted average torque

is shown in figure 7.12. Now suppose that a average torque T9 of 60 N-m is to be

maintained. Such a constraint would in practice be due to a limitation of the spindle

drive motor. By solving (6.42) and (6.43) incrementally along the cutter path the target

feed rate shown in figure 7.13 is obtained. The second criteria imposed is a maximum

feed rate of 0.175 mm/tooth. This constraint was added to avoid difficulties in tracking

the machine tool table position with the experimental equipment available. In industry

Page 269: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 7. Simulations and experiments 242

1.5

.2 1.0

0 200

position (mm)

Figure 7.11: Average force Boolean combination. For the LEF model, the average forcesof features combined using Boolean operators can be combined under specific conditions.For example, the average forces for the three feature part P3 equal the average forces forthe two feature part P2 less the average forces for the third part feature F3.

P3 P2

40 80 120 160

Page 270: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 7. Simulations and experiments 243

150

120

90

Figure 7.12: Predicted average torque—three feature part. Using a constant feed rate of0.151 mm/tooth the average torque predicted by the ACT and LEF process models forthe three feature part is shown above.

a maximum uncut chip thickness constraint might be substituted.

With a feed rate tolerance of 0.01 mm/tooth the average torque target feed rate

was approximated using straight line segments. The approximation was then combined

with the maximum feed rate constraint to yield the final target feed rate to be scheduled

(figure 7.14). This feed rate was then converted to an advance rate per second. With

eight teeth and a spindle speed of 775 rpm the conversion expression is

8 teeth 775 rev. mm.s (mm/s) = .st (mm/tooth) .

_______

. .

rev. mm. 60 s

To allow for a table servo drive rise time of 80 ms (see section 7.5) plus 20 ms to com

municate a new velocity to the motion controller an offset oft3d=100 ms was used to

compensate for the servo dynamics (refer back to figure 6.14).

Expressed again in mm/tooth, the target and experimentally achieved feed rates for

the scheduling test are shown in figure 7.15. Observe that the achieved feed rate is slightly

smaller than the target feed rate—as planned. Although the average torque could not be

directly measured with the available equipment, the part geometry is accurately known

120

position (mm)

Page 271: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 7. Simulations and experiments 244

00

EE

0

0ci)ci-)

0 40 80 120 160

0.3

o0

. 0.2EE

ci)

0

0ci)c1)

0.0200

position (mm)

Figure 7.13: Target feed rate—average torque constraint. The graph above show thetarget feed rate to achieve an average torque of 60 N-rn when cutting the three featurepart. Predictions for both the ACT and LEF models are provided.

0.3

0.2

0.1

0.0200

position (mm)

Figure 7.14: Merged target feed rate—average torque constraint. To satisfy both constraints the lower of the two target feed rates is retained at each point along the cutterpath. Legend: st,tgti—average torque constraint; st,tgt2—maximum feed rate constraint;st,tgt—merged feed rate.

0 40 80 120 160

Page 272: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 7. Simulations and experiments 245

0.3

0

02

E

1J

0.10Q)V

0.00 200

Figure 7.15: Scheduled feed rate—average torque constraint. The graph above shows thetarget and the experimentally achieved feed rates. As planned, the achieved feed rate isslightly smaller than the target feed rate.

and hence the average torque can be estimated using measurements of the average a and

y forces from the dynamometer (figure 7.16), solving for the ACT model parameters KT

and KR (see (6.9)) and the torque estimate obtained using (6.40). A graph showing this

experimental estimate and the predicted average torque for the ACT model is shown

in figure 7.17. Other than the expected deviation due to the difference between the

target and achieved feed rates, a good agreement between experiment and prediction was

obtained. These results demonstrate the usefulness of the solid modeller based milling

process simulation system for planning purposes.

7.3.4 Recursive parameter identification

This section demonstrates recursive identification of the ACT model parameters as out

lined in section 6.1.1. A similar approach would be used for the LEF model—mathematical

details appear in section C.1.

Data from the three feature part and feed rate scheduling experiment conducted in

40 80 120 160

position (mm)

Page 273: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 7. Simulations and experiments

L)

Q

q)

c)>.

E

L.

0

q)

0

a)>0

0 40 80 120 160

246

2.5

2.0

1.5

1.0

0.5

0.0

-0.5200

position (mm)

Figure 7.16: Average forces—scheduled feed rate. Shown above are the average x and yforces obtained while cutting with the feed rate schedule of figure 7.15.

60

30

00 200

position (mm)

Figure 7.17: Average torque—scheduled feed rate. The graph above shows the experimental average torque estimate and the ACT model prediction for the feed rate schedule offigure 7.15.

40 80 120 160

Page 274: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 7. Simulations and experiments 247

section 7.3.3 was is used because of the wide domain of average uncut chip thickness

] values available. The average x and y forces for this experiment were presented in

figure 7.16. Samples were recorded at 2 mm position increments to avoid repeated iden

tification with unchanging part geometry and h values. Because the in cut immersion

intervals beyond position 180 mm are too small to reliably solve for KT and KR using

(6.9), these average force measurements were discarded. To provide a sufficient quantity

of samples the remaining data was duplicated four times. This simulates cutting four

identical parts. Offline identification of the ACT model parameters was then performed

using the recursive least squares method. Initial values were:

10000 0P0 = (covariance matrix)

0 10000

K0 [1 1 1T (weighting factors)

0.1 0.1 IT (parameter estimates)

= 0.99 (forgetting factor)

The parameter estimates over the four part cycles are plotted in figure 7.18. The

estimates converge to the values log MT = 0.270 (or MT = 1.310 kN/mm2), PT = 0.222,

log MR —1.322 (or MR = 0.266) and PR 0.372 obtained using ordinary linear

regression (non-recursive least squares). Recalling the form (3.4)

KT = MTh_l’T = 1.310h°222 kN/mm2; KR = MRh,_PR = 0.266h°372

These estimates are approximately the values previously obtained during the calibration

tests (page 231). A more rapidly converging and improved estimate could be obtained

by frequently and randomly changing feed rates (within allowable constraints) so that

sampling occurs over broader domain of average uncut chip thickness.

The principal advantage of the recursive parameter identification approach is that

the data is obtained during productive cutting rather than during separate calibration

Page 275: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 7. Simulations and experiments 248

1.0

0.5

10.0

- -05ci-)Es— 1cL

-1.50

cyc’e

Figure 7.18: Recursive parameter estimates. The graph above show the estimates ob—tamed for the ACT model (3.4) parameters. Details are provided in the text.

tests. This is possible because the part geometry is accurately known. In general practice

conservative estimates for the cutting forces will be available and hence a cautious MRR

can initially be used until improved online estimates become available. Thereafter cutting

at a more productive MRR can safely proceed. Detection of a sudden change in parameter

estimates indicates either a substantial deviation from the nominal part shape or cutter

breakage. Consistent but slow changes may indicate tool wear.

To implement these strategies requires use of the solid modeller in two distinct ways.

First, condensed geometric information is needed to convert force measurements to the

process model variables. Secondly, a feed rate schedule using the new parameter estimates

must immediately be provided. This requires a communications link to the machine tool

executive (figure 1.1) and demands an efficient implementation of the milling process

calculations within the solid modeller.

1 2 3 4

Page 276: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 7. Simulations and experiments 249

7.3.5 Summary

The face milling examples have verified the implementation of both the ACT and LEF

process models within the solid modeller. The good agreement obtained between simula

tion and experiment implies that online monitoring applications can rely on the simula

tions to provide accurate reference data. To maintain adherence to process constraints,

the feed rate can be varied to follow a schedule prepared using the solid modeller. This

concept was successfully implemented using imposed average torque and maximum feed

rate constraints. Finally, an example of recursive process model parameter identification

was presented.

To be of practical use the solid modeller calculations must be carried out efficiently

and the simulation data condensed before it is transmitted to the machine tool executive.

This is particularly important when online updating is proposed.

7.4 End milling examples

7.4.1 Introduction

The end milling experiments were conducted using a four flute USS cutter with a radius

r. of 12.7 mm. The helix angle was &“3O degrees. The part material was 7075-T6

aluminum, cut dry at a spindle speed of 473 rpm. A constant axial depth a=19.05 mm

was maintained.

The ACT model was calibrated by sampling the average forces with an immersion

interval of [7r/2, ir) degrees (half immersion, down milling) and feed rates ranging from

0.018 to 0.087 mm/tooth. The following process model equations were obtained:

KT = 0.317h°424 kN/mm2; KR = 0.212h°217

Page 277: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 7. Simulations and experiments 250

test [q5st, q5ex) i (mm) KT (kN/mm2) KR0 [0,2r/3) 0.062 1.018 0.3881 [0,ir/2) 0.055 1.069 0.3982 [0,7r/3) 0.041 1.207 0.4243 [ir/3,r) 0.062 1.018 0.3884 [r/2,ir) 0.055 1.069 0.3985 [2r/3,ir) 0.041 1.207 0.424

Table 7.1: Helical cutter instantaneous force tests. The axial depth of cut a is 19.05 mmfor all tests. Teeth are in cut during only the interval {q,

7.4.2 Model verification

A first set of trials were conducted to verify the helical cutter expressions (6.29). For this

experiment the charge amplifier signals were connected directly to the data acquisition

card (see figure 7.1) and recorded at a rate of 720 samples per revolution. Averages for

ten successive revolutions were then computed. The feed rate was 0.087 mm/tooth.

Cutting conditions for the six tests are given in table 7.1. Corresponding graphs show

ing the simulation predictions and experimental measurements are labelled figure 7.19

through 7.24. Some deviation in the experimental measurements is observed. This is

attributed to radial runout (measured to be approximately 30 gm), which could not be

further reduced using the available equipment. There is, however, good agreement be

tween the shape of the simulation and experiment curves and hence correctness of (6.29)

is concluded.

The remaining end milling examples all involve the part shape shown in figure 7.25.

The two cutter paths used are labelled A and B in figure 7.26. The simulation predic

tions were obtained using programs cutmod and helix (see [110, appendix D]). Each

complete simulation along the cutter path at 1 mm increments required approximately

one minute of execution time. Unless otherwise noted, the radial runout component in

Page 278: SOLID MODELLER BASED MILLING PROCESS SIMULATION

c:I)C-)

0

rotation angle

Figure 7.19: Helical cutter instantaneous force test 0. Values are plotted over one revolution of the four flute cutter. Simulations using the ACT model are shown with thickerlines and experimental measurements are shown with thinner lines.

rotation angle

Figure 7.20: Helical cutter instantaneous force test 1. Values are plotted over one revolution of the four flute cutter. Simulations using the ACT model are shown with thickerlines and experimental measurements are shown with thinner lines.

Chapter 7. Simulations and experiments 251

2

1

0

—1

-20 rt /2 3n/2 23t

q)C)

0

2

1

0

—1

-20 ru/2 33t/2 2rt

Page 279: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 7. Simulations and experiments

C)I—

C)

rotation angle

Figure 7.21: Helical cutter instantaneous force test 2. Values are plotted over one revolution of the four flute cutter. Simulations using the ACT model are shown with thickerlines and experimental measurements are shown with thinner lines.

ci)C)

252

2

1

0

—1

-20 t/2 3n/2 2it

0

2

1

0

—1

-22m

Figure 7.22: Helical cutter instantaneous force test 3. Values are plotted over one revolution of the four flute cutter. Simulations using the ACT model are shown with thickerlines and experimental measurements are shown with thinner lines.

rt /2 3t/2

rotation angie

Page 280: SOLID MODELLER BASED MILLING PROCESS SIMULATION

ca)L)C

0

rotation angle

Figure 7.23: Helical cutter instantaneous force test 4. Values are plotted over one revolution of the four flute cutter. Simulations using the ACT model are shown with thickerlines and experimental measurements are shown with thinner lines.

Figure 7.24: Helical cutter instantaneous force test 5. Values are plotted over one revolution of the four flute cutter. Simulations using the ACT model are shown with thickerlines and experimental measurements are shown with thinner lines.

Chapter 7. Simulations and experiments 253

2

1

0

—1

-20 31/2 3n/2 2n

ci)C)

0

2

1

0

—1

-20 3n/2

rotation angle

2m

Page 281: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 7. Simulations and experiments 254

Figure 7.25: End milling example part

the experimental measurements was smoothed by taking a four tooth moving average.

The feed rate was a constant 0.087 mm/tooth.

The experimental and predicted average x and y forces along cutter path A are shown

in figure 7.27. The negative of the average x force is plotted. The significant features in

the test part shape are readily recognized in the force signals. Near the 15 mm a slight

decrease in the y average force is observed as the cutter encounters the 16.0 mm diameter

hole. The average forces then increase up to the maximum immersion near the 25 mm

position. Beyond the 50 mm position the forces decrease as the cutter enters the large

void. Near the 80 mm position the forces are smallest, and then slowly increase as the

Gil dimensions in millimetres

Page 282: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 7. Simulations and experiments

y

x

all dimensions in millimetres

18,5

255

Figure 7.26: End milling cutter paths. The two paths labelled A and B were used in theend milling examples. The cutter was a 12.7 mm radius HSS helical end mill and theaxial depth of cut was 19.05 mm. Cutter immersion arcs for the two paths are shown at10 mm increments and labelled at the 40 mm, 80 mm and 120 mm locations.

Page 283: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 7. Simulations and experiments 256

Figure 7.27: Average forces—end path A. For cutting along end path A the average forcesobtained experimentally and by simulation with the ACT model are shown above. Thefeed rate is a constant 0.087 mm/tooth and the axial depth of cut 19.05 mm. The x forcehas been negated.

L)C-)

0

0

0

2.0

1.5

1.0

0.5

0.0

-0.50 40 80 120

position (mm)

160

immersion widens. The overall agreement between the simulation predictions and the

experimental measurements is very good.

Figure 7.28 show the maximum resultant force values. The simulation predictions

were computed rapidly using the numerical methods described in section 6.2.2 with a

tolerance Ff01 = 0.050 kN. Good agreement between simulation and experiment is ob

served, although the experimental measurement appears to be slightly less than predicted.

This is due to bending of the cutter, and is discussed in more detail later. In section 7.4.3

the maximum resultant force is imposed as a constraint to demonstrate use of the rapid

feed rate scheduling technique developed in section 6.3.2.

End milling path B was used to examine the surface location error prediction capa

bility. Again the axial depth of cut was 19.05 mm and the feed rate 0.087 mm/tooth.

As an initial check, the simulated average forces were computed and compared to the

experimental measurements (figure 7.29). As expected, good agreement was obtained.

Page 284: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 7. Simulations and experiments 257

2.0

1.50

U)

j0.5

0.0160

Figure 7.28: Maximum resultant force—end path A. For cutting along end path A themaximum resultant force obtained experimentally and by simulation with the ACT modelare shown above. The feed rate is a constant 0.087 mm/tooth and the axial depth ofcut 19.05 mm. In section 7.4.3 the feed rate is automatically scheduled to maintain aconstant maximum resultant force.

The simulation and experimental results for the maximum normal force are shown

in figure 7.30. For this graph the four tooth moving average was not used, and hence

the unsteady component due to runout remains. Measured at 3 mm axial depth of cut

spacings, the surface profile after milling is shown in figure 7.31. Using a measured

cutter compliance of ksie=O.l736 mm/kN, the simulated maximum surface location error

prediction is compared to the experimental measurement in figure 7.32.

The observed maximum normal force is consistently somewhat less than the predic

tion. This occurs because the cutter is bending enough to measureably alter the uncut

chip thickness. Based on the maximum normal force graph an overestimate of the max

imum surface location error would be expected. Nominally this would occur, but for

the case under study this is nullified by the large radial runout. Even though the force

is lower, the larger radius teeth generate the final surface with a larger surface location

error. These observations are consistent with those previously reported by Kline [56,

position (mm)

Page 285: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 7. Simulations and experiments 258

Q-)C-)S.

0

cJC)

V

C)

VC-)S.

0

ES.

0

C)

E

position (mm)

0 40 80 120 160

2.0ACT expt

Figure 7.29: Average forces—end path B. For cutting along end path B the average forcesobtained experimentally and by simulation with the ACT model are shown above. Theaxial depth of cut was 19.05 mm and the feed rate 0.087 mm/tooth.

2.0

1.5

1.0

0.5

0.00 160

position (mm)

Figure 7.30: Maximum normal force—end path B. Experimental and simulation (ACTmodel) maximum normal force results for cutting along end path B are shown above.The unsteady component in the experimental measurement is due to runout.

40 80 120

Page 286: SOLID MODELLER BASED MILLING PROCESS SIMULATION

o‘

—.

Oq

o

C)

OC

Do

CD0

0

CD

CD

CDCl

)

U) CD

CD

H-i-

0C

DC

DC

DO

—CD

co-

)CD

o

CDCD

CDC

)o

ç,-—

•0

EC

U)

l•4

CD

°C

D,

‘-4

,

U)

Cl)

CD±

CD

-t•-

CDCl

)CD

0 r) 0

0 0

surf.

icc.

erro

r(m

m)

02

00

--

I CD U)

0‘‘

Cl)

0_0 D 3

c,zz(

mm

)

cc

Page 287: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 7. Simulations and experiments 260

0.4

5

0.3

0.2

0.1><

0.00 160

position (mm)

Figure 7.32: Maximum surface location error—end path B. The experimental measurement was found by taking the maximum of the five profiles shown in figure 7.31. TheACT model prediction was obtained using the relationship Sy,max = ksteFy,max whereksteO.1736 mm/kN and Fy,max is the simulated maximum normal force from figure 7.30.

chapter 7].

Despite the measureable bending of the cutter in this experiment, the simulation

and experimental results are in adequate agreement for use during the bulk material

removal stage of pocketing operations. During the finishing pass, when surface location

is the primary concern, an improved simulation can be obtained by balancing the cutter

deflection with the cutting forces (see Kline [56]). In this situation peripheral milling is

likely to be occurring, and hence geometrical simulation of the cutter deflection can be

obtained by translating the part boundary relative to the cutter path centreline. This

would be repeated until a force balance is attained. The improved predictions can also

be presented as graphs such as those shown in figures 6.17 and 6.18, and hence the rapid

solution technique outlined in section 6.3.2 is still applicable. The solution for the runout

problem is not to include it in the process model, but rather to reduce it using improved

equipment.

40 80 120

Page 288: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 7. Simulations and experiments 261

7.4.3 Feed rate scheduling

In this section examples of the use of feed rate scheduling to maintain adherence to

maximum resultant force and maximum surface location error constraints are presented.

For the maximum resultant force example the rapid numerical solution method outlined

in section 6.3.2 is applied to demonstrate this technique in practical use. The maximum

surface location error example feed rate is scheduled using the incremental sampling

approach described in section 6.3.

Maximum resultant force

Consider end milling cutter path A (figure 7.26). The goal is to maintain the maximum

resultant force at 1.2 kN by scheduling a varying feed rate along the cutter path. The

second constraint s < 0.175 mm/tooth is imposed to avoid difficulties in tracking the

machine tool table position with the experimental equipment available. On the factory

floor other criteria would include maximum uncut chip thickness and surface location

error constraints.

The rapid numerical solution method begins by computing the inverse (6.45) to ob

tain the target feed rate (as a function of the entry angle ) required to maintain the

maximum resultant force at 1.2 kN. A piecewise linear approximation st,tgtip(cbst) with

tolerance 3t,to1 is then constructed (figure 7.33). For this example the value

mm/tooth is chosen. The approximation is then merged with the second constraint

st,t9t2(qfSt)=O.17Smm/tooth to yield the piecewise linear final feed rate target

st,tgtp(q3t) = inf{st,tgtip( .stt9t2(qst ) }

as shown in figure 7.34.

Next, the portions of the cutter path during which down milling is occurring over a

single immersion interval [q, 7r) are determined. These are shown in figure 7.35. Observe

Page 289: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 7. Simulations and experiments 262

00

EEq)

cz,

ci)

0.30

0.25

0.20

0.15

0.10

0.05

0 31/4 31/2 331/4

00

E5

ci)

ci)ci)

ci)

0.00

entry angle (radians)

Figure 7.33: Piecewise linear feed rate—maximum resultant force constraint. The thinnerline and LI symbols in the graph above indicate the piecewise linear approximation usedfor the maximum resultant force constraint target feed rate (shown with the thickercurve).

0.30

D St,tgtpSt,tgtj p

St,lg2p

0.25

0.20

0.15

0.10

0.05

0.000 31/4 31/2 3n/4 31

entry angle (radians)

Figure 7.34: Merged target feed rate—maximum resultant force constraint. To satify bothconstraints the lower of the two target feed rates is retained. Legend: .st,tgtlp—maximum

resultant force constraint; st,tgt2p—maximum feed rate constraint;s,9—merged feed rate.

Page 290: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 7. Simulations and experiments 263

i_ irt/2

160

position (mm)

Figure 7.35: Entry angle evaluation points—maximum resultant force constraint. Thecurve above shows the portion of end milling cutter path A during which down millingis occurring over a single immersion interval 7r). The symbol indicates the fewpositions where the entry angle 4 must explicitly be evaluated to construct the piecewiselinear target feed rate schedule within the specified tolerances.

that during initial entry, and when the cutter exits into one of the 16.0 mm diameter

holes, down milling is not occurring. During these portions of the cutter path incremental

sampling is used.

Suppose for this example that the piecewise linear approximation for the feed rate is

to always be within 0.01 mm/tooth of the exact value. Since St,tolej, = 0.005 mm/tooth

has already been chosen, satisfying (6.48) requiresc6st,to1tgtp 0.005 mm/tooth. This

dictates the value that 6st,to1 must assume. For the example table 7.2 lists the piecewise

intervals [qS8tA, cbtB) (from figure 7.34), the first derivatives and the associated

c68t,t01 values required.

Along the cutter path the entry angle q5 is first evaluated at the endpoints of each

boundary segment. The positions at which enters a new piecewise linear interval

[q8tA, cb5tB) are then located by solving the appropriate analytic endpoint expression (one

of (5.1), (5.2), (5.3) or (5.6)). In betweeen these positions çb is evaluated at additional

1

40 80 120

Page 291: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 7. Simulations and experiments 264

[ ‘1stA, ‘bstB) st,tgtp( cl)stA) Stgtp bst,toiradians mm/tooth (mm/tooth) /radian radians

[0, 1.623) 0.0317 0.0086 0.5817[1.623, 1.990) 0.0457 0.0630 0.0794[1.990,2.199) 0.0688 0.1764 0.0284[2.199, 2.304) 0.1057 0.3636 0.0138[2.304,2.356) 0.1438 0.5960 0.0084

[2.356,7r) 0.1750 0.0000 00

Table 7.2: Determination of cb5t,t01. In the example, to satisfy (6.48) requires thatnot exceed 0.005 mm/tooth. The table above lists the piecewise linear in

tervals [stA, stB) from figure 7.34, the first derivatives 1st,tgtp and the associated 95st,tol

values required. The interval starting endpoint value St,tgtp(hstA) is also shown for reference.

points as dictated by the 4sttol value. In figure 7.35 the few locations at which explicit

evaluation of çi is required are indicated by a L symbol. In the portions of the cutter

path where down milling is not occurring, the feed rate is found by incremental sampling.

The final feed rate is then obtained by condensing the samples and then applying the

command offset procedure explained in section 6.3.1. Figure 7.36 shows the final target

and the experimentally achieved feed rates. The maximum resultant force is shown in

figure 7.37. Other than the variation due to runout, the 1.2 kN goal is met.

• Although a more involved analysis is required, the rapid numerical method of schedul

ing the target feed rate typically requires far fewer mathematical operations than incre

mental sampling along the cutter path. Furthermore, it provides a continuous schedule

which adheres to specified tolerances. There is no possibility of an undetected transient

occurring because the incremental sample points are too widely spaced.

Page 292: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 7. Simulations and experiments 265

Q)0

0

0

C!)CI.)

E

E><C)

5

position (mm)

Figure 7.37: Maximum resultant force—scheduled feed rate. The graph above shows themaximum resultant force measured with the target feed rate schedule of figure 7.37. Theunsteady component of the force signal is due to cutter runout.

40 80 120

0.3

00

E5

ci)

C)

-C)

CI)

0.00 160

position (mm)

Figure 7.36: Scheduled feed rate—maximum resultant force constraint. The graph aboveshows the final target and experimentally achieved feed rates for the maximum resultantforce example.

2.0

1.5

1.0

0.5

0.00 40 80 120 160

Page 293: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 7. Simulations and experiments 266

Maximum surface location error

End milling cutter path B (figure 7.26) is used for the maximum surface location error

example. The goal is to maintain the maximum surface location error near 0.100 mm.

Again the second constraint 5 < 0.175 mm/tooth is imposed. Due to equipment diffi

culties this experiment was conducted later with a sharp cutter and a new holder in the

spindle. The measured cutter compliance was = 0.1665 mm/kN and the ACT model

calibration parameters were

KT = 0.455h°306 kN/mm2; KR = 0.336h°197

At the cutter tip the difference in radii from the highest to lowest tooth (radial runout)

was 13 m.

The exact inverse and experimentally achieved feed rates to maintain the imposed

constraints are shown in figure 7.38. The measured maximum normal force per tooth

period is shown in figure 7.39. The unsteady component is caused by the radial runout.

Overall the maximum normal force remains near the 0.6 kN level required by the max

imum surface location error constraint. There is a brief overshoot to approximately 0.7

kN between positions 30 mm and 50 mm. During this period the feed rate is rapidly

accelerating, and the static ACT milling process model predictions decrease in accuracy.

Without significantly reducing the MRR, this problem can be overcome by limiting the

feed rate acceleration.

The surface profile was measured using a dial gauge at five axial depth of cut levels.

Readings were taken at position increments of 2.032 mm (0.080 inches). Figure 7.40 shows

the 3 D profile, and figure 7.41 compares the measured maximum surface location error to

its exact inverse feed rate predicted value. Other than the higher error between positions

30 mm and 50 mm (explained above), good adherence to the 0.100 mm constraint was

obtained.

Page 294: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 7. Simulations and experiments 267

-Th

0

EE

0

0ci)ci)

ci)C-)

0

0

E0

><0

E

40 80 120

0.3

0.2

0.1

0.00 160

position (mm)

Figure 7.38: Scheduled feed rate—maximum surface location error constraint. The graphabove shows the exact inverse and experimentally achieved feed rates for the maximumsurface location error example.

2.0

1.5

1.0

0.5

0.00 160

position (mm)

Figure 7.39: Maximum normal force—scheduled feed rate. The graph above shows themaximum resultant force measured with the feed rate schedule of figure 7.38. The unsteady component of the force signal is due to cutter runout.

40 80 120

Page 295: SOLID MODELLER BASED MILLING PROCESS SIMULATION

position (mm)

Figure 7.40: Surface profileschedu1ed feed rate. The graph above shows the surfaceprofile of the part after cutting along path B using the feed rate schedule of figure 7.38.Measurements were taken along the z axis at stations 3, 6, 9, 12 and 15 mm from the tipof the cutter. The remaining two axes represent the position along the cutter path andthe surface location error.

Chapter 7. Simulations and experiments 268

40.2 80.8 121.50.4 I I I I

—. 0.3EE

0.2

C

20.1I.Z3 -

cn -

0.0

15 -

59

3

Page 296: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 7. Simulations and experiments 269

0.4

E0.3 ACT expt

gO.2

::

_

0 40 80 120 160

position (mm)

Figure 7.41: Maximum surface location error—scheduled feed rate. The experimentalmeasurement was found by taking the maximum of the five profiles shown in figure 7.40.The ACT model prediction was obtained using the relationship 6y,max = ksieFy,max wherelCsle = 0.1665 mm/kN and Fy,max is the simulated maximum normal force.

7.4.4 Summary

The end milling examples have verified several aspects of the milling process model

implementation within the solid modeller. A first set of tests confirmed the correctness of

the helical cutter expressions (6.29). This was followed by confirmation of the maximum

resultant force and surface location error prediction accuracy. Two sources of discrepency

between the solid modeller predictions and experimental measurements were observed.

The first, cutter radial runout, should not be modelled but rather should be reduced by

improving the machine tool spindle assembly. Such equipment is commercially available.

At large axial depths of cut deflection of the cutter was large enough to affect the uncut

chip thickness and hence the cutting force. An improved milling process model which

accounts for this is recommended.

An application of rapid feed rate scheduling to maintain adherence to maximum re

sultant force and maximum feed rate constraints was then presented. When peripheral

Page 297: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 7. Simulations and experiments 270

milling is occurring along the cutter path it was shown that analysis of the cutter immer

sion intervals allows a satisfactory feed rate schedule to be obtained without evaluating

the milling process model at small increments. This technique remains applicable even

if a more complex milling process, which accounts for cutter deflection, is used. A final

example demonstrated the use of feed rate scheduling to maintain adherence to a surface

location error constraint.

An issue not addressed herein is the problem of contouring errors (see section 2.3.3)

caused by varying feed rates. The reader is referred to the recent article by Butler, Haack

and Tomizuka [13] for an introduction to the topic.

7.5 Adaptive control

7.5.1 Introduction

The most widely studied alternative to a priori feed rate scheduling is the use of online

feedback control techniques. The basic principle is to specify a reference threshold for

a process constraint, and then design a control system to maintain adherence to the

reference. As stated in chapter 2, unaided control systems will react with a transient

when sudden process changes occur. The result is violation of the constraint, which in

milling is unacceptable.

To overcome this shortcoming the use of solid modeller data is proposed. For illus

tration, the problem of maintaining adherence to a reference maximum resultant force

during end milling is examined. This constraint is frequently imposed to prevent failure

of the brittle cutter shank (see section 3.3.3).

Page 298: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 7. Simulations and experiments 271

Figure 7.42: Maximum resultant force process block diagram. The controller commandvelocity u is received by the table servo drive which achieves, for a fixed spindle speed,the actual feed rate per tooth s. The dynamic milling process, which includes the cuttercompliance, then produces a maximum resultant force per tooth period Fmax which issampled and returned to the controller for comparison with the reference Fmax,r.

7.5.2 Process model

A block diagram of the maximum resultant force process is shown in figure 7.42. The

controller command velocity u is received by the table servo drive which achieves, for

a fixed spindle speed, the actual feed rate per tooth s. The dynamic milling process,

which includes the cutter compliance, then produces a maximum resultant force per

tooth period Fmax which is sampled and returned to the controller for comparison with

the reference Fmax,r.

The table servo drive dynamics were identified by careful measurement [2] and are

assumed to be unchanging. Derivation of the dynamic milling process model follows:

Based on the LEF model, the maximum resultant cutting force per tooth period i is

approximated by the relationship

Fmas() = a(Khm(i) + p) (7.1)

where

K is a specific cutting pressure related constant (kN/mm2)

Page 299: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 7. Simulations and experiments 272

hm(j) is the apparent maximum chip thickness (mm) (described below)

p represents the frictional edge forces per unit axial depth of cut (kN/mm)

During machining of an actual part, changing immersion geometry will cause varia

tions in the resultant cutting force. To comply, the cutter will deflect with component

S(i) opposite to the feed direction (figure 7.43). Discretizing per tooth period the ap

parent maximum chip thickness is therefore defined as

hm(i) = b[s(i — 1)— S(i) + 6(i — 1)] (7.2)

where b is a width of cut parameter and depends on the immersion geometry. The

basic form of this model was proposed by Koenigsberger and Tlusty [60] and derived

in discrete form by Tomizuka, Oh and Dornfield [129]. The relationship between the

maximum resultant force and the deflection is

S(i) = ksie,xFmax(i) (7.3)

where k316, is the end mill compliance in the feed direction.

Combining (7.1), (7.2) and (7.3) yields

Frnax()= St(Z — 1)

— ksie,xFmax(i) + ksie,xFmax( — 1) +Kb

Additional rearrangement and defining t = ksje,xKab yields

/1\\

1/ p1 —+11 Fmax() Fmax(1) 1/t J 1s1e,x \

Introducing the backward shift operator q1 and defining the parameters

— —. _

______

— ap1 + ksie,x(1 + ii) 1 + JL

provides the model form

(1 +aq1)Fmax(i) = ‘q1st(i) +7 (7.4)

Page 300: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 7. Simulations and experiments

max

x (1)

273

Figure 7.43: Process dynamics due to cutter compliance. Due to the cutter compliance,the maximum resultant force Fmax(i) will cause a deflection in the feed direction 6(i) toobey (7.3). This occurs for each tooth period i, resulting in a dynamic process model.

o(i—1)

I

\

F (i)

St (i—i)

Page 301: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 7. Simulations and experiments 274

Substituting the feed rate s in mm/s for the feed rate s in mm/tooth, (7.4) becomes

(1 + aq’)Fma(i) = q 1Sf(i) + (7.5)

This notation is preferred since it involves only directly measureable quantities. In (7.5)

c and j3 specify the dynamics between the feed rate per tooth and the maximum resultant

force. The parameter y characterizes the frictional edge forces in the LEF model.

Open loop identification experiments were conducted to confirm the dynamic milling

process model and to obtain the cutter-part specific parameters for simulation purposes.

The cutter was a 12.7 mm radius zero helix end mill used with a single carbide insert.

The part was 7075-T6 aluminum and was cut dry. The spindle speed was 774 rpm, the

axial depth of cut 3.81 mm and the immersion interval a full [0, 7r) radians. To excite

the dynamics the feed drive motor was directly commanded by a pseudo-random binary

signal (PRBS) with one to ten tooth periods between transitions. Feed rate commands

oscillating between limits of 0.75 —* 1.25, 1.00 <— 2.00, 2.00 —* 4.00 and 4.00 —* 6.00

mm/s were used.

The identification algorithm used was the normalized least mean squares (NLMS) or

projection method (see Goodwin and Sin [39]) which estimates the parameters

rU /3

using the recursive equation

OT(i) = eT(i -1)+ c + -1)

- T(i - 1)6(i - l)j (7.6)

where

ke is the estimator gain (= 0.15)

c is zero for this application

Page 302: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 7. Simulations and experiments 275

and

1) [ Fmax( — 1) sf(i — 1) 1 1

is the regressor vector. Initially all estimates were set to zero.

Figure 7.44 shows the measured feed rate and maximum resultant force during a

portion of the 2.00 —* 4.00 mm/s PRBS test. The force measurements are consistent

with a first order dynamic model having a rise time of approximately four tooth periods.

The offset due to edge forces is apparent since doubling the feed rate less than doubles

the steady-state maximum resultant force. Measurements of the steady-state maximum

resultant force at various feed rates (table 7.3) confirm the linearity of relationship (7.1).

The fitted edge force parameter p is 0.105 kN/mm and the specific cutting pressure

related constant K is 1.411 kN/mm2.

Consistent values were obtained for the recursively identified process model transfer

function (7.5) (see table 7.4). The pole & near -0.24 corresponds to the observed rise

time of four tooth periods, and provides an estimate for of 0.316. Using this value

with a = 3.81 mm and p = 0.105 kN/mm yields 7 = 0.304 kN which closely agrees with

the identified value in table 7.4. The specific cutting pressure related constant K is

estimated by substituting q1 = 1 in (7.5). From table 7.4 estimates for this value range

from 1.060 to 1.426 kN/mm2. This is consistent with the value 1.411 kN/mm2 found

using the steady-state measurements. The directly measured cutter compliance (when

mounted in the spindle) was = 0.073 mm/kN. Using the values from table 7.4 the

estimates for k3ie,x range from 0.058 to 0.065 mm/kN. The lower oriented compliance

values reflect the fact that the maximum resultant force is larger and not aligned with

its component in the feed direction.

Overall, the experimental measurements are in good agreement with expectations,

and use of the dynamic milling process model in simulation and control applications is

Page 303: SOLID MODELLER BASED MILLING PROCESS SIMULATION

feed rate (mm/s) 0.50 1.00 1.25 2.00 3.00 4.00 6.00maximum resultant force (kN) 0.60 0.83 0.95 1.28 1.70 2.05 2.90

Table 7.3: Steady-state maximum resultant forces. The table above lists the measuredsteady-state feed rate and maximum resultant forces observed during the PRBS cuttingtests.

PRBS feed rate 3 3’ &

mm/s mm/tooth kN kN/mm kNmm/s0.75 *—* 1.25 0.058 —* 0.097 0.25 3.23 -0.20 0.361.00 —* 2.00 0.078 —* 0.155 0.30 3.87 -0.24 0.352.00 ÷-* 4.00 0.155 ÷-* 0.310 0.30 3.87 -0.25 0.343.00 —* 6.00 0.233 ÷-* 0.465 0.32 4.13 -0.24 0.29

Table 7.4: Identified cutting model parameters. The PRBS feed rate in both mm/s andmm/tooth is shown, as are estimates for both /3 and /3’.

U)

EE

ci.,ci., feed rate

Chapter 7. Simulations and experiments 276

6 3

5 maximum resultant force

4 2i.E3 -s=

2 U)I ci

I E

En 1,..., ‘J

E

Figure 7.44: PRBS feed rate and maximum resultant force. The measured feed rate andmaximum resultant force during a portion of the 2.00 <-* 4.00 mm/s PRBS test is shownin the graph above. The signals are consistent with a first order dynamic system with afour tooth period rise time.

180 190 200 210

tooth period

220

Page 304: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 7. Simulations and experiments 277

justified.

7.5.3 Controller design

Next, the maximum resultant force controller was designed using the milling process

model structure derived above. Because of motion controller feed rate update time re

strictions, a sampling (tooth) period of 48.75 ms was used. This corresponds to a spindle

speed of 615 rpm with two equally spaced teeth.

With this sampling period the zero order hold discrete transfer function of the table

drive servo is

G3(q)= Sf mm/s = K(q1 + z1q2)

(7.7)umm/s i+piq

where K = 0.978, z1 = 9.171 x 1O and p’ = —2.079 x 10—2. To identify the milling

process model parameters, which will change with part geometry, specific cutting pressure

and edge forces, the projection algorithm (7.6) was again used. The DC force component

due to ‘‘ was eliminated by subtracting

(i)Fo2) =

1 + &(i)

from both the reference Fmax,r(i) and the measured force Fmax() to obtain respectively

Faxr() and F,ax(). This technique algebraically ensures proper reference force track

ing.

The controller chosen was an indirect pole placement design (see Aström and Witten

mark [5]) (figure 7.45). Closed loop performance was selected to correspond to a damping

ratio of 0.707 and a rise time of four sampling periods. With these criteria the closed

loop model transfer function is

Fas Bm q2(1+mi+m2)

Faxr — Am — 1 + m1q + m2q

Page 305: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 7. Simulations and experiments 278

where m1 = —1.162 and m2 = 0.413. Combining the table drive servo transfer function

(7.7) with the milling process model (7.5) yields (after eliminating the DC component)

Fax kN — B — K(q +z1q2) /3q1umm/sA 1+p1q 1+&q1

as the open ioop transfer function. Solving the closed loop equation

BT Bm

AR+ES — Am

for the controller polynomials yields the control law

u(i) = —riu(i — 1) —r2u(i — 2) + toFaxr(j) — SoFax(Z) — SiFax( — 1)

where r0 = m1— P1 — & and

= z1+r0

r2 = z1r0

3o = (m2—pi&—piro—&ro)/K

=

t0 (1+m1+m2)/K

Whenever ,B is estimated to be less than or equal to zero it is reset to a small positive

quantity to avoid division by zero.

7.5.4 Simulations and experiments

For comparison purposes, and to verify the adaptive controller operation, cutting tests

without the aid of solid modeller data were conducted first. The example parts and

cutter paths exhibited a step increase in axial depth of cut (part A, figure 7.46), and a

rapid increase in radial width of cut (part B, figure 7.47). The part material again was

Page 306: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 7. Simulations and experiments 279

Figure 7.45: Adaptive controller block diagram. An indirect pole placement design wasused (see Aström and Wittenmark [5]). Milling process parameters were identified usingthe projection algorithm (7.6). The solid modeller assistance input was added at thepoint marked L\FD.

A -SMDmax

Fmax,r Fmax

recursiveidentification

Page 307: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 7. Simulations and experiments 280

— 90.0

68.0

43.0

18,0 —

[6.0 [4.0 [2.0

_part

all dimensions in mm width of cut 25.4

Figure 7.46: Adaptive control part A. The part and cutter path shown above were usedto examine the response of the adaptive controller to a step increase in axial depth ofcut.

Page 308: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 7. Simulations and experiments

part motion

all dimensions in mm depth of cut 4.5

Figure 7.47: Adaptive control part B. The part and cutter path shown above were usedto examine the response of the adaptive controller to a rapid increase in radial width ofcut. The cutter radius was r = 12.7 mm.

281

20.0 — 50.8

90.0

Page 309: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 7. Simulations and experiments 282

7075-T6 aluminum, cut dry with a two tooth 12.7 mm radius zero helix end mill. The

spindle speed was 615 rpm. The feed rate was constrained between 0.6 to 15.2 mm/s.

To provide a transient free startup the reference force Fmax,r was increased linearly

during the first 25 sample periods from 0.0 kN to a thereafter constant 1.5 kN. The

tests were started with the cutter leading edge positioned 5 mm away from the part. To

prevent an initial rapid feed rate (because there are no cutting forces) the part geometry

was artificially extended to the starting location by adding a disturbance force at the

input to the control loop (see figure 7.45). Details on the disturbance input are

provided later the the solid modeller assisted experiments. The purpose of these initial

conditions is to restrict attention to the portion of the cutter path where the geometry

of interest is encountered.

The simulations were performed assuming a constant oriented cutter compliance

ksie,x = 0.062 mm/kN. The other model parameters used were K 1.411 kN/mm2

and p = 0.105 kN/mm. Random disturbance forces were modelled by multiplying the

maximum resultant force prediction by zero mean, 0.05 variance Gaussian noise.

The unassisted adaptive controller performance for part A are shown in figure 7.48.

Note that for rapid simulation it was assumed that the maximum resultant force occurred

when the cutter tooth was at immersion angle q5 ir/2 (i.e. at the leading edge). This

causes a small error near the step decreases in depth of cut near positions 43 mm and 68

mm. During the experiment runout causes a difference of 0.075 kN between the maximum

resultant forces measured for the two teeth.

When the immersion geometry is unchanging the controller maintains close regulation

to the 1.5 kN reference, a constant feed rate and consistent, unchanging parameter esti

mates. When the step increase in axial depth of cut from 3.0 mm to 6.0 mm occurs near

position 18 mm, a maximum resultant force transient to 2.8 kN is predicted. A transient

similar in magnitude occurs during the experiment. The controller quickly reduces the

Page 310: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 7. Simulations and experiments 283

feed rate and corrects the parameter estimates.

Figure 7.49 shows the unassisted adaptive controller performance for part B. Near

position 20 mm the hole is first encountered by the leading edge of the cutter. The

controller reacts by steadily increasing the feed rate to maintain the reference maximum

resultant force level. By the time material is encountered on the opposite side of the hole,

the feed rate has reached the imposed limit of 15.2 mm/s. The simulated transient rises

to 3.1 kN, but the controller recovers after three oscillation cycles. In the experiment a

transient of 2.5 kN occurred. Parameter tracking is smooth throughout, and the estimates

return to their pre-hole encounter levels. The parameter 7 primary represents the edge

forces, which are a function of axial depth of cut alone. Since the depth of cut is constant,

is expected to change very little across the hole. This indeed is observed in the graph.

With both example parts the unassisted adaptive controller was unable to prevent a

maximum resultant force transient when sudden increases in immersion geometry were

encountered. The transient levels were well above the reference setting, which in indus

trial practice would be set to a higher, more productive level. These transient forces

would certainly result in shank breakage of slender end mills under industrial conditions,

and hence an improvement to the unaided adaptive controller is required.

Assistance was accomplished by adding artificial material to the solid model just prior

to where the cutter would engage a real sudden increase in immersion geometry. Using the

static process model (7.1) the maximum resultant force was predicted for the part

shape including the artificial material. Within the modified adaptive controller algorithm

the disturbance force to be added to the control ioop (figure 7.45) was computed as

A iSMD— FSMD — FONL

max — max max

where FmOL is the maximum resultant force measurement received from the dynamome

ter and peak detection circuit (figure 7.1). This indirect strategy permits the controller

Page 311: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Ohapter 7. Simulations and experiments 284

ci)C-)

0

C,)ci,

E

E

E

LI10 20 40 60 80 100 120

position (mm)

Figure 7.48: Adaptive control—unaided, part A. Shown above is the adaptive controllerperformance without solid modeller assistance when cutting part A. Experimental resultsare shown with thick lines, simulation results with thin lines. Parameter estimate unitsare 3 (kN/(mm/s)) and (kN).

3

2

1

016

12

8

4

00.6

0.4

0.2

Cl)

E

0

0

a)

ci)

0

E

ci,

i5 0.0ci,

E0

0

-0.4

Page 312: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 7. Simulations and experiments

position (mm)

285

Figure 7.49: Adaptive control—unaided, part B. Shown above is the adaptive controllerperformance without solid modeller assistance when cutting part B. Experimental resultsare shown with thick lines, simulation results with thin lines. Parameter estimate unitsare /3 (kN/(mm/s)) and (kN).

C)

0

0

U)a)

5

.5><0

S

U)

SS

a)

a,a)

a)—

0

SC’)a)

a-)S

00

3

2

1

016

12

8

4

00.6

0.4

0.2

0.0

-0.2

-0.4

r-a

0 20 40 60 80 100 120

Page 313: SOLID MODELLER BASED MILLING PROCESS SIMULATION

8

6

4

2

0

position (mm)

120

286

Figure 7.50: Assistance material—part A. To avoid a real maximum resultant force transient when encountering the sudden increase in depth of cut at position 18 mm, artificialmaterial was imposed just prior to increase. The modified controller translates this intoan disturbance force which is added to the control loop (figure 7.45). Note thatthe artificial increase in depth of cut is made at a finite rate to avoid an oscillatory response. In both the aided and unaided tests the assistance material from 0 to 5 mm wasadded to avoid an initial high feed rate.

to maintain sensitivity to online measurements at all times.

The assistance material added for parts A and B is shown in figures 7.50 and 7.51

respectively. The thicker line indicates where solid modeller assistance was applied. In

figure 7.50 assistance material is added to anticipate the sudden increase in axial depth

of cut near position 18 mm. The artificial increase is added with a non-vertical slope to

smooth the controller response. Assistance material in figure 7.51 is added to anticipate

the sudden increase in radial width of cut which occurs as the cutter encounters the part

beyond the hole. For both parts assistance material was added prior to initial engagement

of the cutter (from position -5 mm to position 0 mm). This was also included in the

earlier unassisted trials to prevent an initial rapid feed rate.

For part A the adaptive controller performance with solid modeller assistance is shown

in figure 7.52. With the addition of the solid modeller data the maximum resultant force

Chapter 7. Simulations and experiments

EE

0 20 40 60 80 100

Page 314: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 7. Simulations and experiments 287

tance material

40 60 80 100 120

position (mm)

Figure 7.51: Assistance material—part B. To avoid a real maximum resultant force transient when encountering the sudden increase in width of cut near position 60 mm, artificialmaterial was imposed prior to increase. The modified controller translates this into andisturbance force AFD which is added to the control loop (figure 7.45). In both theaided and unaided tests the assistance material from 0 to 5 mm was added to avoid aninitial high feed rate.

at position 18 mm is eliminated. Note that solid modeller assistance is not required and

not supplied at the step decreases in depth of cut (near position 43 mm and position

68 mm). The parameter estimates were consistent with the unaided trial, and with the

known immersion geometry and process constants.

For part B the adaptive controller performance with solid modeller assistance is shown

in figure 7.53. Again, the solid modeller data prevented the transient which would oth

erwise occur where the width of cut suddenly increases. Parameter estimates were not

noticeably influenced by the solid modeller disturbance force.

75.5 Discussion

The above examples demonstrate the potential of solid modeller data to prevent the

transients which otherwise occur when sudden increases in cutter immersion geometry

1.0

0.5

0.00 20

Page 315: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 7. Simulations and experiments

ci)C-)

0

cz0

U)ci)

E

E

E

ci.)

0

C))ci

ci)

ci-)

E

position (mm)

Figure 7.52: Adaptive control—solid modeller assistance, part A. Shown above is the adaptive controller performance with solid modeller assistance when cutting part A. Experimental results are shown with thick lines, simulation results with thin lines. The addedAF,D signal is drawn in broken lines. Parameter estimate units are 3 (kN/(mm/s))and (kN).

288

U)

E

ci)

ci)ci.)

3

2

1

016

12

8

4

00.6

0.4

0.2

0.0

-0.2

-0.40 20 40 60 80 100 120

Page 316: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 7. Simulations and experiments

position (mm)

289

Figure 7.53: Adaptive control—solid modeller assistance, part B. Shown above is the adaptive controller performance with solid modeller assistance when cutting part B. Experimental results are shown with thick lines, simulation results with thin lines. The added£IFD signal is drawn in broken lines. Parameter estimate units are 3 (kN/(mm/s))and (kN).

ci)C-)S.—Q

Cl)ci)5—

5

S

S

C)-)

SS

c3

ci)Cl.)

ci)

SC))Cl)

Cl)

ci)

S

C-,

3

2

1

016

12

8

4

00.6

0.4

0.2

0.0

-0.2

-0.4

Y

-__________

a- -

0 20 40 60 80 100 120

Page 317: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 7. Simulations and experiments 290

are encountered.

In practical use the method would obtain maximum resultant force estimates using the

simulation approach outlined in section 6.2.2. For applications such as die preparation,

where use of adaptive control is frequently proposed, any small voids in the workpiece

would be areas in which assistance would be required. These features must be recognized

by the solid modeller. The distance by which the disturbance force should precede

the actual immersion geometry change would be found by further analyzing the control

system and using a strategy similar to that applied in section 6.3 to offset the command

feed rate schedule. To avoid estimated parameter drift which can lead to control system

instability, updates must be made only when the immersion geometry is actually changing

(i.e. when new information is available). As an additional or alternative precaution,

bounds on the allowable parameter values can be established using solid modeller data.

This type of approach is suggested by Tamura, Ogata and Nikiforuk [121].

Finally, a simpler controller without parameter estimation can be designed to be

tuned using a gain schedule (see Aström and Wittenmark [6, chapter 9]) computed by

the solid modeller. In anticipation of the sudden gain increase which accompanies the

immersion geometry increases, the controller gain would be reduced by a corresponding

amount. A cautious feed rate would be applied until the immersion geometry was actually

encountered, at which time regular controller operation would continue.

7.5.6 Summary

To maintain adherence to milling process constraints adaptive control is frequently pro

posed as an alternative to a priori feed rate scheduling. In this section a linear dy

namic milling process model based on the static LEE model was developed to relate the

feed rate to the maximum resultant force. Pseudo-random binary signal experiments

were conducted to verify the model and to obtain parameter values for simulations. An

Page 318: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 7. Simulations and experiments 291

adaptive pole placement controller was then designed and used to demonstrate the un

acceptable transients which occur when sudden increases in cutter immersion geometry

are encountered. This is an inherent characteristic of all feedback control systems. Use

of solid modeller data to remove the transients was then studied. For the part geome

tries considered the excessive maximum resultant force transient was safely eliminated,

demonstrating the potential of the strategy.

Page 319: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 8

Summary

Solid modellers have become the preferred implement for mechanical design. Provision

of manufacturing capabilities within a solid modeller is therefore a logical extension.

For milling operations, much research attention has previously been directed towards

planning a cutter path which nominally achieves a specified part shape. However, limited

work has been undertaken to combine metal cutting mechanics with solid modelling to

simulate the physical milling process. This thesis has focussed on the latter aspect. The

specific contributions which were made are recounted below:

• It was shown that exact cutter-part intersection geometry information is needed

to accurately implement the milling process model. Research previously reported

used a boundary representation (B-rep) part model and the Z-buffering technique

to approximate the cutter-part intersection geometry. In contrast, the thesis uses

a constructive solid geometry (CSG) model. A “divide and conquer” strategy was

developed to determine the exact cutter-part intersection geometry. The intersec

tion of the cylindrical cutter with each block and cylinder primitive was separately

determined, and the intersection information combined using the CSG part data

structure and Boolean set operations.

• To achieve an acceptably efficient implementation, along any cutter path only the

primitives which can influence the immersion intervals should be considered. Ex

isting CSG redundant primitive elimination methods were therefore reviewed, and

292

Page 320: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 8. Summary 293

the strategy by which they would be tailored for the milling process simulation

problem described. For a chain of cutter paths, such as would be used to create

features such as pockets, improved performance is achieved by using computational

geometry based search methods which identify only the relevant cutter paths. It

was shown that, under given assumptions, constructing and searching a horizontal

visibility planar subdivision can identify the relevant cutter paths in linear time.

Other researchers needlessly update the part model after each incremental simula

tion step. In contrast, the thesis procedure is to defer updating of the part model

until after the entire feature has been cut. At that time the CSG design description,

which is much less complex than the cutter path representation, is added to the

model. This strategy maintains a minimum overall part model complexity.

• The literature asserts that more rapid simulation methods must be developed be

fore milling process simulation will become practical. To address this requirement

for 2 1/2 D parts, the fundamental milling process model equations are reformu

lated to efficiently simulate both face and end milling of general part shapes. Using

the cutter-part intersection information obtained from the solid modeller and an

exact analysis of the helical flute part contact geometry, analytic expressions for

cutting forces, torques and surface error were developed. This is a more accu

rate approach than the material removal rate (MRR) or differential axial element

summation methods previously used. The equations provide a piecewise function

representation of the instantaneous cutting forces, which can be analyzed using

calculus and numerical methods to rapidly determine maximum values per tooth

period. In addition to providing simulation data, the milling process model equa

tions are inverted to obtain a feed rate schedule which simultaneously respects

multiple process constraints. During peripheral milling precomputed cutting force

Page 321: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 8. Summary 294

and feed rate profiles, together with analytical expressions for the cutter immersion

interval boundary, were used to achieve a variable sample spacing along the cutter

path. This is a substantial improvement over the incremental methods used by

previous researchers.

• Both face and end milling simulations and experiments were conducted to verify the

accuracy of the solid modeller based milling process simulation system predictions.

Good agreement was obtained for the example part shapes, showing the viability

of milling process simulation. Feed rate scheduling was used to achieve adherence

to average torque, maximum resultant force and maximum surface error process

constraints. Experimental measurements from these trials were also in good agree

ment with simulation results. For online monitoring purposes it was shown how

the simulation data can be used to reliably discern normal cutting conditions from

events such as cutter tooth breakage, or an unexpected part shape.

• Solid modeller information was provided to avoid force transients in adaptive force

control. This overcomes a practical limitation of previously reported adaptive con

trollers for milling, which would experience force transients that would result in

cutter breakage at productive reference force settings.

In summary, the thesis has developed a systematic method for determining the cutter-

part intersection geometry with a CSG part model. Efficient computational geometry

methods were used to identify the part geometry relevant to the milling process simulation

calculations, and to avoid unnecessary part model updates. Reformulated milling process

model equations were developed to efficiently predict cutting forces, torques and surface

errors. Without requiring time consuming incremental sampling, feed rates to adhere to

several process constraints were automatically scheduled. Experiments were conducted to

confirm the accuracy of the solid modeller predictions, and to illustrate the use of the solid

Page 322: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Chapter 8. Summary 295

modeller based milling process simulation system for feed rate scheduling, monitoring,

and to assist with transient avoidance for a maximum resultant force adaptive controller.

The completed work is immediately capable of modelling the large class of 2 1/2 D

parts, which are most frequently encountered in practice. Furthermore, the work provides

a foundation for extending milling process simulation to 3 D parts. Even in a 3 D

modeller, however, the 2 1/2 D solutions developed herein should remain available. In

this way when the 3 D milling process simulation system recognizes 2 1/2 D geometry,

it can use the more efficient 2 1/2 D solution.

Additional continued research would concentrate on extending support to circular,

parabolic and splined paths, and to four and five axis coordinated cutter motions. Milling

process models for more complex cutter shapes, such as ball end mills, are required, as

are improved chatter prediction models. A great deal of work is required to extend

correct milling process modelling to three dimensional and sculptured surface machining.

Finally, research effort is needed to further develop integration of the solid modeller

milling process simulation system with the machine tool controller.

Page 323: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Appendix A

Algorithm analysis and growth rates

This appendix summarizes fundamental concepts on algorithm analysis and growth rates.

For details see Aho, Hopcroft and Ullman [1].

Many algorithms in computer science, such as those proposed to treat computational

geometry problems, are assumed to operate on an input population of n objects. The goal

is to develop solutions which have shorter running times or reduced storage requirements.

Frequently the running time is dependent not only on the size n, but also the nature of

the input population. Therefore, the worst case running time T(n) is the commonly

quoted measure.

Due to variations induced by particular machines and compilers, T(n) cannot be

exactly expressed in units of time. Rather, the growth rate of the algorithm is discussed.

The statement T(n) is O(f(n)) means that there exist positive constants c and n0 such

that for n no, T(n) cf(n). An algorithm with running time O(f(n)) has f(n) as an

upper bound on its growth rate. Algorithms are frequently evaluated by comparing their

growth rate functions f(n). For example, figure A.1 shows a graph of the running times

for growth rate functions f(m) = 2”, iOn2, 5Onlogn and lOOn. Observe that the growth

rate ultimately determines the size of problem that can be solved in a fixed amount of

time. Unless an algorithm is very nearly linear, only a marginally larger problem can be

solved by increasing the speed of the computer.

An asymmetric notation is used to specify a lower bound on the growth rate of T(n).

The notation that T(n) is (g(n)) means that there exists a constant c such that T(n)

296

Page 324: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Appendix A. Algorithm analysis and growth rates 297

4000

3000

2000

1000

00 30

Figure A.1: Common algorithm growth rates. For an input of size n, the graph showsthe worst case running time upper bound for growth rate functions f(n) = 2, 1Om,5Onlogn and lOOn. Unless the growth rate is very nearly linear, increasing the speed ofthe computer will only marginally increase the maximum problem size that can be solvedin a fixed amount of time.

cg(n) for an infinite number of cases. The lower bound is important in determining

the suitability of algorithms for the problem to be solved. For example, suppose that a

difficult to implement algorithm is proposed that will report all intersections of n line

segments in time O(N+n log n), where N is the actual number of intersections. If it turns

out that the input is of such a nature that N is 2(n2), then the intersection algorithm

really is 0(n2). In this case the difficult algorithm offers no asymptotic improvement

over simply testing each line segment against each other line segment—a simpler 0(n2)

approach.

5 10 15 20 25

n

Page 325: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Appendix B

Planar subdivision algorithm complexity proofs

B.1 Overview

This chapter contains detailed algorithm complexity proofs for the planar subdivision

based relevant cutter path identification procedures discussed in section 5.2.5.

To recapitulate, the following cutter path chain characteristics were assumed:

Assumption B.1 Cutter paths intersect at most 0(n) times.

Assumption B.2 A line segment of specified length (e.g. 2r) intersects at most a

constant number of (e.g. three) cutter paths (figure 5.22).

Assumption B.3 All cutter paths exceed a minimum length (e.g. are at least r long).

In the remainder of this section the above assumptions are used with the example con

stants indicated. Substitution of other constant values does not alter the asymptotic

complexity conclusions reached.

The time complexity of the overall algorithm arises from the work required to initially

create the planar subdivision data structure, plus the work required to traverse this

structure while locating paths within the approximating rectangles. The emphasis in

this chapter is on the latter stage.

Before separately considering the horizontal visibility partition and generalized Voron

oi diagram solutions, required preliminary lemmas are presented in the following section.

298

Page 326: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Appendix B. Planar subdivision algorithm complexity proofs 299

B.2 Preliminary lemmas

Lemma B.1 There are at most a constant number of paths within an area of specified

size.

Proof First, consider a O.5r x O.5r square (figure B.1). The diagonal of the square

has length O.5\/r < r, and hence, by assumption B.3, no path can be entirely within

the square. Therefore, any path partially within the area of the square must intersect at

least one side of the square.

By assumption B.2 each side, being O.5r < 2r long, is crossed by at most three

cutter paths. The square has four such sides, and hence at most 12 paths can intersect

the square. It now follows that there can be at most 12 paths within the area of the

square. By subdividing any area into such squares, the lemma is proven for any area of

specified size. •

Lemma B.2 At most a constant number of approximating rectangles enclose a specified

point.

Proof Any point within an approximating rectangle is within 2i/r of the cutter path

associated with the rectangle (figure 5.23). Therefore, if an approximating rectangle

encloses a point S then there must be a point on the path associated with the rectangle

within of S (figure 13.2). The region within 2\/r of S is of specified area, and

hence by lemma B.1 there are at most a constant number of cutter paths within this

region. The proof of the lemma then immediately follows. •

Lemma B.3 There are in total 0(n) intersections between cutter paths and approximat

ing rectangles.

Page 327: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Appendix B. Planar subdivision algorithm complexity proofs 300

Figure BJ: A 0.5r x 0.5r square. The diagonal of the square has length 0.5\/r < rand hence by assumption B.3 no cutter path can be entirely within it. A path (shownwith thicker lines) partially within the square therefore must intersect at least one of thesides.

O.5r

5v r

Page 328: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Appendix B. Planar subdivision algorithm complexity proofs 301

Proof Divide the approximating rectangle into head, parallel, and tail portions as

shown in figure B.3. By assumption B.2 at most a constant number of paths can inter

sect the head and tail portions of the rectangle, which are of specified length. Over n

approximating rectangles the number of such intersections is therefore O(n).

In the remaining parallel portion, an intersecting path either exits through the head

or tail, intersects the path associated with the rectangle, or has a vertex inside of the

rectangle. Paths exiting through the head or tail portion have already been considered.

By assumption B.1 there are in total 0(n) path self-intersections, and hence over all

n approximating rectangles the number of paths intersecting both the parallel portion

of an approximating rectangle and its associated cutter path is also 0(n). Finally, for

n paths there are in total n + 1 or 0(n) vertices. By lemma B.2 at most a constant

number of approximating rectangles can enclose any specified vertex. Therefore for all

n vertices there are 0(n) enclosing rectangles and hence 0(n) approximating rectangle

parallel portion—cutter path intersections of this type.

This completes the enumeration of all possibilities, and therefore completes the

proof. •

Lemma B.4 A line segment of specified length is intersected by at most a constant num

ber of approximating rectangles.

Proof As in the proof of lemma B.2, in order for an approximating rectangle to intersect

a line segment L the cutter path associated with the rectangle must have a point within

2/r of L. The region within 2/r of L encloses a finite area and hence by lemma B.1

can contain at most a constant number of cutter paths. The number of approximating

rectangles intersecting L must therefore also be constant. •

Page 329: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Appendix B. Planar subdivision algorithm complexity proofs

R2

302

Figure B.2: Illustration for lemma B.2. If an approximating rectangle encloses point Sthen a point on the cutter path associated with the rectangle must be within 2’/r ofS.

rC

Page 330: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Appendix B. Planar subdivision algorithm complexity proofs 303

Figure B.3: Illustration for lemma B.3. The approximating rectangle perimeter is dividedinto head, parallel and tail portions.

approximatingrectangle

Page 331: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Appendix B. Planar subdivision algorithm complexity proofs 304

In separate subsequent sections the remainder of the relevant cutter path identifica

tion algorithm complexity proofs are developed for the horizontal visibility partition and

generalized Voronoi diagram solutions.

B 3 Horizontal visibility partition

First it will be shown that, with the vertical blocks described in section 5.2.5, the time

required to locate the relevant paths during the traversal stage of the algorithm is linear.

It is then argued that insertion of the blocks does not increase the time complexity of

the adjacency data structure building stage.

As stated in section 5.2.5, the traversal stage is comprised of three components:

1. tracing along cutter paths inside the approximating rectangle until one of the four

rectangle sides is reached

2. processing an intersection between an approximating rectangle side and a cutter

path

3. processing an intersection between an approximating rectangle side and a horizontal

visibility link

Tracing along cutter paths inside the rectangle occurs when initially starting from the

tail of the current path (figure 5.29) or when another portion of the previous path chain

is within the rectangle (figure 5.31). The work involved in this procedure is to update

the trapezoid boundaries each time a new horizontal visibility (HV) link endpoint is

encountered along the traced paths. With the linked lists available in the adjacency data

structure each update requires constant time. Since each HV link endpoint is encountered

at most once per rectangle, this component of the traversal stage has a complexity equal

to the total number of HV link endpoints enclosed by the n approximating rectangles.

Page 332: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Appendix B. Planar subdivision algorithm complexity proofs 305

An intersection between the approximating rectangle and a cutter path also involves

only updating the trapezoid boundaries. Using the combined adjacency list (see page 155)

this can be accomplished in constant time per intersection. Lemma B.3 asserts that over

the n rectangles the number of cutter path—approximating rectangle intersections and

therefore the time complexity of this component is 0(n).

The third component, namely processing intersections between HV links and the

approximating rectangles, also requires constant time per intersection to update the

trapezoid boundaries. The inserted vertical blocks ensure that any HV links intersected

by the rectangle have an endpoint within 2’/r of the cutter path associated with the

approximating rectangle. Finding the overall complexity of the traversal stage therefore is

equivalent to enumerating the number of HV link endpoints enclosed by regions extending

around each of the n cutter paths. The following theorem establishes that this

number is 0(n):

Theorem B.1 Including any endpoints introduced by the vertical blocks, there are in

total 0(n) HV link endpoints.

Proof First, consider the HVP data structure before addition of the vertical blocks.

Each vertex in the cutter path chain creates two HV links resulting in three link endpoints

(including the vertex). For the n + 1 vertices the number of HV links and endpoints is

therefore O(n). Each path self-intersection (if permitted) will also create two HV links

and three endpoints (including the path intersection point). The maximum of 0(n)

intersections allowed by assumption B.1 therefore adds only an additional 0(n) HV links

and endpoints.

Now insert the vertical blocks. Each block has a finite length (< 2/r) and hence

by assumption B.2 intersects at most a constant number of cutter paths. All n blocks

therefore create 0(n) intersections, new HV links and new HV link endpoints. Note that

Page 333: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Appendix B. Planar subdivision algorithm complexity proofs 306

the vertical blocks cannot intersect each other with the applied vertex sorting order (see

page 151). This establishes that in total the HVP adjacency data structure, including

the inserted vertical blocks, contains O(n) HV link endpoints. •

To rephrase lemma B.2, if each cutter path is surrounded by a region of radius 2\/r,

then a constant number of such regions may enclose any of the HV link endpoints. For

the O(n) HV link endpoints, this implies that there are in total 0(n) HV link endpoints

enclosed by all enclosing regions, which establishes the claimed linear time complexity

for the three discussed components of traversal stage.

Addition of the vertical blocks of course adds a fourth component—processing intersec

tions of approximating rectangles with the blocks. Updating the trapezoid boundaries for

each intersection again requires constant time, and by lemma B.4 there are in total 0(n)

such intersections for all blocks. The time complexity of the traversal stage therefore

remains linear.

Note that if in figure 5.23 the circular arc boundary were retained rather than the

rectangular approximation, then all of the 2’./r distances would be reduced to 2r. This

would reduce the linear time complexity constant factor, but a circular arc intersection

test would now be required during the approximating bound traversals.

As stated in section 5.2.5, insertion of the vertical blocks using the 0(n log n) sweep

paradigm based adjacency data structure building algorithm poses no new implementa

tion difficulties. If, however, it can be assumed that the cutter path chain is simple (i.e.

does not self-intersect), an 0(n) time complexity for the overall relevant path identifica

tion procedure can be achieved by using the linear time adjacency data structure building

algorithm reported by Chazelle [24]. This algorithm requires that the path chain remain

simple, and hence a more indirect approach to inserting the vertical blocks is required.

One way to retain a simple path chain is to use artificial short, doubled paths in place

Page 334: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Appendix B. Planar subdivision algorithm complexity proofs 307

of the blocks. These paths extend from the original path vertices to the point where

they would intersect an original path (or until the required block length is reached) and

then double back (figure B.4). In this way intersections are avoided but the effect of the

blocks is retained.

To insert these paths in 0(n) time, the vertical visibility partition (VVP) of the

original path chain is first built. The doubled path blocks are then added by starting

at each original vertex and searching outwards using the VVP. When a point is reached

where the block would intersect an original path, the artificial path is doubled back to

its beginning. This is repeated until the required block length is attained. Note that by

assumption B.2 at most a constant number of original cutter path intersections per block

are possible and hence at most a constant number of artificial paths will be added per

block. Over the n + 1 original vertices the number of added paths is therefore 0(n). The

VVP adjacency data structure permits processing each avoided intersection in constant

time, and hence the time complexity of this insertion procedure is 0(n).

The above approach maintains the cutter path as a simple chain—hence Chazelle’s

algorithm can be used. Therefore, if the original cutter path chain is simple and assump

tions B.2 and B.3 are satisfied, the intrinsic complexity of the relevant path identification

problem is linear.

BA Generalized Voronoi diagrams

In this section it is shown that during traversal of the approximating rectangles 0(n)

intersections of rectangles with generalized Voronoi diagram boundary segments and

“spokes” will occur. Lemma B.3 previously established that there are 0(n) cutter

path—approximating rectangle intersections. Determining the next Voronoi region can

be accomplished in constant time per intersection, and hence the relevant cutter path

Page 335: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Appendix B. Planar subdivision algorithm complexity proofs

verticalblock

doubledpath

308

Figure B.4: Doubled path vertical blocks. Original paths are shown with thicker lines,the example vertical block and doubled paths are shown with thin lines. To permit theuse of Chazelle’s linear time adjacency data structure building algorithm [24], a simplepath chain must be maintained. This is achieved by inserted artificial doubled pathsinstead of the vertical blocks. To accomplish this in linear time, a vertical visibilitypartition of the original cutter path chain is first built and used to identify where thecutter pathb1ock intersection points would occur.

U,

Page 336: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Appendix B. Planar subdivision algorithm complexity proofs 309

identification stage runs in linear time.

The theorem to establish 0(n) rectangle—boundary segment/spoke intersections fol

lows:

Theorem B.2 The approximating rectangles intersect the generalized Voronoi diagram

boundary segments and spokes 0(n) times.

Proof Consider any spoke—for example the spoke labelled 3 in figure B.5. The cutter

path associated with any approximating rectangle which intersects /3 must be within

2/r of /3. Path b is one possibility. The approximating rectangle of any other candidate

path p must intersect the portion of /3 which is within 2/r of its path endpoint on b.

If an intersection occurred elsewhere on /3 then at that point p would be closer to /3

than b, which contradicts the fundamental property of a Voronoi diagram. Hence any

intersection of an approximating rectangle with a spoke must occur along a spoke section

of length at most 2v’r. Lemma B.4 asserts that there can be at most a constant number

of intersections along a section of finite length, and hence each spoke is intersected by

approximating rectangles at most a constant number of times. In total there are 0(n)

spokes, and hence there also are 0(n) spoke—approximating rectangle intersections.

Now consider any Voronoi boundary segment—for example the segment labelled bh in

figure B.5. If an approximating rectangle intersects bh then it must also intersect one of

spokes c, /3, -y, S or one of paths b, h. Lemma B.3 establishes that the number of cutter

path—approximating rectangle intersections is 0(n). It has just been shown that the

number of spoke—approximating rectangle intersections is O(n). Therefore the number

of Voronoi boundary segment—approximating rectangle intersections is also 0(n). •

Note that plane curves of degree two or less (namely the conic sections) are involved in

all the intersections, and hence no pair of curves can intersect each other more than twice.

Page 337: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Appendix B. Planar subdivision algorithm complexity proofs 310

cutter path

-

- Voronoi

_____

— spoke”

Figure B.5: Illustration for theorem B.2. Any approximating rectangle which intersectsspoke 3 must do so along the portion of /3 within 2’/r of path b. Otherwise at theintersection point the path associated with the approximating rectangle would be closerto 3 than path b, which contradicts the fundamental property of Voronoi diagrams.Approximating rectangles can intersect Voronoi boundary segments such as bh only if aspoke or path is also intersected.

boundary segment

h

approximatingrectangle a’

bhI

2 r

b

Page 338: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Appendix C

Detailed milling process model mathematics

This appendix contains the mathematical details for several of the milling process model

expressions stated in chapter 6. The reader is referred to this earlier chapter to appreciate

the context of the material written here.

C.1 Linear edge force model

This section contains details on mathematical results stated in section 6.1.2.

The critical angles 4m within an interval [qf, 4k+1) are found by rewriting an individ

ual function of (6.16) in the form

T(b) raK5 [h* + St sin(4 + j)]

= rcaKs[h* + st(sinqcosjqc + cos qsinjq)j

raK3[7(h* + s(P sin q5 + Q cos q)}

where

7i=1; P=cosjq5; Q=sinj

The first derivative is therefore

T’(q5) = raK3st(P cos— Q sin )

and hence, setting T’() = 0,

= arctan

311

Page 339: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Appendix C. Detailed milling process model mathematics 312

which is stated as (6.17) in chapter 6.

Equations (6.19) and (6.20) are derived following: Starting from the definition

J çb

=

— J F,o(çb)d

= [-F,0()cos- FR,O() sin ]d

= [—aK3(ssin + h*) cos— aK3(cist sin + c2h*) sin ]d

= —K3 sin cos + h* cos + GiSt 51fl2 + c2h* sin jdir

= —K3 [s sin 2 + 2h* cos + cist(1 — cos 2) + 2c2h* sin ]d

= K3 [st cos 2 — 4h* sin + cjst(sin 2 — 2) + 4c2h* cos ]K3[s(7? + c1S) + h*(_Q +c2P)] (C.1)

which is (6.19). Similarly

.1= F,,0(b)db

= f[FT,o() sin — FR,o()cos]d7 çb3j

= j[aKs(st sin + h*) sin— aK3(cis sin +c2h*) cos

= KSJ [stsin2+h*sin_ cistsincos_c2h*cosjd

= K3j

[s(1 — cos 2 + 2h* sin— GiSt sin 2 — 2c2h* cos

= K3 [— st(sin 2 — 2) — 4h4 cos + GiSt cos 2 — 4c2h* sin

= K3[s(—S + cil?) + h*(_P— c2Q)] (C.2)

which is (6.20). In both (C.1) and (C.2) above the four geometric parameters are defined

Page 340: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Appendix C. Detailed milling process model mathematics 313

as =

] :::: = > [sin ] :

1?. = [cos 2] S [sin 2qS — 2]

As in the ACT case, calibration of the LEF model is accomplished using least squares

methods. In matrix form

yT()9

where

F(t)y(t) (C.3)

F(t)

= sf7? stS —Q(C.4)

—sS sIR. —P Q

K3 K3c1 K3h* Ksc2h* ] (C.5)

For a set of t samples define

Y(t) [yT(i) yT(2)...yT(±)

jT

T(2)(t)

The least squares estimate for the parameters & using t measurements is now given by

=[T(t)t)j’T(t)Y(1)

The recursive least squares (RLS) estimates are obtained in the same fashion as was used

in the ACT model.

Page 341: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Appendix C. Detailed milling process model mathematics 314

C.2 Helix intersection cases geometric constants

To determine the values for the geometric constants through j, explicitly inte

grate (6.27) and (6.28) using the limits for the appropriate intersection geometry case

(figure 6.6). Details are provided following:

case 0 Substitute 0 and zj,j,2 a to obtain

StKTR {_[cos 2( + j — ka) — cos 2( + j)] cos 0

— [sin 2( + j — ka) — sin 2( + j)] sinO — [a] sin o}

StKTR {_[cos2cos 2(j — ka)— sin2sin2(jc — ka)

—(cos 2 cos — sin 2q5 sin 2j)] cos 0

—[sin2cos2(jc — ka) + cos2sin2(j — ka)

—(sin 2cos 2j + cos 2sin 2j)1 sinO — [a] sin o}

—StKTR —asinO

+[sin2cos 0— cos2sin0][sin2(j — ka) — sin 2j]

—[cos2cos0 + sin2 sin 0][cos2(j — ka) — cos2i]}

stKTR{_asin0 + [sin2(j — ka) — sin2j]sin(2 —0)

-[cos 2(j - ka) - cos 2j] cos(2 - 0)}

F = StKTR {[sin 2( + — ka) — sin 2( + j)] cos 0

—[cos2@ + Jc — ka) — C05 2( + j)] sinO + [a] cos o}

— ka) + cos 2sin2(j — ka)

Page 342: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Appendix C. Detailed milling process model mathematics 315

—(sin 2 cos 2jq + cos 2q sin 2j4)] cos 0

—[cos2cos2(j — ka) — sin2sin2(j — ka)

—(cos2cos2j — sin2sin2j)]sin0 + [a]cos0}

stKTR{acos0

+[sin2cos0 — cos2sin0][cos2(j — ka) — cos2j}

+[cos 2 cos 0 + sin 2 sin 0j[sin 2(j — ka) — sin 2i1}

= stKTR{acos0 + [cos2(j — ka)— cos2j}sin(2 0)

+[sin2(j — ka)— sin 2j cos(2 — 0)}

Hence in the standard form used in (6.29)

SLKTR[—(A, + sin 0 + C cos 0

+13i,j sin(2 — 0) — cos(2q. — 0)]

F() = SKTR[(A, + cos 0 + C sin 0

+B,1 cos(2q — 0) + V,j sin(2q5 — 0)]

where

a

(1/2k)[sin2(jq — ka) — sin 2jq]

ci,j 0

Vj (1/2k,)[cos2(jq — ka) — cos2jq]

0

case 1 Substitute z2j,i 0 and z,,,2 = (1/k,)[qS + jb—

to obtain

= stKTR {_[cos25t.— cos2( +j)jcos0

Page 343: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Appendix C. Detailed milling process model mathematics 316

1 12k [k[sin sin 2( + i&)] sinO

+ & — sti)] sin e}

(1 1

sKTR — COS cos 0 —tqS sin 0

2 2k

El— [sin2t + —

sinO

1+—[cos 25cos 2j4 — sin 2q sin 2j4j cos 0

+[sin2cos2j + cos2sin2c}sin0}

=z1

StKTR — COS COS 0 — —q sin 02 1. 2k1,

— [sin2& + — sti)] sinO

1+ —[cos 2 cos 0 + sin 2q sin 0] cos 2jq

1[sin2 cos 0 — cos 2sin 0] sin 2i}

— 2k

1 { 1 1= —SKTR — COS 24’st,i cos 0 — — sin 0

2 2k

sin2st,i + —sin 0

+cos(2 — 0)cos2j — sin2( — 0) sin 2&}

1 Ii= —StKTR < —[sin — sin 2(q5 + j&)] cos 0

2

1[cos2stj — COS 2( + jc)] sine + [( +

— sti)] e}2k

1= stKTR — COS 2st sin 0 + — cos 0

2kg,

[sin2sti +—

+2kg, j

1—[sin 24 cos 2jq + cos 24 sin 2jq] cos 02k

Page 344: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Appendix C. Detailed milling process model mathematics 317

+[cos 2cos 2j — sin 2 sin 2j] sin e}

= StKTR {__cos2stisin0 + -qcos0

+ Sfl2st,i + (jc sti)] 0

—--[cos25cos0 - sin2qsin0]sin2j

— [sin 2 cos 0 — cos 2 sin 0] cos 2i}

StKTR {— — cos2q5t, sin0 + COS 0

+ Sfl2st,i + (jc sti)] 0

sin 2j cos(2 — 0) — cos 2j sin 2( — e)}

Hence in the standard form used in (6.29)

stKTR[(A, + E,j) sinO + cos 0

+B sin(2q — 0) — cos(2q — 0)]

= StKTR[(A + cos 0 + C sinO

cos(2q5 — 0) + sin(2 — 0)]

where

= (1/2k)sin2t + (1/k,,)[jqS—

13i,j = —(1/2Jc)sin2j

= —(1/2k,)cos25t1

= —(1/2k,i,)cos2jq5

= (1/k)

case 2 Substitute z,1 = (1/k)[q5 + jq — q’)ex,j] and zj,j,2 = a to obtain

= — ka)—cos2exi]cos0

Page 345: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Appendix C. Detailed milling process model mathematics 318

— [sin 2( +j — ka) — sin 2exij sinO

- [a_ + Jc -e}

stKTR { H- —q sinO

+ [_a + sin2ex,i + — ex)] sinO

—[cos2cos2(j — ka) — sin2sin2(j — ka)] cosO

—[sin2cos2(j — ka) + cos2sin2(j — ka)] sinO}

= stKTR { — cos COS 0 + sin 0

H- [_a + 2e,i + — sinO

— —[cos 2q cos 0 + sin 2q5 sin 0] cos 2(j — ka)

+[sin2cosG — cos2sin0]sin2(j — ka)}

StKTR { cos 2ex,i COS 0 + sin 0

+ [_a+ Sfl2exj + (jc_ exi)] sinG

—cos2(j — ka)cos(2— 0) + sin2(j— ka)sin(2— 0)}

= SLKTR { [sin 2( + — ka) — sin 2ex,j] COS 0

—[cos:( +j& — ka)— COS2ex,i] sinG

+ a — —( +j — cos 0

1 Ii . 1= —StKTR — cos 2, sin 0 — cos 0

2

Page 346: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Appendix C. Detailed milling process model mathematics 319

+ [a _ sin 2b— -(i& — exi)]

+[sin2cos2(j — ka)+ cos2sin2(j — ka)]cosO

—[cos2cos2(j —ka)— sin2sin2( — ka)] sinO}

= 3IKTR — cos Sill 0 COS 02 k,,1,

1. 1.+ a — sin2q5ex,i — —(Jqc — ex,i) cos 0

+[sin2cos0 — cos2sin0]cos2(j — ka)

+[cos2cos9 + sin2sin0jsin2(j ka)}

= —StKTR cos2qex,. sinG— cos 0

2 2k,,1, k,,,

1 1.+ a — sin2qex,j — (j ‘1c qex,i) COS 0

+5jflc - ka) co:(2 -0) + cos2(j - ka)sin(2 - 0)}

Hence in the standard form used in (6.29)

stKTR[—(Aj,J + sinG + Cj cos 0

+B sin(2q — 0) — cos(2q.’—

StKTR[(A, + cos 0 + sinG

cos(24 — 0) + V,, sin(2q—

where

= a— (1/2k)sin2e — (1/k)[jq — çbex,ij

= (1/2k)sin2(j4—k,a)

= (1/2k,)cos2q’exj

= (1/2k,j)cos2(j4—kqa)

= —(1/km)

Page 347: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Appendix C. Detailed milling process model mathematics 320

case 3 Substitute zj,j,i — (1/k,)[q! + j — qea,,ij and = (1/kq)[q + 1c — qst,i] to

obtain

= L3KTR { — {cos2,j — cos 2ex,] C05 0

—[sin2t— Sfl2exi] sinO

— + exi)] sin

= StKTR { —{sin 2q53 — sin 2ex,j] COS 0

— {cos2st,i C05 2ex,i] 5fl 0

+ [(_ti + exi)] cos0}

Hence in the standard form used in (6.29)

= stKTR[—(A, + 0 + c 0

+B,3 sin(2 — 0) — D1 cos(2q — 0)]

= stKTR[(A, + cos 0 + C sin 9

+B,3 cos(2qS — 0) + V sin(2q — 0)]

where

(1/k,,b)[qSex,j— bst,i] — (1/2k)[sin2qex,j —

sin

= 0

= (1/2k)[cos2q5ex,j — cos23t,]= 0

= 0

case 4 The flute is not engaged with this face, hence

Page 348: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Appendix C. Detailed milling process model mathematics 321

Aj0

= 0

c2,j = 0

0

= 0

C.3 Maximum resultant force calculation

As outlined in section 6.2.2, the glomin algorithm developed by Brent [10, chapter 6]

is used to find the maximum resultant force in helical end milling. For complete details

the reader is referred to the cited reference. The basic strategy of the algorithm is briefly

described following.

If an upper bound M on the second derivative of a function f(x) can be deter

mined, and the function is known to pass through the interval endpoints (x1, f(xi)) and

(x2,f(x2)), then

f(x) g(x); x[x, X2]

where

g(x) = M(x- - X2) + f(xi)

+ f(x2)- f(x1)(X

-

The minimum of the parabola g(x) can quickly be found using calculus, and provides a

lower bound for the minimum of f(x). By repeatedly subdividing the interval, glomin

determines an increasingly accurate estimate for the minimum of f(x).

The number of function evaluations required to achieve the minimum estimate with a

tolerance FEO,tOI is O((M/FEoj0l)”2).Therefore, rapid convergence requires that the

upper bound on the second derivative M be as low as possible. Repeating (6.35)

—FEQ(b) = —(A+b)2—B2—C2—D2

—2(A + Eq)[B cos 24 + V sin 2qf] — 2C[B sin 2q — V cos 2q]

Page 349: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Appendix C. Detailed milling process model mathematics 322

hence

d{—FEO(q5)} —

dçb

,j2f i;-i2‘GEO

dq52

where

—2(A + £) + 4(A + Sq)[B sin 2qS — Dcos 2qS]

—2(2C + )[Bcos2qS + Dsin2j

—2E + 8(A + S)[B cos 2q + V sin 2]

+4(2C + )[B sin 2q — V cos 2q

= —2 + (8AV + 813C + 4BE) sin 2

+(8AB — 8CV - 4V) cos 2q + 8VEq sin 2q5 + 8Bé’qS cos 2q

= -2 + V@) + X() + Y() + Z()

=

X() =

By calculating

(8AV + 8BC + 4&) sin 2q!;

(8AB — 8CV — 4Vt’) cos 24;

Y(b) = (8V)qsin2q

Z(q) = (8BE)q5cos2q

Wmax = sup{)’V(q 1k,7r/4,37r/4,ckk+1}

Xmax sup{X(q)=qk,ir/2,7r,qk+l}

Yrnax = sup{Y(4q =

Zmax = sup{Z(q)=k,7r/2,7r,qk+l}

(i.e. check at the rotation interval endpoints and qk+1, plus at any included relative

extrema) the bound on the second derivative is

d2 { — FEQ ( ) } <Mdb2 —

where

M 2t’ + )‘Vmax + Xmas + Yrnas + Zmas

Page 350: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Appendix C. Detailed milling process model mathematics 323

This is the value for M that is used in the glomin algorithm. With a specified tolerance

F0 on the resultant force, FEo,t0lis chosen so that

Ff01FGEO,t01<

K(1 + K)’/2

for the anticipated KT and KR values.

C.4 Surface profile calculations

This section expands on the cantilever based surface profile prediction procedure outlined

in section 6.2.2.

During down milling the surface location error at axial positionz3,3(4) (1/k)[q +

jq —7r] will be generated by flute j and located a distance S(zL,) away from its nominal

location, where zL,3 = L — zs,j(q). Recall that the force density function wy(q, zL) is

defined piecewise over axial interval [zL,k, ZL,k+1), and that the boundary conditions are

zL L) = 0; M(q5, zL L) = 0

O(q5,zL=0) = 0; S(4,zL=0) = 0

Definite integration now proceeds as follows: In the final axial interval [ZL,K_1, ZL,K

L) the shear is expressed as

ZL)CZZL 1V,K1(,zL)

= 1ZL Eiwy,K_1@,z)dz +

where = V(q, zL,,C = L) = 0. Next, in the interval [zL,pc_2, zL,_1) express

ZLK_1 1

= IZL —w,K2(,Z)dZ +

where 4,K1,c = V,K_1(q,zL,1). This process is continued to the interval [ZL,O =

0, zL,1) which has expression

fZL1 1V,o(q,zL)

= j ————w,0(,Z)dZ +ZL El

Page 351: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Appendix C. Detailed milling process model mathematics 324

where ZL,1).

The bending moment expressions are found in an identical manner. In the final axial

interval [ZL,C_1, zL,K L) the expression is

fZLZZL

= j Vc_i(q5,Z)dZ +ZL

where M(qS,zL,K = L) = 0. Next, in the interval [zL,c_2,zL,x_1) express

fZL,—1

M,_2(4,ZL)= j j,frC—2@, Z)dZ +

ZL

where M,pc_i(qS, zL,,C_1). This is continued to the interval [ZL,o = 0, ZL,1)

which has expression

ZL 1

ZL)= IZL Z)dZ +

where = M1(4, ZL,1).

The slope in the first interval [ZL,O = 0, ZL,1) is expressed as

Oy,°(, zL)

= JZL

M0(,Z)dZ +ZLO O

where 0y,t,O,c = ZL,o = 0) = 0. Next, in the interval [ZL,1, ZL,2) express

f ZL

&,i(q, ZL) J M,1(4, Z)dZ +ZL,1

where = 8y0(4,zL,1). This is continued to the interval [zL,x_1, zL,c = L) which has

expressionf2L

&y,K_1(q5,ZL)= j M,K_l(b,Z)dZ + &y,&A_1,c

ZL K—i

where0y,,PC—1,c Oy,K—2(, ZL1).

The deflection expressions are found in a manner similar to the slope. In the first

interval [zLo = 0,zL,1) the deflection is expressed as

zL)

= JZL

Z)dZ +6y,O,cZLOZO

Page 352: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Appendix C. Detailed milling process model mathematics 325

where Sy,,O,c S(tb,zL,o = 0) = 0. Next, in the interval [ZL,1,ZL,2) express

ZL)= JL

Z)dZ +ZL1

where = S(4I, zL1). This is continued to the interval [zL,C_1, zLjc = L) which has

expression

SY,—(& zL)= 12L

2)dZ +8y,—1,cZL ,ICi

where3wk,IC—1,c 6yPC—2(& zL,_1).

To provide a demonstration of the overall procedure, a simulation under cutting

conditions identical to those used by Kline ([58, figure 6(a)} and [56, figure 5.lla]) was

carried out and compared to his results.

The cutter used by Kline was a four flute end mill with radius r=9.525 mm, helix

angle b=30 degrees and cantilever length L=108 mm. In the simulation and experiment

named test 4, the axial depth of cut was a=50.8 mm and the radial width of cut d=2.54

mm. The feed rate per tooth was s=0.38l mm. A down milling operation was used,

and hence the single immersion interval is

[q8t, q) = — arccos I ,7r

\ r j

= [2.394,7r)

Using the definition following (6.5) and (6.6), the geometric parameters 7?. and S have

the values

7?. = [cos2] = 7.474 mm; S = [sin2—

2] = —4.027 mm

and hence, by substituting F=l5l7 N and F=1574 N into (6.9), the calibration pa

rameters were KT = 0.644 kN/mm2 and KR = 0.320 for the 7075-T6 aluminum part

material. Kline computed the moment of inertia as I = r/3 rather than the usual irr/4

Page 353: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Appendix 0. Detailed milling process model mathematics 326

to account for the absent material behind the flutes. This is consistent with the observa

tions of Ziatin et al [155] and the value ir(0.8r)4/4more recently reported by Kops [62].

The value for Young’s modulus was E = 207 kN/mm2.

The surface profile predicted using the piecewise analytic solution described in this

section is shown in figure C.1. The program used, named surface, is contained in [110,

appendix D]. Kline’s results, including experimental verification, are reproduced as fig

ure C.2. Both Kline’s simulation and the prediction in figure C.1 compare adequately

with experiment. The solution developed in this section, however, more accurately dis

tributes the cutting force load, rather than concentrating it at the “force center” used

by Kline. Furthermore, the analytic formulation is computed much more quickly than

Kline’s incremental sampling along the axial and rotation directions.

For rapid feed rate scheduling under a surface location error constraint, a simpler

model is proposed in section 6.2.2.

C.5 Piecewise linear approximation

In order take full advantage of the rapid feed rate scheduling technique outlined in sec

tion 6.3.2, the analytic cutter immersion interval endpoint expressions must be approx

imated by piecewise linear functions. For example, in down milling, an approximation

çstp(xc) to b(x) which satisfies

— qstp(xc) /st,toi (C.6)

over an interval XCb) is required, where

k(xc)— st@Ca)qstp(xc) çbst(xca) + (xc

—XCa)

XCb — XCa

This is usually accomplished as follows (see Faux and Pratt [33, section 9.6]): First,

Page 354: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Appendix C. Detailed milling process model mathematics

50.8

38.1

EE

25.4

12.7

0.0

-400 -200 0 200 400 600 800 1000

surface location error (I’ m)

327

Figure C.1: Surface profile prediction. The surface profile predicted by the piecewiseanalytic solution described in this section is shown above. See [110, appendix D, programsurface] for the program used. For comparison, Kline’s prediction and experimentalverification are shown in figure C.2.

Page 355: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Appendix C. Detailed milling process model mathematics 328

Figure C.2: Kline’s surface profile. The illustration above is a reproduction of figure 5.llafrom the Ph.D. thesis of Kline [56]. His prediction was made by summing small elementsin the axial direction and incrementally sampling around the rotation direction. Theresults compare favourably with those shown in figure C.1.

I 254U)x

N

200 400Surface Error - pM

Page 356: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Appendix C. Detailed milling process model mathematics 329

a bound M is found for jq’(xc). Now

— kb2(xc) —qstp(xc)

where

1 43t(xcb)— (1)st(XCa)

75stp2(XC) = —M(xc xca)(xc — XCb) + çbst(xca) + (xc — Xa)XCbXCa

1= —M(xc — — XCb) + qstp(xc)

By taking the first derivative and finding the local extremum, the maximum value of

8t2(xc) —3(xc) = M(xc — —

is found to always occur at (a + xcb)/2, and has the value M(xcb — a)2/8. Hence,

substituting back into (C.6)

— stp(xc) M(xc —

This implies that, if a tolerance 3t,toj is desired, the interval must be broken in subintervals

[sa, xcsb) where

2 tol(XC3& —

M

The most difficult task is obtaining a bound M for the second derivative that is

not overly pessimistic. For a block primitive side the equation for the cutter immersion

interval endpoints is (5.3) angle notation the interval endpoints are

A(xc),B(xC) = /2—

[OL +arccos((XL — xc)cosOL)]

where (see (4.9)) 6L is constant. Taking derivatives with respect to xc

= +c05OL (i —

cos2OL( —

xc)2)

= +c0 L(xL_xc)(1 — c052(XL_XC)2) (C.7)

Page 357: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Appendix 0. Detailed milling process model mathematics 330

The second derivative is a strictly decreasing function, which permits rapid calculation

of a bound M over any interval [XCa, xCb). When the cutter is tangent to the line aj, — xc

approaches r/ cos 0L and qY(xc), (Xc) become unbounded. In this region incremental

sampling along the cutter path should be performed. However, over the remainder of its

domain the second derivative is small, implying that the the expression for the endpoint

angle can be well approximated by a small number of piecewise linear segments. A plot

for representative parameter values is shown in figure 0.3.

The formula for cylinder primitives is more difficult to analyze directly. From (5.6)

I YF= 7r/2— arctan

\XF XC

((XF — xc)2 + Y’ ± T —

+arccos\ 2(x — xC)2 + 2)1/2

7r/2 — T(x) + C(x)

where

I YFarctan

\XF XC

((xF-Xc)2±y)±r-r= arccos

\ 2r(xp’ — xc)2 +

Taking derivatives of T(xc) with respect to XC

hFT(xC) 2 2

(XF—xC) +YF

2yF(XF—XC).1 LX) 2 22

[(XF — XC) + YF]2 2

2yF[3(xF—Xc) —YF][(XF — Xc)2 + yj3

The second derivative (0.8) is an odd function about the point XC = XF, and approaches

zero far away from from this point. It has local extrema at the points XC = XF +yF/31/2.

These two points determine the global range +33/2/8y of (0.8), which is often very

small. A graph of (0.8) for representative parameter values is shown in figure 0.4(a).

Page 358: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Ci

C)

a-C)

cli

C)

cli

cz

EEC)

C)

cii-C)

-C)

0cici-)i-F)

Appendix C. Detailed milling process model mathematics 331

-2rt0 10 20 30 40

cutter path location (mm)

(a)

0.10

0.05

0

-0.05

-0.100

cutter path location (mm)

(b)

Figure C.3: Rectangle side endpoint angle graphs. Representative parameter valuesused in the graph are: r=l2.7 mm, XL=2O mm, and 8L 7r/4 radians. The usuallimitation that the immersion angle lie in the interval [0, ir) is not enforced. (a) Cutterimmersion interval endpoint values bA(xc) and tbB(xc) calculated from (5.3). Notethat the graph appears to be nearly linear. (b) Second derivatives qY(ac) and qS(xc).Although unbounded at the edge of its domain, the second derivative (C.7) is smallelsewhere—confirmly near linearity.

10 20 30 40

Page 359: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Appendix C. Detailed milling process model mathematics 332

When r rF (such as in pocketing), the expression for C(xc) can be simplified to

((XF — XC)2 +Cr(X) = arccos

which has derivatives

C’— —(XF—XC)

— 2 2 2 1/2 2 2 1/2[4r — (XF — xc)— YF] [(XF Xc) + YF]

(XF — XC)4 + y’ + 4ryXC = [42

— (x— xc)2 —

y2]3/2[(x— XC)2 + y]312

(C.9)

C’(xc) = {2(XF — XC)[(XF — XC)6 + (2r— y)(XF — XC)4

+y(y + 2Or)(xF — xc)2 + 3y(y + 2r)(y — 4r)]}

— (XF — XC)2 —

y2]5/2[(x— XC)2 + yp’]512 (C.1O)

In this case the second derivative (C.9) is an even function about XC = XF. It becomes

unbounded when the cutter becomes tangent to the cylinder (at the edge of the domain

of contact and, if YF = 0, where XC = XF). In these regions incremental sampling should

be performed. Over the remainder of the domain the second derivative is small, implying

that line segments well approximate the function. Exact bounds can be established

by evaluating (C.9) at its local extrema. One of these points is at XC = XF, and the

remainder can quickly be found by treating (C.1O) as a cubic function of (XF — XC)2 and

analytically solving for the roots. A graph of (C.9) for representative parameter values

is shown in figure C.4(b).

Except near the tangency points, an overall bound on cb’(xc), q(XC) can then be

found by combining the bounds on (C.8) and (C.9). An example is shown in figure C.5.

Analytic evaluation of the cylinder primitive cutter immersion interval endpoint for

mulae is difficult when r rF. The functions have the same general shape, and, to

determine a second derivate bound, the local extrema points can be found numerically

using an algorithm such as localmin (see Brent [10, chapter 4]). Alternatively, successive

Page 360: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Appendix C. Detailed milling process model mathematics 333

10 20 30 40 50

0.04c

0.02

Q)>-cj

.:,.

‘.-Q,

-Q- -0.02zcC-)U)U,

-0.040

cutter path Iocaton (mm)

(a)

0.04cJ

0.02

. yF=2mm yF=l6mm

-0.047rnmrc24N\

60

0 10 20 30 40 50 60

cutter path location (mm)

(b)

Figure C.4: Cylinder second derivative component graphs. Representative parametervalues used in the graph are: r = rF—l2.7mm, and XF=3O mm. The plotted linescorrespond to YF values of 2 mm, 7 mm, 16 mm and 24 mm. (a) Function —T”(x)values calculated from (C.8). (b) Function C”(xc) values calculated from (C.9).

Page 361: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Appendix C. Detailed milling process model mathematics 334

interpolation techniques can be used [10, chapter 3j. In chapter 7 a practical example

demonstrating this case is presented.

Page 362: SOLID MODELLER BASED MILLING PROCESS SIMULATION

ci-)

000

ci)

0

ci)

EE

ci)

0

ci-)0

0

00ci)c/3

0 10 20 30 40 50 60

Appendix C. Detailed milling process model mathematics 335

>

cutter path location (mm)

(a)

0.01

0.00

-0.01

-0.02

-0.03

-0.040 60

cutter path location (mm)

(b)

Figure C.5: Cylinder endpoint angle graphs. Representative parameter values used inthe graph are: r = rF=12.7mm, XF=3O mm, and YF=’2.7mm. (a) Cutter immersioninterval endpoint values bA(xc) and qB(xc) calculated from (5.3). Note that the graphappears to be nearly linear. (b) Second derivative qY(xc) and components —T”(xc)(C.8) and C,’(xc) (C.9). Although unbounded at the edge of its domain, the secondderivative is small elsewhere—confirmly near linearity.

10 20 30 40 50

Page 363: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Bibliography

[1] A.V. Aho, J.E. Hopcroft, and J.D. Uliman. Data Structures and Algorithms.Addison-Wesley, Reading, MA, 1983.

[2] Y. Altintas and J. Peng. Design and analysis of a modular CNC system. Computersin Industry, 13:305—316, 1990.

[3] Y. Altintas, I. Yellowley, and J. Tlusty. The detection of tool breakage in millingoperations. ASME Journal of Engineering for Industry, 110:271—277, 1988.

[4] E.J.A. Armarego and N.P. Deshpande. Computerized predictive cutting modelsfor forces in end-milling including eccentricity effects. CIRP Annals, 38(1):45—49,1989.

[5] K.J. Aström and B. Wittenmark. Computer Controlled Systems. Prentice-Hall,Englewood Cliffs, NJ, 1984.

[6] K.J. Aström and B. Wittenmark. Adaptive Control. Addison-Wesley, Reading,MA, 1989.

[7] P. Bertok, S. Takata, K. Matsushima, J. Ootsuka, and T. Sata. A system formonitoring the machining operation by referring to a predicted cutting torquepattern. CIRP Annals, 32:439—442, 1983.

[8] J.E. Bobrow. NC tool path generation from CSG part representations. Computer-Aided Design, 17(2):69—75, March 1985.

[9] J.W. Boyse. Preliminary design for a geometric modeller. report GMR-2768, General Motors Research Laboratory, Warren, MI, July 1978. Computer Science Department.

[10] R.P. Brent. Algorithms for Minimization without Derivatives. Prentice-Hall, Englewood Cliffs, NJ, 1973.

[11] C.M. Brown. PADL-2: a technical summary. IEEE Computer Graphics and Applications, 2(2):69—84, March 1982.

[12] P Brunet and D. Ayala. Extended octree representation of free form surfaces.Computer Aided Geometric Design, 4:141—154, 1987.

336

Page 364: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Bibliography 337

[13] J. Butler, B. Haack, and M. Tomizuka. Reference input generation for high speedcoordinated motion of a two axis system. ASME Journal of Dynamic Systems,Measurement and Control, 113(1):67—74, 1991.

[14] CAM-I. CAM-I illustrated glossary of workpiece form features. Technical Report R-80-PPP-02.1, Computer Aided Manufacturing International, Inc., Arlington, TX, May 1981.

[15] CAM-I. Design of an advanced numerical control processor. Technical ReportR-82-ANC-01, Computer Aided Manufacturing International, Inc., Arlington, TX,July 1982.

[16] CAM-I. Requirements for support of form features in a solid modelling system.Technical Report R-85-ASPP-01, Computer Aided Manufacturing International,Inc., Arlington, TX, June 1985.

[17] S. Cameron. Efficent intersection tests for objects defined constructively. TheInternational Journal of Robotics Research, 8(1):3—25, February 1989.

[18] S. Cameron and J. Rossignac. Relationship between S-bounds and active zonesin constructive solid geometry. In W. Straer and H.-P. Seidel, editors, Theory and Practice of Geometric Modeling, pages 369—382, Heinrick-Fabri-Institut,Blaubeuren, F .R. G., October 1989. Springer-Verlag.

[19] S. Cameron and C.-K. Yap. Refinement methods for geometric bounds in constructive solid geometry. submitted to ACM Transactions on Graphics, August1990.

[20] I. Caribom, I. Chakravarty, and D. Vanderschel. A hierarchical data structure forrepresenting the spatial decomposition of 3-D objects. IEEE Computer Graphicsand Applications, 5(4):24—31, April 1985.

[21] R. Centner. Final report on development of adaptive control technique for numerically controlled milling machine. Technical Documentary Report ML-TDR-64-279,United States Air Force, 1964.

[22] P.K.F. Chan. Chatter avoidance in milling. Master’s thesis, The University ofBritish Columbia, September 1990.

[23] S.C. Chan. MPL. A Machining Process/Programming Language. PhD thesis, University of Rochester, 1986.

[24] B. Chazelle. Triangulating a simple polygon in linear time. Technical ReportCS-TR-157-88, Princeton University, 1990.

Page 365: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Bibliography 338

[25] H.-Y. Chuang and C.-H. Liu. Cross-coupled adaptive feedrate control for multiaxismachine tools. ASME Journal of Dynamic Systems, Measurement and Control,113(3):451—457, September 1991.

[26] L.V. Colwell, J.C. Mazur, and W.R. Devries. Analytical strategies for automatictracking of tool wear. In Proceedings of the North American Manufacturing Research Conference, volume 6, pages 276—282, 1978.

[27] S.D. Conte and C. de Boor. Elementary Numerical Analysis—An Algorithmic Approach. McGraw-Hill, New York, NY, 1980.

[28] L.K Daneshmand and H.A. Pak. Model reference adaptive control of feed force inturning. ASME Journal of Dynamic Systems, Measurement and Control, 108:215—222, 1986.

[29] C.W. De Silva. Control sensors and actuators. Prentice-Hall, Englewood Cliffs,NJ, 1989.

[30] J. Ellis, G. Kedem, R. Marisa, J. Menon, and H. Voelcker. Breaking barriers insolid modeling. Mechanical Engineering/CIME, 113(2): 28—34, 1991.

[31] EXAPT 1 Part Programmer Reference Manual. Aachen, F.R.G., 1967.

[32] EXAPT Annual General Meeting Minutes, Aachen, F.R.G., June 1975.

[33] I.D. Faux and M.J. Pratt. Computational Geometry for Design and Manufacture.Ellis Horwood, Chichester, UK, 1979.

[34] G.E. Forsythe, M.A. Malcolm, and C.B. Moler. Computer Methods for Mathematical Computations. Prentice-Hall, Englewood Cliffs, NJ, 1977.

[35] S.J. Fortune. A sweep line algorithm for Voronoi diagrams. Algorithmica, 2:153—174, 1987.

[36] A. Fournier and D.Y. Montuno. Triangulating simple polygons and equivalentproblems. ACM Transactions on Graphics, 3(2):153—l74, April 1984.

[37] H.J. Fu, R.E. DeVor, and S.G. Kapoor. A mechanistic model for the predictionof the force system in face milling operations. ASME Journal of Engineering forIndustry, 106:81—88, February 1984.

[38] B.K. Pussell. Modeling and Adaptive Force Control of End Milling Operations.PhD thesis, The Ohio State University, 1987.

[39] G.C. Goodwin and K.S. Sin. Adaptive Filtering Prediction and Control. PrenticeHall, Englewood Cliffs, NJ, 1984.

Page 366: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Bibliography 339

[40] M.P. Groover. Automation, Production Systems, and Computer-Integrated Manufacturing. Prentice-Hall, Englewood Cliffs, NJ, 1987.

[41] Suzuki H. and K.J. Weinmann. An on-line tool wear sensor for straight turningoperations. ASME Journal of Engineering for Industry, 107:397—399, November1985.

[42] B. Haack and M. Tomizuka. The effect of adding zeroes to feedforward controllers.ASME Journal of Dynamic Systems, Measurement and Control, 113(1):6—10, 1991.

[43] H.L. Harrison and J.G. Bollinger. Introduction to Automatic Controls. Harper andRow, New York, NY, 2nd edition, 1969.

[44] D. Hearn and M.P. Baker. Computer Graphics. Prentice-Hall, Englewood Cliffs,NJ, 1986.

[45] M.R. Henderson. Extraction of Feature Information from Three Dimensional CADData. PhD thesis, Purdue University, May 1984.

[46] C.M. Hoffman. Geometric and Solid Modeling—An Introduction. Morgan Kaufmann, San Mateo, CA, 1989.

[47] Y. Hosepyan. Tool wear monitoring in face milling. Master’s thesis, The Universityof British Columbia, June 1991.

[48] K. Iwata and T. Moriwaki. An application of acoustic emission measurement toin-process sensing of tool wear. CIRP Annals, 26(1):21—26, 1977.

[49] K. Iwata and S. Takata. Intelligent machining station with model based simulation.In 23rd CIRP International Seminar on Manufacturing Systems, Nancy, Italy, June1991.

[50] K. Jemielniak and Al Widota. Suppression of self-excited vibration by the spindle speed variation method. International Journal of Machine Tool Design andResearch, 23(3):207—214, 1984.

[51] J.F. Coates, Inc. Engineering 2000: A look at the next ten years. Technical ReportAFO19O, ASME Council on Public Affairs, 1990.

[52] J.G. Kalbfieisch. Probability and Statistical Inference: Part Two. Faculty of Mathematics, University of Waterloo, Waterloo, ON, 2nd edition, 1975.

[53] S. Kawabe, S. Shimura, F. Miyashita, and T. Sata. Programming for machiningbased on workpiece models in computer. CIRP Annals, 32(1):351—356, 1983.

Page 367: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Bibliography 340

[54] G. Kedem and J.L. Ellis. Ray tracing machine. In Proceedings of the InternationalConference on Computer Aided Design 198, pages 533—538, October 1984.

[55] L.A. Kendall, S. Arora, and G. Cross. Intelligent supervisory control prototypefor machining systems. In Proceedings of the North American Manufacturing Research Conference, pages 309—315, Dearborn, MI, 1988. Society of ManufacturingEngineers. Vol. XVI.

[56] W.A. Kline. The Prediction of Cutting Forces and Surface Accuracy for the EndMilling Process. PhD thesis, University of Illinois, 1982.

[57] W.A. Kline, R.E. DeVor, and R. Lindberg. The prediction of cutting forces in endmilling with application to cornering cuts. International Journal of Machine ToolDesign and Research, 22(1):7—22, 1982.

[58] W.A. Kline, R.E. DeVor, and l.A. Shareef. The prediction of surface accuracy inend milling. ASME Journal of Engineering for Industry, 104:272—278, 1982.

[59] F. Koenigsberger and A.J.P. Sabberwal. An investigation into the cutting forcepulsations during milling operations. International Journal of Machine Tool Designand Research, 1:15—33, 1961.

[60] F. Koenigsberger and J. Tlusty. Machine Tool Structures, volume 1. PergamonPress, 1970.

[61] R. Komanduri, F.J. McGee, R.A. Thompson, J.P. Covey, J.F. Truncale, V.A. Tipnis, R.M. Stach, and R.I. King. On a methodology for establishing the machinetool system requirements for high-speed machining. In ASME 198 Winter AnnualMeeting—Proceedings of the High-Speed Machining Symposium. ASME, December1984.

[62] L. Kops and D.T. Vo. Determination of the equivalent diameter of an end millbased on its compliance. CIRP Annals, 39(1):93—96, 1990.

[63] Y. Koren. Cross-coupled computer control for manufacturing systems. ASMEJournal of Dynamic Systems, Measurement and Control, 102(4):265—272, 1980.

[64] Y. Koren. Computer Control of Manufacturing Systems. McGraw-Hill, New York,NY, 1983.

[65] Y. Koren and 0. Masory. Adaptive control with process estimation. CIRP Annals,30(1):373—376, 1981.

Page 368: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Bibliography 341

[66] M.S. Lan and D.A. Dornfield. Experimental studies of tool wear via acoustic emission analysis. In Proceedings of the North American Manufacturing Research Conference, volume 10, pages 305—311, May 1982.

[67] M.S. Lan and D.A. Dornfield. In-process tool fracture detection. ASME Journalof Engineering Materials and Technology, 106:111—118, April 1984.

[68] L.K. Lauderbaugh and A.G. TJlsoy. Dynamic modeling for control of the millingprocess. ASME Journal of Engineering for Industry, 110:367—375, November 1988.

[69] L.K. Lauderbaugh and A.G. Ulsoy. Model reference adaptive control in milling.ASME Journal of Engineering for Industry, 111:13—21, 1989.

[70] E.H. Lee and B.W. Shaffer. Theory of plasticity applied to the problem of machining. Journal of Applied Mechanics, 18:405—413, 1951.

[71] Y.C. Lee and K.S. Fu. Machine understanding of CSG: extraction and unificationof manufacturing features. IEEE Computer Graphics and Applications, 7(1):20—32,January 1987.

[72] S.C. Lin, R.E. DeVor, and S.G. Kapoor. The effects of variable speed cutting onvibration control in face milling. In ASME 1988 Winter Annual Meeting, pages41—51. ASME, 1988. PED-Vol. 33.

[73] L. Ljung and T. Söderström. Theory and Practice of Recursive Identification. MITPress, 1983.

[74] M.E. Martellotti. An analysis of the milling process. Transactions of the ASME,63:677—700, 1941.

[75] M.E. Martellotti. An analysis of the milling process. part II: Down milling. Transactions of the ASME, 67:233—251, 1945.

[76] D. Meagher. Geometric modelling using octree encoding. Computer Graphics andImage Processing, 19:129—147, 1982.

[77] K. Mehlhorn. Data Structures and Algorithms: Multi-dimensional Searching andComputational Geometry, volume 3. Springer-Verlag, New York, NY, 1984.

[78] S.N. Melkote and L.A. Kendall. End-mill cutter engagement determination fromCNC tool trajectories for planar surface generation. In Proceedings of the NorthAmerican Manufacturing Research Conference, pages 152—159, Dearborn, MI, 1989.Society of Manufacturing Engineers. Vol. XVII.

Page 369: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Bibliography 342

[79] M.E. Merchant. Mechanics of the cutting process I. Journal of Applied Physics,16:267—275, 1945.

[80] M.E. Merchant. Mechanics of the cutting process II. Journal of Applied Physics,16:318—324, 1945.

[81] Metcut Research Associates Inc., Cincinnati, OH. Machining Data Handbook, 2ndedition, 1972.

[82] A.E. Middleditch, T.W. Stacey, and S.B. Tor. Intersection algorithms for lines andcircles. ACM Transactions on Graphics, 8(1):25—40, January 1989.

[83] Y. Mohamed, M.A. Elbestawi, and L. Liu. Application of some parameter adaptive control algorithms in machining. In ASME 1988 Winter Annual Meeting—Control Methods for Manufacturing Processes, pages 63—70, Chicago, November1988. ASME. DSC-Vol. 9.

[84] D. Montgomery and Y. Altintas. Mechanism of cutting force and surface generationin dynamic milling. ASME Journal of Engineering for Industry, 113:160—168, 1991.

[85] T. Moriwaki. Detection of tool fracture by acoustic emission measurement. CIRPAnnals, 29(1), 1980.

[86] N. Okino, Y. Kakazu, and H. Kubo. TIPS-i: technical information processing system for computer aided design and manufacturing. In J. Hatvany, editor, ComputerLanguages for Numerical Control, pages 141—150. North-Holland, 1973.

[87] J.H. Oliver and E.D. Goodman. Direct dimensional NC verification. Computer-Aided Design, 22(i):3—9, 1990.

[88] A. Parkinson. An automatic NC data generation facility for the BUILD solidmodelling system. Manufacturing Systems, 14(2): 191—197, 1985.

[89] A.J. Pekelharing. The exit failure of cemented carbide face milling cutters partI—fundamentals and phenomenae. CIRP Annals, 33/1:47—50, 1984.

[90] A.J. Pekeiharing. The exit failure of cemented carbide face milling cutters partIT—testing of commercial cutters. CIRP Annals, 33/1:51—54, 1984.

[91] H. Persson. NC machining of arbitrarily shaped pockets. Computer-Aided Design,i0(3):i69—i75, May 1978.

[92] A.N. Poo and J.G. Bollinger. Dynamic errors in type 1 contouring systems. IEEETransactions on Industry Applications, IA-8(4):477—484, 1972.

Page 370: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Bibliography 343

[93] M.J. Pratt. Solid modeling and the interface between design and manufacture.IEEE Computer Graphics and Applications, 4(7):52—59, July 1984.

[94] K.M. Quinlan and J.R. Woodwark. A spatially-segmented solids database—justification and design. In A. Pipes, editor, Proceedings CAD 1982, pages 126—132,London, UK, 1982. Butterworths and Co. Ltd.

[95] S. Ramalingam, T. Shi, D.A. Frohrib, and T. Moser. Acoustic emission sensingwith an intelligent insert and tool fracture detection in multi-tooth milling. InProceedings of the North American Manufacturing Research Conference, volume 16,pages 245—255, May 1988.

[96] A.A.G. Requicha and S.C. Chan. Representation of geometric features, tolerances,and attributes in solid modelers based on constructive geometry. IEEE Journal ofRobotics and Automation, RA-2(3):156—166, September 1986.

[97] A.A.G. Requicha and H.B. Voelcker. Solid modeling: A historical summary andcontemporary assessment. IEEE Computer Graphics and Applications, 2(2):9—24,March 1982.

[98] A.A.G. Requicha and H.B. Voelcker. Solid modeling: Current status and researchdirections. IEEE Computer Graphics and Applications, 3(7):25—37, October 1983.

[99] A.A.G. Requicha and H.B. Voelcker. Boolean operations in solid modeling: Boundary evaluation and merging algorithms. Proceedings of the IEEE, 73(1): 30—44, 1985.

[100] J.R. Rossignac and H.B. Voelcker. Active zones in CSG for accelerating boundaryevaluation, interference detection and shading algorithms. ACM Transactions onGraphics, 8:51—87, 1988.

[101] S.D. Roth. Ray casting for modeling solids. Computer Graphics and Image Processing, 18:139—154, 1982.

[102] A.J.P. Sabberwal. Chip section and cutting force during the milling operation.CIRP Annals, 10:197—203, 1961.

[103] H.J. Samet. Applications of Spatial Data Structures: Computer Graphics, ImageProcessing, and GIS. Addison-Wesley, Redding, MA, 1989.

[104] H.J. Samet. Design and Analysis of Spatial Data Structures: Quadtrees, Octrees,and Other Hierarchical Methods. Addison-Wesley, Redding, MA, 1989.

[105] N.M. Samuel, A.A.G. Requicha, and S.A. Elkind. Methodology and results of anindustrial part survey. Technical Memorandum 30, University of Rochester, 1977.

Page 371: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Bibliography 344

[106] M.C. Shaw. Metal Cutting Principles. Oxford University Press, Oxford, UK, 1984.

[107] M. Shpitalni and A. Fischer. CSG representation as a basis for extraction of machining features. CIRP Annals, 40(1):157—160, 1991.

[108] K.S. Smith. Automatic Selection of the Optimum Spindle Speed in High-SpeedMilling. PhD thesis, University of Florida, Gainsville, FL, 1987.

[109] 5. Smith and J. Tiusty. An overview of modeling and simulation of the millingprocess. ASME Journal of Engineering for Industry, 113:169—175, 1991.

[110] A.D. Spence. Solid modeller based milling process simulation. Report CICSRTR92-010, The University of British Columbia, Centre for Integrated ComputerSystems Research, Vancouver, BC, March 1992.

[111] G. Spur and F. Leonards. Sensoren zur erfassung von prozesskenngrodssen bei derdrehbearbeitung. CIRP Annals, 24(1):349—354, 1975. Sensors to evaluate processindicators in turning operations.

[112] S.M. Staley, M.R. Henderson, and D.C. Anderson. Using syntactic pattern recognition to extract feature information from a solid geometric data base. Computersin Mechanical Engineering, 1(2):61—66, September 1983.

[113] J.L. Stein and C.-H. Wang. Analysis of power monitoring on AC induction drivesystems. ASME Journal of Dynamic Systems, Measurement and Control, 112:239—248, 1990.

[114] G. Stute and F.R. Goetz. Adaptive control system for variable gain in ACC systems. In Proceedings of the Sixteenth International Machine Tool Design and Research Conference, pages 117—121, 1975.

[115] Y.S. Suh and K. Lee. NC milling tool path generation for arbitrary pockets definedby sculptured surfaces. Computer-Aided Design, 22(5):273—284, June 1990.

[116] U.A. Sungurtekin and H.B. Voelcker. Graphical simulation and automatic verification of NC machining programs. In Proceedings of the 1986 IEEE Conference onRobotics and Automation, pages 156—165, San Francisco, CA, April 1986.

[117] J.W. Sutherland. A Dynamic Model of the Cutting Force System in the End MillingProcess. PhD thesis, University of Illinois, 1987.

[118] J.W. Sutherland and R.E. DeVor. An improved method for cutting force and surface error prediction in flexible end milling systems. ASME Journal of Engineeringfor Industry, 108:269—279, November 1986.

Page 372: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Bibliography 345

[119] S. Takata and T. Sata. Model reference monitoring and diagnosis—application tothe manufacturing system. Computers in Industry, 7:31—43, 1986.

[120] S. Takata, M.D. Tsai, and T. Sata. A cutting simulation system for machinabilityevaluation using a workpiece model. CIRP Annals, 38(1):417—420, 1989.

[121] K. Tamura, K. Ogata, and P.N. Nikiforuk. Design of nonovershoot MRACS withapplication to D.C. servo motor system. ASME Journal of Dynamic Systems,Measurement and Control, 113(1):75—81, 1991.

[122] R.B. Tilove. Set membership classification: A unified approach to geometric intersection problems. IEEE Transactions on Computers, C29(10):874—883, October1980.

[123] R.B. Tilove. Line/polygon classification: A study of the complexity of goemetriccomputation. IEEE Computer Graphics and Applications, 1(2):75—86, 1981.

[124] R.B. Tilove. A null-object detection algorithm for constructive solid geometry.Communications of the ACM, 27(7):684—693, July 1984.

[125] J. Tlusty. Machine dynamics. In R.I. King, editor, Handbook of High-Speed Machining Technology, chapter 3. Chapman and Hall, New York, NY, 1985.

[126] J. Tlusty and G.C. Andrews. A critical review of sensors for unmanned machining.CIRP Annals, 32(2):563—572, 1983.

[127] J. Tiusty and P. MacNeil. Dynamics of cutting forces in end milling. CIRP Annals,24:21—25, 1975.

[128] J. Tiusty, S. Smith, and C. Zamudio. Evaluation of cutting performance of machining centers. CIRP Annals, 409(1):405—410, 1991. augmented by private communication with S. Smith.

[129] M. Tomizuka, J.H. Oh, and D.A. Dornfield. Model reference adaptive control of themilling process. In D.E. Hardt and W.J. Book, editors, Control of ManufacturingProcesses and Robotics Systems, pages 55—63. ASME, 1983.

[130] E.M. Trent. Metal Cutting. Butterworths and Co. Ltd., London, UK, 2nd edition,1984.

[131] M.D. Tsai, S. Takata, M. Inui, F. Kimura, and T. Sata. Prediction of chattervibration by means of a model-based cutting simulation system. CIRP Annals,39(1):447—450, 1990.

Page 373: SOLID MODELLER BASED MILLING PROCESS SIMULATION

Bibliography 346

[132] M.D. Tsai, S. Takata, M. Inui, F. Kimura, and T. Sata. Operation planning basedon cutting process models. CIRP Annals, 40(1):95—98, 1991.

[133] K. Uehara, F. Kiyosawa, and H. Takeshita. Automatic tool wear monitoring in NCturning. CIRP Annals, 28(1):39—42, 1979.

[134] A.G. Ulsoy, Y. Koren, and F. Rasmussen. Principal developments in the adaptivecontrol of machine tools. ASME Journal of Dynamic Systems, Measurement andControl, 105:107—112, 1983.

[135] H.E. Vignon. Effect of servo system characteristics on the accuracy of contouringaround a corner. Proceedings of the AIEE, 1962. paper 62-250.

[136] H.B. Voelcker and S.C. Chan. MPL—Machining Process Language. In Proceedingsof the 1986 IEEE Conference on Robotics and Automation, San Francisco, CA,April 1986.

[137] H.B. Voelcker and A.A.G. Requicha. Geometric modeling of mechanical parts andprocesses. IEEE Computer, 10(12):48—57, December 1 977.

[138] H.B. Voelcker and M.A. Wesley. Summary and conclusions. In Solid Modeling byComputers: From Theory to Applications, pages 349—360, Warren, MI, September1985. General Motors Research Laboratories, Plenum Press.

[139] A.F. Wallis and J.R. Woodwark. Creating large solid models for NC toolpathverification. In J. Wexier, editor, Proceedings CAD 198i, pages 455—460, London,UK, 1984. Butterworths and Co. Ltd.

[140] W.P. Wang. Solid modeling for optimizing metal removal of three-dimensional NCend milling. Journal of Manufacturing Systems, 7(1):57—65, 1988.

[141] R.C. Whitfield. A Mechanics of Cutting Approach for the Prediction of Forcesand Power in some Commercial Machining Operations. PhD thesis, University ofMelbourne, Melbourne, Australia, 1986.

[142] T.C. Woo. Feature extraction by volume decomposition. In Proceedings ConferenceCAD/CAM Technology in Mechanical Engineering, pages 76—94, Cambridge, MA,May 1982.

[143] P.K. Wright and D.A. Bourne. Manufacturing Intelligence. Addison-Wesley, Reading, MA, 1988.

[144] K. Yamaguchi, T.L. Kunii, and K. Fujimura. Octree-related data structures andalgorithms. IEEE Computer Graphics and Applications, pages 53—59, January1984.