XSIforum.com

display en crvlist

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

display en crvlist
« en: 14 Septiembre 2010, 19:44:45 »
Hola a todos

Tengo una curva a la que quiero cambiar su color wireframe.
Pero no consigo dar con sus propiedades (ni en la documentación)

cuando lo a "mano", obtengo esto:

Código: (python) [Seleccionar]

MakeLocal "crvlist.display", siNodePropagation

SetValue "crvlist.display.wirecolorr", 1
SetValue "crvlist.display.wirecolorg", 0
SetValue "crvlist.display.wirecolorb", 0



Sin me da error al tratar de acceder a crvlist.display.wirecolorr por ejemplo, me da error.

¿como sería el codigo python para hacer lo mismo en Object Model?  

Muchas gracias de antemano
« Última modificación: 14 Septiembre 2010, 21:45:19 por gerardoxsi »

alanf

  • *****
  • 6029
  • Pipeline Developer @ Felix & Paul Studios
Re: atributos de crvlist
« Respuesta #1 en: 14 Septiembre 2010, 20:13:54 »
No tengo XSI abierto pero de memoria creo que esto funciona:
Código: [Seleccionar]
xsi = Application
lm = xsi.LogMessage
obj = xsi.Selection(0)

display = obj.AddProp("Display")

display.Parameters("wirecolorr").Value = 1.0
display.Parameters("wirecolorg").Value = 0.0
display.Parameters("wirecolorb").Value = 0.0

Re: atributos de crvlist
« Respuesta #2 en: 14 Septiembre 2010, 21:08:05 »
Gracias Alan

Creo que te refieres a AddProperty en vez de AddProp.

Aún asi me da error.

Pensaba que el Display era un atributo que ya venia con la curva.

agedito

  • ***
  • 1524
  • ¡¡Yo lo que quiero es milonguear!!
Re: display en crvlist
« Respuesta #3 en: 14 Septiembre 2010, 21:52:18 »
Marchando una de script

Código: [Seleccionar]
xsi = Application
sel = xsi.Selection

oObject = sel(0)
oDisplay = oObject.Properties("display")
xsi.MakeLocal(oDisplay)
oDisplay.wirecolorr.Value = 1



« Última modificación: 14 Septiembre 2010, 21:59:25 por agedito »

Re: display en crvlist
« Respuesta #4 en: 14 Septiembre 2010, 22:03:19 »
Marchando una de script

Código: [Seleccionar]
xsi = Application
sel = xsi.Selection

oObject = sel(0)
oDisplay = oObject.Properties("display")
oDisplay.wirecolorr.Value = 1

perfecto

Gracias Angel

por otro lado me habia leido la documentación de Properties que viene con softi:

Cita de:  Documentación de Softimage
Properties (SceneItem)

Description

Returns a PropertyCollection containing each Property object installed on the object. For example, if you have a material installed on the node and the branch, and the X3DObject is also in a Group that has a material, then only the group material will appear in this collection.

pense que solo me devolvia una colección con las propiedades del objeto, no que la aplicaba.

Re: display en crvlist
« Respuesta #5 en: 15 Septiembre 2010, 10:15:24 »
Todo el misterio está en hacer la propiedad local (con el comando MakeLocal o bien sobreescribiendo la propiedad con una nueva), luego es simplemente cambiar el valor del atributo O0

Properties retorna una colección tal como menciona la ayuda, el tema es que de esa colección puedes filtrar directamente por nombre.

oObj.Properties                                                            -> Collection (todas las properties del objeto)
oObj.Properties("Display") = oObj.Properties.Item("Display") -> Property Display