Process Planning For Shape Deposition Manufacturing
Process Planning For Shape Deposition Manufacturing
MANUFACTURING
                     a dissertation
 submitted to the department of mechanical engineering
        and the committee on graduate studies
                of stanford university
       in partial fulfillment of the requirements
                   for the degree of
                 doctor of philosophy
                          By
                   Krishnan Ramaswami
                      January 1997
c Copyright 2000 by Krishnan Ramaswami
          All Rights Reserved
                  ii
I certify that I have read this dissertation and that in
my opinion it is fully adequate, in scope and quality, as
a dissertation for the degree of Doctor of Philosophy.
                           Friedrich B. Prinz
                          (Principal Adviser)
Kosuke Ishii
David Beach
                           iii
Abstract
Solid Freeform Fabrication (SFF) refers to a class of rapid manufacturing process that
builds parts by incremental material deposition and fusion of thin 2-1/2 dimensional
layers. Over this past decade, SFF has taken the manufacturing industry to new
heights.   However, parts produced by SFF processes exhibit a stair-step surface
texture due to the presence of 2-1/2 dimensional layers and exhibit limited material
properties. These issues are addressed by a modified SFF process called Shape
Deposition Manufacturing. Shape Deposition Manufacturing (SDM) is a novel layered
manufacturing process in which multi-material structures with embedded components
can be fabricated. In SDM, the layers are truly three dimensional in nature and are
built using a combination of material addition and material removal processes. The
need for an automated and robust process planner is more in the case of SDM as
it attempts to build fully functional parts directly from CAD models. This thesis
focuses on the process planning issues in Shape Deposition Manufacturing.
   The major issues in process planning for SDM involves the generation of 3-D
layers and generation of deposition and CNC cutter paths for these 3-D layers. In
SDM, the CAD model is decomposed into 3-D layers of varying thickness based
upon both geometric and material criteria.      The layers are further decomposed
into manufacturable volumes called compacts. Silhouette edges and silhouette loops
are identified to help the decomposition of models into 3-D layers and compacts.
Unlike techniques used in existing SFF methods which divide models into equally
spaced slices, the present algorithm decomposes models into compacts which are
                                          iv
not necessarily planar and equally spaced. Solely based on geometric evaluations
a feasible sequence of material addition and removal processes is found for these
compacts. Each compact is deposited to the near-net shape using material deposition
techniques. Deposition paths are generated for the 2-D cross-section obtained by the
XY projection of the compact. The compact is then machined to the required shape
through a series of CNC cutting operations. The absence of fixturing problems and
tool accessibility problems helps in fully automating the generation of CNC cutter
paths. Several parts of varying complexity were built using this process planner and
the results will be discussed.
                                         v
Acknowledgements
                                           vi
Contents
Abstract iv
Acknowledgements vi
1 Introduction                                                                           1
  1.1   Problem Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . .        1
  1.2   Solid Freeform Fabrication . . . . . . . . . . . . . . . . . . . . . . . .       2
        1.2.1   Review of SFF processes . . . . . . . . . . . . . . . . . . . . .        3
        1.2.2   Limitations of SFF . . . . . . . . . . . . . . . . . . . . . . . .       6
  1.3   Present Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .       7
  1.4   Thesis Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     8
3 Spatial Decomposition                                                                 20
  3.1   Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    20
  3.2   Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .    22
        3.2.1   Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   22
        3.2.2   Basic concepts . . . . . . . . . . . . . . . . . . . . . . . . . . .    23
        3.2.3   Related work . . . . . . . . . . . . . . . . . . . . . . . . . . .      26
        3.2.4   Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . .      27
                                           vii
  3.3   Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     28
  3.4   Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .       36
7 Software Issues                                                                       70
  7.1   Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     70
  7.2   CAD system requirements . . . . . . . . . . . . . . . . . . . . . . . .         71
  7.3   CAD System Comparison . . . . . . . . . . . . . . . . . . . . . . . .           74
  7.4   Implementation issues . . . . . . . . . . . . . . . . . . . . . . . . . .       76
8 Applications                                                                          79
  8.1   Geometrically complex parts . . . . . . . . . . . . . . . . . . . . . . .       80
        8.1.1   IMS-T2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .      80
  8.2   Next generation metal tooling . . . . . . . . . . . . . . . . . . . . . .       82
                                          viii
        8.2.1   GM Injection molding Tool . . . . . . . . . . . . . . . . . . .        83
  8.3   Non-conventional parts . . . . . . . . . . . . . . . . . . . . . . . . . .     84
        8.3.1   Parts with interacting geometric features . . . . . . . . . . . .      84
        8.3.2   Conformable, Embedded Electro-mechanical parts . . . . . . .           87
        8.3.3   Assembled mechanisms . . . . . . . . . . . . . . . . . . . . . .       89
A Kinematic Transformations                                                            99
  A.1 Coordinate systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
  A.2 Kinematic equations . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Bibliography 104
                                          ix
List of Figures
                                            x
4.3   TYPES OF DEPOSITION PATHS . . . . . . . . . . . . . . . . . . . . . . . . . .    42
4.4   MAT OF A RECTANGLE    . . . . . . . . . . . . . . . . . . . . . . . . . . . .    43
4.5   MAT BASED DEPOSITION PATH . . . . . . . . . . . . . . . . . . . . . . . . .      44
4.6   RECTANGULAR HULL CONSTRUCTION . . . . . . . . . . . . . . . . . . . . . .        46
4.7   ZIGZAG PATH GENERATION . . . . . . . . . . . . . . . . . . . . . . . . . . .     47
4.8   TOWER DEPOSITION PATTERN . . . . . . . . . . . . . . . . . . . . . . . . . .     47
4.9   CONVEX DECOMPOSITION FOR DEPOSITION      . . . . . . . . . . . . . . . . . . .   48
4.10 CROSS HATCH DEPOSITION . . . . . . . . . . . . . . . . . . . . . . . . . . .      49
                                          xi
8.9   VUMAN EMBEDDED ELECTRONIC STRUCTURE     . . . . . . . . . . . . . . . . . .   88
8.10 CAD MODEL OF SIMON GAME PIECE . . . . . . . . . . . . . . . . . . . . . . .    88
8.11 SDM-SIMON GAME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .     89
8.12 CRANK AND PISTON MECHANISM . . . . . . . . . . . . . . . . . . . . . . . .     90
                                       xii
Chapter 1
Introduction
                                         1
CHAPTER 1. INTRODUCTION                                                              2
   The need for an automated and robust process planner is important in the case
of SDM as it attempts to build fully functional parts directly from CAD models.
The major issues in process planning for SDM involves the generation of 3-D layers
and generation of deposition and CNC cutter paths for these 3-D layers. 3-D layers
of varying thickness are generated from CAD models. The thickness of the layers
are based on geometric and process constraints. Deposition paths are generated for
depositing these layers. The deposited layer is then machined to the required shape
through a series of CNC cutting operations. The CNC cutter paths are generated
for roughing and finishing operations. The generation of CNC cutter paths has to be
fully automatic as human intervention with so many layers would render the process
impractical.
                                                     Planar
                   3-D Geometry
                   Decomposition                 Cross-Section
                                            Sacrificial          Primary
                                            Support              Material
                                            Material
molds and dies with lower toolmaking time and cost. Due to its sequential, layered
approach SFF can be used to build parts that would be impractical or impossible
to build with traditional approaches. Some examples would be parts with internal
channels or parts with mechanisms assembled during fabrication.
Laminated object manufacturing (LOM) The LOM process [19] produce parts
     from bonded paper, plastic, metal or composite sheet stock. In this process,
     a layer of sheet material is glued or welded to the previous layer, and then a
     laser beam follows the contour of the part cross-section to cut it to the required
     shape. The excess material of every sheet is either removed by vacuum suction
     or remains as next layer’s support. The process planning involves generation of
     contours to be followed by the laser.
Solid ground curing Cubital’s Solider [39] process uses a photo-masking technique
     to solidify a whole layer of liquid photo-polymer at one time.        A mask is
     generated by electrostatically charging a glass plate with a negative image of
     the layer’s cross-section. The mask is then positioned over a uniform layer of
     liquid photo-polymer and exposed under the ultraviolet light such that only the
     area shaded by the mask is left in liquid form. The liquid polymer is removed
     and is replaced with hot wax. After the wax has cooled, the layer is milled
     flat to the specified thickness. The mask plate is discharged and the cycle is
     repeated. When the part is constructed, the supporting wax is removed either
     by melting or by using a solvent. The process planning effort is mainly in the
     generation of mask.
CHAPTER 1. INTRODUCTION                                                               5
Selective laser sintering(SLS) SLS [12] uses laser to sinter successive layers of
     powder instead of liquid. In the SLS process, a thin layer of heat-fusible powder
     is a spread over a surface by a counter-rotating roller. A laser traces the cross-
     section of the layer on the powder surface, sintering the portions exposed to the
     laser beam. The roller spreads another layer of powder over the sintered one
     and the process continues till the part is completed. The unsintered powder on
     every layer acts as support during the building process. Post processing of SLS
     parts involves the removal of binder. The process planning effort involves the
     generation of laser trajectories. With some materials, the product may suffer
     shrinkage and warpage due to sintering and cooling. In such cases, an interesting
     process planning problem would to be offset for shrinkage in the CAD model.
Process and Material limitations None of the SFF processes have the capability
     to produce parts with properties equivalent to those made with conventional
     manufacturing technologies. SFF parts have to be post-processed before they
     can be used. Most of the post-processing methods either modify the properties
     of the material or alter the shape of the part. For example, in 3D printing,
     liquid infiltration is done in order to produce dense parts and this might affect
     the resulting material properties. In SLS, parts might suffer shrinkage due to
     sintering and cooling. In theory, shrinkage can be compensated by modifying
CHAPTER 1. INTRODUCTION                                                                   7
        the original CAD model, but it is very difficult to predict the actual shrinkage for
        any complex shape. Shrinkage might also cause the buildup of residual stresses.
        Residual stresses will also be caused due to temperature gradients between
        layers. These residual stresses might lead to distortions and delaminations. The
        poor surface quality could also be partially attributed to the material deposition
        process. During the material deposition process, the surface tension of the
        material prevents the generation of geometrically well-defined surfaces between
        layers . The current SFF processes are restricted to a limited set of materials.
        Processes like SLA, Solid ground curing and FDM are restricted to polymers.
        Processes like SLS and 3D printing use a wider range of materials but have
        shrinkage problems.
      Thus while offering the benefit of building complex parts directly from CAD
