In this study we attempt to deal with process planning, scheduling and preventive maintenance (PM) decisions, simultaneously. The objective is to minimize the total completion time of a set of jobs on a CNC machine. During the process planning, we decide on the processing times of the jobs which are controllable (i.e. they can be easily changed) on CNC machines. Using shorter processing times (higher production rates) would result in greater deterioration of the machine, and we would need to plan more frequent PM visits to the machine, during which it would not be available. Therefore, the selected processing times determine not only the completion times but also the PM visit times. We first provide optimality properties for the joint problem. We propose a new heuristic search algorithm to determine simultaneously the processing times of the jobs, their sequence and the PM schedule.