Nodes/Avatar Graph/Mesh Duplicate Move
ComfyUI Node

Mesh Duplicate Move

Duplicates on top of itself unless something downstream actually moves it

By avatechai·Created 3 years ago·Updated 2 years ago· 264
Mesh Duplicate Move
  • BPY_OBJ
  • BPY_OBJ

In Blender's own UI, Shift+D doesn't just duplicate - it duplicates and immediately drops you into a grab/move so you can place the copy somewhere new in the same motion. Mesh_DuplicateMove wraps bpy.ops.mesh.duplicate_move, the macro operator behind that exact hotkey. In a node graph, though, there's no mouse to grab with, and the schema doesn't expose a translate offset - so what you actually get is the duplicate half of that macro, landing exactly on top of the original.

How it works

This copies the currently selected geometry within the same mesh object - the same edit-mode-level duplication as Mesh_Duplicate - but as the "move" step of the combined operator, without an offset supplied, the copy sits precisely where the source was, coincident vertex for vertex. That's easy to miss: run this once and the mesh can look completely unchanged, because visually a perfect duplicate stacked on the original is unchanged, until something else moves one of the two apart or you check vertex counts.

If your goal is genuinely "duplicate, then place it somewhere else," you need a transform step after this node to actually separate the copy from the source - this node alone won't do that for you.

The input and output that matter

  • BPY_OBJ (optional) - the object with the selected geometry to duplicate.

Output is a single BPY_OBJ, now containing both the original selected geometry and a coincident copy of it.

How to install it

Search Avatar Graph in ComfyUI Manager, or clone manually:

cd ComfyUI/custom_nodes
git clone https://github.com/avatechai/avatar-graph-comfyui
cd avatar-graph-comfyui
python -m pip install -r requirements.txt

then restart. bpy==3.6.0 needs Python 3.10.x - README's prebuilt Python-3.10 zip on Windows, conda environment (conda create --name comfyui python=3.10) on Mac/Linux. opencv-python, mediapipe, and segment-anything also install.

Common issues & troubleshooting

"I ran this and the mesh looks identical." That's the trap - it probably is different, just invisibly so. A perfect duplicate lands exactly on the original, so unless you check the vertex/face count or move something apart afterward, there's nothing to see. This is expected behavior for the node, not a sign it failed.

Nothing gets duplicated at all. Different problem - that means the selection going in was empty. This node only duplicates whatever's currently selected, same as Mesh_Duplicate; check your upstream selection step before assuming the duplicate itself is broken.

You actually wanted the copy moved somewhere else. Nothing in this node's own inputs does that - you need a separate transform/move step afterward to pull the duplicate away from the source. If you just want a plain, unmoved duplicate and don't care about the "move" half of the name, Mesh_Duplicate does the same underlying copy without the implication that placement is handled for you.

Categoryblender

Inputs (1)

NameTypeDefaultDescription
BPY_OBJoptBPY_OBJ

Outputs (1)

NameTypeDescription
BPY_OBJBPY_OBJ