Offset: grow, shrink, shell or thicken a whole mesh

Offset a whole mesh, build a shell, add wall thickness or smooth a surface, and choose the right tool of the Offset family

7 min readVideo
In the app
  • Mesh EditOffset

Loads from YouTube (Google) when you press Play

Offset builds a new surface at a set distance from the surface of a mesh. Use it to make a part bigger or smaller, to turn a surface into a shell, to add a wall to a model or hollow it out, and to smooth small details away. Offset works through voxels: it converts the mesh into a voxel volume, shifts the surface there, and converts the result back into a mesh.

Which tool of the Offset family to use

The Offset button on the Mesh Edit tab has a drop-down list with three more tools. Hollow/Thicken is a separate button next to it.

Tool What it does
Offset Voxel-based offset of the whole mesh or of selected triangles; five modes, described below.
Partial Shell Builds a shell with a different thickness in the regions you save; the result is a new object.
Fast Offset Moves every vertex along its normal, with an extra offset for saved regions; fast, but the result is not guaranteed to be correct.
Z-Compensate For 3D printers: shifts the vertices of downward-facing surfaces along the Z axis.
Hollow/Thicken Makes a closed mesh from two copies of the surface shifted in opposite directions along the normals, without voxels.

To open Partial Shell, Fast Offset or Z-Compensate, click the arrow next to Offset and choose the tool in the list.

The Mesh Edit tab with the Offset drop-down list open (Partial Shell, Fast Offset, Z-Compensate) and the Offset panel with its default settings next to a CAD housing.

How to offset a mesh

  1. Select one or more meshes in the Scene tree.

  2. Click Mesh Edit › Offset. The Offset panel opens.

    The Offset button on the Mesh Edit tab.

  3. Choose a mode. Hover over a mode button to see its tooltip.

  4. Enter the distance in Value.

  5. Choose the Resolution and, if needed, change the Advanced settings.

  6. Click Apply (or press Enter). MeshInspector computes the offset and closes the panel.

The result replaces the mesh of the same object, and the object becomes one solid color: vertex colors and textures are not kept. To get the original mesh back, use Undo (Ctrl+Z, or Cmd+Z on macOS). If you need the original as well, make a copy with Mesh Edit › Clone first.

The panel looks different when triangles are selected on the mesh: see When triangles are selected.

The Offset panel without selected triangles: five mode buttons, Value, Resolution with the Custom voxel size and the Volume estimate, and the Advanced section.

Offset modes

Without selected triangles, the panel shows five modes. The pictures below show cross-sections of a hollow cube before (green) and after the offset.

Entire Model

Offsets the whole surface: a positive Value moves it outward, a negative Value moves it inward. Sharp outer corners become rounded when you offset outward. This is the default mode.

Cross-sections of a hollow cube after Entire Model offset with a positive value (larger, rounded corners), the original, and after a negative value (smaller).

Shell

Offsets the surface both outward and inward by Value and removes the original surface. The result is a closed shell of thickness 2 × Value around the original surface. Shell also works on open meshes, such as a single surface patch, and is a way to turn a surface into a solid wall.

Value in this mode cannot be smaller than 0.7 × the voxel size, so that the shell is at least one voxel thick; the panel raises a smaller value to this minimum.

Thickening

Creates an object of finite width with two bounding surfaces: the original surface and the offset surface. A positive Value adds a layer outside the original surface (thickening). A negative Value adds the layer inside it: a closed model becomes hollow, with a wall of thickness |Value| and the original outer surface. The result has two shells: the outer surface and the inner surface of the cavity.

Cross-sections of a hollow cube after Thickening with a positive value (a wall added outside), the original, and after a negative value (a wall inside).

A hollow model with two shells is what the Inner filling mode of Lattice Structures fills with a lattice. For the dental workflow, see Creating a hollow dental model.

Expand/Shrink

Performs a positive and then a negative offset by the same Value. Narrow gaps, slots and inner corners that close up during the first offset stay filled, and the rest of the surface returns close to where it was. Use it to fill small dents and round inner corners.

Cross-sections of a cube with a dome before and after Expand/Shrink: the inner corners where the dome meets the cube are filled and rounded.

Shrink/Expand

