Blender 2.6:通过Python按名称选择对象

Jol*_*att 22 python blender bpy

我知道,这是一个非常简单的问题,但我到处都是.也许我错过了这一点,我不知道; 但这应该相当容易.

我的问题很简单,你如何通过Python在Blender 2.6中按名称选择对象?


在2.4-5中,可以简单地使用:

bpy.ops.object.select_name("OBJECT")
Run Code Online (Sandbox Code Playgroud)

......但这已经停止了,取而代之的是什么?

人们可以得到当前选择的对象......

bpy.context.selected_objects
Run Code Online (Sandbox Code Playgroud)

并且有一种方法来设置场景的活动对象......

bpy.context.scene.objects.active = bpy.data.objects["OBJECT"]
Run Code Online (Sandbox Code Playgroud)

还可以通过操作选择,例如select_all()select_by_type()......

bpy.ops.object.select_all(action="TOGGLE")
Run Code Online (Sandbox Code Playgroud)

但我找不到简单地按名称选择的方法.

谢谢,我完全迷失了......

Jol*_*att 27

bpy.data.objects['OBJECT'].select = True
Run Code Online (Sandbox Code Playgroud)

选择数据包含在各个对象中.您可以如图所示读取写入它们.以稍微可读的形式:

object = bpy.data.objects['OBJECT']
object.select = True
Run Code Online (Sandbox Code Playgroud)


小智 15

bpy.ops.object.select_name()已被替换为bpy.ops.object.select_pattern()(约2.62,我认为?),这是一个更强大的版本(它可以选择一个确切的名称,但也可以使用带通配符的模式,不区分大小写等):

bpy.ops.object.select_pattern(pattern="Cube")
Run Code Online (Sandbox Code Playgroud)