Hola a todos. Tengo una lista con valores Z y una serie de sub-colecciones en el árbol de Blender. Mi idea es crear un objeto del tipo Vacío (Empty) en cada una de las subcolecciones y asignar a cada uno los valores Z correspondientes de la lista. Entiendo que debería ejecutar dos bucles for, uno para recorrer las subcolecciones y crear los objetos, y otro para recorrer la lista de valores Z y asignarlos a los objetos creados. Sin embargo, no he logrado obtener el resultado que busco.

Mi código es el siguiente:

Código:
import bpy


heights = [0.09, 3.09, 6.09]


...


ind = 0
for coll in bpy.data.collections['IfcBuilding/My Building'].children:
    empty = bpy.data.objects.new('IfcBuildingStorey/Level' + str(ind), None)
    coll.objects.link(empty)
    empty.empty_display_type = 'PLAIN_AXES'
    for i in heights:
        empty.location[2] = i
    ind += 1
La estructura de mi árbol de Blender es la de la imagen:

Python Blender - Asignar coordenadas a objetos desde una lista-captura.png


Con este código consigo cambiar el valor de la coordenada Z de los objetos, pero todos adquieren el último valor de la lista (6.09).

¿Podría alguien ayudarme con esto?

Muchas gracias de antemano.