Fill Holes
The Fill Holes tool automatically detects and fills holes (open boundaries) in surface meshes, creating watertight geometry suitable for 3D printing, simulation, and other applications that require closed surfaces.
This tool is provided for research and educational purposes only. Any clinical or diagnostic use requires proper validation in accordance with applicable regulations.
Overview
Holes in surface meshes are open boundaries where edges are connected to only one triangle instead of two. Holes commonly occur from:
- Cutting or clipping operations
- Mesh editing that removes triangles
- Incomplete segmentation
- Import of non-watertight geometry
The tool works on the active surface object and offers two independent groups: Fill all holes decides what gets filled, and Identify holes shows you what is there before and after.
Interface
Fill all holes
Fill all holes is a checkable group, and it is on by default.
| State | Behaviour |
|---|---|
| On (default) | Every hole is filled, whatever its size. The Maximum hole size (mm) field is greyed out, because no limit applies |
| Off | Only holes up to Maximum hole size (mm) are filled; anything larger is left open |
| Parameter | Description | Range | Default |
|---|---|---|---|
| Maximum hole size (mm) | Largest hole diameter that will be filled. Available only while Fill all holes is off | 0 to 9999999.99 | 0 |
The field starts at 0, which fills nothing. Turning Fill all holes off without raising it leaves the surface unchanged. Read the largest hole diameter from Identify holes first, then set the limit between the openings you want closed and the ones you want kept.
The value is a diameter, matching the diameters reported by Identify holes, so a number read from that table can be typed straight in. Use the limit to close small defects while leaving genuine openings, such as pipe ends or a hollowed model's drain hole, untouched.
Identify holes
Identify holes is a checkable group, off by default. Turning it on finds the open boundaries of the active surface, highlights them in the 3D view, and fills in a two-column table:
| Row | Description |
|---|---|
| Surface name | The surface the results belong to |
| Number of holes | How many open boundaries were found |
| Smallest hole diameter (mm) | Diameter of the smallest one |
| Largest hole diameter (mm) | Diameter of the largest one |
This is a summary of the surface, not a per-hole list: holes cannot be picked individually, and filling is always driven by Fill all holes and the size limit. Turning the group off hides the highlighting again.
The table is recalculated automatically after every Apply, so leaving Identify holes on shows immediately how many holes remain. Number of holes reaching 0 is the confirmation that the surface is now closed.
Actions
| Button | Description |
|---|---|
| Apply | Fill the holes of the active surface, according to the settings above |
Apply modifies the active surface in place and can be undone with Ctrl+Z. It reports a warning and does nothing if no surface is active, or if the active surface is too small to have a fillable boundary.
Hole Filling Algorithms
The Fill Holes tool uses algorithms optimized for different hole shapes:
Simple Holes
Small, roughly circular holes are filled with a minimal number of triangles, creating a planar or slightly curved cap.
Complex Holes
Larger or irregularly shaped holes are filled using algorithms that:
- Respect the local surface curvature
- Create well-shaped triangles (good aspect ratios)
- Blend smoothly with the surrounding surface
Typical Workflows
Fill All Holes Automatically
For surfaces with many small holes:
- Open the Fill Holes tool
- Enable Fill all holes mode
- Set an appropriate Maximum hole size
- Click Apply
All holes smaller than the threshold are filled.
Selective Hole Filling
To fill only specific holes:
- Open the Fill Holes tool
- Enable Identify holes mode
- Review the table of detected holes
- Click on holes in the 3D view or table to select them
- Check the Selected column for holes you want to fill
- Click Apply
Only the selected holes are filled.
Preparing for 3D Printing
To ensure a surface is watertight:
- Run Diagnostics and Fixes to identify all issues
- Open Fill Holes and identify all holes
- Review hole sizes—very large holes may indicate intentional openings
- Set Maximum hole size appropriately
- Fill holes
- Re-run diagnostics to verify the surface is closed
After Cutting/Clipping
After using Cut or Clip tools:
- Open Fill Holes
- Enable Identify holes to see the new openings
- Fill holes as needed
- Note: For clean planar caps, use Clip with Closed clip option instead
Best Practices
-
Use Identify mode first: Before filling all holes automatically, use Identify mode to understand what openings exist and their sizes.
-
Set appropriate thresholds: Use the Maximum hole size parameter to avoid filling intentional openings like pipe ends or cavity entrances.
-
Check the results: After filling, verify that:
- Filled regions have appropriate geometry
- No unintended openings were filled
- Surface remains manifold
-
Consider alternatives: For planar cuts, using Clip with Closed clip creates cleaner caps than hole filling.
-
Run diagnostics after: Use Diagnostics and Fixes to verify the surface is now closed and manifold.
-
Smooth if needed: Large filled regions may benefit from Smooth to blend better with surrounding geometry.
Hole Size Considerations
The hole diameter is calculated as the diameter of a circle with equivalent perimeter length. This is an approximation—irregular holes may be larger or smaller than their calculated diameter suggests.
| Hole Size | Typical Source | Recommendation |
|---|---|---|
| < 1 mm | Mesh artifacts, numerical precision issues | Fill automatically |
| 1-10 mm | Small defects, editing artifacts | Review and fill |
| 10-50 mm | Cutting operations, significant defects | Evaluate carefully |
| > 50 mm | Intentional openings, major cuts | Usually leave open or use Clip |
Troubleshooting
Holes Not Detected
If holes aren't appearing in the table:
- Ensure the surface has actual open boundaries
- Check that you've selected the correct surface
- Run Diagnostics and Fixes to verify hole count
Poor Fill Quality
If filled regions look incorrect:
- Large, complex holes may not fill well—consider using Voxel Remesh instead
- Very elongated holes may need manual triangle editing with Editor
- Apply Smooth to improve the transition
Too Many Holes to Fill Individually
If there are many small holes:
- Use Fill all holes mode with an appropriate maximum size
- Consider using Voxel Remesh which closes holes during processing
- Check if the source data or segmentation can be improved
See Also
- Diagnostics and Fixes - Comprehensive hole detection and mesh repair
- Clip - Create clean planar cuts with caps
- Cut - Remove portions of surfaces
- Editor - Manual triangle editing for complex holes
- Voxel Remesh - Alternative approach that closes holes during remeshing