Vous êtes sur la page 1sur 8

Journal of Materials Processing Technology 141 (2003) 343–350

Space curve interpolation for CNC machines


Sotiris L. Omirou∗
Department of Mechanical Engineering and Aeronautics, University of Patras, Patras 26500, Greece
Received 17 July 2001; received in revised form 20 February 2002; accepted 10 February 2003

Abstract

Despite the tremendous development in CNC programming facilities, linear and circular cuts parallel to the coordinate planes continue
to be the standard motions of modern CNC machines. However, the increasing industrial demand for parts with intricate shapes cannot
be satisfied with only these standard motions. This paper proposes an efficient and accurate method for developing a class of precise
interpolation algorithms which can drive the cutter of a CNC machine along three-dimensional (3D) trajectories. Engaging a pair of
primitive shapes, the method uses their implicit or parametric definition to interpolate their intersection curve on the basis of Danielson’s
step selection rules. The presence of Danielson’s criteria guarantees a position error of at most one step. A general-purpose computer
for path generation and real-time control of the machine is employed. The user first chooses a suitable combination of shapes whose
intersection gives the desired form of the 3D trajectory and then initiates the algorithm with the desired information of the two shapes.
© 2003 Elsevier Science B.V. All rights reserved.

Keywords: CNC interpolator; Motion generation; Surface intersection

1. Introduction the help of a CAD/CAM system, which then encodes the


result automatically into an executable NC program. These
A study conducted at the University of Retchester by the linearizations, however, have serious disadvantages. The
PADL-1 solid modeling group, showed that roughly 40% sequence of the linear segments approximating the de-
of machined parts can be represented by combinations of sired path is traced by the system’s linear interpolator on
just two primitive shapes, namely, rectangular blocks and a one-at-a-time basis. Inevitably, their processing induces
circular cylinders, with the cylinder axes and block edges repeated acceleration–deceleration cycles on the machine
aligned with the coordinate axes [1]. An extended set of and consequently machining inaccuracies are raised with
arbitrarily oriented primitives including spheres, cones and the machining time increasing substantially.
tori is sufficient for modeling 90% of such parts. Parametric programming, mathematical calculations with
This finding implies that over 10% of machined parts do-loop subroutines, macro-capabilities and sophisticated
cannot be made with just linear cuts and circular cuts parallel canned cycles [2] are among the strengths of the last CNC
to the coordinate planes, which are the standard motions generation lessening the user’s dependence on CAD/CAM.
of current CNC machines. The proportion of parts which Despite this tremendous development in programming facil-
are not covered by the standard CNC motions is certainly ities, however, basic motions in a three-axis CNC machine
growing, due to the increasing industrial demand for intricate continue to be executed only by 2D or three-dimensional
shapes. (3D) linear and 2D circular interpolators [3–7]. Other types
Since the advent of the computer, the demand for com- of motions implemented by approximating the desired path
plex shapes has been met by constantly upgrading the with straight-line segments [8,9], are accompanied with the
shape generating capabilities of CNC systems and by de- drawbacks mentioned in the previous paragraph.
veloping sophisticated CAD/CAM processors, capable of This paper, presents a software interpolator tool which is
reducing complex geometries to long series of linear cuts. capable of generating accurate real-time motions along 3D
Thus, if a particular shape cannot be programmed directly curves for a three-axis CNC machine. The tool was devel-
with the standard CNC motions, it is first linearized with oped in the framework of a PC-based CNC system. A first
sample of this research work was presented by Papaioannou
and Omirou [10]. In the previously referred paper, a spe-
∗ Tel./fax: +30-61-275597. cific interpolation algorithm for generating arcs on arbitrary
E-mail address: omirou@otenet.gr (S.L. Omirou). planes was presented and its implementation in the context

0924-0136/$ – see front matter © 2003 Elsevier Science B.V. All rights reserved.
doi:10.1016/S0924-0136(03)00286-3
344 S.L. Omirou / Journal of Materials Processing Technology 141 (2003) 343–350

