5X Linear Motions

In a 5X toolpath, each linear motion may contain a rotation of one or two axes. That rotary motion may introduce a small (or large) error in the tool tip motion, based on the lever (the rotation radius) and the rotation angle. The error is simply the difference between a straight line and a small arc - both connecting the same two points. These errors may lead to small gouges in the part. See image below, where an exaggerated case is shown.

In order to minimize such errors, GPP2 supports control over the largest rotation angle allowed in each linear motion step. Clearly, the smaller the arc - the smaller is the difference between the arc and the linear line.

GPP2 supports an adaptive algorithm to determine the maximum allowed angle in each linear motion step. If the X5_FEED_BY_TOL variable is set to TRUE_, GPP2 will use the procedure tolerance value as the basis for calculating the maximum allowed angle. The procedure tolerance is defined by the PART_TOL (surface tolerance) or CONT_TOL (contour tolerance) variables - the smaller of the two.

Using the procedure tolerance and the rotation radius, GPP2 calculates the maximum angle to use (per axis), so that the resulting error will be limited to half that tolerance.

In addition, the maximum angles are limited by the following variables:

  X5_FEED_MAX_ALPHA - maximum delta angle for the alpha axis

  X5_FEED_MAX_BETA  - maximum delta angle for the beta axis

If the numbers derived from the tolerance are higher than these numbers, the smaller numbers are used.

Finally, the GPP developer can also define a lower limit for the per-step angle, by setting the X5_FEED_MIN_ALPHA and X5_FEED_MIN_BETA variables. By default, they are set to zero, and have no effect. If set to positive non-zero values, they can ensure that GPP2 will not break linear motions to a huge number of very small steps (in case the procedure tolerance is near zero).

For cases where the GPP developer chose not to use the procedure tolerance to determine the maximum angles (X5_FEED_BY_TOL is set to FALSE_), then GPP2 uses the numbers provided in the X5_FEED_MAX_ALPHA and X5_FEED_MAX_BETA variables.

Example (shown on one axis only):

  X5_FEED_MAX_ALPHA = 1.0;    // never rotate more than 1.0 degree per step

  X5_FEED_MIN_ALPHA = 0.05;   // but never use steps smaller than 0.05 degree

Effects of RTCP: Machines with RTCP may be able to do the correction by themselves, even if the rotated angle is relatively large. However, GPP2 will always consider the X5_FEED_MAX_ALPHA and X5_FEED_MAX_BETA variables, regardless of RTCP status. No single linear motion will have a larger axis rotation.

However, the procedure tolerance will only be considered for a given axis if RTCP for that axis is off.

Some functionality may be dependent on the product package. Contact your Reseller if you require a license.