models in a short time, SFF suffers from poor geometric and material tolerances.
On the other hand, conventional methods using CNC machining can deliver high
geometric and material quality, but are limited in part complexity. CNC machining
is also expensive and requires human intervention for generating CNC cutter paths
and for designing and selecting fixtures. Thus a process that combines the layered
principle of SFF processes and the accuracy of CNC machining will seem to be a step
in the right direction. Shape deposition manufacturing (SDM) is such a process that
takes advantage of both material addition and material subtraction.
  1
      A compact is a manufacturable volume in SDM and will be described in Chapter 3.
CHAPTER 1. INTRODUCTION                                                              8
upon both geometric and material criteria. The layers are further decomposed into
compacts that have all their newly deposited surfaces to be non-undercut. Two
approaches to this problem of spatial decomposition are explained in Chapter 3. Both
the approaches rely on the generation of silhouette edges. The concept of silhouette
edges and the process of generating them will also be explained in Chapter 3
   Each compact is deposited to the near-net shape using material deposition tech-
niques. Deposition paths are generated for the 2-D cross-section obtained by the XY
projection of the compact. Chapter 4 describes the generation of deposition paths.
Due to the nature of the deposition methods, the generation of deposition paths has
to avoid revisiting the same position and should not leave any gaps. Chapter 4 also
describes the various deposition methods used in SDM.
   SDM is different than other SFF processes in that it uses both material deposition
and material removal processes to build a layer. The material removal process in
SDM is done using CNC machining. Chapter 5 describes the generation of CNC
cutter paths in SDM. CNC cutter path generation can be broadly separated into two
categories, 2-D and 3-D cutter path generation. This chapter mainly deals with 2-D
cutter path generation. 2-D cutting can be further classified into rough cutting and
2-D profile cutting, both of which require the offset of 2-D cross-section. Chapter 5
also describes the generation of offsets of 2-D models.
   Chapter 6 deals with the 3-D cutter path generation. Success has been eluding
researchers in automating the generation of CNC cutter paths. It can be partially
attributed to fixturing problems and tool accessibility problems. In the case of SDM,
the absence of both these problems motivates us to find a method to successfully
generate fully automatic 3-D CNC cutter paths. In Chapter 6, such a method is
described. The surfaces of the model are subdivided and classified based on the
cutting method. Cutter paths are then generated for each of these surface types.
   During the various process planning steps in SDM, the CAD model undergoes
a series of geometric operations.    In order to withstand the complex geometric
operations, a powerful geometric engine should serve as a backbone for the process
planner. Chapter 7 describes the requirements of a geometric engine for the process
planner. It also describes the geometric modelers that were used for process planning
CHAPTER 1. INTRODUCTION                                                            10
Solid Freeform Fabrication (SFF) has been widely investigated as a way to auto-
matically fabricate parts directly from CAD models for applications in the area of
rapid prototyping and short-run manufacturing. But it remains a goal to be able
to directly build high performance metal shapes using SFF techniques. Fully dense
metal parts that have accurate dimensions and good surface appearance are often
required for such applications as custom tooling and production-ready prototypes.
Shape Deposition Manufacturing (SDM) is a manufacturing technique that attempts
to address the issue of directly creating fully functional metal shapes. In addition,
SDM also has the potential to produce multi-material, functionally graded, embedded
heterogeneous structures made of metal, plastic and ceramic materials.
                                         11
CHAPTER 2. SHAPE DEPOSITION MANUFACTURING                                           12
such as plasma or laser based deposition process. After deposition, each layer is
accurately machined to net shape using CNC milling or EDM. Processes such as
shot-peening are used to control the build-up of residual stresses. Sensors, electronic
components, prebuilt mechanical parts or circuits can be embedded into each layer.
After completing one layer, the next layer is deposited and the process is repeated
till the part is completed. In SDM, support for overhanging features is provided by
the sacrificial support material. Each layer is embedded in the support material. The
CAD model of the support structure is obtained as the compliment of original CAD
model. The support structure is built along with the original model and follows the
SDM cycle shown in Figure 2.1. After the part is completed, the support material
CHAPTER 2. SHAPE DEPOSITION MANUFACTURING                                             13
have been explored in SDM in order to produce high quality parts. While spraying
techniques suffer from poor bonding properties, traditional welding based approaches
suffer from penetration problems created by excessive heat input. In SDM, material
is deposited by plasma or laser based droplet-deposition process that ensure good
metallurgical bonding between layers without excessive heating of the substrate
material.   Other deposition processes that are currently being explored include
selective casting of two-component or UV-curable resins, hot pressing of powders,
sputtering and ceramic deposition. In SDM, material removal is done using a 5-
axis CNC milling machine. The CNC cutter paths generated by the process planner
CHAPTER 2. SHAPE DEPOSITION MANUFACTURING                                            14
are downloaded to the machine in the DNC mode. Other material removal stations
that will be included in the future include EDM (electro discharge machining) and
a 3-axis CNC milling machine for handling abrasive materials. The residual cutting
fluids or the residue from the deposition process are removed in a washer that has the
capability to spray a water-jet at different speeds. A shot peener is used to relieve
stresses in the part. The shot peener uses a conventional pressurized media delivery
system.
   Some of the current application areas of SDM are
   • Inaccessibility of some areas of the model by the cutting tool Figure 2.3a. This
     could be caused either due to insufficient tool length or due to inaccessible
     surfaces in the model.
   On the other hand, one of the clear advantages with SFF processes is the ability
to produce physical objects from CAD models in a completely automated fashion
with very little process planning effort. SFF processes operate on planar geometries
that makes them essentially independent of the part complexity. Support structures
eliminate the need for custom fixturing and permit undercut features to be built up.
The process planning effort in most of the SFF processes involves the generation of
2-D cross-sections and generation of scan paths for the 2-D cross-sections. Since it
is possible to solve these issues in a robust and autonomous fashion, producing parts
CHAPTER 2. SHAPE DEPOSITION MANUFACTURING                                            16
using the SFF processes requires very little human intervention. Of course, issues
such as shrinkage compensation and support structure determination would make
the process planning effort in SFF processes more challenging.
   In SDM, there is a full 3-D shape control of all surfaces and it also uses material
removal operations like CNC cutting. Both these make the process planning effort
in SDM more complex than that of SFF processes. Figure 2.4 shows the process
planning steps involved in SDM. In SDM, the CAD model is first decomposed into
layers of varying thickness based upon both geometric and process criteria. Each
layer is further subdivided into simpler building blocks called compacts that are of
single material and which have all their newly deposited surfaces to be non-undercut
surfaces.   The compacts are then sequenced for subsequent planning operations.
The compacts are deposited as near-net shapes using the deposition paths. The
parameters for deposition paths, such as path spacing, deposition feedrate and height
of deposit are dependent on the deposition method used and material being deposited.
This information is obtained from the process database. The deposited compacts are
machined to net shape using CNC cutting operations. The CNC cutter paths are
transformed to machine coordinates and into the machine readable format. The
CNC cutter paths are generated with different types of cutting tools with varying
sizes. The feed-rate and the spindle speed are based on the cutter used and the
material being cut. This information is derived from the tool database. Deposition
paths and CNC cutter paths are then generated for the next compact and the path
generation cycle is repeated till all the compacts are processed.
   One of the key challenges in process planning for SDM is to develop robust
algorithms to automatically decompose any CAD solid model into a set of layers
and compacts. This problem involves extensive geometric reasoning and is very
difficult to be solved manually. Thus, it is essential that this is done in an automated
fashion. With a host of interesting geometric issues, a robust solution to this problem
will be a challenging task. The other major area in process planning for SDM is
path planning. Path planning encompasses generation of deposition trajectories and
cutting trajectories. Though there are some common issues in deposition and cutting
path generation, there are some basic issues that separates these two problems. The
CHAPTER 2. SHAPE DEPOSITION MANUFACTURING                           17
CAD Model
                                                    Min/Max
                                Adaptive          Layer Thickness
                                 layer
                               Generation
         Compact                                       Process
                     Non-Monotonic
        Generation       Layer                         Database
                             Layer/Compact
                               Sequence
Deposition Path
                                                            Tool
                                                        Database
Machine Code
deposition path generation is highly influenced by the process whereas the cutting
path generation is governed more by geometry than by the process. Trajectories
generated for droplet-based deposition methods used in SDM control the integrity of
the deposited material. It is very important to maintain accurate path spacing and
torch angles to avoid gaps or overlaps in the deposit. A variety of trajectory patterns
should be explored to overcome issues like unsymmetrical deposition properties,
localized heating and thermal cycling. On the other hand, cutter path generation is
mainly dictated by geometric complexities. As explained before, automation of CNC
cutter path generation has not been possible. But in SDM, it is very essential that
it is automated as human intervention with so many layers would cause considerable
delays in the process. Also, with the original model decomposed into compacts, it is
intuitively difficult to generate the CNC trajectories. At the same time, this process
offers some benefits which helps towards this automation. The compacts won’t have
any undercut features and since the compacts won’t be too high, all areas of the
compact will be within the reach of the tool and there is no need to consider fixturing
problems. Thus generation of CNC cutter paths in an automated fashion would be
another major task of the process planning system.
2.3     Summary
This chapter described the SDM process and the process planning issues in SDM.
SDM is a layered manufacturing process that employs material deposition and
material removal processes for creating a part. Process planning is an important
component in any manufacturing process. In conventional manufacturing processes
that employ CNC machining, process planning involves selection and design of
fixtures and generation of CNC cutter paths. This still needs significant human
intervention resulting in long lead times and expensive parts. In SFF processes,
process planning involves generation of 2-D cross-sections by slicing the CAD model
and generation of scan paths for these 2-D cross-sections. This needs very little
human intervention. Process planning in SDM has some similarities and differences
with the above mentioned methods of process planning. In SDM, similar to SFF, the
CHAPTER 2. SHAPE DEPOSITION MANUFACTURING                                         19
CAD model has to be decomposed into simpler models but the difference is that these
simpler models are 3-D models and are no longer 2-D cross-sections. Then similar to
CNC process planning, cutter paths have to be generated for these 3-D models, but
the difference is that the cutter path planning has to be fully automatic and is free
of fixturing problems.
Chapter 3
Spatial Decomposition
3.1     Introduction
As mentioned before SFF parts are processed by decomposing 3-D CAD models into
thin cross sectional layers which are used to plan the material deposition strategy
for each layer. The physics of the material deposition process (e.g. surface tension)
frequently prevents the generation of geometrically well defined surfaces between cross
sections. Instead, surfaces with a stair step appearance may be created. In contrast,
Shape Deposition Manufacturing (SDM) takes advantage of both material addition
and subtraction. The SDM strategy is to first decompose a CAD model into simpler
building blocks called compacts.
   A key challenge in SDM is to develop robust algorithms capable of automatically
