Darren, I see you’ve edited the function to only return only the X position value… I’m not sure why you are doing that and I don’t have time to look at the rest of the code at the moment, but if you use the function “as is", it works.
If you only want one of the values, bind the resulting list to a variable... centerXYpos = nodeList_center() …and get the x or y value you want with its list index number... centerXYpos[0] # X value centerXYpos[1] # Y value Does the make sense? Rich > On Mar 16, 2017, at 5:24 PM, Darren Coombes <[email protected] > <mailto:[email protected]>> wrote: > > Thanks Rich. > I can’t seem to get it to work. > > Here’s the full script.. Feel free to use it if you can get the centre node > part working. > > > # v2.3 march 2017 > > import nuke > import os > > > n=nuke.selectedNodes() > > # delete all Viewer Nodes (so they dont get included in groups later on) > def deleteViewer(): > for n in nuke.allNodes('Viewer'): > nuke.delete(n) > > > # arrange all nodes neatly using autoplace command > def cleanUp(): > nuke.selectAll() > for n in nuke.selectedNodes(): > nuke.autoplace(n) > > > > # looks for all read nodes, then creates node labelthumb under each read > def addlt(): > # adds a certain node under each "Read" Node = Filters Node Class "Read" > sn = nuke.selectedNodes("Read") > > if sn == []: > sn = nuke.allNodes("Read") > if sn == []: > nuke.message("No Read nodes found") > else: > for n in sn: > n.knob("selected").setValue(True) > nuke.createNode("LabelThumb", "", False) > > > #selects all LabelThumb Nodes > def allLT(): > for n in nuke.allNodes('Group'): > n['selected'].setValue(True) > > > > > # find x center point for next node creation > def nodeList_center(nodeList=None): > '''Node placement function, from Drew Loveridge...''' > if nodeList == None: > nodeList=nuke.selectedNodes() > nNodes = len(nodeList) > x=0 > for n in nodeList: > x += n.xpos() > try: > return [x/nNodes] > except ZeroDivisionError: > return [0] > print nodeList_center() > nodeList_center() > > > > nlist = nodeList_center() > print nlist > > # create contactsheet node with a gap of 20 > def createCS(): > cs = nuke.createNode('ContactSheet') > cs['gap'].setValue(20) > cs['center'].setValue(True) > cs['label'].setValue("inputs: [value inputs]") > # cs.knob('xpos').setValue(nlist) > cs.setXpos(nlist[0]) > > > ## creates a group of all selected nodes.. > #selects all LabelThumb Nodes > def mkGroup(): > nuke.selectAll() > nuke.collapseToGroup() > > def addKnobs(): > g = nuke.selectedNode() > k = nuke.Enumeration_Knob("listfiles", "files", ['red', 'green', 'blue']) > g.addKnob(k) > > > > > > > def addLabelThumb(): > deleteViewer() > cleanUp() > addlt() > allLT() > nodeList_center() > createCS() > #mkGroup() > > > > > > > > > Check out some of my work… > www.vimeo.com/darrencoombes/reel2017 > <http://www.vimeo.com/darrencoombes/reel2017> > > Mob: +61 418 631 079 <tel:+61%20418%20631%20079> > IMDB: www.imdb.com/name/nm3719099/ <http://www.imdb.com/name/nm3719099/> > Instagram: @7secondstoblack > Instagram: @durwood0781 > Skype: darren.coombes81 > Twitter: @durwood81 > >> On 17 Mar 2017, at 7:51 am, Rich Bobo <[email protected] >> <mailto:[email protected]>> wrote: >> >> cs.setXYpos(center[0], center[1]+300) > > _______________________________________________ > Nuke-users mailing list > [email protected] > <mailto:[email protected]>, http://forums.thefoundry.co.uk/ > <http://forums.thefoundry.co.uk/> > http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-users > <http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-users>
_______________________________________________ Nuke-users mailing list [email protected], http://forums.thefoundry.co.uk/ http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-users
