Shells
The Shells tool analyzes disconnected components (shells) within a surface object, computing statistics for each shell and providing visualization options to differentiate and identify individual components. This analysis is valuable for understanding multi-component surfaces and assessing shell characteristics.
Overview
A surface may contain multiple disconnected shells—separate, independent mesh regions that don't share vertices or edges. The Shells tool:
- Identifies all distinct shells within the active surface
- Computes geometric statistics for each shell
- Visualizes shells using color mapping
- Exports statistical data for further analysis
This information helps with:
- Component identification: Understanding how many separate parts exist
- Quality assessment: Identifying unusually small or large shells
- Filtering decisions: Informing which shells to keep or remove
- Surface characterization: Understanding the composition of complex models
Accessing the Tool
Navigate to the Surface ribbon tab and locate Shells in the Analyze section. Select a surface object before activating the tool.
Visualization Methods
Four visualization methods are available, each colorizing shells based on different criteria:
Shell IDs
Visualize a color map representing shell IDs
Each shell is assigned a unique color based on its identification number. This visualization:
- Provides clear differentiation between all shells
- Makes it easy to count and identify separate components
- Uses a categorical color scheme for maximum distinction
This is the default method and is most useful for general shell identification.
Shell Volumes
Visualize a color map representing shell volumes
Shells are colorized based on their enclosed volume (for closed shells):
- Larger volumes appear as warmer colors
- Smaller volumes appear as cooler colors
- Open shells may display zero or undefined volume
This visualization helps identify the primary (largest) components versus smaller fragments or debris.
Shell Surface Areas
Visualize a color map representing shell surface areas
Shells are colorized based on their total surface area:
- Larger surface areas appear as warmer colors
- Smaller surface areas appear as cooler colors
Surface area provides a measure of shell size that works for both open and closed surfaces.
Triangle Counts
Visualize a color map representing the number of triangles in each shell
Shells are colorized based on their triangle count:
- More triangles appear as warmer colors
- Fewer triangles appear as cooler colors
This visualization reveals mesh density distribution and can help identify over- or under-tessellated regions.
Statistics Table
The Statistics table has one row per shell, numbered in the same order as the shell IDs used by the colour map:
| Column | Description |
|---|---|
| Shells | The shell number, starting at 1 |
| Triangles | Number of triangles in the shell |
| Volume (mm³) | Enclosed volume of the shell |
| Volume (%) | That volume as a percentage of the total volume of all shells |
| Surface area (mm²) | Surface area of the shell |
| Surface area (%) | That area as a percentage of the total area of all shells |
Click a column heading to sort by it. The numeric columns sort by value, not as text, so ordering by Volume (mm³) puts the largest shell at one end and the stray fragments at the other, which is the quickest way to find debris worth removing with Filter Shells.
Actions
Update
Click Update to recalculate shell statistics and update the visualization. Use this after:
- Selecting a different surface
- Modifying the surface geometry
- Changing the visualization method
Export Statistics...
Export Statistics... writes the table to a .csv file, exactly as shown, one row per shell with all six columns. The file opens directly in a spreadsheet for further sorting, charting, or inclusion in a report.
Practical Applications
Model Validation
Before processing or exporting a model:
- Run shell analysis
- Verify the expected number of shells
- Check for unexpected small shells (potential artifacts)
- Confirm major components have appropriate volumes
Pre-Processing Assessment
Before mesh operations:
- Analyze shell composition
- Identify shells that should be removed (using Filter Shells)
- Note shell volumes for verification after operations
- Document original shell statistics
Multi-Component Analysis
For models with intentionally separate parts:
- Visualize shells to confirm separation
- Review volumes to verify each component
- Identify any merged or split components
- Use statistics for component verification
Quality Inspection
For incoming meshes or scan data:
- Analyze for unexpected shell count
- Identify very small shells (noise, artifacts)
- Check that main geometry is intact
- Export statistics for quality records
Technical Considerations
Shell Identification
Shells are identified through mesh connectivity:
- Vertices connected by edges belong to the same shell
- No path exists between vertices of different shells
- Each triangle belongs to exactly one shell
Volume Calculation
Volume is computed for closed (watertight) shells:
- Uses the signed volume method based on triangle orientations
- Requires consistent normal directions for accurate results
- Open shells or shells with inconsistent normals may show incorrect volumes
Performance
Shell analysis involves:
- Connectivity analysis: O(n) where n is triangle count
- Volume calculation: O(n) per shell
- Overall: Efficient for typical mesh sizes
Very complex meshes with thousands of shells may take longer to analyze.
Relationship to Other Tools
The Shells analysis tool complements:
- Filter Shells: Use analysis results to decide filtering criteria
- Split: Separates shells into distinct surface objects
- Merge: Combines separate surfaces (creates single object with multiple shells)
- Diagnostics and Fixes: Identifies topological issues within shells
Interpretation Guidelines
Expected vs. Unexpected Shells
| Scenario | Interpretation |
|---|---|
| Single shell, expected | Normal solid object |
| Multiple shells, expected | Multi-component model (assembly) |
| Many small shells | Possible artifacts, noise, or fragments |
| Unexpected shell count | May indicate topology issues |
Shell Size Distribution
| Pattern | Typical Cause |
|---|---|
| One large, many tiny | Main geometry + artifacts |
| Several similar sizes | Multi-part assembly |
| Widely varying sizes | Mixed content (geometry + debris) |
| All similar sizes | Regular pattern or designed components |
Operation Log
No scripting method reports shell statistics, so the Operation Log is where a run is kept. Each run is listed with the surface it read, what the shells were coloured by, and how many shells it found. Choosing another visualization analyses the surface again, so it is listed as well. The colour map it leaves on the surface is display, so the entry carries no undo step and offers no Python call.
Common Issues and Solutions
| Issue | Likely Cause | Solution |
|---|---|---|
| More shells than expected | Unintended disconnections | Check model for gaps; use Merge tool |
| Fewer shells than expected | Unintended connections | Check for bridging geometry; use Split |
| Zero volume for some shells | Open or inconsistent shells | Check shell closure; fix normals |
| Negative volumes | Inverted normals | Use Diagnostics and Fixes to correct normals |
| Visualization not updating | Analysis not refreshed | Click Update after changes |