A feature library, an algorithm, and an interactive computer program are developed for design of parts machinable in four-axis CNC lathes with milling capabilities. Parts can be checked, visualized, manipulated and modified during or after the design. Previously designed parts can be retrieved and modified for design of new similar parts. The feature library comprises features for turning and related operations; features for planar milling operations to remove material from the cylindrical surface or from the face of the workpiece; features for cylindrical milling operations to remove material from the cylindrical surface of the workpiece; features for boring and related operations; features for single and patterned holes, and hole operations, such as, center drilling, drilling, boring, reaming, groove cutting, tapping, counterboring, countersinking and spotfacing, and features for detail operations such as external and internal threading, external and internal helical groove cutting, knurling and machining of various slots. Parts are designed by using a hybrid algorithm. The main geometry of the part is formed by using the primary operations. For this, parametrically modeled primitives are retrieved from the library, and joined by using union operations. Then, milling, boring and hole operations and details are included again by using parametrically modeled features and subtraction operations as the secondary operations. Blank geometry, which can be a circular, hexagonal, square or rectangular bar; or a part made by forging or casting is defined again by using operations on available primitives. All of the features contain information on process sequencing, cutting tools, tool paths, machining parameters and G-codes. Thus, when the design of the part is completed, information for generation of the CNC program becomes readily available.