decomposing any 3-D model into a set of layers and compacts which can be fabricated
by combined additive and subtractive process. To define the nature of the geometric
problems involved, we describe the sequence of fabrication steps first. Each layer
consists of a primary material and a sacrificial support material.       For example,
consider the object in Figure 3.1 which is decomposed into three planar layers. The
layers comprising the primary material are classified as follows:
                                          20
CHAPTER 3. SPATIAL DECOMPOSITION                                                   21
                                        Both
                                     Undercut
Non-undercut
Class 1
Class 2
Class 3
Figure 3.1 shows the sequence of operations for these three class of layers. For class
1 the primary material is deposited first and then machined to net shape. Next,
the sacrificial support material is deposited and planed together with the primary
material. This sequence is reversed for class 2 objects. Class 3 geometries must
be decomposed into compacts such that the strategies of class 1 and class 2 can
be invoked recursively depending on the local geometry. As an example, a support
compact is deposited and cut first followed by deposition and cutting of the primary
material. Finally the rest of the support material can be deposited to complete the
layer.
   This description serves to indicate some of the issues in shape decomposition
for SDM processing. The following section aims at generalizing the definitions of
geometric entities which will then lead into the development of the decomposition
algorithm [52].
CHAPTER 3. SPATIAL DECOMPOSITION                                                        22
3.2 Overview
3.2.1     Definitions
The surfaces of the model are classified into three categories (Figure 3.2). If N̂(u, v)
                 N
                                      N
                                                              N
                                           N                                      N
is the normal vector on any point (u, v) of the surface S and b̂ is the unit vector in
the build-up direction, then
A layer is a section of the model that is bound between two horizontal planes. A
layer can consist of multiple materials and can have a variable thickness. In general,
a layer cannot be processed in one SDM process cycle.
   A compact is the fundamental building block of the SDM process. A compact
is composed of single material and has all its newly deposited surfaces to be non-
undercut surfaces. A compact can be processed in one SDM process cycle.
   The next four definitions are illustrated in Figure 3.3.
   Silhouette edges are defined as those curves on the surface of the model along
which N̂(u, v) · b̂ = 0. Silhouette edges serves as the boundary between undercut and
non-undercut portions of the surface.
CHAPTER 3. SPATIAL DECOMPOSITION                                                     23
                                             a
                                                         b
b a
   A convex silhouette edge is a silhouette edge where the surface across the edge is
convex. Thus a convex silhouette edge has its adjacent undercut surface below its
adjacent non-undercut surface.
   A concave silhouette edge is a silhouette edge where the surface across the edge is
concave. Thus a concave silhouette edge has its adjacent undercut surface above its
adjacent non-undercut surface.
   Silhouette loops are the loops formed by the connecting the silhouette edges into
a closed contour. A silhouette loop can consist of both concave and convex silhouette
edges.
   Build-up direction is the direction along which the part is built up. At present,
parts in SDM are built along the z direction. Thus, without loss of generality, z
direction (0,0,1) is assumed to be the built-up direction in the rest of this chapter.
respectively. It will be shown later that this is not the only solution. The part model
P2 P3
P1
                                    Spatial decompostion
                                       of part model
is decomposed into layers P1, P2, P3 and doesn’t need any subdivision. The layers
S1,S2 of the support model do not need any subdivision, but layer S3 has to be
subdivided into compacts S3 1 and S3 2. The process sequence for this set of layers
and compacts will be P1-S1-S2-P2-S3 2-P3-S3 1.
   Silhouette edges are used as the starting point in the decomposition algorithm.
There are two types of silhouette edges in a given model, surface silhouette edges
and boundary silhouette edges. Surface silhouette edges are those that exist inside a
surface and boundary silhouette edges are those that serve as the common boundary
CHAPTER 3. SPATIAL DECOMPOSITION                                                    25
S2
S1
S3
S3_1
S3_2
                                     Spatial decomposition
                                       of support model
edge between two surfaces. The surface silhouette edges are present only in non-
monotonic surfaces and are used to subdivide the surface into monotonic surfaces.
At the end of this subdivision, the model will consist only of boundary silhouette
edges. These boundary silhouette edges are connected to form closed silhouette loops.
Figure 3.3 shows the silhouette edges and loops in the example part. Partition surfaces
are obtained as ruled surfaces by sweeping a certain set of silhouette edges along the
z direction. These partition surfaces are used to decompose the model into layers and
compacts.
   Since a compact can consist of both undercut and non-undercut surfaces, a
compact with undercut surfaces can be processed only when all other compacts with
which the current compact shares its entire undercut surface have been created. Each
CHAPTER 3. SPATIAL DECOMPOSITION                                                      26
on the surface S, is intersected with xy plane to obtain the silhouette edges. Their
method was limited to bicubic patches and the algorithm has limitations when the
normal surface is degenerate. Beusmans[6] outlines a method to generate silhouette
edges of a model using its spherical image. The spherical mapping relates the points
on the surface of a model with points on a unit sphere representing all possible surface
normals. The algorithm makes use of the fact that the spherical image of a silhouette
edge is confined to the great circle on the unit sphere. In this method, the extraction
of silhouette edges is free of degeneracies and fairly straightforward subject to the
generation of the spherical image of the object.
3.2.4     Requirements
The requirement for each compact is as follows:
   • A ray cast along the z-axis from the top should enter the compact through its
     non-undercut surface and exit through its undercut surface.
• The ray hits a non-undercut surface and an undercut surface at most once.
These requirements can be expressed in terms of the silhouette edges and silhouette
loops as below.
Even if each compact fulfills the above two requirements, it might so happen that the
compact cannot be processed due to a sequence conflict between the compacts.
   The compacts have to be ordered based on their relative z positions. The compact
with a lower z value must be sequenced before the one with a higher z value. The
z position of a compact is its minimum z value. All the compacts must be simply
ordered in a sequence to be processed. However it is sometimes impossible to sort
all compacts in a sequence based on the relative z positions. This could happen
if there exist cyclic ordering relation as shown in Figure 3.7. Here A covers B, B
covers C, and C covers A. This means A cannot be processed before B, B cannot be
processed before C, and C cannot be processed before A. Therefore none of them can
be processed in the given form. In terms of silhouette loops, this requirement can be
stated as follows.
Cyclic ordering among silhouette loops If the ordering relations between sil-
      houette loops of compacts form a cycle, those compacts cannot be processed in
      a sequence.
                                                            A<C
                                 A                          C<B
                                          B
                                                            B<A
3.3      Algorithm
The algorithm decomposes the given model such that the resulting set of compacts
satisfies the following conditions.
CHAPTER 3. SPATIAL DECOMPOSITION                                                  29
3. Silhouette loops of different compacts do not have a cyclic ordering among them.
                                                     P2
                           P1
   The algorithm has some similarities to the Weiler-Atherton hidden surface algo-
rithm which subdivides the polygons by clipping with other polygons based on a depth
sort of the polygons[66]. In our approach we subdivide a solid model by clipping with
silhouette edges.
CHAPTER 3. SPATIAL DECOMPOSITION                                                        30
   In order to decompose a model using silhouette edges, one approach is to use swept
surfaces obtained by sweeping those silhouette loops that violate the conditions above,
along the z-direction. Since an infinitely long prism separates the entire space into
two regions, a sufficiently long swept surface of the silhouette loop will split the model.
Figure 3.8 shows the decomposition of the example part using this method. Here,
the concave silhouette loop is swept along the positive z-direction to split the model
into two compacts, P1 and P2. It can be observed that both the compacts satisfy
the three conditions.
   In SDM, these compacts might have to be split further using horizontal planes
in order to satisfy some process constraints. In keeping with the nature of the
process, in our second method we use horizontal planes together with swept surfaces
to decompose the model. The use of horizontal planes has the following advantages:
• The swept surface along the z-direction could be bound by the horizontal planes.
   concave and convex silhouette edges based on the configuration of the adjacent
   surfaces.
      • If the silhouette loop contains both concave and convex silhouette edges,
         then there will be isolated concave silhouette edges. Each of these iso-
         lated concave silhouette edge will have an undercut surface and a non-
         undercut surface as its adjacent faces. The partition surface is obtained
         by sweeping the boundary of the adjacent undercut surface along the z-
         direction.(Figure 3.10).
      • If the entire silhouette loop is made up of concave silhouette edges, the
         silhouette loop is swept in the z-direction to generate the partition surfaces.
Silhouette loop
CAD model
     To illustrate this, consider the example shown in Figure 3.11. The model
     consists of four triangular prisms joined to form a spiral shape. Figure 3.11
     also shows the silhouette loop and projected silhouette loop for this model. It
     should be noted that silhouette loop is entirely made up of convex silhouette
     edges. By sweeping the overlapping portion(Figure 3.12) of the silhouette loop
     the model is decomposed into two compacts C1 and C2 as shown in Figure 3.12.
                                            Overlapping portion
                                             of silhouette loop
C2
C1
   loop causing the cyclic ordering is split (Figure 3.13) by sweeping the overlap-
   ping portion of the silhouette loop. It can be observed that this case is similar
   to the self-intersection case.
                                    A3                         A2 < C
                                             B                 C<B
                                                               B < A3
                          A2             C
A1
      processed before it is placed before it in the compact sequence list. This process
      is repeated for all compacts. The process sequence for this set of compacts will
      be P1-S1-S2-P2-S3.
                               S3
                                                           S2
              P2
P1
S1
3.4      Summary
An algorithm for the decomposition of any 3-D model into layers and compacts was
described. This decomposition method enables the manufacture of complex, multi-
material objects in SDM. Geometric model decomposition is accomplished through a
sequence of geometric operations. Silhouette edges and silhouette loops are identified
to help in the decomposition of model. The geometric requirements to be satisfied by
CHAPTER 3. SPATIAL DECOMPOSITION                                                   37
a compact are expressed in terms of these silhouette edges and loops. The algorithm
then progresses to decompose the given model into compacts whose silhouette edges
and loops do not violate any of those requirements.       Unlike techniques used in
SFF methods which divide models into equally spaced slices, the present algorithm
decomposes models into layers which are not necessarily planar and equally spaced.
This has the advantage that the surface information of the original model is preserved
and utilized for further process planning steps including CNC cutter path generation.
In addition, processing methods permitting, relatively thick layers can be fabricated
at once resulting in an increased building rate. Another key step of the present
algorithm is the determination of the process sequence. Solely based on geometric
arguments a feasible sequence of material addition and removal processes is found.
Chapter 4
                                          38
