Vertex Smoothing

smoothingSet

smoothingSet(mainType:= SmoothingMainType, subType:= SmoothingSubType, value:= LReal)

Sets the vertex smoothing behavior according to the given parameters.

SmoothingMainType

Enumeration of the following values:

smoothingNone
smoothingParabola
smoothingBiquadratic
smoothingBezier3
smoothingBezier5
smoothingTwinBezier

smoothingNone: No smoothing.

smoothingParabola: For parabola smoothing a parabola is inserted geometrically into the segment transition. This ensures a steady velocity transition within the tolerance radius.

smoothingBiquadratic: With biquadratic smoothing there is no step change in acceleration in the axis components. With the same radius, a smaller input velocity may therefore be required than for parabolic smoothing.

smoothingBezier3: In case of the 3rd order Bezier curve a step change in acceleration appears in the axis components when the tolerance sphere is entered. The max. size is limited by the acceleration of the axis components and the C1 factor.

smoothingBezier5: With 5th order Bezier blending, no step change in acceleration occurs in the axis components on entry into the tolerance sphere. In other words, the path axis acceleration is always constant if blending is selected.

smoothingTwinBezier: With the aid of smoothing, it is possible to insert a Bezier spline automatically between two geometrical entries. It is only necessary to program the radius of the tolerance sphere. This describes the maximum permissible deviation from the programmed contour in the segment transition. The advantage of this type of smoothing as opposed to rounding with an arc is that there are no step changes in acceleration at the segment transitions.

Vertex Smoothing 1:

Acute angles at the segment transition

The Bezier splines are generated by default, even at very acute angles. In order to avoid the dynamic values being exceeded, a considerable reduction velocity is required in this case. However, since the dynamics are held constant in the spline, the movement across the spline can be quite slow. In this case it is often practical to start the segment transition with an accurate stop. The command AutoAccurateStop can be used to avoid having to calculate the angles manually.

SmoothingSubType

Enumeration of the following values:

smoothingRadius
smoothingDistance
smoothingAdaptive

Example

The example visualizes the effect of using a smoothing parabola. In the first two corners smoothing value 10 and in the third corner smoothing value 50 have been used. Finally, the fourth corner exhibits smoothing value 0.

N10 G01 X0 Y0 F60000
!smoothingSet(mainType:=smoothingParabola, subType:=smoothingRadius, value:=10);
N20 G01 X100
N30 Y200
!smoothingSet(mainType:=smoothingParabola, subType:=smoothingRadius, value:=50);
N40 X-100
!smoothingSet(mainType:=smoothingParabola, subType:=smoothingRadius, value:=0);
N50 Y0
N60 X0
M02
Vertex Smoothing 2: