# Blend Radius

### From DocR25

The *blend radius* refers to the radius of the figurative rolling ball. The blend radius may either be constant or variable. Any combination of variable radius and constant radius blends may exist in a sequence of edges to be blended, as long as they always meet one another with matching radius values.

## Contents |

## Constant Radius Blends

When the blend radius is constant, the spine and spring curves are obtained by:

- Offsetting the two body surfaces by the radius distance.
- Intersecting the two offset surfaces to find the blended spine.
- Projecting the spine onto each of the two body surfaces to find the spring curves.

Constant radius blends are represented by the rolling ball surface type (`rb_blend_spl_sur`). This surface type replaced the use of pipe surface (`pipe_spl_sur`) which were created by older versions of ACIS. The surface of a constant radius blend is represented by either a spline surface or a simple analytic surface. The spring curves bound the portion of the surface used for the blend.

In general, the blend surface is represented by a spline. Under certain geometric conditions, (that is when the spine curve is a simple curve type), the blend surface is represented by a simple analytic surface, for example:

If the spine is a | then the surface is a |
---|---|

straight line | cylinder |

circular arc | torus |

point | sphere |

The corresponding points on the spine and spring curves (that is, the center and the two contact points of the rolling ball at a given position) determine a plane. The spine curve is perpendicular to this plane. Dropping a perpendicular from a point on the spine curve onto the other two curves provides the corresponding points.

## Variable Radius Blends

Allowing the blend radius to vary introduces some fundamental differences into the algorithms. The offset intersection algorithm used to find the spine and spring curves works only for constant radius blends, because a variable offset is ill-defined on a surface. A figurative rolling ball must be set up at the desired position to evaluate the curves and the blend surface, and a marching algorithm is required to find the approximating curves and surface. Analytic surfaces cannot be used to represent even simple variable radius blends. The spine and spring curves are no longer perpendicular to the plane defined by corresponding points.

When a variable radius function is specified, there must be some way to indicate exactly where along the blend a particular radius value is obtained. ACIS uses the geometry of the edge being blended to calibrate this. The parameter of the radius function is the parameter of the edge curve. At a given *v*parameter, a ball of radius *r*(*v*) is set up so that its center is in the plane perpendicular to the edge curve, evaluated at *v*.

### Variable Radius Blend Surface Types

Standard blending supports two mathematical definitions of variable radius blend surfaces. The first is a *rolling ball snapshot* blend surface. The second type (introduced in Release 5.0) is a *rolling ball envelope* blend surface. Although geometrically similar, sequences of the rolling ball envelope surface are smoother, and their offsets are better behaved. Their spring curves are identical, but the cross sections have a subtly different shape. This allows the rolling ball envelope to be perfectly smooth across transitions between blend surfaces in a smooth sequence of edges.

The Advanced Blending Component provides a third mathematical definition of a variable radius blend surface called a *sliding disc*. Both the rolling ball snapshot and the sliding disc surface types have a slight crease between faces if the blend rolls across an edge that is smooth but not curvature continuous and if the radius is varying as it crosses the edge. This can cause near tangency problems when the surfaces are offset. The rolling ball envelope surface addresses this problem and permits robust performance in operations that use surface offsets.

The type of variable radius blend surface created (for standard blending only) is controlled by option `bl_envelope_surf`. If this option is on (TRUE), a rolling ball envelope blend surface is created. If it is off (FALSE), a rolling ball snapshot blend surface is created. However, applications are discouraged from changing this option setting.

#### Simplest Variable Radius Blend Surface Used

The variable radius blend algorithms construct the simplest blend surface that can represent the geometry requested. For example, if a variable radius blend is specified with a start and an end radius value, and these values are the same, then a constant blend will be made. This behavior is controlled by the option `blend_make_simple`, but applications are strongly discouraged from changing this option setting.

## Geometric Limitation on the Blend Radius

During blending, if the blend supports are not flat (the curvature of a blend support is of the same type as the curvature of the blend being requested), then the blend surface may become self-intersecting, resulting in the blend operation to fail.

Consider two bodies (*Figure. Concave Cylindrical Face* and *Figure. Convex Cylindrical Face*), which are quite similar with the exception of the cylindrical face (highlighted in yellow shade) being concave in the first figure and convex in the second figure:

When attempting to blend the three edges marked red (*Figure. Concave Cylindrical Face* and *Figure. Convex Cylindrical Face*), note that both bodies have a high-curvature face (highlighted in yellow), which should serve as a support for one of the blend faces. In both the bodies, the curvature radius of the yellow face is lower than the requested blend radius. This does not present any difficulties in the first case (*Figure. Valid Result for Blend with High-curvature Support*), as the curvature vector of the support surface and that of the blend face point in opposite direction (that is, the support is concave, but the blend, in convex). However, in the second case, both the curvatures point inside the body (that is, both the support and the requested blend surface are convex), which causes the upper spring curve to form a loop and the blend surface to self-intersect (*Figure. Invalid Result for Blend with High-curvature Support*). Such an invalid situation is detected by ACIS and results in an error message to report a blend failure.