A computer-implemented method, the method comprising: receiving a data model representation of a part, the data model representation including at least one layer of the part and inner and outer contours for the at least one layer ; determining a hatch pattern for each layer of the at least one layer of the part, the hatch pattern for each layer being dependent on the inner and outer contours for each respective layer ; generating, via a contour based hatching engine , a record of the determined hatch pattern for each layer , the record including locations for the hatch pattern for each layer ; and saving, via a data storage device , the record of the determined hatch pattern for each layer of the part; wherein the determining of the hatch pattern for each layer of the at least one layer of the part, comprises: determining a skeleton for each layer of the part, the skeleton being centrally located between the inner and outer contours of the part; fitting, for each layer of the part, a continuous spline over the skeleton of each layer of the part; and generating a plurality of hatches for each layer of the part, characterized in that each of the plurality of hatches having a fixed hatch angle relative to the spline for each respective layer of the part and the plurality of hatches for each layer of the part comprising the determined hatch pattern for each layer of the part. receiving a data model representation of a part, the data model representation including at least one layer of the part and inner and outer contours for the at least one layer ; determining a hatch pattern for each layer of the at least one layer of the part, the hatch pattern for each layer being dependent on the inner and outer contours for each respective layer ; generating, via a contour based hatching engine , a record of the determined hatch pattern for each layer , the record including locations for the hatch pattern for each layer ; and saving, via a data storage device , the record of the determined hatch pattern for each layer of the part; wherein the determining of the hatch pattern for each layer of the at least one layer of the part, comprises: determining a skeleton for each layer of the part, the skeleton being centrally located between the inner and outer contours of the part; fitting, for each layer of the part, a continuous spline over the skeleton of each layer of the part; and generating a plurality of hatches for each layer of the part, characterized in that each of the plurality of hatches having a fixed hatch angle relative to the spline for each respective layer of the part and the plurality of hatches for each layer of the part comprising the determined hatch pattern for each layer of the part. determining a skeleton for each layer of the part, the skeleton being centrally located between the inner and outer contours of the part; fitting, for each layer of the part, a continuous spline over the skeleton of each layer of the part; and generating a plurality of hatches for each layer of the part, characterized in that each of the plurality of hatches having a fixed hatch angle relative to the spline for each respective layer of the part and the plurality of hatches for each layer of the part comprising the determined hatch pattern for each layer of the part. <EOS>