Millwizard can do this and it's free but only does one pass, you may have to do 2 or 3 programs with different cutters to get an acceptable finish.
Vectric's Cut3D can also do it using roughing and finishing passes, bought program, not free.