How do you select objects by name through Python in Blender 2.6?
In 2.4-2.5, one could simply use:
bpy.ops.object.select_name("OBJECT")
... but this has been discontinued in 2.6, to be replaced by what?
In 2.6, one can get the currently selected objects like so...
bpy.context.selected_objects
And there's a way to set the scene's active object...
bpy.context.scene.objects.active = bpy.data.objects["OBJECT"]
And one can also select via operations, like select_all()
or select_by_type()
...
bpy.ops.object.select_all(action="TOGGLE")
But I can't find a way to select simply by name.
Thanks very much.
To select elements from a Python list, we will use list. append(). We will create a list of indices to be accessed and the loop is used to iterate through this index list to access the specified element. And then we add these elements to the new list using an index.
bpy.data.objects['OBJECT'].select = True
Selection data is contained within the individual objects. You can read and write them as shown. In a slightly more readable form:
object = bpy.data.objects['OBJECT'] object.select = True
bpy.ops.object.select_name()
has been replaced by bpy.ops.object.select_pattern()
(around 2.62, I think?), which is a more powerful version (it can select an exact name, but also use patterns with wildcards, be case-insensitive, etc.):
bpy.ops.object.select_pattern(pattern="Cube")
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With