The **Smooth** tool is one of the original Meshmixer tools. Although it is quite simple, you will find that it often serves as a sort of "magic eraser" that can resolve many artifacts that other tools (Meshmixer or otherwise) might leave behind. The image to the right shows the basic premise behind the Smooth tool. Within the area(s) you have selected (in this case the entire bunny), details are smoothed out. Sometimes we think of this as the objet being "melted".

The shortcut key combo for Smooth is **ctrl/cmd+f**

The property panel for Smooth is shown on the left. There are not many controls, and in most cases you will find that you only need one. We explain the Smoothing Type below. The actual **Smoothing** slider is not one you will likely ever need to change. We explain this below, along with **Smoothing Scale**, which is the parameter you are most likely to interact with. Similarly **Constraint Rings** has only a few specific uses.

One caveat with Smooth is that it does require significantly more computation time for meshes with large numbers of triangles. If you have millions of triangles, be prepared to wait several minutes for the result to compute.

## Smoothing Type

The default **Smoothing Type** is Shape Preserving, and you will rarely need to use any other setting. This mode is in fact mathematically proven to produce the smoothest result. However, in some cases you may wish to use Uniform mode instead, which is less smooth but results in triangles with better shape properties. Finally Max Smoothness is in fact just a shortcut mode that does the same as Shape Preserving, but with maximum Smoothing Scale (see below).

The image below shows an initial mesh and then default smoothing for Shape Preserving (middle) and Uniform Triangles (right). In this case, "Shape Preserving" actually refers to the shapes of the individual triangles, not the 3D shape. You will notice in the middle image that the shapes of triangles are much closer to the original, compared to the right image, where the triangles are (at least locally) much closer to "regular" triangles. The only reason to use Uniform Triangles mode is if you are in fact more concerned with regularity of the mesh than the surface smoothness.

Here are the same meshes as above, with shaded renderings. You can see in the Uniform Triangles surface (right) that the cheeks have been smoothed more than in the middle image, but around the eyes there is less smoothing. Essentially, the Uniform Triangles mode is sensitive to the triangle density. It will smooth less where there are more triangles. The Shape Preserving mode compensates for this behavior, and as a result the "amount" of smoothing is more consistent across the surface.

## Smoothing Scale

In our Smoothing algorithm, we have a notion of a sort of "feature size" which we would like to preserve. Features that are "larger" than this size should keep their shape, while smaller details can be smoothed. The **Smoothing Scale** parameter (approximately) controls this size. Unfortunately, this scale cannot be directly specified as a world-space dimension. The effect of the numeric Smoothing Scale is relative to the mesh density - if you have the same surface at different mesh resolutions, you will need to use higher scale values to see the same amount of smoothing. So, our numeric slider takes values between 0 and infinity (actually 10,000), with 0 being effectively no smoothing and infinity being as-smooth-as-possible. Below we show increasing the Smoothing Scale left-to-right.

Although the Smoothing Scale slider only goes up to 100, you can also halve/double this value using the **left/right arrow** keys, which gives you 8 steps up from the default that you can quickly explore, before any necessary fine-tuning. The **q** hotkey will also immediately set this slider to max smoothness.

The **Smoothing** slider basically controls the amount of smoothing within the scale we have currently selected. In general it is best to leave this at 1. Values between 0 and 1 can produce strange artifacts because the mesh density again plays a role. You can also set this value to negative numbers, in which case details are actually *exaggerated* rather than smoothed. This is fun to experiment with, but has no clear practical purpose beyond the artistic.

## Constraint Rings

By default we attempt to maintain tangent continuity at the edge of your selected region. As a result, even when you set the smoothing level to very high, the shape should remain rounded if the boundary is rounded, as in the image below-left. This is actually implemented by adding "soft constraints" on rings of the interior triangles, to blend between smoothed and not-smoothed positions. The **Constraint Rings** slider controls the number of rings. The most common use is to reduce this to 1, in which case the boundary constraints become position-only constraints, and we no longer try for tangent continuity. This produces flatter shapes, as shown below-right.

In fact, if we are only solving for positional constraints, then the smoothed region is approximately a minimal-mean-curvature surface, with the given boundary. Sometimes these are called "soap-bubble" surfaces.

## Smooth as a Design Tool

Although the most common use for Smooth is probably to massage non-smooth regions in 3D scans, Smooth is also a very powerful tool for 3D shape design. Essentially you can use Smooth to create very refined versions of your input meshes, with arbitrary constraints specified by non-selected regions. Below is a simple example, where we have three input cylinders which have been combined with Boolean operations. A quick smooth allows us to create a proper blend between these cylinders, in just a few seconds.

The images below show another example, where the leftmost hook is exported from a B-Rep Solid Modeling CAD tool. We designed the hook with simple shapes and then used Fillet operations to create rounded edges, however we could not make the Fillets any larger. After exporting to Meshmixer, we can use Smooth to quickly explore a wide range of transitions. In this case you can think of Smooth as a sort of Magic-Auto-Loft. Note that Plane Cut is quite useful to create face groups for this kind of operation.

Finally, in the video below we have taken an initial "chunky" bracket, subtracted a few cylinders from the sides, and then smoothed the result. This produces a much more organic shape that still contains all the important holes. In this case the goal was actually to reduce the mass of the original shape. The final solid we produce has roughly 50% the mass of the original bracket.