Performs a negative and then a positive offset by the same Value. Thin protrusions and sharp outer edges that disappear during the first offset do not come back, so the result is smoother. Use it to remove small spikes and noise from a surface.

Cross-sections of a cube with a sphere in a cavity before and after Shrink/Expand: the thin edges are removed and the outer corners are rounded.

Value

Value is the offset distance from the original surface. Its limits are ± the diagonal of the bounding box of the mesh, and the default is 0 mm. A negative value works in Entire Model and Thickening; Expand/Shrink and Shrink/Expand use the absolute value, and Shell accepts only positive values.

Resolution

Offset computes the result on a voxel grid. The Resolution section sets the voxel size: a smaller voxel keeps more detail of the surface but needs more time and memory.

Option What it does
Standard The default voxel size, computed from the size of the mesh and the offset.
High A finer voxel; the panel warns: Fine resolution - repair may take longer.
Ultra The finest preset; the panel warns: Ultra-fine resolution - expect significantly longer compute time.
Custom You enter the voxel size in the Resolution field.

With Custom, the panel shows the size of the voxel grid along X/Y/Z and the total number of voxels in Volume. The number is green below 10 million voxels, orange from 10 million, and red from 100 million voxels: red means a long computation and a lot of memory. If the custom voxel size is too small or too large for the mesh, MeshInspector replaces it with an automatic value and shows a message.

The Resolution section with Custom selected: a voxel size of 0.754 mm and the Volume estimate 321/485/660 = 102.8M voxels in red.

Advanced settings

Click Advanced to open these settings. Not every setting is shown in every mode.

Setting What it does Default
Anisotropy XYZ Increases the offset along an axis: a value above 1 for X, Y or Z makes the offset in that direction larger in proportion. One of the three values is always 1. 1, 1, 1
Mode How voxels are converted back into a mesh: Smooth (Dual Marching Cubes, rounds corners), Standard (Marching Cubes, sharper corners than Smooth), Sharpening (Marching Cubes plus post-processing that restores sharp features). Shown for Entire Model and Shell. Standard
Sign Detection How the inside of the mesh is told from the outside: Auto (the fastest safe method for this mesh), Winding Number (works with holes and self-intersections), Projection Normal (fast, but unreliable with holes and self-intersections). Hidden for Shell, for Thickening of an open mesh, and for a closed mesh in Smooth mode. Auto
Precision Relative precision of the winding number computation that finds the inside and outside of the body; smaller values compute faster. Shown with Auto and Winding Number. 0.5
Min New Vertex Deviation, Max New Rank 2 Deviation, Max New Rank 3 Deviation, Max Old Vertex Correction Fine control of the Sharpening post-processing, in voxel sizes. Shown for Entire Model with Mode = Sharpening. —
Decimate Decimates the result at the end to remove short edges and degenerate triangles. On
Reduce Total Angle Minimizes the total deviation of the angles between neighboring triangles from flat; this highlights sharp edges. With Decimate on, it runs before and after decimation and further reduces the number of triangles. On

Advanced can also show a Use NVIDIA GPU checkbox to compute on a CUDA-capable NVIDIA GPU; you can turn it on only if the computer has such a GPU with enough free memory. The macOS version does not have this checkbox.

When triangles are selected

If exactly one mesh is selected and it has selected triangles, the panel shows Mesh has selected region. and two modes that work only with the selection. To select triangles, use the tools of the Select tab, for example Select Primitives.

The Offset panel for a mesh with selected triangles: Partial Offset and Shell Region, Value, Resolution and Advanced.

Partial Offset

Offsets the selected part of the surface outward by Value; the rest of the mesh stays in place. In this example, the base of the bust was selected and offset.

Partial Offset applied to the selected base of a bust.

Shell Region

Builds a shell of thickness 2 × Value around the selected region. Only the shell remains: the rest of the original mesh is removed. In this example, Shell Region was applied to the upper part of the bust and the result is inspected with Mesh Edit › Section.

The result of Shell Region on the upper part of a bust, cut with the Section tool.

To give different parts of a mesh different shell thicknesses in one operation, use Partial Shell.

Customize Consent Preferences

We use cookies and similar technologies, such as local storage. You will find detailed information about all of them under each consent category below.

To learn more about how Google processes personal information, visit: Google privacy policy

Always Active