Traditional process planning systems require human input to interface between CAD and CAM systems. The purpose of the present study is the development of a generative process planning methodology for automated generation of CNC codes for 3-axis milling centers with the native CAD geometry as the only primary input. The proposed methodology uses geometric reasoning algorithms for recognizing machinable volumes, set up planning, fixture planning, tool selection, and tool path selection to generate machine codes. Rather than recognizing arbitrary defined machined features, specific features are recognized and mapped to machine tool paths in tool path planning software, thus allowing integration with commercially available software for CNC code generation. The geometric reasoning algorithms use boundary representation (B-rep) to decompose removal volumes into discrete milling operations. The algorithms presented here encompasses planar and cylindrical faces, but are flexible in that they can be extended to handle more complex geometry. Mastercam is then used (via an application programming interface) to generate tool paths using scripted point-by-point specification of tool paths, machine linking parameters and tool settings for each of these milling operations. Results pertaining to of end-to-end integration of the algorithms in the automated process planning and machining of test parts through multiple setups are presented and discussed.