In order to meet the needs of enterprises for chamfering complex parts, based on the customization of commercial CAD/CAM software, chamfer programming software is developed. According to user’s machining demands for a part, a chain of edges of a part is extracted from its 3D model. With preprocessing of the chain of edges, the continuity of the chain is estimated, and the start and end point of those edges are automatic obtained. Furthermore, with human-machine dialogue, machining parameters is set by users. By definition of the primary and secondary surfaces of the chain of edges, and interpolation of the edges, the positions of cutter location point and postures of cutter are calculated. Finally the interference of tool path is checked, and tool path is simulated. The software solves the programming problem of chamfering complex parts.