← CAD SDKs and components

Geometry processing

Surface Wrapping

Generate watertight surface meshes from dirty tessellation using inner or outer wrapping, with control over mesh resolution.

Surface Wrapping component preview
On this page

Build a watertight surface around imperfect tessellation

Surface Wrapping constructs a closed mesh near an input tessellation. It is useful when a preparation workflow needs a usable envelope around geometry with gaps or other imperfections, for example before simulation-domain preparation.

Outer wrapping produces a shell around the exterior of the input. Inner wrapping handles models within a bounding volume, such as an object positioned inside a wind-tunnel domain. Select the mode according to the region needed downstream.

Three stages from input to wrapped mesh

  1. Voxelization: construct an initial Cartesian wrapping. Cell size controls the spatial scale available to represent the source.
  2. Projection: move mesh nodes toward the input triangulation to follow its shape more closely.
  3. Refinement: improve the resulting mesh using local operations such as edge swaps, collapses and smoothing.

Projection improves the geometric fit but can produce poorly shaped triangles. Refinement addresses that tradeoff rather than assuming proximity to the source is the only quality criterion.

Cartesian wrapping of the input geometry

Wrapped mesh after projection toward the source

Control detail and element quality

The library includes operators to collapse short edges and narrow faces, swap shared edges to improve local skewness, fix self-intersected regions and smooth nodes. Thresholds and the chosen operators let an application tune the refinement sequence.

Cell size matters to which details and openings can be represented. Evaluate the wrapped shape, retained passages, closed regions, triangle quality and geometric deviation together. A watertight result can still differ from the engineering shape needed by the next operation.

Refinement operators and variable element size

The wrapped mesh uses variable-size elements. Flat interiors can use larger triangles while regions near boundaries use smaller ones; cell size sets the minimum spatial scale used by the wrapping process.

The refinement sequence can be configured with the following local operations:

  • Collapse edges shorter than a specified threshold.
  • Collapse narrow faces whose skewness exceeds the chosen threshold.
  • Swap the edge shared by two triangles to reduce local skewness.
  • Repair self-intersected mesh regions.
  • Apply iterative node smoothing to remove local folds and improve triangle skewness, including Laplacian smoothing.

Local mesh refinement operations

Illustrated wrapping workflow

The following example follows a car model through the preparation stages. Each stage produces a closed wrapping, with geometry progressively adjusted toward the input.

Car model before wrapping

Input model, courtesy of Pragnesh Patel via GrabCAD.

Car model after Cartesian voxelization

Voxelization creates an adaptive wrapping with elements parallel to the global coordinate planes.

Car model after projection

Projection moves the nodes toward the source triangulation. Refinement then improves local element quality.

Choose wrapping or CAD tessellation

Use wrapping to build an envelope from tessellated input. For a surface mesh that follows the faces and edges of an existing CAD BRep, see Express Mesh. For mesh storage, selection and editing, see Mesh Framework.

Discuss Surface Wrapping with your inner/outer mode, input quality, minimum relevant feature size and downstream requirements.

Component evaluation

Discuss Surface Wrapping

Tell us which OCCT version, platform, and application you are working with so we can discuss evaluation and integration.