of CNC was discussed. This paper covers a more generalized


class of interpolation algorithms capable to generate motion
along curves in 3D space. Each of these curves is initially
defined as the intersecting of two surfaces and then is inter-
polated on the basis of Danielson’s [11] step selection rules.
Additionally, the paper exemplifies the method for both rep-
resentation types of the surfaces, implicit and parametric.

2. Motion generation along the intersection curve of


two surfaces

In the context of CNC machining, motion generation


along a prescribed path has three aspects: the types of steps Fig. 1. Motion generation along the intersection curve of two implicitly
allowed by the machine, the step selection rules and, fi- defined surfaces.
nally, the mathematical and computer implementation of
these rules. The most important and most variable aspect of the step
If steps are taken in one direction of feed at a time, the selection problem is the mathematical formulation and solu-
algorithm is termed orthogonal and if steps are allowed to be tion of the direction and proximity conditions. To simplify
taken in more than one direction of feed simultaneously the our discussion, interpolation in t̄ will be assumed. The di-
algorithm is termed non-orthogonal. To obtain the maximum rection condition may be formulated by
accuracy along the entire path each step is set equal to 1 s̄ · t̄ > 0 (3)
basic length unit (BLU). For a given CNC machine the BLU
The formulation of the proximity condition requires the use
represents the smallest distance the machine can resolve. In
of a proximity function. Let the two intersecting surfaces
a three-axis machine, a step may be represented as a vector
S1 , S2 (Fig. 1) be implicitly defined by
s̄ = [dx, dy, dz], f(x, y, z) = 0, g(x, y, z) = 0 (4)
dx, dy, dz ∈ [−1, 0, 1], |dx| + |dy| + |dz| ≥ 1 (1) Each of the functions on the left of Eq. (4) is a proximity in-
dicator to the respective surface, since it is 0 on the surface,
The last inequality excludes an all-0 combination, which
positive on one side, negative on the other and increases ab-
does not constitute a step. If the algorithm is orthogonal, the
solutely as the distance from the surface increases. To satisfy
last condition becomes
the proximity criterion with respect to their intersection, a
|dx| + |dy| + |dz| = 1 (2) step must drive the values of both f and g towards 0. To do
so, it must produce a variation ␦f in f which is negative if f
The number of possible steps at each point is for orthogonal is positive and positive if f is negative and the same holds
algorithms 6 (2 × 3) and for non-orthogonal algorithms 26 for g. If we choose to maximize the advance s̄ · t̄ along the
(33 − 1). tangent vector, the step selection problem for tracing the in-
Non-orthogonal algorithms perform better in terms of ma- tersection curve is formulated as follows:
chining, since they generate a smoother approximation to
maximize s̄ · t̄
the ideal path and reduce the total number of steps. Thus, (5)
the orthogonality restriction cannot be justified on functional subject to f · ␦f < 0, g · ␦g < 0
grounds, but it has been frequently adopted to simplify the for interpolation in t̄. For interpolation in −t̄, s̄ · t̄ is mini-
step selection problem [3–7]. In this approach this restric- mized.
tion is not necessary. A more explicit formulation of the step selection problem
Step selection rules of general validity have been intro- is obtained by introducing expressions for the tangent vector
duced by Danielson [11]. According to these rules, the step t̄ = [tx , ty , tz ] and the differentials ␦f, ␦g in terms of the
selection is based on two conditions which must be simul- partial derivatives of f and g. Recalling that for a curve lying
taneously satisfied. More particularly, the first condition, on a surface, the tangent vector is tangent to the surface
named direction condition, requires each step to be consis- and, therefore, normal to the surface gradient vector (itself
tent with the prescribed direction of interpolation, identified normal to the surface), we obtain:
with the curve’s tangent vector t̄, or its opposite −t̄. The sec-  
 ī j̄ k̄ 
