Nodes/Avatar Graph/Mesh Face Split By Edges
ComfyUI Node

Mesh Face Split By Edges

A knife cut driven by edges you've already made

By avatechai·Created 3 years ago·Updated 2 years ago· 264
Mesh Face Split By Edges
  • BPY_OBJ
  • BPY_OBJ

Blender's Knife tool cuts faces interactively, click by click. This node does the same job a different way: give it a mesh where you've already got edges (or edge selections, however they got there - extruded in from elsewhere, drawn separately) crossing through existing faces, and it splits every face that a selected edge passes through, using that edge as the cut line. It's a targeted, programmatic split rather than a manual one - genuinely useful once you're building or repairing geometry through a graph rather than clicking through Blender's viewport by hand.

Why it's here

It's a direct wrap of Blender's bpy.ops.mesh.face_split_by_edges, one of twenty low-level Blender operator wraps this pack ships without documenting in its own README (that document's node table covers the headline pieces: Create Mesh Layer, Mesh Modify Shape Key, Avatar Main Output). The repo's dev notes describe regenerating Blender operator bindings via a generate_blender_types.py script, which is exactly where this naming convention comes from.

Avatar Graph, from Avatech AI, is built for turning a single character image into a 2.5D interactive avatar - segmentation, per-layer mesh generation, shape-key rigging for blink and mouth movement, then a live view through Avatech's own hosted editor. If you're hand-repairing a generated mesh - say, adding a cut line so a section can move independently under a shape key, without wanting to fully re-triangulate the surrounding geometry - this is a precise way to do it entirely inside the graph.

Inputs and outputs

BPY_OBJ in, BPY_OBJ out - no other parameters exposed. That matches Blender's own version of this operator, which likewise takes no arguments beyond the current selection: it just acts on whichever edges are selected on the mesh object it's handed, splitting any face they cross. There's no separate "which faces" or "which edges" input, because the selection state travels along with the BPY_OBJ itself, set by whatever ran upstream - an existing edge, a prior extrude, or a manually authored cut.

Installing Avatar Graph

Search "Avatar Graph" in ComfyUI Manager and install, or go manual: cd ComfyUI/custom_nodes && git clone https://github.com/avatechai/avatar-graph-comfyui, then python -m pip install -r requirements.txt inside that folder, then restart. One thing to catch - the README's own manual-install command clones from avatechgg, a different org than the canonical avatechai/avatar-graph-comfyui; use the URL above instead, which matches the Manager listing and the rest of the repo.

What actually gates a successful install is Python version. bpy, Blender's Python API and this pack's core dependency, only ships wheels for specific Python builds - you need 3.10.x. A modern ComfyUI on Python 3.11 or 3.12 will fail to install or import it. Conda is the clean fix on Mac/Linux (conda create --name comfyui python=3.10); on Windows, the author ships a dedicated prebuilt ComfyUI + Python 3.10 zip rather than expecting a retrofit.

Once running, restart with python main.py --enable-cors-header (Mac: add --force-fp16) if you want the live avatar preview reaching Avatech's hosted editor. Skip it and everything still works fully - export manually via right-click → Save on Avatar Main Output instead.

Common issues

No model downloads, nothing unusual beyond bpy - install pain is almost always the Python pin, preview pain almost always the missing CORS flag. The README's own warning that nodes and templates are still evolving is a fair explanation for why documentation on a node this specific effectively doesn't exist.

The real thing to keep in mind here: the edge doing the cutting has to actually cross the face, not just touch its boundary - an edge sitting on top of an existing edge, or one that doesn't fully pass through the face's interior, won't produce a clean split. If a face isn't splitting the way you expect, check the geometry of the cutting edge itself before assuming the node is misbehaving.

Categoryblender

Inputs (1)

NameTypeDefaultDescription
BPY_OBJoptBPY_OBJ

Outputs (1)

NameTypeDescription
BPY_OBJBPY_OBJ