CHAPTER 4. DEPOSITION PATH GENERATION                                                39
Wire feed
                       Gas feed
                                              AAAA
                                           Gas feed
                                              AAAA
                                              AAAA
                                               AA
                                               Power Supply
                                                -+
             Inerting shroud
                               AAA
                               AAA A
                               AAA                      Tungsten Electrode
      fed through the charged contact tip melts in the arc forming a molten droplet.
      The molten droplet falls from the wire when its weight overcomes the surface
      tension. The droplet is accelerated by gravity and falls on the substrate. In
      contrast to the small droplets produced by thermal spraying, microcast droplets
      are relatively large (1 to 3 mm dia.). Due to their large volume-to-surface ratio,
      they remain superheated until impacting the substrate and contain sufficient
      energy to locally remelt the underlying substrate to form metallurgical bonding
      upon solidification.
Laser Deposition system The laser deposition process [20] is similar to laser
CHAPTER 4. DEPOSITION PATH GENERATION                                               40
      cladding or laser welding. Figure 4.2 shows the schematic of the laser deposition
      system. Metal powder is injected into a melt pool at the laser focus on the
      substrate. As the laser scans over the surface, the injected powder fuses onto
      the substrate. Since the laser can be positioned accurately, and the material
      is deposited only where the laser strikes the surface, it is possible to deposit
      near-net shapes using this deposition method.
Laser
Powder
Deposit
Substrate
     segments, the deposition gun might have to be switched off between different
     segments or might have to be moved fast.
   • Uneven material deposition - We should try to avoid revisiting the same position
     in the path as this will result in extra material deposition in those areas with
     the associated reheating. Uneven material deposition will also result in those
     areas of the path where the deposition gun spends more time. (eg., places where
     the deposition gun reverses its direction)
   • Avoiding gaps in the path - All portions of the given geometry should be covered
     by the deposition gun. Since, gaps would result in serious problems, it is better
     to be conservative in depositing the material.
   • Zigzag paths - The path segments correspond to back and forth motions in a
     fixed direction within the boundary of the 2-D cross-section.
It is possible to derive a variety of deposition path patterns from these two paths.
CHAPTER 4. DEPOSITION PATH GENERATION                                              42
Spiral Paths
Spiral paths could be generated by two methods - Recursive offsetting method and
MAT based method.The distance d between successive offsets will be a function of
the deposition width w and is dependent on the type of deposition process.
Recursive offsetting method In this method the 2-D cross-section is shrunk re-
     cursively using the offset operation. The shrunk cross-sections could be obtained
     by two methods.
Ais = Ao − i ∗ d ∗ b̂ (4.1)
                                        Ais = Ai−1
                                               s   − d ∗ b̂                           (4.2)
    The deposition path is obtained by employing the collection of the shrunk cross-
    sections, [Ais , i = 0, ...n − 1], as centerline trajectories for the deposition gun.
MAT based method The Medial Axis Transform (MAT) was defined by Blum [7]
    as an alternate description of the shape of an object. The MAT of a 2-D model
    could be defined as the closure of the set of the centers of maximal circles which
    can be fit inside the object (Figure 4.4). In the literature, algorithms have
    been described to generate the MAT of 2-D models [23],[36]. The algorithm
   the points of MAT. Figure 4.5 shows the steps involved in obtaining a deposition
   path based on the MAT of the model.
   In order to generate the deposition paths based on the MAT based method, the
   MAT of the 2-D model is generated along with the radius function at each point.
   The successive offset cross-sections are obtained from the MAT by growing the
   MAT model in multiples of d. The grown cross-section at the k th level can be
   thought of as the union of circles of radius k ∗ d and centers along the MAT.
   If the growing distance k ∗ d is greater than the radius of the maximal circle
   at any point, then that point is not grown and the grown cross-section will be
   divided into sub-regions at these points. The process is stopped if all points
   have their maximal circle radii less than the growing distance. In contrast to
CHAPTER 4. DEPOSITION PATH GENERATION                                                 45
      the recursive offsetting method, with the MAT based method it is possible to
      have uniform overlaps between successive paths by splitting the radius function
      into equal intervals.
It can be noted that with spiral paths, we might get overdeposition or gaps in portions
of the 2-D model. The former occurs at distances less than d of offsets to unrelated
portions of the boundary. The latter occurs at regions between offsets that are of
width greater than d, wherein portions of offset segments might have been eliminated
to avoid self-intersections of the offset. Also, the fact that the thickness of the model
at a generic region may not be an integral multiple of d will lead to overlaps or gaps.
Zigzag paths
ln Zigzag path generation a series of parallel segments are generated along a direction
V . The common choices of V are the X or Y direction. But the optimal direction
would be parallel to the longer axis of the rectangular hull of the cross-section.
The rectangular hull is the minimum-area rectangle that encloses the cross-section.
Toussaint[61] describes a linear time algorithm to obtain the rectangular hull of a
simple polygon. His algorithm makes use of a theorem proposed by Freeman and
Shapiro[21].
Theorem 4.1 The rectangle of minimum area enclosing a convex polygon has a side
collinear with one of the edges of the polygon.
Based on this theorem the algorithm for constructing the rectangular hull (Figure 4.6)
can be described as below.
   • Construct the convex hull of the polygonized model. Algorithms for construct-
      ing the convex hull could be found in the books related to computational
      geometry [48], [56].
• The rectangular hull is given by the rectangle Rmin with the minimum area.
Parallel line segments are generated corresponding to the short or long axis of
rectangular hull of the 2-D cross-section. These set of segments are intersected with
the 2-D model to generate the set of parallel segments confined within the boundary
of the cross-section as shown in Figure 4.7. The end points of the segments at the
boundary are joined to generate continuous path segments. The relative merits of
spiral paths and zigzag paths have been studied by Wang et al. [65] in the context
of NC tool path generation. In their observation, the difference in total path length
to cover various convex polygonal regions between the spiral and zigzag paths is not
very large, typically < 5%. This will be true only if an optimal direction V selected
for the zigzag path. Thus if the direction for the zigzag path is chosen using the
above mentioned method, zigzag paths and spiral paths are not very much different
in terms of minimizing the total path length. Farouki et al. [18] have discussed the
advantages and limitations of these paths in the context of layered manufacturing
processes.
CHAPTER 4. DEPOSITION PATH GENERATION                                                          47
   But with an evolving process like SDM, it is difficult to select the correct deposition
pattern. For most of the shapes, it might be possible to select the zigzag or the spiral
path as the deposition pattern. If these patterns are found to be unsuitable, it is
possible to find other deposition patterns as described below.
Tower pattern This type of pattern has been discussed in Fessler et. al.,[20]. This
     pattern can be derived from the zigzag pattern by selecting every alternate
     segment of the zigzag pattern in the first pass and selecting the remaining
CHAPTER 4. DEPOSITION PATH GENERATION                                              48
     segments in the next pass as shown in Figure 4.8. In this pattern, the deposits
     will have a larger surface area to volume ratio during the cooling phase and this
     will allow them to deform freely as they cool before they are constrained by the
     adjacent deposits.
                                                6
                                       5
                                                    7
1 3
Convex decomposition In this pattern, the given shape would be decomposed into
     convex regions [8]. Each convex region could be deposited using the zigzag or the
     spiral pattern. Thus, for example the shape shown in Figure 4.9 is decomposed
     into seven convex regions and each of these seven regions can be deposited using
     the spiral pattern. One of the advantages with this pattern would be that the
     total path length would be near-minimal. If the shape is decomposed into many
     convex regions, this pattern will also have the advantages of the tower pattern.
Cross hatch pattern If zigzag paths are generated in two perpendicular directions,
     it will result in a cross-hatch pattern as shown in Figure 4.10. In the case of
     the rectangular hull, the two directions would be parallel to the sides of the
     rectangle. This pattern would avoid any gaps in the deposit. Its impact on the
     residual stresses is not clear.
CHAPTER 4. DEPOSITION PATH GENERATION                                                49
4.3     Summary
Two droplet based deposition methods, microcasting and laser deposition system,
and algorithms to generate deposition paths were described. It was seen that the
deposition paths should be generated such that it prevents accumulation of thermal
stresses, avoids uneven material deposition and avoids gaps in the path. Two types of
deposition paths, spiral and zigzag paths were identified. Spiral paths were generated
by either recursive offsetting method or MAT based method and zigzag paths were
generated by an algorithm based on rectangular hull construction.          Three other
deposition patterns that could be derived from spiral and zigzag paths were described.
The selection of a particular pattern depends on the type of the deposition method
and the quality requirements of the part. In SDM, the choice of the deposition pattern
type has been made based on heuristics and experience. Over time, as we get a better
understanding of the physics of the deposition process, it will be possible to select an
appropriate deposition pattern for a given deposition process.
Chapter 5
5.1     Introduction
Research in CNC cutter path generation could be broadly classified into two areas.
   In feature based techniques [1], [2], [62], full automation is possible only with com-
plete enumeration of all the manufacturing features which is practically impossible.
Thus manual input becomes essential at one stage in any feature based technique. In
non-feature based techniques, most of the work has been done in generating cutter
paths for surface models rather than solid models. And there too full automation has
been difficult due to gouging problems. In both these methods, automation becomes
impossible in the presence of undercut features. Problems related to tool accessibility
in deeper areas of the model and fixture related problem makes the automation of
CNC cutter path generation a daunting task.
   In SDM, the compact is machined to the required shape through a series of CNC
cutting operations.The compact to be machined is free of undercut features and with
the small height of layers there won’t be any tool accessibility problems. Since the
CAD model will be decomposed into layers and compacts, the intuitive feeling for
features is lost and hence feature based techniques are not suited. Also, the generation
                                          50
CHAPTER 5. CNC CUTTER PATH GENERATION                                              51
If model non-prismatic
                          Finishing Operation
                        3-D cutting resulting in final shape
of CNC cutter paths has to be fully automatic in this process, as human intervention
with so many layers would cause considerable delays. Figure 5.1 shows the CNC
cutting stages in SDM. The first two steps, rough cutting and 2-D profile cutting,
primarily deals with 2-D geometric features and are classified under 2-D cutter path
generation and the last step, finish cutting, deals with 3-D geometric features and is
classified under 3-D cutter path generation. This chapter describes the steps involved
in generating 2-D cutter paths [50], [51] and the next chapter deals with 3-D cutter
path generation.
XY direction(Figure 5.2). The layer is machined to the safe height (model height
+ tolerance) through a series of planing steps(Figure 5.2 a-c). The planing path is
a)
Deposited Material
Deposited material
c)
Planing steps
       In the literature there are very few references for efficient rough cutting algorithms.
