#Script by Jessie Amadio 09/10/09 in Nuke 5.0v1 import random import nuke i = 0 for n in nuke.selectedNodes(): i = i + 1 if i == 0: bdName = nuke.getInput("Backdrop Name") bd = nuke.createNode("BackdropNode") bd.knob("name").setValue(bdName) bd.knob("tile_color").setValue(random.randrange(00000000, 99999999)) else: #create lists xposList = [] yposList = [] #add each node position to respective list for n in nuke.selectedNodes(): xposList.append(n.xpos()) yposList.append(n.ypos()) #sort lists numerically xposList.sort() yposList.sort() #grab the min leftX = xposList[0] topY = yposList[0] #calculate difference between smallest and largest values if i == 1: theWidth = 105 theHeight = 110 else: theWidth = (xposList[(len(xposList) - 1)] - xposList[0]) + 105 theHeight = (yposList[(len(yposList) - 1)] - yposList [0]) + 110 #get Backdrop name bdName = nuke.getInput("Backdrop Name") #create Backdrop Node bd = nuke.createNode("BackdropNode") bd.knob("xpos").setValue(leftX - 20) bd.knob("ypos").setValue(topY - 40) bd.knob("bdwidth").setValue(theWidth + 20) #padding bd.knob("bdheight").setValue(theHeight + 20) #padding bd.knob("name").setValue(bdName) bd.knob("tile_color").setValue(random.randrange(00000000, 99999999))