I haven't touched Spline motion since KSS 5, and didn't do much with it even then. Now I'm looking at needing to do a lot of offline-generated Spline paths under KSS 8.3, and want to get a handle of some of what I can and can't do.
The manual states that Spline motions cannot be approximated with conventional motions. Okay, clear enough. But it appears to be possible to approximate between Spline blocks, and individual Spline motions. So, this is what I'm looking at:
SPLINE ; Path 1 spline block
...
ENDSPLINE
IF NOT bBlend THEN
SPL pTangentEscape
RETURN
ENDIF
SPLINE ; Path 2
...
ENDSPLINE
Display More
Basically, I'm running a polishing application across some complex contours. Each contour is a Spline block, and the bBlend is a non-runtime Boolean that configures whether the polishing tool makes a continuous motion from one contour into the next, or if I'm doing just one contour and then escaping out tangent to it (I have make and break contact with the surface very carefully and smoothly).
The underlying idea is that I might be polishing the entire part, or just going in to do a particular contour. The Boolean will be set well in advance, so I don't have any worries about timing, the advance pointer, Triggers, or anything else along those lines (yet).
What I'm looking for is how the behavior of the robot changes depending on the Boolean. What I want is for the robot to smoothly approximate from Path 1 into Path 2 without any velocity changes or wobbles if the Boolean is True, and to smoothly exit Path 1 to pTangentEscape without any weird accel/decel events or strange path behavior if the Boolean is False. Does this pseudocode accomplish this, or am I chasing a wild goose here?