XSIforum.com

¿Cómo obtengo los datos de una selección? (en vbscript)

0 Usuarios y 1 Visitante están viendo este tema.

pacow

Hola, tengo un pequeño script que me permite poner en un archivo los siguientes datos:

Posición global en X, posición global en Y, posición global en Z, número de cuadro para keyframe.

Mi problema es que he utilizado:

x= GetValue ("cube.kine.global.posx")
y= GetValue ("cube.kine.global.posy")
z= GetValue ("cube.kine.global.posz")

lo que funciona bien si mi objeto se llama "cube".

Estoy atorado porque lo que ahora quiero hacer es que me diga la posición,  pero de un objeto que seleccione desde la interfaz (y que tenga cualquier nombre y sea de cualquier tipo (cámara, null, polígono...)

Creo que tiene que ver con Application.Selection, pero de ahí no tengo idea de como especificar el nombre del objeto seleccionado para sacar los valores con GetValue. ¿Puede alguien poner las líneas de código que lo hagan?

Gracias.

tanis_69

Re: ¿Cómo obtengo los datos de una selección? (en vbscript)
« Respuesta #1 en: 21 Marzo 2006, 16:50:10 »
Hola!!! Esta es una solucion rapida para lo que quieres, pero debes asegurarte de que tienes selecionado un solo objeto.

set objeto = selection(0)
logmessage objeto

x= GetValue (objeto &".kine.global.posx")
y= GetValue (objeto &".kine.global.posy")
z= GetValue (objeto &".kine.global.posz")

Ya que te has puesto, si puedes indicarme como abrir archivos para utilizarlos en xsi, pues me harias un favor, porque aun no llego a eso; a ver si puedes mandarme el codigo necesario.
thankyou

pacow

Re: ¿Cómo obtengo los datos de una selección? (en vbscript)
« Respuesta #2 en: 21 Marzo 2006, 19:05:32 »
Hola, muchas gracias, funciona bien para un sólo objeto, nada más que le agarre la onda a los arrays veré como expandirlo.

Para escribir archivos,  según tengo entendido usas un comando de vbscript, ahí te va código de ejemplo:
'////////////////////////////////////////

set fso=createobject ("scripting.filesystemobject")
set ts=fso.createtextfile("c:\temp\pacow.txt", true)


cuadro = GetValue("playcontrol.current")
salida ="un pequeño ejemplo"& vbnewline
salida = salida & "cuadro actual: "& cuadro & vbnewline
ts.write salida

ts.close

'////////////////////////////////////////

obvio editas la ruta de salida, y pues ese lo graba en c:\temp\pacow.txt.

Un saludo.

ps: para leer me imagino que hay un comando similar a write (presumiblemente read), busqué en el xsibase y había un script, el heatwave que estaba escrito en vbscript, lo malo es que al parecer cambio la ruta cuando modificaron la pg. de softimage.
« Última modificación: 21 Marzo 2006, 19:08:54 por pacow »


tanis_69

Re: ¿Cómo obtengo los datos de una selección? (en vbscript)
« Respuesta #4 en: 22 Marzo 2006, 10:09:48 »
gracias por la ayuda tios  O0