We introduce a new method that approximates free-form surfaces by envelopes of one-parameter motions of surfaces of revolution. In the context of 5-axis computer numerically controlled (CNC) machining, we propose a flank machining methodology which is a preferable scallop-free scenario when the milling tool and the machined free-form surface meet tangentially along a smooth curve. We seek both an optimal shape of the milling tool as well as its optimal path in 3D space and propose an optimization based framework where these entities are the unknowns. We propose two initialization strategies where the first one requires a user's intervention only by setting the initial position of the milling tool while the second one enables to prescribe a preferable tool-path. We present several examples showing that the proposed method recovers exact envelopes, including semi-envelopes and incomplete data, and for general free-form objects it detects envelope sub-patches.