hy! a bit late, i know
i just found this
if by "on the fly" you reffer to start indexing @ random position, while :
... turret is static - case 1
... turret is moving, thus ignoring T answer - case 2
syntaxes for osp300 may be something like this :
... case 1
......... case 2 without M65
... case 2
......... G0 X... Z... M63 T... M66 M65 , or
......... G0 X... Z... M63 G97 S... M42 M03 M08 T... M66 M65
about case 2, i don't recomended it, because :
1) you must be sure that turret can rotate 360 at [ X... Z... ], because indexing may ocure after the linear movement perfomed, as whell as before or during, depending on reaction time and linear movement duration; this means that you should consider the safe position not before the line that contains M66, but after, and in this case why use the M65 ? another variant would be using a linear movement long enough to be sure that indexing is done until 1/4 ... 1/2 of the linear movement occured, but this lead to far safe position, so you gain time because of the ctr, and you lose it because safe positions are too far
2) turret indexing is not dynamically repeatable, thus there are different shocks when indexing to same tool; this shocks are pretty big on a full turret, not to mention heavy tools; thus, when you add turret index inertia over turret linear movement inertia, result is a shock during non cutting, greater than the ( closer to ) forces during cutting
ctr is fast to setup; most time gain comes from good fixtures, special tools & holders, fast cutting specs ( generally bigger feeds ), etc; this enumaration takes time to implement, much more time than ctr
i said all this because "you do this on newer okuma all the time"
most of the time do you craft uniques / low series or bigger series ?
so, if you are crafting small series, how do you declare the turret position before using the ctr codes ? do you use M65 or M66 ? kindly !