Patent ID: 7805215

Claim:
A programming device that programs a machining control program that is used when a numerical control device performs machining control of a machining-target object by changing an axial direction of a tool, the programming device comprising: a machining-target-area data storage unit that stores therein data on a machining-target area of the machining-target object; a tool-axial-direction setting unit that sets an axial direction of the tool with respect to the data on the machining-target area stored in the machining-target-area data storage unit based on data input from outside when the machining-target object is to be surface-machined; a tool-deepest-position setting unit that sets a deepest position of a tip of the tool with respect to the data on the machining-target area stored in the machining-target-area data storage unit based on data input from outside when the machining-target object is to be surface-machined; a surface-machining-target-area extracting unit that extracts a surface-machining-target area of the machining-target object as data on the surface-machining-target area from the data on the machining-target area based on the axial direction of the tool set by the tool-axial-direction setting unit, the deepest position of the tip of the tool set by the tool-deepest-position setting unit, and the data on the machining-target area stored in the machining-target-area data storage unit; a machining-process-data determining unit that determines data on machining processes for surface-machining the machining-target object based on the data on the surface-machining-target area extracted by the surface-machining-target-area extracting unit; and a programming unit that programs a machining control program that complies with the data on the surface-machining-target area extracted by the surface-machining-target-area extracting unit and the data on the machining processes determined by the machining-process-data determining unit, wherein the surface-machining-target-area extracting unit extracts a maximal area that can be machined without causing interference with the machining-target object as the data on the surface-machining-target area when the machining-target object is surface-machined to the deepest position of the tip of the tool set by the tool-deepest-position setting unit in the axial direction of the tool set by the tool-axial-direction setting unit.