Skip to content

Instantly share code, notes, and snippets.

@draconiansolo
Created April 23, 2013 22:04
Show Gist options
  • Save draconiansolo/5447807 to your computer and use it in GitHub Desktop.
Save draconiansolo/5447807 to your computer and use it in GitHub Desktop.
Nuke Python Tutorials, Accessing nodes Notes.
#####ACCESSING NODES PART A########
print nuke.selectedNode().name() #asi es como llamo el nodo seleccionado.
#nuke.selectedNodes() es con la que se seleccionan varios nodos.
for n in nuke.selectedNodes(): #...
print n.name(); #ciclo entre los objetos para mostrar el nombre.
#se puede pasar como parametro el tipo de nodo que uno quiere poner.
for n in nuke.selectedNodes("Blur"): #...
print n.name(); #ciclo entre los objetos para mostrar el nombre.
#nuke.allNodes() es con la que se seleccionan todos los nodos
#help("nuke.allNodes")#me sirve para ver la ayuda de las funciones.
for n in nuke.allNodes():
#... tambien se puede usar un filtro como en selected nodes
print n.name(); #ciclo entre los objetos para mostrar el nombre.
#nuke.toNode(String node)
print nuke.toNode("Blur1") # con esto traigo el nodo que esta en el string.
# si le doy print asi no mas, me retorna todos los atributos del nodo con sus valores.
#help(myNode) retorna toda la ayuda de la clase de nodo!
myNode= nuke.toNode("Blur1")
#dependent nodes imprime los nodos que estan conectados a este, sean visibles o no e incluso si son expresiones.
#for n in nuke.dependentNodes(nuke.INPUTS,myNode): esta INPUTS, HIDDEN_INPUTS y EXPRESSIONS
for n in nuke.dependentNodes(node=myNode):
#el primer atributo es el tipo de nodos que quiero, el segundo atributo es el nodo del que quiero ver los dependientes.
print n.name();
######### ACCESING NODES PART B ##############
myGroup=nuke.toNode("Group1")
#for n in nuke.allNodes(group=myGroup):#este es (filtro, grupo)...
#cualquier cosa, ver help("nule.allNodes") y ya
for n in nuke.allNodes("Transform",myGroup):
print n.name()
#tambien se puede llamar al nodo seleccionado que está dentro de un grupo usando
for n in myGroup.selectedNodes(): #pero asi no deja filtrar because retarded... no veo porque no pueda filtrarlos uno mismo por nombre o clase... pero bueeeeno.
print n.name()
#------------------------------------------------------
from __future__ import with_statement
#esto me deja importar el "with", que me deja cambiar el contexto de lo que estoy escribiendo para cambiar de nivel... asi
myGroup=nuke.toNode("root.Group1.Group1") #agarrar el grupo ... tambien se puede usar concatenacion.
with myGroup: #elegir el contexto
for n in nuke.selectedNodes("Transform"): # y aqui si deja filtrar
print n.name()
print nuke.thisNode().name() #con esto retorna el contexto
print nuke.thisParent().name() # con esto retorna el parent
#parece que para esto tambien sirven begin() y end()
###### con esto ya se como hacer el codigo que quería nick para abrir los grupos en cuanto se abre el programa
for n in nuke.allNodes("Group"):
print n.name()
nuke.showDag(n)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment