A computer program calculates the two- dimensional trajectory (radial vs. axial position) of a finite-radius-of- curvature cutting tool on a lathe so as to cut a workpiece to a piecewise-continuous, analytically defined surface of revolution. (In the original intended application, the tool is a diamond cutter, and the workpiece is made of a crystalline material and is to be formed into an optical resonator disk.) The program also calculates an optimum cutting speed as F/L, where F is a material-dependent empirical factor and L is the effective instantaneous length of the cutting edge.
The input to the program includes the analytical specification of each desired continuous piece of the surface. The output of the program corresponds to an approximate tool trajectory in the form of (1) a set of short straight-line segments connecting the precise trajectory points at user-defined axial steps and (2) the optimum cutting speed for each segment. The program includes algorithms for rounding corners, limiting the depth of cut, and making extra cutouts to prevent excessive stresses. The output of this program is read by a different program that controls stepping motors that move the cutting tool.
This program was written by Dmitry Strekalov, Anatoliy Savchenkov, and Nan Yu of Caltech for NASA’s Jet Propulsion Laboratory.
This software is available for commercial licensing. Please contact Karina Edmonds of the California Institute of Technology at (626) 395-2322. Refer to NPO-45086.
This Brief includes a Technical Support Package (TSP).

Trajectory Calculator for Finite-Radius Cutter on a Lathe
(reference NPO-45086) is currently available for download from the TSP library.
Don't have an account?
Overview
The document is a Technical Support Package from NASA's Jet Propulsion Laboratory (JPL) detailing the "Trajectory Calculator for Finite-Radius Cutter on a Lathe," identified by the reference NPO-45086. This software tool is designed to assist in calculating the trajectory of a diamond cutter used for machining analytically defined surfaces of revolution. It operates within the LabVIEW 7.0 (or higher) environment.
Users can define the surface shape by inputting mathematical expressions into designated lines, specifying the range for each function. For example, a parabolic surface can be defined for a range of 0 to 100 microns, followed by a linear surface from 100 to 200 microns. The program is capable of reflecting negative x values, allowing for symmetrical machining about the starting position.
The software provides features for convenient function stitching, enabling users to input end values of functions and their derivatives. If only one function is required, the second range can be set to zero. The program approximates the surface using straight lines that connect points based on user-defined steps along the x-axis, with y-coordinates derived from the input surface equations.
A critical aspect of the program is its ability to prevent the cutter from exceeding a specified maximum cut depth. If this depth is surpassed, the cutter performs a sideways cut across the entire x range to reduce the preform diameter before continuing. The actual cutter trajectory is calculated based on the cutter tip's radius of curvature, which the user must input. This trajectory is also graphically represented.
Additionally, the program optimizes cutting speed based on the effective length of the cutting edge at each point, using an empirical constant known as the cutting speed factor, which varies depending on the material being machined. Users can adjust this factor to achieve reasonable cutting speeds. The software also allows for optional final passes to enhance surface smoothness, with parameters for the number of passes and final pass speed.
Finally, the program generates an output file containing x- and y-coordinates and velocities for each point, which can be utilized by a separate software to control stepper motors that move the cutter. For further inquiries, users are directed to contact JPL via the provided email address.

