Для того, чтобы сделать меш (объект) активным в Blender 2.8 Python API вместо своства context.scene используется context.view_layer.
При попытке сделать меш активным через “bpy.context.scene.objects.active” Blender сигнализирует ошибкой:
AttributeError: bpy_prop_collection: attribute “active” not found
Чтобы сделать объект активным, нужно использовать следующую команду:
1 2 |
obj = bpy.context.window.scene.objects[0] bpy.context.view_layer.objects.active = obj # obj is the active object now |
Хотя разобрался. В моем случае надо было сделать активной арматуру.
item = ‘ARMATURE’
bpy.ops.object.select_all(action=’DESELECT’)
bpy.ops.object.select_by_type(type=item)
obj = bpy.context.window.scene.objects[0]
bpy.context.view_layer.objects.active = obj
Здесь
bpy.ops.object.select_by_type(type=item)
будет выделен не один объект с арматурой, а все арматуры в сцене
чтобы выделить объект по имени лучше использовать
bpy.data.objects[‘_имя_арматуры_’].select_set(True)
Привет! Подскажи пожалуйста, как выделить так же, но по названию объекта?