Integrated approach to design and manufacture of shoe lasts for orthopaedic use

Integrated approach to design and manufacture of shoe lasts for orthopaedic use

Computers md Engng Vol 26, No. 2, pp 411--421, 1994 Copyright © 1994 Else~er Science Ltd 0360-8352(93)E0022-Z Pnnted m Great Britain All nghts reserve...

2MB Sizes 0 Downloads 27 Views

Computers md Engng Vol 26, No. 2, pp 411--421, 1994 Copyright © 1994 Else~er Science Ltd 0360-8352(93)E0022-Z Pnnted m Great Britain All nghts reserved 0360-8352/94 $7 00 + 0.00

Pergamon

INTEGRATED MANUFACTURE OF

APPROACH TO DESIGN AND SHOE LASTS FOR ORTHOPAEDIC

H. P. BAO t, P.

SOUNDAR I

USE

and T. YANG 2

~Department of Engmeenng Management, Old Donunion University, Norfolk, VA 23529-0248, U.S.A and 2Department of Industrial Engmeenng, Texas A&M University, U S.A Abstract--For commercial shoes as well as custom-made shoes, the shoe last--a sohd model of the tuner volume of the shoe---is unquestionably the single most ~mportant component of the fabrication process This paper introduces the elements of an integrated CAD/CAM system to digitize the foot, use a graphics sub-system to create the geometry of a last from the foot model, and generate the tool cutter paths for a numerical control machine to cut the last Issues of integration of design data and manufactunng data, and problems related to the operation of the system are discussed in this paper

1. INTRODUCTION

The shoe last is the solid object which forms the rigid base for the shoemaker to carry out virtually all aspects of shoemaking. The construction phases include: (1) the cutting and assembling of the uppers according to the measurements and patterns made directly from the last, (2) the fitting of the various components of the soles, i.e. inner, mid, and outer soles, and (3) the addition of the heel to achieve the desired heel pitch and overall balance of the shoe. The last is removed or destroyed only when all of the above operations have been performed. Commercial shoes are made in conjunction with commercial lasts which are typically made of wood or plastic. The lasts are equipped with an ingenious hinge mechanism to break them apart thereby allowing them to be removed from the shoe and reused again on another shoe. However, the commercial lasts serve the general class of population without noticeable foot deformities. When commmercial shoes cannot be used custom-made shoes, which require custom-made lasts, are required. The problem addressed in this paper is the latter type of footwear. Physiological disorders of the foot may be caused by birth defects such as spina bifida, cerebral palsy, club feet, by systemic diseases like diabetes, polio, rheumatoid arthritis, by neuromuscular abnormalities such as muscular dystrophy, multiple sclerosis, by trauma, and by aging [1]. Whatever the cause, the person affected by one or a combination of foot disorders described above cannot tolerate commercial shoes and, therefore, requires custom made shoes. In the current technology of custom made shoes, the positive cast of the foot becomes the last for the shoe after typical modifications such as adding a toe extension, narrowing the heel section, or adding extra volume to accommodate, say, a bunion on the foot [2]. The making of a shoe last usually requires skill, good judgement, and years of experience from the shoemaker. Also it is a time consuming process, hence costly. A more troubling fact is that custom shoemaking is a dying art as the skilled shoemakers retire but there are not enough apprentices willing to learn the trade. Modern technologies of computer-aided design and computer aided manufacturing therefore must be called upon to significantly decrease the heavy reliance on skilled labor and reduce the cost of making custom footwear. The integrated approach to the design and manufacture of the shoe last for custom footwear discussed in this paper offers an alternative method to the convential way of making custom shoes. 2 SYSTEMS CONFIGURATION

The elements of this integrated system are shown in Fig. 1.

2. I. Scanning of patient's foot 2. I.I. Theoretical consideration. The purpose of scanning is to digitize the foot and obtain its three-dimensional data points for CAD representation. Digitization by non-contact range finding 411