In a recent work by Lee et al [37] the octree representation of a model is used in
efficient tool selection for the rough cutting operation. Manhattan decomposition is
an extension of the octree representation of a model. In manhattan decomposition,
adjoining full octants at the same level of the octree are joined to form manhattan
solids and the cutter paths are generated for these manhattan solids. The steps
involved in the algorithm are :
   1. The model of the volume to be rough cut (Vrc ) is obtained by subtracting the
         model of the layer from the model of the box left after the planing operation
         (Figure 5.3).
   1
    A manhattan solid is defined as a solid in which the angle between the faces of the solid will be
either 90o or 270o
CHAPTER 5. CNC CUTTER PATH GENERATION                                             53
Vrc
 3. The full hexahedrons are then joined with the neighboring full hexahedrons
   in the X and Y directions to form the manhattan solid(s). The largest tool
   diameter that could be used at this stage is d = min(Li ) where Li is the
   min(depth,width) of the ith hexahedron in the solid. There will be 2l layers
   of manhattan solids, where l is the level of octree decomposition. For each of
   these solid, the shape to be machined SectionSM is got as the projection of
   manhattan solid(s) on the XY plane (Figure 5.4b).
 4. The cutter path is then generated for SectionSM ’s at different height levels
   depending on the allowable depth of cut of the tool. A flat end-mill is used for
   this operation.
CHAPTER 5. CNC CUTTER PATH GENERATION                                                          54
                                Full       Partial
                                                            b)   SectionSMof Manhattan solid
                       a)   Octree Generation
                               (top view)
 5. SectionSM is offset for the tool radius before the path is generated (Figure 5.4c).
    Since the cross-section will contain only edges that are parallel to X or Y axes
    and since the cutter diameter is chosen as min(Li ), the offset section can be
    generated without much computational effort. The path could be either lawn
    mower type of cutting or spiral cutting (Figure 5.5). Due to the cylindrical
    shape of the tool, there will be an un-cut area of the manhattan solids at
    convex corners. The full hexahedrons corresponding to these un-cut areas go
    into further subdivision after subtracting the areas that were machined.
 6. The partial hexahedrons and the hexahedrons generated from the previous step
    are subdivided as mentioned in step 2 and the steps 3-5 are repeated till the
    required resolution level is reached. The subdivision in width or depth direction
    will be stopped if at any level, the width or depth of a hexahedron is smaller
    than the smallest tool available and will be stopped in the height direction if
    the height becomes smaller than a certain tolerance value.
CHAPTER 5. CNC CUTTER PATH GENERATION                                                  55
value t. The offset curves generated thus, will have degenerate cases [47] as shown
in Figure 5.6. These degenerate offset curves when used for machining will result
in gouging or un-cut areas. Also, the curves are assumed to possess a well-defined
tangent vector at each point. In our approach we make use of an offset algorithm for
a polygon model to generate the offset of the two dimensional model.
 The curves forming the edges of the model are approximated by linear segments
                                              B
                                  E
such that the deviation between the linear segments and the curves is less than the
tolerance of the NC machine. Thus the new model (M2dl ) consists of linear segments
as its edges (Figure 5.7a). This new model is now offset for the radius of the cutter.
In order to avoid gouging, it is ensured that no portion of the offset is closer to the
model than the offset distance. The steps involved are:
   • For each edge of the model, a face model is formed. Let v1 and v2 be the
     vertices of the edge. Let αi be the angle between the edges meeting at vertex
     vi where the angle αi is measured at the inside of the cross-section. Depending
     on value of αi the location of offset vertices of the face model are determined
     (Figure 5.7b).
CHAPTER 5. CNC CUTTER PATH GENERATION                                                                    57
2 2
t 1
                                                  r             2
                      b
                                             v1        d
                                                      nv1
                             1                                                        1
                                 v1                                                              nv1
                                                                                          v1
                                       nv1                                                     nnv1
                b) Face model of edge e                     c) Modified face model of edge e
– If αi ≤ π, (convex corner)
nvi = vi + −r b̂ (5.2)
where,
  • The face models of all the edges are then merged with the original model M2dl
    to form the offset model M2do
• The boundary edges of M2do gives the required offset model (Figure 5.8).
  • As shown in Figure 5.8, all the degenerate cases are handled in a robust manner
    by this method.
  • In the case of convex corners, when the angle between the edges is too small, d1
    could be very high thus moving the offset vertex far from the corner. Though
    this will not result in any gouging while cutting it will delay the machining
    process. This could be taken care by generating one more vertex whenever the
    angle is less than π /2. (Figure 5.7c) nnv1 = v1 + −r(cos α1 /2 t̂ + sin α1 /2 b̂)
    and d1 used in equation 5.3 is modified to be r tan (π − α1 )/4. Similar relation
    will apply for vertex v2 except for the change of sign of t̂. In such cases, the face
    model would be formed by the vertices v1 , nnv1 , nv1 , nnv2 (if α2 ≤ π/2),nv2 , v2 .
  • The cutter path is generated by traversing along the vertices of the offset model.
CHAPTER 5. CNC CUTTER PATH GENERATION                                              59
5.5     Summary
A sequence of CNC cutting operations have been proposed to generate the required
shape of the compact in an automated fashion. Cutter path generation for the
operations that deals with 2-D geometric features have been described.        A new
method of decomposition, manhattan decomposition, that is an extension of octree
decomposition, has been proposed for generating efficient rough cutting paths. The
degeneracies that could occur during the offset of 2-D cross-sections, an operation
that is required for generating 2-D cutter paths, have been identified. A robust
offset algorithm has been described that handles all those degeneracies by offsetting
the polygonized model. The 2-D cutting operation serves as the final contouring
operation in the case of prismatic solids and serves to provide tool accessibility for
3-D cutting in the case of non-prismatic solids.
Chapter 6
                                           60
