Nodes/Avatar Graph/Mesh Select Similar Region
ComfyUI Node

Mesh Select Similar Region

Find every copy of a shape on the mesh

By avatechai·Created 3 years ago·Updated 2 years ago· 264
Mesh Select Similar Region
  • BPY_OBJ
  • BPY_OBJ

The topology-matching cousin of Mesh Select Similar, and a much narrower tool. It wraps Blender's real bpy.ops.mesh.select_similar_region operator, part of Avatar Graph, the pack that runs actual Blender inside ComfyUI's process (via the bpy Python package) to build interactive 2D-to-3D avatars, auto-generating a node for every mesh operator Blender has.

How it works

Select a connected patch of faces - a small region with a specific shape and connectivity - and this node scans the rest of the mesh for every other group of faces that shares the same topology: the same face count, edge connections, and structure, regardless of where it sits or how it's oriented. It's genuinely useful for finding repeated units on a mesh built from duplicated patterns - every scale on a textured surface, every tooth on a gear-like shape, every instance of a hand-placed detail that got copied around.

Inputs and outputs

  • BPY_OBJ is the only input - worth stating plainly, since it's a real departure from most of this pack's Select nodes: no comparison type, no threshold, no tuning of any kind. In real Blender, select_similar_region genuinely is a parameterless operator; this node just needs a starting selection that already has a matchable topology.

Output is a single BPY_OBJ, selection extended to every region elsewhere on the mesh with matching topology.

Setting expectations

Because there's nothing to configure, the entire result depends on what you feed it. It needs a real, connected group of faces selected - not a scattering of individual, disconnected faces - for there to be a topology pattern to search for in the first place. And it needs the mesh to actually contain repeated structure. A lot of Avatar Graph's own geometry (meshes built one-off from segmented image layers) simply isn't built from repeated units, so don't be surprised if this node runs and the selection doesn't grow at all - that's the mesh telling you there's nothing else like your selected region, not the node failing.

Installing it

ComfyUI Manager: search "avatar-graph-comfyui", install, restart. Manually: cd ComfyUI/custom_nodes && git clone https://github.com/avatechai/avatar-graph-comfyui, then cd avatar-graph-comfyui && python -m pip install -r requirements.txt, then restart.

Python 3.10.x is the requirement to nail down first - the bpy package this pack is built on needs that exact minor version, and the README recommends a dedicated conda environment on macOS/Linux (conda create --name comfyui python=3.10) rather than trusting an existing Python install. Windows users get a prebuilt ComfyUI + Python 3.10 zip linked in the README to unzip over their install before adding the pack via Manager. Restart with --enable-cors-header (macOS also wants --force-fp16) for the live 3D preview - without it, the graph still runs fine, you just save the model manually from the pack's Avatar Main Output node instead.

Common issues

Rule out the Python version first if this pack's nodes aren't loading. Beyond that, the entire troubleshooting story for this node is really one thing: an empty-feeling result (selection doesn't grow) almost always means either the starting selection isn't a coherent connected region, or the mesh genuinely has nothing else shaped like it - not a bug to chase, just a mismatch between what this operator can find and what your geometry actually contains. If you need a looser, tunable version of "select things like this," Mesh Select Similar (the property-based one, with a type/compare/threshold) is almost certainly the node you actually want instead.

Categoryblender

Inputs (1)

NameTypeDefaultDescription
BPY_OBJoptBPY_OBJ

Outputs (1)

NameTypeDescription
BPY_OBJBPY_OBJ