Spinner dinámicos

Hola. Llevo un ratio intentando hacer un script y me he quedado estancado, quizá tenga la solución justo delante y no la vea de ahí mi mensaje. A ver si me podéis ayudar, aunque sea conceptualmente.

Estoy tratando de controlar mediante spinner las subdivisiones del sampling de una serie de luces Vray. Para ello recorro las luces que tengo seleccionadas y género dinámicamente tantos spinner como luces tenga en selección. A su vez al value de cada spinner le asigno el valor actual del parámetro de subdivisiones que tiene cada luz Vray. El problema lo tengo a la hora del feedback, porque cuando modifico los valores con los spinner sólo me afecta a la última luz seleccionada y encima todos los spiners afectan a la última luz que haya seleccionado, mientras que al resto de luces no.

El esquema sería (para 2 luces, e).

Primero selecciono las 2 luces con lo que mi selección actual sería.

Vraylight00, vraylight01.

Ahora género mis spinner:
Spin_1 con su valor.

Spin_2 con su valor.

Cuando modifico ambos spinner sólo se me afectada la luz vraylight01 por ser la última luz en la pila o array de selección.

Mi duda es: ¿cómo puedo hacer que un handler sepa que spinner estoy afectando? Y así poder modificar el parámetro de la luz correspondiente.

Aquí pongo el código de esta sección:
For obj in sel_actual do ( mat_sel = append mat_sel obj ) – Del for samp = utcreator sampling sampling height:400 samp, begin() t – Colocamos justo encima el nombre de subdivisiones local nomlabel = (label_) as name samp, addcontrol #label nomlabel nombre subdivisiones paramstr offset:[95,0] width:300 height:15) t – Espacio local nomlabel = (espacio_) as name samp, addcontrol #label nomlabel – Paramstr offset:[90,-5] width:300 height:15) t – Bucle que genera los spinner necesarios en función de las luces seleccionadas for i = 1 todo mat_sel, count do (t – Variables de control de parámetros de los spiners nomspin = (spin_+ (i as string)) as name nomluz = (mat_sel[i].name + : ) as name valspin =(mat_sel[i].subdivisiones) as string nomobj = mat_sel[i] t samp, addcontrol #spinner nomspin nomluz paramstr type:#integer range:[0,100, + valspin + ] fieldwidth:40 align:#center)\ t samp, addhandler nomspin #changed valspin filter:on \ codestr nomobj.subdivisiones= valspin)\ t ) – Del for t samp, end() addsubrollout vrayluces.child sampling. Muchas gracias por anticipado.

Ver más sobre el tema y los comentarios en el foro