Pregunta

¿Es posible acceder al campo 'notas' de un objeto a través de la interfaz de scripting Maya? Estoy tratando de conseguir que funcione dentro de Python, pero asumir cualquier puntero en la dirección correcta de los cuales la clase / función que necesito para usar en la API me ayudará a cabo.

¿Fue útil?

Solución

Un atributo llamado "notes" se añade de forma dinámica a los nodos cuando se escribe en el campo de notas en el editor de atributos. Por lo tanto, para comprobar el valor se puede comprobar si un atributo llamado "notas" existe en el nodo, a continuación, recuperar el valor.

El procedimiento mel que la maya UI utiliza para crear y establecer las notas atributo se llama

setNotesAttribute(string $nodeName, string $longAttrName, string $shortAttrName, string $attrType, string $newAttrValue)

Cuando el nombre largo es "notes", nombre corto es "nts", el tipo es "string".

Otros consejos

Como todo el mundo está usando PyMEL estos días, aquí es cómo conseguir que el uso de PyMEL:

import pymel.core
# cast selected into PyNode
node = pymel.core.ls(sl=1)[0]

# PyMEL's convenient getAttr syntax
node.notes.get()

Esto es suponiendo que ya ha añadido algo al campo de notas en el editor de atributos. Como se mencionó anteriormente las notas attr sólo se pone creado entonces.

Si se está utilizando todos de código y que no sabe si se ha creado el attr notas, se puede comprobar la existencia de este modo:

if node.hasAttr('notes'):
    node.notes.get()
else:
    # go ahead and create attr
    node.addAttr('notes', dt='string')
    node.notes.get()

Considere el uso de PyMEL, es como maya.cmds, sólo que más Pythonic.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top