ond condition, named proximity condition, requires a step 
 ∂f ∂f ∂f 
to approach the curve. It simply amounts to always select-  
 
ing a step pointing towards the other side of the curve, with t̄ = grad f × grad g =  ∂x ∂y ∂z  (6)
 
respect to the current position. In this way the position error  ∂g ∂g ∂g 
 
is automatically bounded.  ∂x ∂y ∂z 
S.L. Omirou / Journal of Materials Processing Technology 141 (2003) 343–350 345

∂f ∂g ∂f ∂g ∂f ∂g ∂f ∂g selection requires the computation of the tangent vector t̄


tx = − , ty = − ,
∂y ∂z ∂z ∂y ∂z ∂x ∂x ∂z which in this case may be expressed as the cross product
t̄ = N̄1 × N̄2 (10)
∂f ∂g ∂f ∂g
tz = − (7)
∂x ∂y ∂y ∂x The parametric representation of points P1 , P2 lying on sur-
faces S1 , S2 , respectively, is given by the position vectors
   
∂f ∂f ∂f x1 (u1 , v1 ) x2 (u2 , v2 )
␦f = grad f · s̄ = dx + dy + dz,    
∂x ∂y ∂z P̄1 =  y1 (u1 , v1 )  , P̄2 =  y2 (u2 , v2 )  (11)
∂g ∂g ∂g z1 (u1 , v1 ) z2 (u2 , v2 )
␦g = grad g · s̄ = dx + dy + dz (8)
∂x ∂y ∂z where (u1 , v1 ) and (u2 , v2 ) are the independent parametric
coordinates of the two surfaces. The normal vectors N̄1 and
For interpolation in t̄ the problem then becomes
N̄2 are written, respectively, as
tx dx + ty dy + tz dz  
maximize ∂P1 ∂P1 ∂P2 ∂P2
N̄1 = × , N̄2 = × (12)
∂f ∂f ∂f ∂u1 ∂v1 ∂u2 ∂v2
subject to ␦f = dx + dy + dz  0,
∂x ∂y ∂z (9)
Eq. (12) may be written explicitly as
∂g ∂g ∂g  
␦g = dx + dy + dz  0,  ī j̄ k̄ 
 
∂x ∂y ∂z   ∂x1 ∂y1 
∂z1 
dx, dy, dz ∈ [−1, 0, 1], |dx| + |dy| + |dz| ≥ 1 ∂P1 ∂P1  
N̄1 = × =  ∂u1 ∂u1 ∂u1 ,
∂u1 ∂v1  
 ∂x1 ∂y1 ∂z1 
Since each step must drive both f and g towards 0, each  
inequality sign is taken to be ≥ if the value of the respective  ∂v ∂v1 ∂v1 
1
function (f or g) at the current position is negative and < if  
 ī j̄ k̄ 
the function value is positive. This is an integer programming  
  ∂x2 ∂y2 ∂z2 

problem, in which the unknown variables dx, dy, dz, take on ∂P2 ∂P2  
values from the set [−1, 0, 1]. Once a step is determined, the N̄2 = × =  ∂u2 ∂u2 ∂u2  (13)
∂u2 ∂v2  
position variables, the functions f, g, their partial derivatives  ∂x2 ∂y2 ∂z2 
 
