fedoo.Mesh.merge_coincident_nodes

Mesh.merge_coincident_nodes(tol: float) int

Find and merge node pairs whose Euclidean distance is below tol.

Useful when stacking volumes from separate sources (e.g. several STEP files meshed without a boolean fuse): the interface nodes are geometrically close but distinct, and elements on either side don’t share connectivity. After merging, an interface node from one phase and its counterpart from another become a single node, and any constraint or RigidTie applied via the surviving index propagates kinematically across the interface.

The pairing is greedy by distance (closest pair first, each node merged at most once per pass), and the whole pass is repeated until no coincident pair remains. A single greedy pass merges only one pair of any cluster, so a point shared by three or more parts (e.g. an edge where 3+ volumes meet) would be left partially merged; repeating the pass collapses the whole cluster to a single survivor. Within a pass the each-node-once rule still prevents two corners of one element collapsing to the same survivor (only degenerate sub-tol elements could).

Parameters:

tol (float) – Geometric distance threshold (same units as self.nodes).

Returns:

Total number of node pairs merged across all passes.

Return type:

int

See also

find_coincident_nodes

lighter round-to-tolerance detector returning pairs for a single-pass merge_nodes call.