Patent ID: 8229590

Claim:
A programming apparatus for generating an NC program for turning and milling a workpiece, comprising: a model data storage section for storing three-dimensional model data representing the shape of a workpiece after machining; a machining area recognizing section for recognizing, on the basis of the three-dimensional model data of the workpiece stored in the model data storage section, a plurality of machining areas which are areas to be machined; a workpiece dividing section for setting, on the basis of the three-dimensional model data of the workpiece stored in the model data storage section and the machining areas recognized by the machining area recognizing section, a plurality of structures which each include one or more of the machining areas and which are obtained by dividing the workpiece in its axial direction; a connection relationship recognizing section for recognizing a connection relationship between the machining areas on the basis of the three-dimensional model data of the workpiece stored in the model data storage section and the machining areas recognized by the machining area recognizing section; a machining area list generating section for, on the basis of the machining areas recognized by the machining area recognizing section, the structures set by the workpiece dividing section, and the connection relationship recognized by the connection relationship recognizing section, recognizing, for each of the machining areas included in the structures, either a machining type related to turning or a machining type related to milling which corresponds thereto, and generating a machining area list in which the structures, the machining areas, the machining types and the connection relationship are correlated with one another; a machining process setting section for setting, for each of the machining areas, a machining process which corresponds to the machining type related to turning or machining type related to milling thereof on the basis of the machining area list generated by the machining area list generating section; an NC program generating section for generating an NC program on the basis of the machining processes set by the machining process setting section; and an NC program storage section for storing the NC program generated by the NC program generating section.