CNC software techniques