couple of thoughts..
-With your 3phase motor and vfd - all you need is a spindle encoder and you can rigid tap. (without a servo) Linuxcnc does spindle synced motion.
-you have a rotory axis on your spindle I see. It isn't for the faint of heart but linuxcnc does kinematics. it can do the math to translate from joint/axis motion to 'part' motion. It makes gcode programming much easier. there are some sample configs.. but like I say - you would have to read up.
https://www.youtube.com/watch?v=0jQy-zc5P6w
https://www.youtube.com/watch?v=aF7C8d4d0nc
https://www.youtube.com/watch?v=DjPCEpZybXs