412

H P BAOet

al

Scanningof patientsfoot ]

Machinedshoelast )

T t

(3_Dfoo,,.,.)

CNCmill

[

computermodeling and shapechange [

t t

Kcv

I I ( )

data Fig 1 Elementsof integrated system

techniques can be classified into two groups: active and passive. Active techniques require a controlled source of light while passive techniques do not and simply rely on ambient light. A popular active range finding technique is the structured lighting technique which involves a sheet of light and micro-processor controlled video-laser data acquisition [3]. Figure 2 shows a simple light-camera arrangement in which the sheet of light is perpendicular to the line joining the origin of the light sheet and the center of the camera lens. Dk, the range of an object measured from the light source, can be found by triangulation to be Dk = B tan(~)

~

"

'

z To?viewof lightsheet

(1)

9

~Video camera / ~ ac/~./_~_\

c~. a

lem

FIg 2. A simple range findingtcchmque (adapted from [3])

Design and manufacture of shoe lasts

413

where B is the distance between the light and the camera. As shown in Fig. 2, ~k = Ctc-- 0 f, = Ctc -- arctan[(d -- dk)/f]

(2)

where f is the focal length of the camera lens, d is half the size of the image plane, and dk is the displacement of the image of the object from one edge of the image plane. If M is the total number of columns in the image plane, then elk = 2 k d / M

(3)

where k is the column corresponding to the image of the object, k varies between 0 and M / 2 . Combining (2) and (3): ~tk = gc -- arctan[d ( M - 2k )~Mr]

(4)

and equation (1) yields the range of the object since ~ is now known. 2.1.2. Scanner construction. The scanning of a human foot requires the following considerations. First, the person must be in a seated position. This is known as the semi-weighted bearing condition typically used by the professionals while making a cast of the foot. As stated by Davis [2], "This is done to capture the foot in a rested position. Casting in the weight bearing position would result in a shoe that does little more than cover the foot". Second, the position of the foot during scanning is very important. If a one-inch heel is to be added to the shoe, then the foot must be casted in that position using a soft wedge or whatever accessories available for this purpose. Any corrections in the stance of the foot must also be made at this stage before the digitization commences. And third, the cameras can only see the top views of the foot. One way to scan the bottom view of the foot is to scan the foot print left on the soft foam of the types used by the professional community. In consideration of the issues discussed above, a foot digitizer was built as shown in Fig. 3, and some of its key dimensions are summarized m Table 1. These dimensions have been arrived at after much experimentation to achieve the satisfactory trade off between resolution (less than 1 mm), overall size of the scanner (appropriate for 275 mm long objects such as human feet) and occlusion phenomenon which may make the scanner skip or miss some data points. Details of the construction of this scanner are available in [4]. The main components of this scanner are: (l) motor driven platform, (2) vision system, and (3) foam box. The platform, which carries the camera-laser combination, is driven along the length

Fig 3 Data acqmsitlon system to dlgiuz¢ the foot. CAIE 26/2--N

H P. BAo et al

414 Table 1 Symbol B DO De •c

Key dimensions of scanner

Descnpt~on

Dimension

Distance between laser and camera Point range ~mage a p p e a n n g at edge of image plane Distance between basehne and platform center hne Angle between the basehne and the laser hght sheet

165 5 mm 198 1 mm 323 8 mm 1 09 rad

of the digitizing jig by a stepping motor through a precision lead screw underneath the foot support plate. The vision system consists of two CCD cameras with 512 x 512 digital images and two low power lasers equipped with cylindrical lenses for creating the sheets of light on both sides of the foot. The digital images are processed by an image processing board placed in the chassis of an IBM AT computer. Figure 4 shows the main elements of the vision system using the DT2853 vision processing board by Data Translation R. The foam is a commercial product used specifically to obtain foot prints. System calibration was achieved by calibrating separately the three digital images of the left side of the foot, the right side, and the bottom print using a prectsion jack as the reference object. If az, Oy, and Ozare respectively the actual value of z, observed value o f y and observed value of z (x, y, z directions shown in Fig. 2), then experimentation based on 25 data points for each different az revealed the following predictive functions for the left side camera: Pz = (--0.3376 - 0.064Oy) + (0.99663 + 0.0055Oy)O z

(5)

and py =

0.80309 + 1.1084oz

(6)

The above equations have been derived from a SAS program and tested for appropriateness using a t-test for each regression parameter, the F-test for the model, and the symmetrically distributed residual plot. After calibration, the scanner was shown to posses range errors less than one millimeter. Predictive functions have also been derived for the other two cameras using a similar calibration procedure. Calibration details are available in [4].

~

lzucturedLight Source

5

Multi-plexer

Mass i

CCDCamera

s i s i | i i i

Digital

Consoh~

Stm~ Motor Driven Unit

Stepper ,Motor Fig. 4 H a r d w a r e c o n f i g u r a t i o n o f the vision s y s t e m

Design and manufacture o f shoe lasts

415

2.1.3. Data processing. As far as the data processing is concerned, the following sequential tasks must be achieved. First, images of the data points belonging to the contour of the foot above the reference plane, which coincides with the top surface of the foam, are fetched and saved in two data files (FILE 1 and FILE 2 respectively for the left side and right side of the foot). Second, images of the data points belonging to the same contour as in the first step and appearing below the reference plane are fetched and saved in data FILE 3. Third, Newton's interpolation [5] is used to blend the corresponding curve sections from FILE 1 and FILE 3, and from FILE 2 and FILE 3. The interpolated points are placed in FILE 4 and FILE 5 respectively. Fourth, another interpolation process is called upon to blend the curve sections from FILE 1 and FILE 2 for the contours of the foot directly beneath the tibia bone. Interpolated points are placed in FILE 6. Finally, a continuous contour of the foot is obtained by sorting the data points from the appropriate curve sections in the six data files mentioned above. Figure 5 illustrates the contribution of each data file to the construction of the contour of the foot. 2.1.4. Scanning procedure. To operate the scanner, the following steps are taken: (a) The patient is asked to sit down on the chair and to place his foot on the foam box. (b) Using his pedorthic skill, the operator presses the foot down to the correct position (for heel elevation and foot balance). (c) The computer controlled data acquisition system is started. This means that the platform carrying the video-laser combination is moved by a stepping motor along the foam box, and images of the foot are fetched at specified intervals. (d) The foot is removed and the foam box turned to its side for scanning the foot print. (e) The first four steps are repeated for the other foot. The operational data resulting from the digitizing process described above is given in Table 2. Note that the number of data points used for CAD display is significantly less than the number of available data points. This decision was made deliberately due to the limitation of the graphics processor discussed in the next phase of the integrated system. 2.2. Computer modeling This stage involves the graphics display and modification of the foot. A commercially available hierarchical graphics package is used rather than the more popular graphics systems like AUTOCAD R or CADKEY a. HOOPS R (Hierarchical Object Oriented Picture System), developed by Ithaca software Inc., is a library of functions that provides support for three dimensional imaging to C or F O R T R A N programs. H O O P S g is an object oriented system that combines ease of use, advanced 3D graphics, and system independence [6]. In this system elements of a scene are stored in a powerful hierarchical database. Simple declarative commands can be used to determine which objects in the database are displayed, where they are displayed, and how they are rendered. The result is that modifying the image can be performed using a single command. The basic unit of organization of the database is a segment. Each segment holds drawing primitives like lines and polygons for the object, and also the rendering attributes like the color and the line patterns. The graphics database derives its power from its hierarchical structure. The advantage of this type of referencing is that the segment can be quickly accessed, and modifications to this segment can be performed without affecting the rest of the database. There are no limits to the number of segments that can be used in an application. The

o1' )°2 FILE6

FILlz4"-- ,--..--.- " FII~5 FILE3

Fig. 5. Contribution of data files to the construction o f the contour

Table 2 Result of foot digitization ~can time of top views (left and right views simultaneously) Scan time of footprint Number of Data points available Number of Data points used for display CPU tlme Total session tlme

3 mm 2 5 mm 15,600 864 12 mm av 25--30 m m

H P. BAOet al

416

segments can also be nested within other segments. The hierarchical structure allows for large sections of the database to be handled with logical ease. The input to the package consists of a set of points in cartesian coordinates as shown m Fig. 2. The points are located on contours spaced at equal intervals along the X axis of the shoe last. Each contour has points located at ten degree intervals. A program is written in C code to view and modify the object on the screen using various HOOPS routines. The package is menu driven and the different custom designed options available to the user are: (i) File: This allows the user to select the data file he wants to work with. (ii) Pick: This option allows the user to mark the area he wants to modify before carrying out the actual modification. (iii) Modify: This option allows the user to select the point that is to be the apex point for the modification of the last. He is then asked to input the value of the desired modification. (iv) Loop: This option allows the use to loop back and select a new data file without exiting the program. (v) Zoom: This allows the user to reduce or enlarge the object. (vi) Rotate: This allows the user to rotate the object about any axis. The angle and the axis of rotation can be varied. (vii) Toext: This is the option to extend the toe. The user is then prompted to input the value of the toe modification. (viii) Exit: By selecting this menu item the user exits the program. Of the eight options listed above, the File, Pick, Loop, Zoom, Rotate and Exit options are typical graphics routines found in virtually all graphics packages. Interested readers can refer to [7, 8] for examples. The remaining two options are Toext and Modify (i.e. surface modification) are specifically designed for this project and are described below. 2.2. I. Toe extension. For the foot to fit comfortably inside a shoe the shoe must be longer than the foot. This is reflected in the shoe last by making it longer than the digitized foot. This is accomplished by the Toext option of the package. To activate the toe extension routine the user selects the Toext option from the menu. The user selects the contour from which the toe extension is to be effected. Once this is done the program prompts the user to mput the extension value in inches. Then the program changes the x values of the contours based on the following conditions: for (all contours) if x (contour) >/sel contour then x(contour) = x ( c o n t o u r ) + delta x end where delta x is the value input by the user, x (contour) is the x value at the contour and sel contour is the x value of the selected contour. Figure 6 shows a shoe last before and after the Toext routine. The last extension ~s carried out by merely adding the extension value input by the user to all the contours beyond the selected contour. This extended last is then displayed on the screen.

~

Contour

Old

Position osition

3 Fig 6. Toe extension on the shoe last

Ftg 7 Suface patch selected for surface modification

Design and manufacture of shoe lasts

417

2.2.2. Modifications to the surface of the last. Bunions and bumps that are present on the foot have to be reflected accurately on the shoe last to obtain a comfortable fit. If these aberrations developed after the foot has been digitized then the foot has to be redigitized to accommodate them. In our package we provide an alternate method where the user selects the area of the last that needs to be modified and then performs the modifications within the selected area without affecting the remainder of the shoe last. The last seen on the computer screen can be rotated until the section of the last that is to be modified is visible on the screen. Next the Pick option is selected from the menu and the area within which the modification ~s to be made is selected. The points of this polygon are selected by moving the cursor to the desired location using the mouse and then clicking the mouse. To keep track of the developing polygon the previously selected vertices are highlighted. The points of the polygon have to be selected in a clockwise manner starting with the bottom right corner of the polygon. In Fig. 7 the sequence of selection is shown. If the selected points are not vertices corresponding to the edges of the last then it is approximated to the nearest vertex on the surface of the last. To indicate the end of the boundary selection procedure and to start the modification process the Modify option is selected from the menu. The user has to select the point on the patch, that is to serve as the apex, at which the height is to be added. The location of this apex point and the height value input affect the height modifications of the other data points within the selected patch. A positive value of height will have a pull effect on the surface, and the surface will be pulled outside. A negative value will have a push effect, and the surface is pushed inside. The equation that governs the height modifications within the selected patch is r n = r o + h (cos ct ) (cos fl )

(7)

where r o and r. are the height values before and after the modification, h is the value that is input, and 0t and fl are determined by the equations described below. Figure 8 shows a two dimensional representation of a selected patch and how the height values within the patch are modified. The figure shows the grid lines AB and CD before and after modifications. For the point (Xl, y,) at the intersection of AB and CD the change in the height values are calculated using the equations previously mentioned. 0t =

(x~, - x,) (x~l - x , )

Apex Point ,AA y~

90

if x, ~< x=t

4---~---.rn*w

-~[

(8)

Curve AB before ~ pulling

I~i|l~ll I~lml|al ~iNilU~! nglilinl Iliilnin ~iZ[IRUI i~mmlm~|

(xt Y~)q

Yr-Y

h cos45cos54

Fng 8. Patch selectnonand modifications of height values.

H P BAo et al

418 -

( X I - - Xs¢ 1 )

90

if

x, > x ~ l

(9)

(xo - x ~ )

( y ~- -~yv, ~) 9ofl = (--~,

if y, ~
(10)

(y, ------~) .v~0 90 / / = ~n

if Y' > Y~l

(11)

Along the boundary of the selected path, i.e. when ~ and/~ are 90 degrees, the radii values of the contours remain unchanged. This maintains the continuity of the modified patch with the remainder of the last. The user can choose to view the modification of the surface of the shoe last. The modified shoe last can be rotated and viewed from different angles. If the user is not satisfied with the modifications then he can chose to redo them. If the modifications are accepted, the original data file is updated and the data in the selected area is changed accordingly.

2.3. Tool path generation and machining The cylindrical nature of the object and the availability of data at regular intervals have been taken advantage of while generating the tool path for the shoe last. Some of the machining approaches tried previously include: (1) sectional or cartesian machining, (2) constant theta per pass machining, (3) variable theta per pass machining, (4) contour machining. Further details on these machining techniques are discussed in [9, 10, 11]. These machining approaches had either one or both of the following disadvantages: (1) the machining time was inordinately long, and (2) the tool path was not continuous. To overcome these shortcomings, a spiral machining approach ~s used. In this machining approach the relative motion between the tool and the machined object defines a spiral. This is obtained by the continuous displacement of the tool along the Z axis, the displacement of the part along the X axis and the continuous rotation of the part. To facilitate the continuous part rotation, the part is mounted on a Troyke rotary table. The Troyke rotary table is a fully automatic rotary positioning device, which can be used in conjunction with a wide variety of CNC milling machines. 2.3.1. Developing the toolpath. The data file is first converted from cartesian coordinates to polar coordinates as this is the form used in machining. Since the data points are available only on equally spaced contours, the points along the tool path must be determined by interpolation as shown in Fig. 9. For each point two values are required: its displacement in the x direction, and its height value (from an arbitrary center line passing through the foot along its length). Assuming Tool Path ,~X

,1

Y 2o\I \ \ \ \ \

\ \ \

35(3 360 * Pointsobtainedfromdigiuzauon "

Points at w h i c h height values are to be

determinedusinginterpolation

Fig 9 Tool path

Design and manufacture of shoe lasts

419

that the block is rotated at constant velocity, the x displacement is merely proportional to the angular displacement of the block. As for the height value, a number of interpolation techniques as detailed in [12] could be applied. However, by experimentation it was found that the Newton interpolation technique based on four neighboring points provides a surprisingly good fit between the interpolated points and the 'true' points. The choice of four data points located along the same longitudinal line, i.e. parallel to the center line of the foot, means that each piecewise polynomial is cubic, and provides with second degree continuity. The choice of higher degree polynomials is unwise due to potential oscillations within each piecewise polynomial. Note that the first and last spiral are determined by quadratic polynomials so as not to let the interpolated points be affected by the heights of points far away from them.

2.3.2. Anti-interference features. Once the radii values are determined at the points along the tool path the anti-interference features are added to the data set. Since a continuous tool path is used to machine the shoe last the simulation of the cutting of the entire shoe last must be performed to check for interference between the tool and the shoe last being machined. These simulation tasks are not very much unlike those described in [13]. The liberal tolerancing that is required for the process obviates the need for such a simulation which is typically needed in processes that require very strict tolerancing. Interference is said to occur if the height of any of the points on the object, within the tool radius, is greater than the height of the point at which the tool is currently located. If interference is present, the height of the point in question is increased to the value of the greatest height within the tool radius. This condition can be represented by the following inequality for (all original points w~thm the tool radius) if (current_height < height of any point) then current height= height of the point endOf) end(for) where current_height is the height of the point at which the tool is located. The anti-interference algorithm in our work is developed to suit the data set and the machining approach, and takes advantage of liberal tolerancing. The approach is similar to that used by Saunders and Vickers [11]. The tool offset distance x in their work is determined by the following equation, where R is the radius of the tool, r, _ 1, r, and r, ÷ 1are the height values of the consecutive points along the tool path and # is the sustained angle between two consecutive points. X ~---

R[r2 +r2±t--2r'r'±lC°Sl~]t/2 rt ± I sin

R

(12)

#

In our approach the interfence is checked only against the points on the modified shoe last and not the interpolated points. This is because the interpolated points are not guaranteed to lie on the original surface. Hence for any tool location, the height of the tool at the current point is compared with the height of all the points of the original data set within the tool radius. Once the anti-interference features are added, the data set is ready for machining. Software that converts the tool path data into NC codes file that can be used for machining is also included in the package. In our experiments a Lagun milling machine with a Troyke auxiliary axis is used for machining the last. The addition of the Troyke rotary table makes this conventional mill a four-axis milling machine. 2.3.3. Material used for the raw stock. Wood, plaster and low density foam were considered while selecting a material for the raw stock. Ideally raw stock required for our purposes should satisfy the following conditions: (1) easily machinable, (2) cheaply available, and (3) initial raw stock must be easily formable. Low density foam satisfied all the above requirements and was hence used as the raw material in our machining experiments. 3 ADVANTAGESOFTHEPACKAGE

(1) The input requirements to the system in terms of data from the digitized foot are minimal. The package is capable of handling data sets where the cross sections are either 1/4 or 1/2 inch apart.

420

H P BAO

et al

Fig 10 Final result of integrated design,manufacture systems

(2) No slope values are needed. This means the foot can be digitized using a setup as s~mple as the one used in this work. (3) The program is user friendly and modlficat~ons to the objects can be made as easily as the clicking of the mouse button (4) The user can view the modification he has made before he develops a tool path for machining ~t. If he does not like what he sees then he can go back and redo the modifications. (5) Once the modificauons are made then the tool path is developed without any further input from the user. Figure 10 shows the final result of the integrated design/manufacturing system. The last on the left of the picture ~s an exact reproduction of the foot model shown m white, while the one on the right of the picture shows a boss or lump added as an example of the shape modificatmn 4 CONCLUSION

The development and operation of an integrated design and manufacture system for shoe lasts have been d~scussed. As stated before, the shoe last is the single most ~mportant component of the entire shoe fabrication process. Therefore, even though having it does not mean that the shoe is complete and available for wearing, the automation of the stages leading to its fabrication can have a significant impact on the overall cost of shoe making. Some of the benefits that could be derived from the present system are: accurate and fast digiuzation of the foot, flexibility in design of shoe last in terms of aesthetic and functional modifications, capture of the last's geometrical and machining data in electronic data files, and relatively low cost of hardware. While the prototype system works satisfactorily, a number of improvements can be thought of. First, the foot d~gitizer as constructed is quite fragile since the principle elements-camera, laser, stepping motor-are all exposed and may be displaced by accidental bumping. The entire jig should be enclosed for protection and safety reasons. Second, the graphics system is installed in a PS/2 computer model 70. Because of the heavy computational load, the computer is slow to react to the user's commands such as spin the object, select the surface patch, etc. The reason for selecting 864 data points out of a possible 15,600 data points was principally to speed up the graphic display of the foot. The system could benefit from a faster computer. And finally, the system does not have any means of verifying the correctness of the

Design and manufacture of shoe lasts

421

aesthetic and functional modifications to the foot. A verification sub-system like the one being developed at the North Carolina State University [15] would be a good component to add to the system. All of the improvements suggested above could be subjects of future work to extend the capability of the integrated design and manufacture system for shoe lasts discussed in this paper. Acknowledgements--The financial support of this project was prowded by the National Aeronautics and Space Admimstratmn through grant NAG-I-875 entRled "Engineering Speclficatmns and System Design for CAD/CAM of Custom Shoes--UMC Project Effort" The support of this orgamzaUon is gratefully acknowledged REFERENCES 1 M. L. Root, W. Onen, J. H. Weed and R. J. Hughes Biochemical examination of the foot. In Clmzcal Bwmechamcs, Vol. 1. Clinical Biomechanics Corporation, LA, (1971) 2. A Davis Part 2. The casting room In Custom Shoe Therapy, Vol. 1 Research Tnangle Institute, NC, pp. 57-81 (1987). 3 K. S. Fu, R. C Gonzalez and C S. G. Lee. 'Structured lighting approach'. In Robottcs: Control, Sensing, Vision, and Intelhgence. McGraw-Hill, New York pp. 269-272 (1987). 4. T. H. Yang. Design and construction of a laser digitizer Unpubhshed Master Thesis, Department of Industrial Engineering, University of Missouri-Columbia, May (1992) 5. W. Cheney and D. Kmcald. Numer:cal Mathemattcs and Computing. Brooks/Cole, Monterey, CA, pp. 108-120 (1985). 6. Hoops, Software product of Ithaca, Alameda, CA 7. J. D. Foley and A. VanDam. Fundamentals of lnteractwe Computer Graphtcs. Addison-Wesley, New York (1984). 8. S. Harrington. Computer Graphzcs. A Programming Approach. McGraw-hill, New York, pp. 123-143 (1983). 9. H P. Bao. Engineenng specification and system design of CAD-CAM of custom shoes. Techmcal Report UMC-IE-30189, Umversity of Missouri-Columbia, pp. 17-25 (1989). 10 H P. Bao. On the machining of cylindncal objects with complex curvatures. J Mech. Work Technol. 20, 17-24 (1989). 11 P. Soundar. Computer aided design and manufacture of cyhndrical objects wRh compound curvature. Unpubhshed Master Thesis, Department of Industrial Engineenng, Umversity of Missouri-Columbia, December (1991). 12 I. D. Faux and M. J. Pratt. Computat:onal geometry for des:gn and manufacture. Elhs Horwood, England, pp 106-107 (1983). 13. R B. Jerard, R L. Drysdale, K Hauck, B. Schaudt and J. Magewick. Methods for detecting errors m numerically controlled machining of sculpted surfaces. IEEE Comput. Graphtcs Apph. 9, 26-39 (1989). 14. C. G. Saunders and G. W. Vickers. A generahzed approach to the replicatton of cyhndrical bodies wtth compound curvature Trans ASME, 106, 70-76 (1984) 15. R. C. Luo. Automattc 3-D foot and shoe last shape venficat~on. Report of robotics and intelligent system laboratory, Department of Electrical and Computer Engmeenng, North Carolina State Umverstty, September (1988).