and the tangent vector are updated and the integer program  ∂v ∂v2 ∂v2 
2
is solved anew. Starting from a given point K0 , lying on the
from which the coordinates of the cross products may be
intersection curve of the two surfaces, step selection process
computed by
is repeated at each generated point K1 , K2 , . . . , until a given
final point Kn , also lying on the intersection curve, is reached ∂y1 ∂z1 ∂y1 ∂z1 ∂y2 ∂z2 ∂y1 ∂z2
N1x = − , N2x = − ,
(Fig. 1). ∂u1 ∂v1 ∂v1 ∂u1 ∂u2 ∂v2 ∂v2 ∂u2
∂x1 ∂z1 ∂x1 ∂z1 ∂x2 ∂z2 ∂x2 ∂z2
N1y = − , N2y = − ,
∂v1 ∂u1 ∂u1 ∂v1 ∂v2 ∂u2 ∂u2 ∂v2
3. Extension to parametrically defined surfaces ∂x1 ∂y1 ∂x1 ∂y1 ∂x2 ∂y2 ∂x2 ∂y2
N1z = − , N2z = −
∂u1 ∂v1 ∂v1 ∂u1 ∂u2 ∂v2 ∂v2 ∂u2
For a parametric formulation of the step selection prob-
(14)
lem, let one first assume that for a current point P0 (x0 , y0 ,
z0 ) lying on the intersection curve of surfaces S1 , S2 , the cor- Thus, the tangent to the required path t̄ and its coordinates
responding point of the generated path is P(x, y, z) with the tx , ty , tz may be written as
distance PP0 not exceeding the predefined step size (Fig. 2).  
Let one also assume P1 (x1 , y1 , z1 ), P2 (x2 , y2 , z2 ) the points  ī j̄ k̄ 

 
at which the normals N1 , N2 from P meet the surfaces. Step t̄ = N̄1 × N̄2 =  N1x N1y N1z  ,
 
 N2x N2y N2z 
tx = N1y N2z − N2y N1z , ty = N2x N1z − N1x N2z ,
tz = N1x N2y − N2x N1y (15)
As regards the formulation of the proximity criterion, a nat-
ural proximity measure may be implemented in terms of the
distance square functions

p1 = (x − x1 )2 + (y − y1 )2 + (z − z1 )2 ,
Fig. 2. Motion generation along the intersection curve of two parametri-
cally defined surfaces. p2 = (x − x2 )2 + (y − y2 )2 + (z − z2 )2 (16)
346 S.L. Omirou / Journal of Materials Processing Technology 141 (2003) 343–350

The effect of each contemplated step on the above distances using the last values of them as a starting point. A similar
is expressed, respectively, by the differentials system is solved for u2 , v2 in the case of P2 .
dp1 = p1x dx + p1y dy + p1z dz,
dp2 = p2x dx + p2y dy + p2z dz (17) 4. Implementation issues
where p1x , p1y , p1z and p2x , p2y , p2z are the partial deriva-
tives of p1 , p2 , respectively. The operation of a CNC machine tool is controlled by
The proximity condition may, thus, be expressed as the a program written in the G-code programming language
set of inequalities called part program. A part program contains an ordered
sequence of statements specifying in detail the cutter mo-
p1 dp1 < 0, p2 dp2 < 0 (18)
tions to be executed and the auxiliary operations (e.g., spin-
or simply dle on/off, spindle speed and feedrate) to be realized by the
CNC machine in order to machine a specified part. A state-
dp1 < 0, dp2 < 0 (19)
ment is made up of words. Characters, and numerical digits
since p1 , p2 are permanently positives. are the elements that constitute a word. For example, the
After the above interpretation, the step selection problem statement
for interpolation of a curve obtained as the intersection of
two parametrically defined surfaces, may be formulated as N10 G01 X200 Y300 Z100 F200 M03 S800
follows:
consists of the words “N10”, “G01”, “X200”, “Y300”,
maximize tx dx + ty dy + tz dz
“Z100”, “F200”, “M03”, “S800”, meaning that the state-
∂p1 ∂p1 ∂p1 ment with sequence number N10, requires movement of the
subject to dp1 = dx + dy + dz < 0,
∂x ∂y ∂z tool from its current position to position (200, 300, 100)
(20)
∂p2 ∂p2 ∂p2 linearly (G01) with a feedrate of 200 mm/min and with the
dp2 = dx + dy + dz < 0,
∂x ∂y ∂z spindle rotating clockwise (M03) at 800 rpm.
dx, dy, dz ∈ [−1, 0, 1], |dx| + |dy| + |dz| ≥ 1 Each of the codes other than G and M has a unique func-
tion. The G and M have many functions depending on the
As in the implicit formulation, the problem is solved again
following two-digit number. These functions have been stan-
as an integer programming problem, in which the unknown
dardized and are commonly known as “G and M codes”.
variables dx, dy, dz, take on values from theset [−1, 0, 1].
Generally, a G-code, named preparatory function code, de-
Once a step is determined and carried out, the coordinates
fines one type of motion or one mode of operation while
of P1 , P2 are updated to maintain the normality conditions.
an M-code, named miscellaneous function code, turns var-
The updating process is applied separately for each of P1 ,
ious operations on/off (e.g., coolant flow, spindle, etc.). It
P2 by solving a system derived from the conditions
must be noted that not all the possible code numbers are
PP1 × N̄1 = 0, PP2 × N̄2 = 0 (21) allocated, which means that control systems manufacturers
can use those remaining for whatever purpose they wish.
that is, the vectors PP1 , PP2 must be kept parallel to the
New CNC programming capabilities are among those pur-
normals N̄1 , N̄2 , respectively.
poses. Pythagorean-hodograph curves [12] and real time sur-
For P1 , for example, the parallelism condition is written
face interpolation [13] are representative examples of such
as
  new programming capabilities. In these works, authors, be-
 ī j̄ k̄ 
 sides the presentation of the new CNC interpolators, pro-
 x − x 1 y − y1 z − z1  = 0 (22)
  pose G-codification for performing the respective interpola-
 N N1y N1z  tion. In the same way, the space curve interpolator proposed
