Gracias Gracias:  0
Resultados 1 al 3 de 3

Tema: Modificar Custattributes

  1. #1
    Miembro Nuevo
    Fecha de ingreso
    Jan 2009
    Mensajes
    2

    Modificar CustAttributes

    Hola,

    estoy modificando un script de Max (MaxScript). Dicho script generaba un conjunto de atributos a ciertos objetos de la escena.

    Mi problema es el siguiente:

    1. He añadido un nuevo atributo a ese conjunto de atributos definidos en el script.
    2. Dispongo de una antigua escena con objetos con el conjunto de atributos antiguos.
    3. Quiero mantener la información de esos objetos y añadirles el nuevo atributo dentro de ese conjunto de atributos.


    ¿Es posible modificar/añadir nuevos atributos a un CustAttributes concreto cuando ya disponen de ellos?

    Gracias y feliz año!

  2. #2
    pythonized... Avatar de Cesar Saez
    Fecha de ingreso
    Mar 2004
    Ubicación
    Granada, España
    Mensajes
    3,765

    Re: Modificar CustAttributes

    Hola, claro que es posible redefinir un CA, te muestro un ejemplo

    Supongamos que agregas un CA en el primer modificador del objeto seleccionado.

    Código:
    CA = attributes myCA
    (
     parameters myCAParams rollout:myCARollout
     (
     mySpinner type:#float ui:mySpinner_sp
     )
     rollout myCARollout "Ejemplo"
     (
     spinner mySpinner_sp "Spinner"
     )
    )
    custAttributes.Add $.Modifiers[1] CA
    Para redefinirlo y agregar un nuevo spinner tendrías que ejecutar algo como esto:

    Código:
    CA = custAttributes.getDef $.modifiers[1].myCA
    attributes myCA
    redefine:CA
    (
     parameters myCAParams rollout:myCARollout
     (
     mySpinner type:#float ui:mySpinner_sp
     myNewSpinner type:#float ui:myNewSpinner_sp
     )
     rollout myCARollout "Ejemplo"
     (
     spinner mySpinner_sp "Spinner"
     spinner myNewSpinner_sp "Nuevo spinner"
     )
    )
    No es tan complicado como parece, si te fijas en el código para modificarlo es casi igual salvo 2 o 3 líneas. También existen scripts que ayudan mucho cuando tienes que redefinir CA con frecuencia, el "Custom Attribute Editor" que encuentras aquí es muy útil

    Saludos

  3. #3
    Miembro Nuevo
    Fecha de ingreso
    Jan 2009
    Mensajes
    2

    Re: Modificar CustAttributes

    Gracias por responder. Os explico un poco mejo mi problema, en la medida que se me permita.

    En una escena dispongo de cientos de líneas (Line), y cada línea dispone del siguiente conjunto de atributos que en su día se especificaron:

    Código:
    global atributosLinea = attributes "atribsLinea" 
    (	
       parameters main rollout:paramsLinea
       (	
          linea_id type:#string ui:edit_linea_id default:"-1" 
          lineaParam1 type:#string	ui:edit_linea_p1 default:"-1"
          lineaParam2 type:#string	ui:edit_linea_p2 default:"-1"
          ...
       )	
    			
       rollout paramsLinea "Linea" width:168 height:350
       (...)
    
       ... -- Eventos
    )
    Ahora quiero modificar como os comenté este CustAttributes y quiero añadirle nuevos atributos, tal que así:

    Código:
    global atributosLinea = attributes "atribsLinea" 
    (	
       parameters main rollout:paramsLinea
       (	
          linea_id type:#string ui:edit_linea_id default:"-1" 
          lineaParam1 type:#string	ui:edit_linea_p1 default:"-1"
          lineaParam2 type:#string	ui:edit_linea_p2 default:"-1"
          ...
          lineaParamX type:#string	ui:edit_linea_pX default:"-1"
          lineaParamY type:#string	ui:edit_linea_pY default:"-1"
       )	
    			
       rollout paramsLinea "Linea" width:168 height:350
       (...)
    
       ... -- Eventos
    )
    Al modificar el script como ha comentado Cesar:

    Código:
    atributosLinea = custAttributes.getDef $.atribsLinea
    attributes "atribsLinea" 
    redefine:atributosLinea
    (	
       parameters main rollout:paramsLinea
       (	
          linea_id type:#string ui:edit_linea_id default:"-1" 
          lineaParam1 type:#string	ui:edit_linea_p1 default:"-1"
          lineaParam2 type:#string	ui:edit_linea_p2 default:"-1"
          ...
          lineaParamX type:#string	ui:edit_linea_pX default:"-1"
          lineaParamY type:#string	ui:edit_linea_pY default:"-1"
       )	
    			
       rollout paramsLinea "Linea" width:168 height:350
       (...)
    
       ... -- Eventos
    )
    selecciono una línea de una escena vieja y evaluo el script. Como consecuencia de esta acción, la gran mayoría de líneas modifican el conjunto de atributos y aparecen los nuevos parámetros. Pero hay algunas líneas que no se modifican. Es muy extraño la verdad.

    ¿Hay alguna forma de seleccionar qué líneas van a modificar el conjunto de atributos y cuales no?

    Gracias

Temas similares

  1. Modificar malla
    Por Kudeng en el foro Animación y Rigging
    Respuestas: 2
    Último mensaje: 30-07-2013, 10:44
  2. Modificar material
    Por valium en el foro Modelado
    Respuestas: 0
    Último mensaje: 25-11-2011, 01:27
  3. modificar un objeto
    Por noi en el foro Modelado
    Respuestas: 2
    Último mensaje: 10-04-2009, 04:22
  4. Modificar formas
    Por Yimec en el foro Modelado
    Respuestas: 10
    Último mensaje: 17-10-2008, 22:10
  5. Como modificar un uvw map
    Por alextula2 en el foro Materiales y Texturizado
    Respuestas: 9
    Último mensaje: 12-05-2008, 09:40

Actualmente estos son sus permisos de publicación en el foro.

  • -No puedes crear nuevos temas al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes responder temas al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes subir archivos adjuntos al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes editar tus mensajes al no estar registrado o no haber iniciado sesión en el foro.
  •