Skip to main content

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:

One surface made of four disconnected shells; the shells identified and coloured, which Split turns into separate objects; and the result of Filter Shells with the small shells removed

  • 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:

ColumnDescription
ShellsThe shell number, starting at 1
TrianglesNumber 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:

  1. Run shell analysis
  2. Verify the expected number of shells
  3. Check for unexpected small shells (potential artifacts)
  4. Confirm major components have appropriate volumes

Pre-Processing Assessment​

Before mesh operations:

  1. Analyze shell composition
  2. Identify shells that should be removed (using Filter Shells)
  3. Note shell volumes for verification after operations
  4. Document original shell statistics

Multi-Component Analysis​

For models with intentionally separate parts:

  1. Visualize shells to confirm separation
  2. Review volumes to verify each component
  3. Identify any merged or split components
  4. Use statistics for component verification

Quality Inspection​

For incoming meshes or scan data:

  1. Analyze for unexpected shell count
  2. Identify very small shells (noise, artifacts)
  3. Check that main geometry is intact
  4. 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​

ScenarioInterpretation
Single shell, expectedNormal solid object
Multiple shells, expectedMulti-component model (assembly)
Many small shellsPossible artifacts, noise, or fragments
Unexpected shell countMay indicate topology issues

Shell Size Distribution​

PatternTypical Cause
One large, many tinyMain geometry + artifacts
Several similar sizesMulti-part assembly
Widely varying sizesMixed content (geometry + debris)
All similar sizesRegular 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​

IssueLikely CauseSolution
More shells than expectedUnintended disconnectionsCheck model for gaps; use Merge tool
Fewer shells than expectedUnintended connectionsCheck for bridging geometry; use Split
Zero volume for some shellsOpen or inconsistent shellsCheck shell closure; fix normals
Negative volumesInverted normalsUse Diagnostics and Fixes to correct normals
Visualization not updatingAnalysis not refreshedClick Update after changes