1x
in the present paper may be embedded in a CNC controller
It is worth noting that from the above condition only two
under specific G-codification.
equations are extracted, since by setting the two coordinates
The architecture of the proposed space curve interpola-
of the cross product equal to 0, the third one is implied.
tor is depicted in the two flow charts of Fig. 3 covering
Setting, for example, the first two coordinates equal to 0, we
the respective modes of representing the primitive surfaces
obtain the system
(implicit and parametric). Two non-allocated G-codes, one
(y − y1 (u1 , v1 ))N1z (u1 , v1 ) for each representation type, may be engaged to codify the
−(z − z1 (u1 , v1 ))N1y (u1 , v1 ) = 0, space curve motion in the part program. The respective state-
(x − x1 (u1 , v1 ))N1z (u1 , v1 ) ment must contain the geometric information included in
the input data box of the flow charts as well as the required
−(z − z1 (u1 , v1 ))N1x (u1 , v1 ) = 0 (23)
cutting conditions. Based on these information, the CNC
Applying the Newton’s method for systems, the unknown computer performs the space curve interpolation, issuing in
variables u1 , v1 , of this system, are computed iteratively each program-iteration the selected stepping command to
S.L. Omirou / Journal of Materials Processing Technology 141 (2003) 343–350 347

Fig. 3. Flow charts of the space curve interpolation program. The intersecting surfaces are (a) implicitly defined and (b) parametrically defined.

the driving motors of the machine axes. This process is re- Pe (xe , ye , ze ) of the desired circular arc and those of the
peated until the programmed terminal point is reached. sphere center c(xc , yc , zc ). Assuming that these points are
not collinear the equation of the plane may be written as
 
 x y z 1
 
5. Test results  x ys zs 1 
g =  s =0
 (26)
 xe ye ze 1 
The algorithm was implemented and tested in both its  xc yc zc 1 
versions, implicit and parametric. Two representative exam-
ples, one for each version, were selected to demonstrate the
effectiveness of the proposed method.

Example 1. Consider a plane intersecting the surface of a


