Hi I am trying to select an edge of a cube for beveling. I can do this in the in the UI but not in script. I can select an edge. Do I need to select or activate to bevel? I can in Python select a whole object but not the edge only.
I am usng Blender 3.0
import bpy
import math
import bmesh
bpy.ops.mesh.primitive_cube_add(size=1, enter_editmode=False, align='WORLD', location=(0,0,0), scale=(1,1,1))
bpy.ops.object.mode_set(mode='EDIT')
bpy.ops.mesh.select_all(action='DESELECT')
bpy.ops.mesh.select_mode(type="FACE")
b_mesh = bmesh.from_edit_mesh(bpy.context.object.data)
b_mesh.faces.ensure_lookup_table()
b_mesh.faces[3].select = True
bpy.ops.mesh.extrude_region_move(TRANSFORM_OT_translate={"value":[ 0 , -1.0, 0.0]} )
#select edge make edge active not just selected
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[6].select = True
#obj.data.polygons[0].select = True
bpy.ops.object.mode_set(mode = 'EDIT')
'''
me = bpy.context.object.data
bm = bmesh.from_edit_mesh(me)
edge = bm.edges[0]
edge.select = True # select the element before making it active
bm.select_history.clear() # optionally clear previous elements
bm.select_history.add(edge)
bmesh.update_edit_mesh(me)
#bpy.context.view_layer.objects.active = obj
'''
bpy.ops.object.modifier_set_active(modifier="Bevel")
bpy.ops.object.modifier_add(type='BEVEL')
bpy.context.object.scale[0] = 1
bpy.context.object.scale[1] = 1
bpy.context.object.scale[2] = 1
thhh
bpy.context.active_object.rotation_euler[0] = math.radians(45)
This bevels whole object, not just an edge as I want.
Any help would be greatly appreciated.