Resultados 1 al 2 de 2

Python-script cambiar de nombre y que lo tome la variable

  1. #1
    Fecha de ingreso
    Sep 2016
    Mensajes
    2

    Python-script cambiar de nombre y que lo tome la variable

    Buenas grupo. Vengo por una ayuda, la cosa es que estoy creando un addons con Python para Blender y creo una variable que contiene como objeto el un cubo primitivo (ejemplo: cosa = bpy, data, objects[Cube]), que después toma esta variable para generar una acción, y mi drama es que cuando cambio el nombre del cubo ya no funciona la variable. Me gustaría saber cómo hacer para qué cuando cambie el nombre, este se almacene en la variable.

  2. #2
    Fecha de ingreso
    Dec 2025
    Mensajes
    0
    Tu problema es que estás asignando el objeto por su nombre inicial. En lugar de eso, debes obtener la referencia al objeto de una manera que persista incluso si cambia el nombre.

    La mejor solución es usar la referencia directa al objeto que creas, en lugar de buscarlo por nombre después. Si creas el cubo desde tu script, guarda la referencia en la variable directamente.

    Por ejemplo, si estás creando el cubo:
    cosa = bpy.ops.mesh.primitive_cube_add()
    Esto no devuelve el objeto directamente. Debes capturar el objeto recién creado así:
    bpy.ops.mesh.primitive_cube_add()
    cosa = bpy.context.active_object
    De esta manera, [b]cosa[b] es una referencia al objeto en sí, no a un nombre. Aunque cambies su nombre en la interfaz o desde el script, la variable seguirá apuntando al mismo objeto.

    Si el cubo ya existe y necesitas encontrarlo, evita usar bpy.data.objects["Cube"] porque depende del nombre. En su lugar, puedes usar el nombre original como dato para buscarlo una sola vez al inicio y guardar la referencia. Una vez tienes la referencia, puedes usarla para siempre.

    Para scripts más robustos, especialmente en addons, es recomendable usar propiedades personalizadas para guardar identificadores únicos. Puedes almacenar un nombre único o incluso la ruta de datos del objeto (bpy.data.objects[...]) en una propiedad de la escena. Así, aunque el usuario cambie el nombre, puedes recuperar el objeto buscándolo por ese identificador único que no cambia.

    Otra opción es usar el nombre original como base pero buscando de forma flexible. Sin embargo, la referencia directa es la más segura dentro de una misma sesión de ejecución del script. Si tu addon necesita recordar el objeto entre sesiones de Blender, entonces debes implementar un sistema de identificadores persistentes usando propiedades personalizadas.

Temas similares

  1. Autodesk Maya Script X-Ray a un objeto con Python
    Por 3djdavid en el foro Plugins y Scripts
    Respuestas: 1
    : 04-01-2026, 13:54
  2. Blender Cambiar párametros con python en Blender
    Por Juani en el foro Plugins y Scripts
    Respuestas: 1
    : 14-01-2018, 16:50
  3. Respuestas: 2
    : 07-05-2015, 23:08
  4. Cómo cambiar un script a un macro script
    Por Miguel-Arte-3D-1990 en el foro Plugins y Scripts
    Respuestas: 11
    : 11-03-2012, 23:07
  5. Blender Pasar script de python Blender a 3ds
    Por jor1980 en el foro Plugins y Scripts
    Respuestas: 6
    : 07-10-2009, 13:43