TCL/Python Snippets

Get input node name:
[python nuke.thisNode().input(0).name()]
[python nuke.thisNode().input(1).name()]
[value this.input0.name]
[value this.input1.name]

Set a variable in expression with TCL:
[set VARIABLENAME VALUE; return]
To use this variable later needs to type it as:
$VARIABLENAME

Get the last letter/section from node name, separated by “_”:
nuke.thisNode().name().rsplit("_").__getitem__(2)

TCL String Operation that returns the 5th character from top input node name:
[string index [value [topnode this.input0].name] 5]

Use TCL string operation to converts to uppercase or lowercase:
[string tolower [value]]

Check if anything is plugged in to an input:
[exists this.input1]]

Check input1 and check if anything is plugged in:
[value [topnode this.input0].name]
[exists parent.[string tolower [value [topnode this.input1].name]]]

This handy getting filename from topmost read I grabbed from Nukepedia
[lindex [split [lindex [split [knob [topnode].file] .] 0] /] end]
[file dirname [knob [topnode].file]]/[lindex [split [lindex [split [knob [topnode].file] .] 0] /] end]_conv.%04d.exr

Read metadata with TCL
[metadata input/filename]

Using expressions in Text node (needs to square bracket the whole thing):
[expression frame==1?1:0]

Get Bezier1’s point 0 (which is first point) position in Roto1 node :
[value Roto1.curves.Bezier1.curve_points.0.main]

Leave a Reply

Your email address will not be published. Required fields are marked *