sphere centered at the origin, as shown in Fig. 4. The goal
is the interpolation ability of the full circle or any segment
of the circle which is defined as the intersection curve of
the two surfaces. The surface of the sphere (with radius r)
is implicitly defined by the equation
f = x 2 + y 2 + z2 − r 2 = 0 (24)

and the equation of the plane passing through the origin is


g = Ax + By + Cz = 0 (25)

which may be derived from three points in space. Let


these points be, the start and end points Ps (xs , ys , zs ) and Fig. 4. A 3D circle defined as the intersection of a sphere and a plane.
348 S.L. Omirou / Journal of Materials Processing Technology 141 (2003) 343–350

Fig. 5. Cutter path along the test circle of Example 1, generated with a step size of 0.1 in the 3D presentation (a) and with a step size of 1 in the
projections on the XY plane (b), on the XZ plane (c) and on the YZ plane (d).

from which the coefficients A, B, C are extracted by expand- The estimation of the position error per step size is de-
ing the respective determinants. picted in Fig. 5b–d. The figures present the projections of
the generated path on the three coordinate planes XY, XZ
and YZ. A step size of 1 was used to see the path clearly.
After the above definitions of the two surfaces, the inter-
The projections on the XY and YZ planes are ellipses while
polation of their intersection curve (3D circular arc) may be
the projection on the XZ plane is a straight-line segment
implemented by a program developed on base of the flow
chart illustrated in Fig. 3a.
Fig. 5a shows the interpolated 3D path, with a step size =
0.1, for a full circle which is obtained as the intersection of
a sphere with radius r = 30, with an inclined plane forming
a 30◦ angle with the horizontal plane and containing the
Y-axis.
In addition to the sphere center (x = 0, y = 0, z = 0), a
start point with coordinates (x = 25.98, y = 0, z = 15) and
an intermediate point with coordinates (x = 0, y = 30, z =
0) were used to define the particular plane. The introduction
of the coordinates of an intermediate point instead of those of
the final point is necessary in the cases of full circles or semi-
circles because in these two cases, the three points (start, end,
center) become collinear and the plane cannot be defined. Fig. 6. A 3D curve defined as the intersection of a sphere and an ellipsoid.
S.L. Omirou / Journal of Materials Processing Technology 141 (2003) 343–350 349

traversed twice for each traversal of the full circle. It may and the parametric equations of the foot normal lying on the
be seen in all three figures, that the generated path, which is ellipsoid are
also drawn in the figures, nowhere diverges from the ideal
path by more than one step. x2 = 80 cos u2 cos v2 , y2 = 40 cos u2 sin v2 ,
π π
Example 2. The following example was selected to illus- z2 = 60 sin u2 , − ≤ u2 ≤ , −π ≤ v2 ≤ π (28)
2 2
trate the parametric formulation and processing of the algo-
rithm. Consider the intersection curve formed by the inter- For the starting point, the computed initial values are
secting surfaces of a sphere (r = 50) and an ellipsoid (a =
80, b = 40, c = 60). Assume the orientation and the relative x = x1 = x2 = 41,054, y = y1 = y2 = 0,
position (O1 O2 = 80) of the two solids as are illustrated z = z1 = z2 = 51,496, u1 = 2177 rad,
in Fig. 6. A circle and an ellipse are the intersection curves
of the two surfaces with the coordinate plane XZ. The right u2 = 1031 rad, v1 = 0 rad, v2 = 0 rad
one point lying on XZ plane where the two curves meet each
After the above definitions of the two surfaces, the interpo-
other was selected as a convenient starting point to initiate
lation of their intersection curve may be implemented by a
the algorithm. At the same point the initial positions of the
program developed on base of the flow chart illustrated in
feet normal were set.
Fig. 3b.
Using the above numerical values, the parametric equa-
tions of the foot normal lying on the sphere are
Fig. 7a shows the interpolated 3D path with a step size 0.1,
x1 = 50 sin u1 cos v1 , y1 = 50 sin u1 sin v1 , while the accuracy of the method, in its parametric version,
z1 = 50 cos u1 + 80, 0 ≤ u1 ≤ π, 0 ≤ v1 ≤ 2π (27) is demonstrated in Fig. 7b–d, where the same path generated

