A processing program generation device Z configured to receive a laser beam diameter data and a blank layout data in which part graphics are arranged in a graphic showing a material; the allocation data generation device comprising: a shared cut setter configured to set a first line segment comprised in a first part graphic in the graphic showing the material for creating a first part by cutting the material with the laser beam and a second line segment comprised in a second part graphic in the graphic showing the material for creating a second part by cutting the material with the laser beam respectively as first and second shared cutting set lines, based on an instruction by an operator; a part graphic position controller configured to control positions of the first and second part graphics such that the first and second shared cutting set lines are spaced apart from each other by a distance of the beam diameter of the laser beam and are parallel with each other; an expanded external shape line setter configured to set first and second expanded external shape lines respectively to position in which external shape lines of the first and second part graphics are expanded by a distance of a half of the beam diameter in a state in which the first and second shared cutting set lines are spaced apart from each other by the distance of the beam diameter and are parallel with each other; a shared cutting line setter configured to set one of mutually overlapped line segments of the first and second expanded external shape lines as a shared cutting line and delete the other; an external shape cutting line setter configured to set a portion of the first and second expanded external shape lines from which the mutually overlapped line segments are excluded as an external shape cutting line for cutting an external shape of aggregated part graphics comprising the first and second part graphics; and an allocation setter configured to allocate a cut path to the external shape cutting line and the shared cutting line by the laser beam and generate allocation data of the aggregated part graphics, the allocation data generation device being further configured to generate a processing program for controlling a laser processing machine based on the blank layout data and the allocation data. a shared cut setter configured to set a first line segment comprised in a first part graphic in the graphic showing the material for creating a first part by cutting the material with the laser beam and a second line segment comprised in a second part graphic in the graphic showing the material for creating a second part by cutting the material with the laser beam respectively as first and second shared cutting set lines, based on an instruction by an operator; a part graphic position controller configured to control positions of the first and second part graphics such that the first and second shared cutting set lines are spaced apart from each other by a distance of the beam diameter of the laser beam and are parallel with each other; an expanded external shape line setter configured to set first and second expanded external shape lines respectively to position in which external shape lines of the first and second part graphics are expanded by a distance of a half of the beam diameter in a state in which the first and second shared cutting set lines are spaced apart from each other by the distance of the beam diameter and are parallel with each other; a shared cutting line setter configured to set one of mutually overlapped line segments of the first and second expanded external shape lines as a shared cutting line and delete the other; an external shape cutting line setter configured to set a portion of the first and second expanded external shape lines from which the mutually overlapped line segments are excluded as an external shape cutting line for cutting an external shape of aggregated part graphics comprising the first and second part graphics; and an allocation setter configured to allocate a cut path to the external shape cutting line and the shared cutting line by the laser beam and generate allocation data of the aggregated part graphics, the allocation data generation device being further configured to generate a processing program for controlling a laser processing machine based on the blank layout data and the allocation data.