Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Blender Python api vertices, edges and faces selection

Using the following code which I got from https://blender.stackexchange.com/questions/43127/how-do-i-select-specific-vertices-in-blender-using-python-script. I can get vertices to select but when I uncomment for edged or faces and comment for vertices it doesn't work. I just guessed at the spelling for edges and facees but is it correct?

import bpy

#clear scene, make mesh
bpy.ops.object.mode_set(mode = 'OBJECT')
bpy.ops.object.select_all(action='SELECT')
bpy.ops.object.delete(use_global=False)
bpy.ops.mesh.primitive_cube_add(size=2, enter_editmode=False, align='WORLD', location=(0, 0, 0), rotation=(1.5708, 1.5708, 0))
obj = bpy.data.objects["Cube"]

#select vertex
obj = bpy.context.active_object
bpy.ops.object.mode_set(mode = 'EDIT') 
bpy.ops.mesh.select_mode(type="VERT")
#bpy.ops.mesh.select_mode(type="EDGE")
#bpy.ops.mesh.select_mode(type="FACE")
bpy.ops.mesh.select_all(action = 'DESELECT')
bpy.ops.object.mode_set(mode = 'OBJECT')
obj.data.vertices[5].select = True
#obj.data.edges[1].select = True
#obj.data.faces[1].select = True
bpy.ops.object.mode_set(mode = 'EDIT') 
like image 384
Shane G Avatar asked Sep 11 '25 23:09

Shane G


1 Answers

I eventually replaced the word 'face' with the word 'polygons' and it worked. enter image description here

import bpy

#clear scene, make mesh
bpy.ops.object.mode_set(mode = 'OBJECT')
bpy.ops.object.select_all(action='SELECT')
bpy.ops.object.delete(use_global=False)
bpy.ops.mesh.primitive_cube_add(size=2, enter_editmode=False, align='WORLD', location=(0, 0, 0), rotation=(1.5708, 1.5708, 0))
obj = bpy.data.objects["Cube"]

#select vertex
obj = bpy.context.active_object
bpy.ops.object.mode_set(mode = 'EDIT') 
#bpy.ops.mesh.select_mode(type="VERT")
#bpy.ops.mesh.select_mode(type="EDGE")
bpy.ops.mesh.select_mode(type="FACE")
bpy.ops.mesh.select_all(action = 'DESELECT')
bpy.ops.object.mode_set(mode = 'OBJECT')
#obj.data.vertices[2].select = True
#obj.data.edges[7].select = True
obj.data.polygons[2].select = True
bpy.ops.object.mode_set(mode = 'EDIT') 
like image 177
Shane G Avatar answered Sep 14 '25 14:09

Shane G