Fig. 7. Cutter path along the test curve of Example 2, generated with a step size of 0.1 in the 3D presentation (a) and with a step size of 1 in the
projections on the XY plane (b), on the XZ plane (c) and on the YZ plane (d).
350 S.L. Omirou / Journal of Materials Processing Technology 141 (2003) 343–350

with a step size 1 was projected on the three coordinate References


planes XY, XZ and YZ. A full ellipse is the projection on
XY plane and segments of ellipses traversed twice are the [1] H. Voelcker, A. Reuicha, Geometric modelling of mechanical parts
projections on XZ and YZ planes. It may also be seen in all and processes, Computer 10 (12) (1977) 48–57.
three figures, that the generated path nowhere diverges by [2] M. Sava, J. Pusztai, Computer Numerical Control Programming,
Prentice-Hall, Englewood Cliffs, NJ, 1990.
more than one step. [3] Y. Koren, Interpolator for a computer numerical control system, IEEE
Trans. Comput. C-25 (1) (1976) 32–37.
[4] Y. Koren, O. Masory, Reference-pulse circular interpolators for CNC
6. Conclusions systems, J. Eng. Ind. 103 (1981) 131–136.
[5] Y. Koren, Computer Control of Manufacturing Systems,
McGraw-Hill, New York, 1983.
The integer programming formulation of Danielson’s step
[6] J. Bresenham, A linear algorithm for incremental display of circular
selection criteria is a very effective technique, which can arcs, Commun. ACM 20 (2) (1977) 100–106.
be used to solve difficult interpolation problems. Generat- [7] Y. Suenaga, T. Kamae, T. Kobayashi, A high speed algorithm for the
ing paths along curves in 3D space, a problem of consider- generation of straight lines and circular arcs, IEEE Trans. Comput.
able practical significance in CNC machining, is a case in C-28 (10) (1979) 728–736.
[8] J.J. Chou, D.C.H. Yang, Command generation for three-axis CNC
point. This paper has shown that the integer programming
machining, ASME J. Eng. Ind. 113 (1991) 305–310.
approach to step selection leads in a rather straightforward [9] D.C.H. Yang, T. Kong, Parametric interpolator versus linear interpo-
manner to a solution to this problem, combining several de- lator for precision CNC machining, Comput.-Aid. Des. 26 (3) (1994)
sirable characteristics (reduced number of steps, accuracy 225–233.
and computational efficiency). [10] S.G. Papaioannou, S.L. Omirou, 3-dimensional circular interpolation
for CNC machines, J. Manuf. Sci. Eng., Trans. ASME 118 (2) (1996)
It is remarkable that despite the constant upgrading of
274–277.
CNC controls, the basic CNC motions (straight-line cuts and [11] P. Danielson, Incremental curve generation, IEEE Trans. Comput.
circular cuts on coordinate planes) have changed little since C-19 (9) (1970) 783–793.
the advent of CNC. Generating cuts along circular arcs on [12] R.T. Farouki, J. Manjunathaiah, G. Yuan, G codes for the specifi-
arbitrary planes and generally along any curve which may cation of Pythagorean-hodograph tool paths and associated feedrate
functions on open-architecture CNC machines, Int. J. Mach. Tools
be defined as the intersection of two surfaces (implicitly or
Manuf. 39 (1999) 123–142.
parametrically defined) will certainly enhance the feature [13] R. Lin, Real-time surface interpolator for 3D parametric surface
generating capabilities of CNC systems. To what extent, machining on 3-axis machine tools, Int. J. Mach. Tools Manuf. 40
however, remains to be seen in practice. (2000) 1513–1526.

Vous aimerez peut-être aussi