Computer Aided Manufacturing: Course Instructor: Dr. Maaz Akhtar
Computer Aided Manufacturing: Course Instructor: Dr. Maaz Akhtar
Computer Aided Manufacturing: Course Instructor: Dr. Maaz Akhtar
COMPUTER AIDED
MANUFACTURING
Course Instructor:
Dr. Maaz Akhtar
CAD/CAM
1. CAD/CAM is a term which means computer-aided design and
computer-aided manufacturing.
Definition-CAM
Computer-aided manufacturing (CAM) can be defined as the use of
computer systems to plan, manage, and control the operations of a
manufacturing plant through either direct or indirect computer interface
with the plant’s production resources.
COMPUTER PROCESS MONITORING:
(DIRECT INTERFACE)
These are the direct applications in which the computer is connected
directly to the manufacturing process for the purpose of monitoring or
controlling the process.
not only observing the process but also controlling it based on the
observations. Signals are transmitted from the process to the
computer, just as in the case of computer monitoring. In addition, the
computer issues command signals directly to the manufacturing
process based on the control algorithm contained in its software.
COMPUTER MONITORING AND CONTROL:
(DIRECT INTERFACE)
1. Shop floor control (detailed management of activities and the flow
of materials inside the plant - including the workers, materials,
machines and time).
2. Quality Control
3. Inventory Control
PLANNING AND MANAGING (MANUFACTURING
SUPPORT APPLICATIONS): (INDIRECT INTERFACE)
Product Design
Drafting
Concept Engineering
Customers Process
& Market Planning
Quality Production
Production
Control Scheduling
Product Design
Drafting
Concept Engineering
Quality Production
Production
Control Scheduling
Computer- Computerized
Computer controlled
aided scheduling, MRP,
robots, machines, etc.
quality control shop floor control
Program of Instruction:
The program of instructions is the detailed step-by-step set of
directions which tell the machine tool what to do.
It is coded in alphanumerical and symbolic form on some type of
input medium that can be interpreted by the controller unit. The
most common input medium today is 1-inch wide punched tape.
BASIC COMPONENTS OF AN NC SYSTEM
There are two other methods of input to the NC system:
1. Manual data input (MDI)
2. Direct link with the computer (DNC)
Controller Unit
Machine tool
The third basic component of an NC system is the machine tool.
THE NC PROCEDURE
Process Planning
Part Programming
1. Manual Part programming
2. Computer-assisted part programming
Tape preparation
Tape verification
Production
NC COORDINATE SYSTEM
In order for the part programmer to plan the sequence of positions and
movements of the cutting tool relative to the work-piece, it is necessary to
establish a standard axis system.
All the machine tools make use of Cartesian coordinate system for the
sake of simplicity.
The familiar right hand coordinate system is used for designating the
axes
In addition to the three linear axes, milling machine may have the
capacity to control one or more rotational axes.
FIXED ZERO AND FLOATING ZERO
The Programmer must determine the position of the tool relative to
the origin (zero point) of the coordinate system.
NC machines have two methods for specifying the zero point.
Fixed zero
Floating zero
Fixed zero
The origin is always located at the same position on the machine table.
Usually, the position is the lower left-hand corner of the table and all
tool locations are defined by positive x & y coordinates.
FIXED ZERO AND FLOATING ZERO
Floating zero
This is more common feature on modern NC machines, which allows
the machine operator to set the zero point at any position on the
machine table.
The part programmer decides the location of zero point
The decision is based on part programmer’s convenience
The location of zero point is communicated to the machine operator
At the beginning of the job, the operator moves the tool manually to
the target point
The target point is some convenient place for the operator (corner
point, pre drilled hole etc.)
FIXED ZERO AND FLOATING ZERO
The target point has been referenced to the zero point by the
programmer.
When the tool has been positioned at the target point, the machine
operator presses a “zero” button to define the origin point.
t
poin
o
Zer
Target point
Point-to-point NC
Sometimes it is also called a positioning system. The objective of
machine tool control system is to move the cutting tool to a
predefined location.
Straight-cut NC
Straight cut control systems are capable of moving the cutting
tool parallel to one of the major axis at a controlled rate suitable
for machining.
NC MOTION CONTROL SYSTEM
2-Axis Contouring NC
Contouring is the most complex, the most flexible, and the most
expensive type of machine tool control. It is capable of
performing both PTP and Straight-cut operations. It has
simultaneous control of more than one axis movement of the
machine tool.
3-Axis Contouring NC
It can control three axis simultaneously. Suitable for machining
3D complex profiles encountered in industrial practice such as
aerospace components, mould and dies etc.
INTERPOLATION METHODS
The selection of appropriate interpolation method is important for 2 and 3
axis contouring jobs.
The paths that a contouring-type NC system is required to machine often
consist of circular arcs and other smooth nonlinear shapes.
Some of these shapes can be defined mathematically by relatively simple
geometric formulas.
Whereas others cannot be mathematically defined except by
approximation.
In any case, a fundamental problem in generating these shapes using NC
equipment is that these shapes are continuous, whereas NC is digital.
To solve this problem the path (circle or any other free form curve) must
be divided into a series of straight line segments that approximate the path.
INTERPOLATION METHODS
The tool is commanded to machine each line segment in succession so that
the machined path closely matches the desired path.
The maximum error between the nominal (desired) surface and the actual
(machined) surface can be controlled by the lengths of the individual line
segments,
INTERPOLATION METHODS
If the programmer were required to specify the endpoints for each of the
line segments (to machine along a curve), the programming task would be
extremely laborious and likely to errors. Also, the part program would be
extremely long because of the large number of points.
To ease the burden, interpolation routines have been developed that
calculate the intermediate points to be followed by the cutter to generate a
particular mathematically defined or approximated path.
A number of interpolation methods are available to deal with smooth
continuous path in contouring.
1. Linear interpolation
2. Circular interpolation
3. Helical interpolation
4. Parabolic interpolation
5. Cubic interpolation
INTERPOLATION METHODS
Linear interpolation:
This is the most basic and used method when a straight line path is to be
generated in continuous path NC. The programmer specifies the beginning
point and end point of the straight line and the feed rate to be used along
the straight line. The interpolator computes the feed rates for each of the
two (or three) axes to achieve the specified feed rate.
Circular interpolation:
This method permits programming of a circular arc by specifying the
following parameters: (1) the coordinates of the starting point, (2) the
coordinates of the endpoint, (3) either the center or radius of the arc. The
generated tool path consists of a series of small straight line segments
calculated by the interpolation module.
INTERPOLATION METHODS
Helical interpolation:
This method combines the circular interpolation scheme for two axes
described above with linear movement of a third axis. This permits the
definition of a helical path in three-dimensional space. Applications
Include the machining of large Internal threads.
Parabolic and cubic interpolation:
These routines provide approximations of free form curves using higher
order equations. Most applications are in the aerospace and automotive
Industries for free form designs that cannot accurately and conveniently be
approximated by combining linear and circular interpolations
ABSOLUTE AND INCREMENTAL POSITIONING
Another option sometimes available to the part programmer is to use either
an absolute system of tool positioning or an incremental system.
Absolute system
It is always defined with respect to
the zero point.
Incremental system
It is defined with reference to the
previous tool location.
NC PART PROGRAMMING
CHAP # 8
THE PUNCHED TAPE IN NC
TAPE CODING AND FORMAT
NC tape coding
There are eight regular columns of holes.
There is also a ninth column of holes between the 3rd and
4th regular columns used as sprocket holes.
The coding of the tape is provided by either the presence or
absence of a hole, hence it becomes the binary code.
It uses the base 2 number system, which can represent any
number in the decimal system.
Besides numbers, alphabetical letters and other symbols can
also be coded.
Eight columns provide more than enough binary digits to
define any of the required symbols.
TAPE CODING AND FORMAT
NC words
Sequence number (n-word): N10, N20, N100.
Preparatory word (g-word): g00, g01, g02.
Coordinates (x-,y-, and z-words): x+9.4625, y-23.6845
Feed rate (f-word): f30.
Cutting speed (s-word): s2000
Tool selection (t-word): t05
Miscellaneous function (m-word): m03 (start spindle).
MANUAL PART PROGRAMMING
To prepare a part program using the manual method, the
programmer writes the machining instructions on a special
form called a part programming manuscript.
Manuscripts come in various forms, depending on the
machine tool and tape format to be used.
The manuscript is a listing of the relative tool and work-piece
positions.
It also include other type of data, such as miscellaneous
instructions, and speed/feed specifications.
Except for complex parts with many holes, manual
programming is ideally suited for PTP applications.
On the other side, except for the simple jobs, manual
programming become quite time consuming for contouring
jobs.
EXAMPLE
Suppose that the part to be programmed is a drilling job. The engineering
drawings for the part is presented in the figure. Three holes are to be drilled
at a diameter of 0.484-in. The close hole size tolerance requires reaming to
0.5-in dia. Recommended parameters are as follows:
Drill bits are manually changed by the machine operator. The machine has the
floating-zero feature and absolute positioning.
EXAMPLE-1:Write an NC program (G & M codes) using
SIMCO-Edit software.
EXAMPLE-1:Write an NC program (G & M codes) using
SIMCO-Edit software.
Y
30 40
P3 L3
C1
L2 R20
135
P2
L4
L1
80
20 C2
R20
P1 L5 P4
20
P0 X
EXAMPLE-2:Write an NC program (G & M codes) using
SIMCO-Edit software.
G93/92 (PROGRAMMABLE ABSOLUTE ZERO POINT
SHIFT)
N_ G93 X_ Y_ Z_
G92 makes the current point have the coordinates you want to
assign (without motion)
When G92 is executed, the origins of all coordinate systems move.
They move such that the value of the current controlled point, in the
currently active coordinate system, becomes the specified value.
G92 X__ Y__ Z__;
G93 (PROGRAMMABLE ABSOLUTE ZERO POINT SHIFT)
2.0
N2 G90 G54 G20 G17 (safety block)
N5 G90 G20
N10 M06 T2 G43 H2
N15 M03 S1200
2.0 N20 G00 X1 Y1
N21 G01 X3
1.0 N21 Y3
N22 X1
N23 Y1
1.0 N24 G92 X2 Y2
1.0 1.0 N25 X3
N26 Y3
N27 X2
N28 Y2
G93 (PROGRAMMABLE ABSOLUTE ZERO POINT SHIFT)
2.0
N2 G90 G54 G20 G17 (safety block)
N5 G90 G20
N10 M06 T2 G43 H2
N15 M03 S1200
2.0 N20 G00 X1 Y1
N21 G01 X3
1.0 N21 Y3
N22 X1
N23 Y1
1.0 N24 G92 X0 Y0
1.0 1.0 N25 X1
N26 Y1
N27 X0
N28 Y0
G93 (PROGRAMMABLE ZERO POINT SHIFT)
G92/G93 (PROGRAMMABLE ZERO POINT SHIFT)
%
O1000
(DATE: 7/11/2012 11:02:08 AM)
(PROGRAMMER: TEACHER)
N5 G00 G40 G49 G80 G90
N6 T1 M06
N7 S4000 M03
N8 G00 X0.0 Y0.0
N9 G00 G43 H1 Z0.0
N10 G01 x100
N12 Y80
N13 x0
N14 y0
N15 G01x25y20
N16 G93x25y20
N17 x50
N18 y40
N19 x0
N20 y0
G-28 (REFERENCE POINT RETURN)
The reference point is a fixed position on the machine, to which
the tool can be moved.
A G28 code instructs the tool to automatically move to this
reference point.
The return to reference point is often used to move the part
forward so you can remove chips from the part and inspect the
part.
A G28 code instructs the tool to automatically move to this
reference point.
A G28 command is written in the following format :
G9Ø G28 X _ _ _ _ Y _ _ _ _ Z _ _ _ _ ; OR
G91 G28 X _ _ _ _ Y _ _ _ _ Z _ _ _ _ ;
G-28 (REFERENCE POINT RETURN)
Where X, Y and Z can be used to indicate an intermediate point,
through which the tool will pass, before continuing to the reference
point.
G-28 (WITH INTERMEDIATE POINT)
The diagram below shows how the tool could collide with
the billet when moving towards the reference point.
G-28 (WITH INTERMEDIATE POINT)
To avoid this collision, the tool is sent on a path which includes
the additional, or intermediate, point P2.
G91 G28 XØ YØ ZØ ;
Note:
The intermediate point co-
ordinates are still stated, but their
values are set to zero (using
G91), means no axis movement
towards intermediate point.
TOOL RADIUS COMPENSATION
If cutter compensation is not used, you must take into
account the cutter’s radius in your program.
Once compensation is on, ignore the cutter’s size and
program as if the cutter has 0 diameter. This usually
simplifies programming, especially arc programming.
TOOL RADIUS COMPENSATION
The operation instructing a machine to switch to cutter
compensation mode is called the start-up block, or ramping on
block.
The start-up block should satisfy the following points:
A G41 or G42 code must be contained in the block, or specified
in the previous block.
A GØ1 X, Y, or X and Y move is specified in the block and the
distance of the linear move must be greater than the tool radius.
The tool radius value, "R", entered into the tool offsets table must
not be ØØ.
A GØ2 or GØ3 circular interpolation command cannot be specified in
the start-up block.
TOOL RADIUS COMPENSATION
In cutter compensation start-up, two blocks are read into the
machine controller. The first block is performed and the second
block is entered and held in memory.
This is because cutter compensation always needs to know what
happens in the move following the one being currently
performed.
2D EXAMPLE
2D EXAMPLE
G43/G49 TOOL LENGTH COMPENSATION
G43 H____
Zero point shift offsets the part zero point to a new position. The
coordinate values of which are stored in the zero point memory
(under the relevant number).
CANCEL/ACTIVATE ZERO POINT SHIFT
G53/G54---G59
CANCEL/ACTIVATE ZERO POINT SHIFT
G53/G54---G59
COMPUTER-ASSISTED PART
PROGRAMMING
In the more complicated PTP jobs and in contouring applications,
manual part programming becomes an extremely tedious task
and subject to errors.
In these instances it is much more appropriate to use the high-
speed digital computer to assist in the part programming process.
Many part programming language systems have been developed
to perform automatically most of the calculations.
In computer assisted part programming the machining
instructions are written English-like statements of the NC
programming language.
These statements are processed by the computer to prepare the
tape.
The computer automatically punches the tape in the proper tape
format for the particular machine.
THE PART PROGRAMMER’S JOB
The part programmer’s responsibility in computer-assisted part
programming consists of two basic steps:
Defining the work-part geometry
Specifying the operation sequence and tool path
DEFINING THE WORK-PART GEOMETRY
No matter how complicated the work-part may appear, it is
composed of basic geometric elements, points, straight lines,
planes, circles, cylinders, and other mathematically defined
surfaces.
It is the part programmer’s task to identify the elements out
of which the part is composed.
Each geometric element must be identified and the
dimensions and location of the element explicitly defined.
SPECIFYING THE OPERATION SEQUENCE AND
TOOL PATH
After defining the work-part geometry, the programmer must
next construct the path that the cutter will follow to machine
the part.
It involves a detailed step-by-step sequence of cutter moves.
The moves are made along the geometry elements, which
have already been defined.
The programmer can use the various motion commands to
create these movements.
THE COMPUTER’S JOB
The computer’s job in computer-assisted part programming
consists of the following
1. Input translation
2. Arithmetic calculations
3. Cutter offset computation
4. Postprocessor
THE COMPUTER’S JOB
Input Translation
The part programmer enters the program written in APT or
other language
The input translation component converts the coded
instructions into computer-usable form for further processing.
1. Geometric Statements
2. Motion Statements
3. Post-processor statements
4. Auxiliary Statements
GEOMETRIC STATEMENTS
These define the geometric elements that comprise the work-part.
The general form of an APT geometry statement is
Example:
Example:
GOTO/P1
At the beginning of the motion statements, the tool must be given a
starting point.
The part programmer keys into this starting position with the
following statement
FROM/TARG
POINT-TO-POINT MOTIONS
There are only two basic PTP motion commands:
1. GOTO
2. GODLTA
P1=POINT/1.0, 2.0, 0
P2 = POINT/1.0, 1.0, 0
P3 = POINT/3.5, 1.5, 0
P0 = POINT/-1.0, 3.0, 2.0
FROM/P0
GOTO/P1 GOTO/P3
GODLTA/0, 0, -1.0 GODLTA/0, 0, -1.0
GODLTA/0, 0, +1.0 GODLTA/0, 0, +1.0
GOTO/P2 GOTO/P0
GODLTA/0, 0, -1.0
GODLTA/0, 0, +1.0
NC PROGRAMMING WITH INTERACTIVE
GRAPHICS
1. High speed motion, which reduces the time to verify the tool path.
2. Actual speed, which shows the tool feed at the commanded rate.
3. Freeze mode, which stops the tool motion for close inspection.
2. Improvement in accuracy
3. Adaptive control
PROBLEMS WITH CONVENTIONAL NC
Before describing the three types of control systems, it is
appropriate to examine some of the problems related to the
use of conventional numerical control which have
influenced the changeover to computer control.
3. Punched tape
4. Tape reader
5. Controller
COMPUTER NUMERICAL CONTROL
Computer numerical control is an NC system that utilizes a
dedicated small computer (mini or micro computer) to perform
some or all of the basic NC functions by programs stored in
its memory.
The external appearance of a CNC machine is very similar
to that of a conventional NC machine.
Part programs are entered once and then stored in the
computer memory for every part in the batch.
Compared to regular NC, CNC offers additional flexibility
and computational capability. New system options can be
incorporated into the CNC controller simply by
programming the unit
Because of this programming capacity, CNC is often
referred as “soft-wired” NC.
Tape
Computer-
reader Minicomputer or microcomputer
hardware
for initial (Software functions and NC part program
interface and
program storage)
servo system
entry
2. In-process compensations
4. Diagnostics
MACHINE TOOL CONTROL
The primary function of the CNC system is the control of
machine tool.
This involves the conversion of the part program
instructions into machine tool motions through the
computer interface and servo system.
IN-PROCESS COMPENSATIONS
A function closely related to machine tool control is in-
process compensation.
This involves the dynamic correction of the machine tool
motions for changes or errors which occur during
machining. Some examples are:
Telecommunication Bulk
Central
Lines memory NC
Computer
Programs
4. Communication
NC WITHOUT PUNCHED TAPE
Several of the problems with conventional NC are related to the use of
punched tape
2. Tool usage
3. Machine utilization
4. CAD system
3. Tool change
1. Work-material hardness
α = 360/ns
ns = the number of step angles for the motor.
α = step angle/pulse.
Am = np.α
Am = angle of motor shaft rotation.
np = number of pulses received by the motor.
OPEN-LOOP MOTION CONTROL SYSTEM
The motor shaft is generally connected to the lead-screw through a
gear box, which reduces the angular rotation of the lead-screw.
A = np.α/rg
A = Angle of lead-screw rotation.
rg = gear ratio.
rg = Nm/N
Nm = Motor rpm.
N = Lead-screw rpm.
np= x.ns.rg/p
fr = N.p
The required pulse train frequency to derive the table at a specified
feed rate:
fp = fr.ns.rg/60p
OPEN-LOOP MOTION CONTROL SYSTEM
The step angle of a certain stepper motor = 1.8. The application of interest
is to rotate the motor shaft through 15 complete revolutions at an angular
velocity of 25 rad/sec. Determine (a) the required number of pulses and (b)
the pulse frequency to achieve the specified rotation.
OPEN-LOOP MOTION CONTROL SYSTEM
Solution:
= 1.8 ns = 360/1.8 = 200 step angles
fp = 25(200) / 2 = 795.8 Hz
OPEN-LOOP MOTION CONTROL SYSTEM
A stepper motor has a step angle = 7.5. (a) How many pulses are required
for the motor to rotate through five complete revolutions? (b) What pulse
frequency is required for the motor to rotate at a speed of 200 rev/min?
OPEN-LOOP MOTION CONTROL SYSTEM
Solution:
Determine:
a) How many pulses are required to move the table the specified
distance
b) The required motor speed and pulse rate to achieve the desired
table velocity
OPEN-LOOP MOTION CONTROL SYSTEM
(a)
360 x 360 250
A 15,0000
p 6.0
360
7.50
48
360 xrg Arg 15,000 5
np 10,000 pulses
p 7.5
(b)
f r 500
f r Np N 83.33rpm
p 6
N m rg N 5 83.333 416.667rpm
f r ns rg 500 48 5
fp 333.333H z
60 p 60 6
CLOSED-LOOP MOTION CONTROL SYSTEM
A closed-loop NC system, uses servomotor and feedback
measurements to ensure that the table is moved to the desired
position.
CLOSED-LOOP MOTION CONTROL SYSTEM
A common feedback sensor is the optical encoder.
α = 360/ns
For a certain angular rotation of the encoder shaft Ae, the number of
pulses np sensed by the encoder is
np = Ae/α
x = p.np/ns.rge
where rge = Ne/N
CLOSED-LOOP MOTION CONTROL SYSTEM
As,
Since,
fr = pN
Therefore,
np = x.60.fp/fr
CLOSED-LOOP MOTION CONTROL SYSTEM
Now,
x = p.np/ns.rge
fr = 60p fp /ns.rge
(b)
f r ns rge 500 48 4
fp 266.667 H z
60 p 60 6.0
CLOSED-LOOP MOTION CONTROL SYSTEM
(c)
Nm
rg
N
Since,
fr
f r Np N
p
Therfore,
rg f r 5 5000
Nm 416.667 rpm
p 6
PRECISION IN NC POSITIONING
For accurate machining by an NC system, the positioning system
must possess a high degree of precision.
Three measures of precision:
1. Control resolution
2. Accuracy
3. Repeatability
CONTROL RESOLUTION
Control resolution is defined as the distance separating two adjacent
addressable points in the axis movement.
Addressable points are locations along the axis to which the
worktable can be specifically directed to go.
It is desirable for control resolution to be as small as possible.
Control
resolution
Bit storage
Electromechanical
capacity of the
components
controller
· Lead-screw pitch
· Gear ratio
· Step angle
· Angle b/w encoder slots
CONTROL RESOLUTION
Control resolution of the electromechanical system
For open-loop positioning system:
p
CR1
ns rg
p
CR1
ns rg rge
CONTROL RESOLUTION
Control resolution of the computer system
The ability to divide the axis range into individual increments
depends on the bit storage capacity in the control memory
The number of increments = 2n
L
CR2 B
2 1
Mathematically
CR
Accuracy 3
2
REPEATABILITY
Repeatability
refers to the capability of the positioning
system to return to a given addressable point that has
been previously programmed
Re peatability 3
REPEATABILITY
Suppose the mechanical inaccuracies in the open-loop
system are described by a normal distribution with
standard deviation 0.005 mm. The range of the worktable
axis is 1000 mm, and there are 16 bits in the binary
register used by the digital controller to store the
programmed positions. Other relevant parameters are;
pitch = 6.0 mm, gear ratio between motor shaft and lead-
screw rg = 5.0, and number of stop angles in the stepping
motor ns = 48. Determine
a. Control resolution
b. The accuracy
c. The repeatability for the positioning system
REPEATABILITY
Control resolution is the greater of CR1 and CR2
p 6.0
CR1 0.025mm
ns rg 48 5.0
1000
CR2 16 0.01526mm
2 1
CR Max 0.025,0.01526 0.025mm
Accuracy
3(0.005) 0.015mm
Sculptured Surface
Machining
ILLUSTRATION OF CC-PATH AND THE
CORRESPONDING CL-PATH
Cutting tool
CL-path
CL-point CC-path
3D curve tool-
path
(a) (b)
B-SPLINE SURFACE
A B-spline surface is obtained by taking a bidirectional net of
control points, two knot vectors, and the product of the uni-
variate B-spline basis functions.
X (u , v) n m
S(u , v) Y (u , v) N i , p (u )N j ,q (v) Pi , j 0 u, v 1
Z (u , v) i 0 j 0
U 0,...,0
,u p+1 ,.....,ur- p-1 ,1,...,1
p+1 p+1
V 0,...,0
,vq+1 ,.....,vs-q-1 ,1,...,1
q+1 q+1
B-SPLINE SURFACE
Where r = n+p+1 and s = m+q+1
MATRIX FORM OF B-SPLINE SURFACE
B-spline equation can be written in matrix form as:
T
S(u , v) N i , p (u ) Pi , j N j ,q (v)
Example: n = 2; m = 3; p = 2; q=3
2 3
S(u , v) N i ,2 (u )N j ,3 (v) Pi , j 0 u, v 1
i 0 j 0
N 0,3 (v)
P0,0 P0,1 P0,2 P0,3 N (v )
1,3
S(u , v) N 0,2 (u ) N1,2 (u ) N 2,2 (u ) P1,0 P1,1 P1,2 P1,3
N 2,3 (v)
P2,0 P2,1 P2,2 P2,3
N
3,3 ( v )
CONTROL POINTS OF 4 ×4 SURFACE
U 0 0 0 1 1 1
V 0 0 0 0 1 1 1 1
0.0080
P0,0 P0,1 P0,2 P0,3 0.0960
S(u , v) 0.6400 0.3200 0.0400 P1,0 P1,1 P1,2 P1,3
0.3840
P2,0 P2,1 P2,2 P2,3
0.5120
0.6579
S(u 0.2, v 0.8) 2.4994
-0.0158
CALCULATION OF BASIS FUNCTIONS:
Example: n = 2; m = 3; p = 2; q=3
Let
U = [0 0 0 1 1 1]
u0 u1 u2 u3 u4 u5
u0 u1 0 0 N 0,0
N 0,1
u1 u2 0 0 N1,0 N 0,2
N1,1
u2 u3 0 1 N 2,0 N1,2
N 2,1
u3 u4 1 1 N3,0 N 2,2
N3,1
u4 u5 1 1 N 4,0
CALCULATION OF BASIS FUNCTIONS:
1 if ui ≤ u < ui+1
N i , p (u ) (p=0)
0 otherwise
u ui ui p 1 u
N i , p (u ) N i , p 1 (u ) N i 1, p 1 (u ) (p>0)
ui p ui ui p 1 ui 1
CALCULATION OF BASIS FUNCTIONS U-
DIRECTION:
For p = 0
1 if ui ≤ u < ui+1
Ni , p (u )
0 otherwise
N 0,0 N1,0 0
1 if 0 ≤ u <1
N 2,0 (u )
0 otherwise
N3,0 N 4,0 0
CALCULATION OF BASIS FUNCTIONS U-
DIRECTION:
For p = 1
u ui ui p 1 u
Ni , p (u ) Ni , p 1 (u ) Ni 1, p 1 (u )
ui p ui ui p 1 ui 1
u 0 0u
N 0,1 N 0,0 N1,0 0
00 00
u 0 1 u
N1,1 N1,0 N 2,0 (1 u ) N 2,0
00 1 0
u0 1 u
N 2,1 N 2,0 N3,0 uN 2,0
1 0 1 1
u 1 1 u
N3,1 N3,0 N 4,0 0
11 1 1
CALCULATION OF BASIS FUNCTIONS U-
DIRECTION:
For p = 2
u0 1 u
N 0,2 N 0,1 N1,1
00 1 0
N 0,2 (1 u ) (1 u ) N 2,0 1 u N 2,0
2
u0 1 u
N1,2 N1,1 N 2,1
1 0 1 0
N1,2 u (1 u ) N 2,0 (1 u ) uN 2,0 2u 1 u N 2,0
u0 1 u
N 2,2 N 2,1 N 3,1
1 0 11
N 2,2 u uN 2,0 u 2 N 2,0
CALCULATION OF BASIS FUNCTIONS U-
DIRECTION:
n 1 m
Su (u , v) N i , p 1 (u )N j ,q (v) Pi(1,0)
,j 0 u, v 1
i 0 j 0
(1)
U 0,...,0
,u p+1 ,.....,ur- p-1 ,1,...,1
p p
V 0,...,0
,vq+1 ,.....,vs-q-1 ,1,...,1
q+1 q+1
NEW CONTROL POINTS ALONG U-
DIRECTION
Pi 1, j Pi , j
Pi(1,0)
,j p
ui p 1 u i 1
While calculating new control points use original degree p and original
knot vector
NEW CONTROL POINTS ALONG U-
DIRECTION 0 2 4.0
P0,0 0 ; P1,0 0.1197 ; P2,0 0
0 0.2543 0
0 2 4.0
P0,1 1 ; P1,1 1 ; P2,1 1
0 2.1247 0
-0.5784 2 4.0
P0,2 2.5216 ; P1,2 1.7683 ; P2,2 2
0 -0.6543 0
0 2 4
P0,3 3 ; P1,3 3 ; P2,3 3
0 0 0
NEW CONTROL POINTS ALONG U-
DIRECTION
(1,0)
P1,0 P0,0 P1,0 P0,0
P0,0 2 2 2(P1,0 P0,0 )
u0 21 u 01 1 0
(1,0)
P2,0 P1,0 P2,0 P1,0
P1,0 2 2 2(P2,0 P1,0 )
u1 21 u 11 1 0
(1,0)
P1,1 P0,1 P1,1 P0,1
P0,1 2 2 2(P1,1 P0,1 )
u0 21 u 01 1 0
(1,0)
P2,1 P1,1 P2,1 P1,1
P1,1 2 2 2(P2,1 P1,1 )
u1 21 u 11 1 0
NEW CONTROL POINTS ALONG U-
DIRECTION
(1,0)
P1,2 P0,2 P1,2 P0,2
P0,2 2 2 2(P1,2 P0,2 )
u0 21 u 01 1 0
(1,0)
P2,2 P1,2 P2,2 P1,2
P1,2 2 2 2(P2,2 P1,2 )
u1 21 u 11 1 0
(1,0)
P1,3 P0,3 P1,3 P0,3
P0,3 2 2 2(P1,3 P0,3 )
u0 21 u 01 1 0
(1,0)
P2,3 P1,3 P2,3 P1,3
P1,3 2 2 2(P2,3 P1,3 )
u1 21 u 11 1 0
NEW CONTROL POINTS ALONG U-
DIRECTION 4
(1,0)
P0,0 2(P1,0 P0,0 ) 0.2394
0.5087
4
(1,0)
P1,0 2(P2,0 P1,0 ) 0.2394
0.5087
4
(1,0)
P0,1 2(P1,1 P0,1 ) 0
4.2494
4
(1,0)
P1,1 2(P2,1 P1,1 ) 0
4.2494
NEW CONTROL POINTS ALONG U-
DIRECTION 5.1567
(1,0)
P0,2 2(P1,2 P0,2 ) 1.5066
1.3085
4
(1,0)
P1,2 2(P2,2 P1,2 ) 0.4634
1.3085
4
(1,0)
P0,3 2(P1,3 P0,3 ) 0
0
4
(1,0)
P1,3 2(P2,3 P1,3 ) 0
0
NEW CONTROL POINTS ALONG V-
DIRECTION
(0,1)
Pi , j ?
CL-PATH FOR BALL END MILL CUTTER
xCL (u , v)
CL(u , v) yCL (u , v) S(u , v) r n(u , v).
zCL (u , v)
N x (u , v)
N x (u , v) 2 N y (u , v) 2 N z (u , v) 2
nx (u , v)
Su (u , v) S v (u, v) N y (u , v)
n(u , v) n y (u, v) .
Su (u , v) S v (u, v) 2 2 2
n (u , v) N x (u , v) N y (u , v) N z (u , v)
z
N z (u , v )
N (u , v) 2 N (u , v) 2 N (u , v) 2
x y z
CL-PATH FOR ROUND END MILL
CUTTER
a×(n ×a)
PCL PCC n.r R .
a×(n ×a)
R
r
PATH INTERVAL FOR FLAT SURFACE
P 2 2rh
PATH INTERVAL FOR CONVEX SURFACE
8rhR
P
Rr
PATH INTERVAL FOR CONCAVE
SURFACE
8rhR
P
Rr