La programación debe basarse en el funcionamiento de la máquina herramienta. Las trayectorias de las herramientas, las posiciones de las piezas de trabajo, etc. no pueden respaldarse únicamente con la teoría.
Aprender programación desde cero ya es complicado, pero la programación en cinco ejes es aún más complicada.
Te recomiendo un material de aprendizaje, http://www.skjgzx.org/wenda
Combinar la teoría con la práctica es una buena manera de aprender equipos CNC.