CHAPTER 6. 3-D CUTTER PATH GENERATION                                                 61
convex surfaces.
   In our approach we decompose the model into three types of regions (Figure 6.1.
   • Flat-end milled regions : Regions of the model that could be cut with a
      flat-end mill that is positioned with its axis aligned along the normal to the
      surface.
   • Peripheral milled regions : Regions of the model that could be cut with a
      flat-end mill with its side tangential to the surface.
   • Three axis milled regions : Regions of the model that are cut with the x,y,z
      axis movements of the cutter. The ball-end milled regions comes under this
      category.
Due to the geometrical nature of the layers in our process, it should be possible to
machine all surfaces with the ball-end mill cutter. But for low curvature surfaces, flat-
end mills are shown to give a better surface finish and are found to reduce the overall
cutting time compared to the ball-end mill [63]. Thus based on curvature information,
the regions of the layer are assigned to one of the above mentioned categories.
CHAPTER 6. 3-D CUTTER PATH GENERATION                                               62
                                          eg − f 2
                                  K =                                             (6.1)
                                          EG − F 2
where,
                                  *         +
                                       ∂2X
                           e =      N,                                            (6.2)
                                       ∂u2
                                  *          +
                                       ∂2X
                           f =      N,                                            (6.3)
                                       ∂u∂v
                                  *         +
                                       ∂2X
                           g =      N,                                            (6.4)
                                       ∂v 2
                                  *          +
                                    ∂X ∂X
                          E =           ,                                         (6.5)
                                    ∂u ∂u
                                  *          +
                                    ∂X ∂X
                          F =           ,                                         (6.6)
                                    ∂u ∂v
                                  *          +
                                    ∂X ∂X
                          G =           ,                                         (6.7)
                                    ∂v ∂v
                                             ,
          
                                  ∂X ∂X 
 ∂X ∂X 
                          N =         X        
    X    
                        (6.8)
                                  ∂u ∂v        
 ∂u   ∂v 
         êĝ−fˆ
Num =            where ê, fˆ, ĝ are of the same form as equations 6.2, 6.3, 6.4 with N
         kN̂ 2 k
replaced by N̂. The numerator of Num is then represented as NURBS, and the zero
set of it is found using the contouring techniques developed for free-form surfaces. This
will be the zero set of K as well. Then by assuming the curvature continuity of the
surfaces, trimmed surfaces are created, each of which is completely convex, concave
or saddle. The saddle regions can be identified by the sign of Num at a single point in
each trimmed surface, while the convex and concave regions are identified by finding
the sign of one of the principal curvatures at a point. Thus, this method is attractive
for separating well-behaved surfaces into convex, concave and saddle regions. But
this method ignores the possibility of developable regions and assumes the surface to
be regular and curvature continuous. Also, the computation of scalar fields for higher
order NURBS surfaces required the surfaces to be split into Bezier patches.
In the presence of the imperfect surfaces, a fully numerical technique may be better
suited. A grid of points is formed in the surface. The principal curvatures κ1 (p) and
κ2 (p) are computed at each point on the grid. p is then grouped into a sub-grid based
on the values of principal curvatures.
   The original surfaces are then trimmed to the sub-grids to form the trimmed
surface patches each of which is completely convex, concave, saddle or developable.
   • Convex patches - Since convex patches could be machined with the flat-end mill
      cutter, they are categorized as flat-end milled regions.
CHAPTER 6. 3-D CUTTER PATH GENERATION                                               64
  • Saddle patches - The parts of saddle patches for which one of the principal
    curvatures has a low positive value are categorized as flat-end milled regions
    and the rest is categorized as three axis milled regions.
  • Concave patches - Only those parts of concave patches where both the principal
    curvatures are low, are categorized as flat-end milled regions and the rest comes
    under three axis milled regions.
The cutter paths are then generated for the three regions.
  • Cutter path for flat-end milled regions : No surface offset operations are needed
    for flat-end milled regions[40]. In this, the operation involved in compensating
    for the tool radius is surface shrinking, in which the the curves bounding the
    surface are moved along the surface by a distance given by the radius of the
    tool (Figure 6.2). Cutter paths are generated by indexing the tool along the
    the shrunk surface with the orientation of the tool along the surface normal.
CHAPTER 6. 3-D CUTTER PATH GENERATION                                               65
    Isoparametric curves along with the surface normal information are used for
    this purpose.
  • Cutter path for peripheral-end milled regions : Cutter path generation for
    peripheral end milled regions requires the computation of offset surfaces at a
    distance equal to the radius of the cutter. Since the peripheral end milled regions
    are composed of developable or ruled surfaces, there won’t be any degeneracies
    that occur in surface offset operations. The cutter paths are generated by
    orienting the tool along the principal direction with zero curvature.
  • Cutter path for three axis milled regions : Most of the literature for CNC
    cutter path generation [9],[30],[59] has been written for this category. In most
    of these cases ball-end mills are used. Here we consider two approaches. One
    is the use of adaptively extracted isocurves [16] to generate cutter paths. This
    method requires the computation of the offset surfaces. In a work by Tang et
    al. [59], an offset algorithm has been described that not only offsets surfaces
    but offsets boundary curves of the surfaces to generate tool paths that are
    smooth and have minimal un-cut area. But the offset surface may contain
    degeneracies like self-intersections [3] which are difficult to detect effectively.
    Hence, from a practical consideration, we have used intersection curves obtained
    by intersecting the region with parallel planes to generate the cutter paths
    (Figure 6.3). The intersection curves are offset for the radius of the tool in a
    manner similar to that described in the previous section and these offset curves
    are used to cutter trajectories with the cutter oriented along the z-direction.
CHAPTER 6. 3-D CUTTER PATH GENERATION                                               66
   • Single surface gouging (SSG) : Gouging results when the tool overcuts the
      part surface (Figure 6.4 a). SSG is often encountered when the tool size is too
      large relative to the concave radius of curvature.
   • Multiple surface gouging (MSG) : This type of gouging occurs when the
      tool positioned in correct position results in an interference with the adjacent
      surface(s) (Figure 6.4 b).
   • Collision with Machine Structure (CMS) : This occurs when the machine
      components (tool head, coolant supply, etc.,) collide with the workpiece.
   • Revolute Joint Limits (RJL) : Though this is not an actual collision, the
      limits on the revolute joints can be modeled as artificial stops.
between the tool and the part surface. SSG will be handled during cutter path
generation in the case of flat-end milled and peripheral-end milled regions. In the
case of three-axis milled regions we might have SSG since cutter paths were generated
from iso-curves. Since the paths for different regions were generated independently
without considering the interactions with neighboring regions, the cutter paths have
to be checked for MSG and CMS. RJL will be an issue only in the case of flat-end
milled and peripheral end-milled regions. It could be handled either at the cutter
path generation stage or at this stage. In order to avoid a computational overhead at
the cutter path generation stage, RJL is also handled at this stage. The joint limits
are modeled as artificial stops and is captured under CMS. Since there are going to
be a large number of points on the part surface along which the tool will travel, the
number of collision checks will be very large. Thus an efficient algorithm has to be
used for collision detection. The algorithm described by Quinlan [49] is adapted for
this purpose.
   A hierarchical boundary representation is built for the part model, tool, machine
components and the artificial stops. The bounding representation consists of an
approximately balanced binary tree with the property that the union of all the leaf
CHAPTER 6. 3-D CUTTER PATH GENERATION                                                  68
6.3      Summary
An algorithm has been proposed for fully automatic 3-D cutter path generation for
a compact. Based on the curvature data, the surfaces of the model were grouped
under four categories, concave, convex, saddle and developable surface patches. These
patches were subsequently grouped into three types, flat-end milled, peripheral-end
milled and three-axis milled cutter regions. Methods of cutter path generation were
described for each of those regions. This chapter also described the way to avoid cutter
interference problem that could be caused due to the interaction between different
regions of the model and those between the model and machine components. A
robotic collision detection algorithm has been modified and used for this purpose.
Before being downloaded into the CNC machine, the cutter paths would have to be
CHAPTER 6. 3-D CUTTER PATH GENERATION                                            69
Software Issues
The CAD model undergoes a variety of geometric operations during different stages of
process planning. In order to withstand the complex geometric operations, a powerful
and robust geometric engine should serve as a backbone for the process planner. The
geometric engine should also have the capability to create new models and accept
different input formats. Some of the terms used in the context of geometric modeling
are described in the next section.
7.1      Terminology
The following definitions have been culled from various geometric modeling and solid
modeling texts [17],[27],[41],[46].
B-rep stands for Boundary representation. Here the object is represented in terms of
its surface boundaries: vertices, edges and faces. It is the widely used representation
of a solid model. Traditionally B-reps were restricted to planar, polygonal boundaries.
In the past decade, there have been many efforts to incorporate parametric surfaces
as boundaries in B-rep and these are also referred to as exact B-rep.
CSG stands for constructive solid geometry. In CSG, simple primitives are combined
by means of regularized Boolean set operators. An object is stored as a tree with
operators at the internal nodes and primitives at the nodes. Transformations such as
rotation and translation are also represented as nodes.
                                          70
CHAPTER 7. SOFTWARE ISSUES                                                            71
NURBS stands for nonuniform rational B-splines. These are rational B-spline curves
that are becoming the standard curve and surface descriptors in CAD. NURBS entities
are defined by a set of control points and rational blending functions.
Manifold topology. Most of the B-rep geometric modelers support only solids with
two-manifold topology. Every point on a two-manifold topology has some arbitrarily
small neighborhood around it that can be considered topologically the same (homeo-
morphic) as a disk in the plane. If there is any point on the boundary that does not
satisfy the two-manifold condition, the object is classified as non-manifold.
Availability in the form of an API API stands for Application Procedural Inter-
       face, wherein the geometric engine is provided in the form of libraries consisting
       of user-callable routines. The process planner for SDM is implemented using
       a high level programming language such as C or C++ by calling different
       geometric routines at different stages of the planner. An effective way to provide
       this interface is in the form of an API library.
     generation and 3-D cutter path generation. As part of the geometric querying
     process, both the two-dimensional and the three-dimensional representations of
     the solid are used. Thus the geometric engine should be able to accommodate
     entities of mixed dimensionality.
Graphical front-end It would be useful if the geometric engine has an user interface
     that will help in creating and editing solid models. The graphical front-end
     would also be helpful as a debugging tool.
Neutral formats The models for SDM can come from different sources and the
     process planner should have the capability to handle these models. If the models
     were created using the same geometric engine as used by the process planner,
     then the process planner should be able to read in those models. But if the model
     was created using a different geometric engine, then it has to be converted into a
     neutral format and the geometric engine should have the ability to accept those
     neutral formats. Some of the standard neutral formats for geometric models
     are:
CHAPTER 7. SOFTWARE ISSUES                                                        73
     STEP STEP stands for STandard for the Exchange of Product model data and
          it is an ISO standard that was developed to allow exchange of engineering
          product data. In STEP, the geometric information is captured by an
          application protocol called AP203. Some of commercial solid modelers
          have a STEP AP203 translator module and some of the remaining ones
          are developing a STEP AP203 translator.
     IGES IGES stands for Initial Graphics Exchange Specification and is the
          precursor to STEP. IGES permitted the exchange of product definition
          data by representing geometric and topological data in a neutral format.
          It was difficult to represent solid model information in an unambiguous
          manner using the IGES format. Most of the commercial CAD packages
          have the capability to output their results in the IGES format.
     STL It is the defacto standard among the SFF systems. In this format, the
          model is represented by a collection of triangular facets.    In order to
          represent a solid model in this format, the faces of the model have to
          be tessellated. Though it is a very simple representation and could be
          generated by any CAD system, it is approximate and lacks in topological
          information.
Robustness Last but not the least, the geometric engine should be robust. The
      process planner is intended to be free of human intervention and if the underly-
      ing geometric engine fails often, it would be difficult to achieve that goal. The
      CAD model will undergo a variety of geometric operations within the process
      planner wherein it might encounter some degenerate geometric configurations.
      It would be best if the geometric engine handles such degenerate cases. If not,
      it should at least be able to identify them and report them as errors. Also,
      the geometric engine should be consistent in its results and should never return
      incorrect results. If the calling routine is unaware of an incorrect result being
      returned, it might lead to disastrous consequences.
      on its entities and there aren’t any commercial systems that can translate models
      in neutral formats to SHAPES models.
These CAD systems were evaluated against the CAD system requirements. Figure 7.1
shows a chart indicating the performance of different CAD systems against those
requirements. In the chart, the amount of filling of a CAD system/function box
indicates the availability of that function in that CAD system.
API
   Mixed
Dimensionality
Non-manifold
   Free-form
    Surfaces
    Graphical
    front-end
    Neutral
    formats
  Geometric
 Functionality
Robustness
effort, it was dropped and the next version of the process planning system for SDM
was implemented using ACIS [31] geometric modeler in C++ language. ACIS was
selected as it claimed to have non-manifold and mixed-dimensional capability and it
was available in the form of an API library and it was a very popular system. But as
the implementation of process planner in ACIS progressed, we started facing quite a
few robustness issues. Some of the ACIS functions were replaced by our own functions
and this took care some of the problems. On the positive side, ACIS comes up with
a new release every few months wherein they attempt to make it more robust. On
the downside, the new releases are not downward compatible and thus it warrants
CHAPTER 7. SOFTWARE ISSUES                                                        78
Applications
Several parts were built in SDM using this process planner. The parts were varied
in nature and all the aspects of the process planner were put to test. Most of the
parts were built successfully using the process planner. In the case of some parts, the
process planner had to be modified to overcome some errors. Most of these errors
were due to the underlying geometric modeling kernel. Building these parts also
helped in a better understanding of some of the finer aspects of the process which
subsequentally helped in improving the process planner. The parts that were built
using SDM could be broadly classified into three categories.
• Non-conventional parts
In the following sections, some example parts will be shown in each of the above
categories highlighting the process planning aspects wherever necessary. I would like
to thank my colleagues in SDM lab of CMU and RPL lab in Stanford for their effort
in building these parts.
                                          79
CHAPTER 8. APPLICATIONS                                                            80
8.1.1 IMS-T2
   IMS-T2 is one of the first test parts built using the SDM process. It was one
of the test parts that was used in a world-wide assessment of rapid prototyping
technologies [5]. At the time when this part was built, the process planner was in its
early stages and was built on top of the NOODLES geometric modeling kernel [58].
The compacts were generated manually and the cutting paths were generated using
the process planner. The model shown in Figure 8.1 was constructed as a CSG tree
CHAPTER 8. APPLICATIONS                                                               81
                               C7
                                                               C6
C5
                                                     C2
                                                                    C4
                                                               C3
C1
a) Compacts C1 - C7
C8
with part model were sliced into 29 layers using horizontal planes to satisfy the process
constraints. This resulted in a total of 79 compacts. The 2-D cutter paths for rough
cutting and profiling were generated for the bottom cross-section of these compacts.
Because of the polygonal representation of the compacts, there were some tiny facets
for which 3D cutting strategies could not be generated. The presence of so many
facets resulted in large CNC files. These factors prompted us to seriously consider a
nonlinear geometric modeling kernel. After this part was completed, some effort was
CHAPTER 8. APPLICATIONS                                                             82
part is made from 316L stainless steel. One half of the tool has four copper deposits.
The part material was deposited using the laser system and microcasting was used to
deposit the support material. Some of the small features that could not be cut with
end-mills were machined with EDM.
CHAPTER 8. APPLICATIONS                                                           84
• Assembled mechanisms
   These are parts with complex geometric interactions that makes them almost
