bpy.ops.transform.skin_resize('INVOKE_DEFAULT')
seems to break when looping through bmesh.verts prior.
import bpy
import bmesh
vcount = 0
if bpy.context.mode == 'EDIT_MESH':
bm = bmesh.from_edit_mesh(bpy.context.active_object.data)
vcount = len([v.index for v in bm.verts if v.select])
if vcount == 1:
bpy.ops.transform.skin_resize('INVOKE_DEFAULT')
else:
bpy.ops.transform.resize('INVOKE_DEFAULT')
I just check if only 1 vert is selected => if so, use .skin_resize (related to skin modifier) instead of .resize
The strange part: skin_resize only works correctly when commenting out the vert-loop in line 7.
.skin_resize gets called but has no effect at all after confirming.
Any other operator (resize, translate…) works even with the vert-loop. only .skin_resize seems to be affected.
Could this be a bug or am I simply overlooking something ?
Here is a .blend with the code snippet on the left “BROKEN” and a working one with the bmesh.vert loop commented out “WORKING” on the right.
For convenient testing: