python blender bpy

Blender 2.6: Seleccionar objeto por nombre a través de Python



bpy (3)

bpy.ops.object.select_name() ha sido reemplazado por bpy.ops.object.select_pattern() (alrededor de 2.62, creo?), que es una versión más potente (puede seleccionar un nombre exacto, pero también usar patrones con comodines, no se distingue entre mayúsculas y minúsculas, etc.):

bpy.ops.object.select_pattern(pattern="Cube")

Lo sé, esta es una pregunta extremadamente simple, pero he buscado en todas partes. Tal vez me esté perdiendo el punto, no lo sé; pero esto debería ser razonablemente fácil.

Mi pregunta es sencillamente, ¿cómo selecciona los objetos por nombre a través de Python en Blender 2.6?

En 2.4-5, uno podría simplemente usar:

bpy.ops.object.select_name("OBJECT")

... pero esto ha sido descontinuado, para ser reemplazado por qué?

Uno puede obtener los objetos seleccionados actualmente como así ...

bpy.context.selected_objects

Y hay una manera de establecer el objeto activo de la escena ...

bpy.context.scene.objects.active = bpy.data.objects["OBJECT"]

Y también se puede seleccionar mediante operaciones , como select_all() o select_by_type() ...

bpy.ops.object.select_all(action="TOGGLE")

Pero no puedo encontrar una manera de seleccionar simplemente por nombre.

Gracias, estoy totalmente perdido ...


import bpy def returnObjectByName (passedName= ""): r = None obs = bpy.data.objects for ob in obs: if ob.name == passedName: r = ob return r obs = bpy.data.objects bpy.ops.object.select_all(action=''DESELECT'') for ob in obs: print (ob.name) myObj = returnObjectByName(ob.name) if myObj != None: print (dir(myObj)) myObj.selected = True myObj.location[2] = 10 myObj.selected = False

No es mi código, no se garantiza que funcione.

Source


bpy.data.objects[''OBJECT''].select = True

Los datos de selección están contenidos dentro de los objetos individuales. Puedes leerlos y escribirlos como se muestra. En una forma un poco más legible:

object = bpy.data.objects[''OBJECT''] object.select = True