impossible to manufacture as a single piece with conventional methods. The parts in
this category will make full use of the compact decomposition algorithm.
CHAPTER 8. APPLICATIONS                                                           85
Tilted frames
Figure 8.5 shows the CAD model of a part that is very difficult, if not impossible
to manufacture by conventional methods. The part was designed and subsequently
built using SDM by Merz[43]. This model serves as a good test case for the compact
decomposition algorithm. Figure 8.6 shows the silhouette edges and loops for this
model.
   The model is then sliced into layers with horizontal planes passing through the
lowest and the highest points of the concave silhouette edges (Figure 8.7a). Except
for layer3, the decomposed models in all other layers do not violate any of the
requirements to be satisfied by a compact. Layer3 is further decomposed as shown in
Figure 8.7b such that all the compacts satisfy the three requirements. The support
model is decomposed in a similar fashion and the compacts are sequenced for SDM
processing.
   The deposition paths were generated corresponding to union of the top and bottom
cross-sections for each compact. The zigzag deposition strategy was used. 2-D cutter
paths were generated corresponding to the bottom cross-section of the compacts. For
some of these cross-sections, there were self-intersections of the offset model which
CHAPTER 8. APPLICATIONS                                                             86
Layer4
Layer3
Layer2
were effectively handled by the planner. All the faces that had to be cut with a 3-D
cutter were identified as peripheral milled regions and the corresponding cutter paths
were generated. Figure 8.8 shows the tilted frames part produced using the SDM
process. The part was made out of stainless steel and copper was used as the support
material. Microcasting was used to deposit the materials. We faced some difficulties
with the ACIS kernel when building this part. Some of the models produced after the
compact decomposition were incorrect. This can be attributed to the non-uniform
handling of non-manifold features in ACIS. Some slight changes to the model helped
us to alleviate the problems.
CHAPTER 8. APPLICATIONS                                                           87
VuMan
VuMan [57] is a personalized wearable computer that can store maps for navigational
aids or detailed assembly drawings for service or maintenance applications. VuMan
was built in the AutoCADT M solid modeler. The AutoCAD T M model is saved in the
ACIS format. Only the support model had to be decomposed into compacts. Both
the model and the support were decomposed into three layers using horizontal planes
to facilitate the insertion of the printed circuit boards (PCB). The model was made
out of two-component polyurethane and was deposited manually and partially cured
before machining. The bottom layer of the support and the top layer of the part
involved 3-D cutting strategies. In this part, all three types of cutter regions were
present. The conical portions were cut using the peripheral end mill strategy, some
CHAPTER 8. APPLICATIONS                                                              88
of the cylindrical portions were cut with the flat end mill strategy and three axis mill
strategy was used for some of the blended regions.
   Figure 8.9 shows the completed VuMan structure and cut-away view of VuMan
CAD model.      As mentioned earlier, the part was built out of two-component
polyurethane mixture and wax was used as the support material. The PCBs were
electrically interconnected using pin receptacles. Component parts which were not
fully embedded were protected during deposition with plastic covers which were
machined away during the final machining operation.
Simon game
manufactured with SDM. It is made of two component polyurethane and wax was
used as the support material. The wax was melted out at the end. Two Prefabricated
PCBs were inserted manually at an intermediate stage of the process.
as the support material. Stainless steel was deposited using the laser station and
microcasting was used to deposit the support material.
Chapter 9
9.1     Contributions
Identification of process planning issues The process planning requirements for
      a novel manufacturing process, SDM were identified. The three dimensional
      nature of the SDM process introduces some new challenges in process planning.
      There are some differences as well as similarities between the process plan-
      ning issues in SDM and the process planning issues in existing manufacturing
      technologies. In conventional manufacturing processes like CNC machining,
      process planning deals with selection and design of fixtures and generation of
      CNC cutter paths. In SFF processes, process planning deals with slicing the
      model with a set of parallel planes and generation of scan paths for the 2-D
      cross-sections. In SDM process one of the main differences is that the model
      has to be decomposed into 3D layers and compacts. Also, special attention
      has to be paid to the generation of deposition paths in order to avoid thermal
      stresses. With the absence of fixturing and tool inaccessibility issues, CNC path
      generation could be viewed from a whole new angle. Thus a process plan has
      been outlined to manufacture the part directly from a CAD model. This will
      facilitate people from remote places to use our facility. With the tremendous
      growth of internet, such a capability will be of a great value. The approach
      presented here is thought to be relevant for a range of newly emerging SFF
                                          91
CHAPTER 9. CONCLUSIONS AND FUTURE WORK                                              92
     treated as a surface model. In SDM, the decomposition process doesn’t lose any
     geometric information from the CAD model and thus it is possible to reconstruct
     the original CAD model from the compacts. One of the main reasons for such an
     accurate representation is that the same compact is used for deriving deposition
     paths as well as CNC cutter paths and is also used in determining the process
     sequence.
Deposition path generation Some of the factors that influence the derivation of
     deposition path were identified. In SDM, the deposition paths will have a direct
     influence on the quality of the final part. In particular, deposition paths for
     droplet based deposition methods can influence the accumulation of residual
     thermal stresses. Thus it is important to consider the geometric complexity
     of the part in deriving the deposition paths. Due to the evolving nature of
     the process, it is difficult to decide on a single deposition pattern for all cases.
     Methods were outlined to derive spiral and zigzag deposition paths. It was also
     shown that a variety of other deposition patterns could be derived from these
     two types of paths. As the process matures, a more intelligent choice of these
     paths will be possible.
CNC cutter path generation Methods have been outlined to generate CNC cut-
     ter paths in a completely automated fashion for each compact.              Though
     extensive research has been done in the area of CNC cutter path generation,
     success has been eluding the researchers in completely automating the process.
     Most of the existing work doesn’t consider the problem in its entirety which
     can be described as producing the final shape from the initial stock. Instead
     methods have been outlined to solve sub-problems such as surface machining,
     rough cutting, pocket milling, etc.. The reasons for a lack of automation and
     the lack of solution to the entire problem as a whole could be attributed to
     issues such as fixturing and the inaccessibility of tool to certain portions of
     the model. Also, the presence of complex undercut features will need multiple
     fixturing that makes it very difficult to automate the process. In SDM, with the
     decomposition of the model into compacts, there won’t be any tool accessibility
CHAPTER 9. CONCLUSIONS AND FUTURE WORK                                           94
     problems and due to the presence of support material, undercut features need
     not be machined. Also, SDM doesn’t need any complex fixturing operation.
     Thus, in this work a fully automated approach has been described for CNC
     cutter path generation. It should be noted that this automation is also an
     important need for SDM as human intervention with so many compacts would
     cause considerable delays. Also, it will be difficult for a CNC programmer to
     generate the paths as some of the original features would have been decomposed
     into non-intuitive features.
     The method described in this work offers a solution for the problem in its
     entirety, wherein a series of CNC cutting operations are used to arrive at the
     final shape of the part. A new method of decomposition, manhattan decom-
     position, has been proposed for generating efficient rough cutting algorithms.
     A robust algorithm has been proposed for generating the offset of 2-D profiles.
     This algorithm handles all the degeneracies that could result from the offset
     operation. An algorithm has been proposed for fully automatic 3-D cutter path
     generation of a solid model without undercut features. The surfaces of the
     model were grouped under three types of cutter regions based on the curvature
     information and the methods of cutter path generation for each of these regions
     were described. A robotic collision detection algorithm has been modified to
     generate collision free paths. The methods described for CNC cutter path
     generation are also applicable in areas outside SDM, if the model is free of
     undercut features.
   Several parts were built using this process planner. It served as a very useful
tool to automatically build several complex parts. It would have been impractical
to build these parts without the aid of an automated process planner. In addition
to corroborating the ideas presented in this work, the process planner also helped us
in giving a better understanding of some process related issues and some planning
related issues.
Correction based process planning In some cases, due to shrinkage and warpage,
     the final shape of the part produced by SDM varies in size and shape from the
     actual model. Shrinkage and warpage occurs due to the accumulation of internal
     residual stresses. In the case of ceramics and some thermoplastics, the part
     could shrink by as much as 50 %. In these circumstances, the original model
     could be modified to take care of these effects such that the part produced
     by SDM is closer to the original shape. This is in some sense similar to the
     modifications done to the mold in the casting process. In order to do this
     correction based planning, we need to have a much better understanding of the
     process characteristics and the influence of different process parameters on the
     final shape. The original model could be subjected to the process condition
     in a simulated environment and an FEM analysis could be done on the model
     to estimate the shrinkage and residual stresses. The original model would be
     modified to compensate for shrinkage and to reduce the residual stresses. The
     main challenges in such an effort would be
    In order to effectively exchange data between the original model and the analysis
    model, an intermediate representation will be needed.        One such possible
    representation would be the probabilistic model proposed by Yamaguchi, et.
    al. [69]. The probabilistic model can represent uncertain shapes with the use of
    a probability field. The probability field could be changed based on the results
    of the analysis which will seamlessly modify the original model.
    Selection of appropriate deposition paths could also be based on such a cor-
    rection based scheme. In the case of droplet-based deposition process, the
    deposition paths will have a direct influence on the residual stresses of the
    part. Different deposition patterns could be characterized based on the resulting
    residual stresses in the part. Then based on the geometry of the part and the
    process conditions, an appropriate deposition pattern could be selected.
Enhancements to the CNC cutting algorithm The algorithm for 3-D cutting
    didn’t consider the problem of maintaining continuity in cutter paths across
    surface patches. If we have C 2 continuity across surface patches, continuity in
    cutter paths could be maintained by considering multiple patches at the time
    of decomposing the model into three types of cutter regions. To ensure that we
    don’t have any un-cut material along the boundaries between different surface
    patches, the boundaries could be machined with a ball-end mill.
    The cusp height in 3-D cutting could be minimized by selecting the appropriate
    step-over distance (distance between two successive paths). Choi et. al., [10]
    have proposed a 2D constrained optimization problem to minimize the cusp
    height. In their formulation, cusp height is derived as a function of cutter
    orientation angles for a given step-over distance. Their formulation could be
    modified such that the cusp height is a function of the step-over distance for
    given cutter orientation angles. This function could then be optimized to give
    the minimum cusp height.
CHAPTER 9. CONCLUSIONS AND FUTURE WORK                                            98
Incorporation of sacrificial walls In the case of materials with low viscosity that
     have a tendency to flow after deposition, the deposited material will have to
     be contained by building walls surrounding the part. Though the selection of
     the material to be used for such walls is still under investigation, the process
     planning effort could be directed in automating the building of such walls into
     the part. Methodologies for removing these walls should also be included as
     part of the process planner.
Appendix A
Kinematic Transformations
Chapters 5 and 6 described algorithms to generate CNC cutter paths for a compact.
These paths were generated relative to the coordinate system attached to CAD model.
These paths are ultimately executed in a 5-axis CNC milling machine. In SDM, two
makes of CNC milling machines have been used :
The cutter paths are supplied to the CNC machine in the form of CNC machine code
program, a listing of motion and control commands needed to execute the desired
paths with the proper set of parameters. Before the cutter paths are expressed in
terms of the machine code, the cutter paths will have to be transformed relative to
the tool coordinate frame of the machine. This can be accomplished by modeling
the CNC machine as a robotic manipulator and then use Denavit-Hartenberg (D-
H) [22] representation to describe the relationships between different parts of the
machine. The D-H representation results in a 4X4 homogeneous transformation
matrix representing one coordinate system with respect to another coordinate system.
In the following section, these transformations are derived for the MAHO machine.
The transformations for the FADAL machine could be derived in a similar fashion.
                                        99
APPENDIX A. KINEMATIC TRANSFORMATIONS                                                        100
                                                   d2
                                        d3    d4
                                   YA
                                                                           Z
                     A   ZA        A O ZO          P    ZP
                                                                                ZZ
                                                                           Z
                              XO             XP                   XZ
                                                                       B
                                                                                         Y
                                                                           ZB
                                                                   B
                                                             XB
                                                                                     X
   O is the base coordinate system that is fixed in space and it is located at the top of
the face plate. B is the coordinate system attached to the B-axis rotary table and d1
and d2 are the distances between the origins of O and B along the X and Z directions
of O when B is in its starting position. A is the coordinate system attached to the
A-axis rotary face plate and coincides with O in its starting position. Z is the tool
coordinate system and it attached to the tip of the tool. d3 is the distance between
O and Z along the Z direction of O when Z is in its starting position. d3 will be
equal to the sum of the thicknesses of the air-collar, pallet receiver and base pallet.
APPENDIX A. KINEMATIC TRANSFORMATIONS                                                   101
P is the part coordinate system and it is located at the origin of the part model. d4
is a buffer height and will be equal to the distance between the top of the base pallet
and part origin.
                                                                            
                                                 1   0      0            0
                                                                            
                                                                            
                                           0        −1     0            0   
                                P
                                    TA   =
                                          
                                                                             
                                                                             
                                           0
                                          
                                                     0      −1   −(d3 + d4 ) 
                                                                             
                                                 0   0      0            1
                                         P
                                             TZ =     P
                                                          TA ∗A TZ
                                                 =    P
                                                          TA ∗A TO ∗O TZ                         (A.1)
where,
         P
             TZ (1, 4) = YsinA + [d1 − (Z − d2 + d3 )sinB − (X + d1 )cosB]cosA (A.2)
         P
             TZ (2, 4) = [d1 − (Z − d2 + d3 )sinB − (X + d1 )cosB]sinA − YcosA (A.3)
         P
             TZ (3, 4) = −(X + d1 )sinB + (Z − d2 + d3 )cosB + d2 − d3 − d4                      (A.4)
                                             ~ [0] = −cosAsinB
                                             V                                                   (A.5)
                                             ~ [1] = −sinAsinB
                                             V                                                   (A.6)
                                             ~ [2] = cosB
                                             V                                                   (A.7)
APPENDIX A. KINEMATIC TRANSFORMATIONS                                              103
   From the equations A.5, A.6 and A.7, we can obtain the expressions for A and B
as follows:
                    A = arctan(−V
                                ~ [1], −V
                                        ~ [0])                                   (A.8)
                     B = arctan(−[V
                                  ~ [0]cosA + V~ [1]sinA], −V
                                                            ~ [2])               (A.9)
   The tool coordinate system Z will be located at the given point P (x, y, z) of the
part. Thus the coordinates of P should be substituted to the LHS of the equations
A.2, A.3 and A.4 to obtain,
   From the equations A.10, A.11 and A.12, we obtain the expressions for X , Y and
Z as follows:
  The equations A.8, A.9, A.13, A.14 and A.15 gives the expressions for CNC
machine coordinates A, B, X , Y, Z in terms of the cutter path pairs (P (x, y, z), V
                                                                                   ~ ).
Bibliography
[1] L. Alting and H. Zhang. Computer aided process planning: The state of the art
   survey. International Journal of Production Research, 27(4):553–585, 1989.
[4] A. Appel. The notion of quantitative invisibility and the machine rendering. In
   The ACM National Conference, pages 387–393. Thompson Books, 1967.
                                       104
BIBLIOGRAPHY                                                                       105
[11] Sabine Coquillart. Computing offsets of B-spline curves. Computer Aided Design,
    19(6):305–309, 1987.
[15] G. Elber and E. Cohen. Second-order surface analysis using hybrid symbolic and
    numeric operators. ACM Transactions on Graphics, 12(2):160–178, April 1993.
[16] G. Elber and E. Cohen. Tool path generation for freeform surface models. In
    Second ACM/IEEE Symposium on Solid Modeling and Applications, pages 419–
    427, Montreal,Canada, May 1993.
[17] G. Farin. Curves and Surfaces for CAGD. Academic Press, New York, 1988.
[18] R.T. Farouki, T. Koenig, K.A. Tarabanis, J.U. Korein, and J.S. Batchelder.
    Path planning with offset curves for layered fabrication processes. Journal of
    Manufacturing Systems, 14(5):355–368, 1995.
[20] J.R. Fessler, R. Merz, A. H. Nickel, F. B. Prinz, and L.E. Weiss. Laser deposition
    of metals for shape deposition manufacturing.        In Proceedings of the Solid
    Freeform Fabrication Symposium, University of Texas at Austin, August 1996.
BIBLIOGRAPHY                                                                      106
[24] Levent Gursoz, Young Choi, and Fritz Prinz. Vertex-Based representation of
    Non-Manifold Boundaries, pages 107 – 130. North - Holland, New York, 1988.
[29] J. Hur and K. Lee. Efficient algorithm for automatic support structure generation
    in layered manufacturing. In Proceedings of the ASME Design Engineering Tech-
    nical Conferences and Computers in Engineering Conference, Irvine, California,
    August 1996.
[31] Spatial Technology Inc. ACIS Geometric Modeler. Spatial Technology Inc.,
    Boulder, CO, 1993.
[32] Stratasys Inc. Fast, precise, safe prototype with FDM. In Proceedings of the
    Solid Freeform Fabrication Symposium, pages 115–122, University of Texas at
    Austin, August 1991.
[34] Erwin Kreyszig. Differential Geometry. Dover Publications, Inc., New York,
    1991.
[37] Kunwoo Lee, Tae Ju Kim, and Sung Eui Hong. Generation of toolpath with
    selection of proper tools for rough cutting process. Computer Aided Design,
    26(11):822–831, Nov 1994.
[38] Yuan-Shin Lee and Tien-Chien Chang. 2-phase approach to global tool inter-
    ference avoidance in 5-axis machining. Computer Aided Design, 27(10):715–729,
    October 1995.
[39] H. Levi. Accurate rapid prototyping by the solid ground curing technology.
    In Proceedings of the Solid Freeform Fabrication Symposium, pages 110–114,
    University of Texas at Austin, August 1991.
[40] Susan X. Li and Robert B. Jerard. 5-axis machining of sculptured surfaces with
    a flat-end cutter. Computer Aided Design, 26(3):165–178, March 1994.
[42] Harris L. Marcus and David L. Bourell. Solid freeform fabrication. Advanced
    Materials and Processes, 144(3):28–35, September 1993.
[43] R. Merz. Shape Deposition Manufacturing. PhD thesis, Institut für Allgemeine
    Elektrotechnik und Elektronik,Technische Universität Wien, May 1994.
[44] R. Merz, F. B. Prinz, K. Ramaswami, M. Terk, and L.E. Weiss. Shape deposition
    manufacturing. In Proceedings of the Solid Freeform Fabrication Symposium,
    pages 1–8, University of Texas at Austin, August 1994.
[45] R. Merz, F. B. Prinz, and L. E. Weiss. Planning mask cutting for thermal
    spray deposition. Technical Report EDRC 24-73-91, EDRC, Carnegie Mellon
    University, September 1991.
[47] B. Pham. Offset curves and surfaces : a brief survey. Computer Aided Design,
    24(4):223–229, April 1992.
[50] K. Ramaswami and F. B. Prinz. CNC cutter path generation in shape deposition
    manufacturing. In Concurrent Product and Process Engineering, pages 213–220.
    American Society of Mechanical Engineers, Design Engineering Division, New
    York, 1995.
[51] K. Ramaswami and F. B. Prinz. Feature free CNC cutter path generation.
    In Advances in Mechanical Engineering, Volume I-Design and Manufacturing,
    pages 481–491. Narosa Publishing House, India, 1996.
BIBLIOGRAPHY                                                                     109
[54] S. E. Sarma and P. K. Wright. Algorithms for the minimization of setups and tool
    changes in simply fixturable components in milling. Journal of Manufacturing
    Systems, 15(2):95–112, 1996.
[55] Dino Schweitzer and Elizabeth S. Cobb. Scanline rendering of parametric surface.
    Computer Graphics, 16(3):265–271, 1982.
[59] Kai Tang, Charles C. Cheng, and Yakove Dayan. Offsetting surface boundaries
    and 3-axis gouge-free surface machining. Computer Aided Design, 27(12):915–
    927, December 1995.
[60] Wayne Tiller and Eric G. Hanson. Offsets of two-dimensional profiles. IEEE
    Computer Graphics & Applications, 4:36–46, September 1984.
[63] G. W. Vickers and K. W. Quan. Ball-mills versus end-mills for curved surface
    machining. Journal of Engineering for Industry (Transactions of the ASME),
    111:22–26, February 1989.
[64] Rolf Walter. Visibility of surfaces via differential geometry. Computer Aided
    Geometric Design, 7(1-4):353–373, 1990.
[65] H. Wang, H. Chang, and R.A. Wysk. An analytical approach to optimize NC tool
    path planning for face milling flat convex polygonal surfaces. IIE Transactions,
    20(3):325–332, 1988.
[66] Kevin Weiler and Peter Atherton. Hidden surface removal using polygon area
    sorting. Computer Graphics, 11(2):214–222, 1977.
[68] Lee Weiss, Fritz Prinz, Duane Adams, and Dan Siewiorek. Thermal spray shape
    deposition. Journal of Thermal Spray Technology, 1(3):231–237, September 1992.
[70] Xue Yan and P. Gu. A review of rapid prototyping technologies and systems.
    Computer Aided Design, 28(4):307–318, April 1996.