# Manipulate Vertex group names in the bmesh API

When importing an object with my own script (Yes, I need one, no functional script exists) I want to import it with help of the bmesh-module. It seems to be the best choice for the job as it is as close as you can get to data-only and is kind of standalone (keeps the blender-data clean until everything is ready). There is one problem I am facing now: How do I give names to the vertexGroups? This is what I got so far:

import bmesh
mesh = bmesh.new()
layer = mesh.verts.layers.deform.new() # a new deform layer, why is this singleton??
for vert in mesh.verts:
vert[layer][0] = 0.5 # assign a value of 0.5 to the first group
# .... more groups


I suppose you know that Blender handles animation via vertex-groups so I have to make sure that the right vertex-group (index) has the correct name assigned to it.

Do I have to name the groups on the object itself? If yes, do I have to create the group beforehands (before mesh.to_mesh(object.data))? Am I guaranteed that the order is kept?

• deform and vertex_groups are not related from my understanding, and there's no way to manipulate Vertex Groups through the bmesh module. May 9 '14 at 18:28
• blender.org/documentation/blender_python_api_2_63_8/… says just that :) May 9 '14 at 18:52
• Thanks for the link! It's pretty confusing, so thanks again for asking this question! May 9 '14 at 20:34