I need to create a few meshes where vertex index order is important. I am trying to write a script as such:

import bpy
import bmesh

mesh = bpy.context.object.data

bm = bmesh.new()

def switchIndices(i1, i2):
    v1 = bm.verts[i1]
    v2 = bm.verts[i2]

    bm.verts[i1] = v2
    bm.verts[i2] = v1

switchIndices(32, 4)

But when I try to write to bm.verts it says it cannot. I can assign/swap the values of v1 and v2 but then I still need to edit edges and when I try to change the two vertices of an edge I get the same write problems. I thought the whole point of the bmesh was to be able to edit it. What am I doing wrong?


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.