…And… you can add an offset to place the new node below…

cs.setXYpos(center[0], center[1]+300)


Rich



> On Mar 16, 2017, at 4:44 PM, Rich Bobo <[email protected]> wrote:
> 
> Darren,
> 
> Sorry, I should have added a usage hint…
> 
> 
> ListOfNodes = nuke.selectedNodes()      #Make a list of node objects...
> 
> center = nodeList_center(ListOfNodes)   #Find the center of the list of 
> nodes… Returns [x, y]
> 
> cs = nuke.createNode("ContactSheet”)   #Create your new node...
> 
> cs.setXYpos(center[0], center[1])            #Use the setXYpos method and set 
> the x, y values of your new node to the values you got above…
> 
> 
> Does that make sense…?
> 
> 
> Rich
> 
> 
> 
> 
>> On Mar 16, 2017, at 1:22 AM, Darren Coombes <[email protected] 
>> <mailto:[email protected]>> wrote:
>> 
>> Thanks Rich,
>> 
>> so if i create a ContactSheet node and i want to set its xpos to the result 
>> of the nodeList_center()
>> i can’t seem to figure that part out.
>> 
>> i’m creating the node this way.
>> 
>> 
>> def nodeList_center(nodeList=None):
>>     '''Node placement function, from Drew Loveridge...'''
>>     if nodeList == None:
>>         nodeList=nuke.selectedNodes()
>>     nNodes = len(nodeList)
>>     x=0
>>     y=0
>>     for n in nodeList:
>>         x += n.xpos()
>>     for n in nodeList:
>>         y += n.ypos()
>>     try:
>>         return [x/nNodes,y/nNodes]
>>     except ZeroDivisionError:
>>         return [0,0]
>> 
>> def createCS():
>>      cs = nuke.createNode("ContactSheet”)
>>      cs[‘gap’].setValue(20)
>>      cs[‘center’].setValue(True)
>>      cs.knob.(‘xpos’)setValue(nodeList_center)  ### this part not working, 
>> my syntax not great.
>> createCS()
>> 
>> 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 16 Mar 2017, at 2:21 pm, Rich Bobo <[email protected] 
>>> <mailto:[email protected]>> wrote:
>>> 
>>> Darren,
>>> 
>>> I can’t take credit for this; it’s from my co-worker, Drew Loveridge…
>>> 
>>> — If you don’t give it a list of nodes, it will use the currently selected 
>>> nodes as the default list.
>>> — It returns a list, for example: [26, -458]  -- which is the center x, y 
>>> position of the node list. Then, you can create your new node and use those 
>>> values to set the XYPosition for the node, probably with an offset on Y... 
>>> I use it all the time!
>>> 
>>> 
>>> def nodeList_center(nodeList=None):
>>>     '''Node placement function, from Drew Loveridge...'''
>>>     if nodeList == None:
>>>         nodeList=nuke.selectedNodes()
>>>     nNodes = len(nodeList)
>>>     x=0
>>>     y=0
>>>     for n in nodeList:
>>>         x += n.xpos()
>>>     for n in nodeList:
>>>         y += n.ypos()
>>>     try:
>>>         return [x/nNodes,y/nNodes]
>>>     except ZeroDivisionError:
>>>         return [0,0]
>>> 
>>> 
>>> Rich
>>> 
>>> 
>>> Rich Bobo
>>> Senior VFX Compositor
>>> Armstrong White
>>> Email:  [email protected] <mailto:[email protected]>
>>> http://armstrong-white.com/ <http://armstrong-white.com/>
>>> 
>>> Email:  [email protected] <mailto:[email protected]>
>>> Mobile:  (248) 840-2665
>>> Web:  http://richbobo.com/ <http://richbobo.com/>
>>> 
>>> "A professional is someone who can do his best work when he doesn't feel 
>>> like it."
>>> - Alistair Cooke
>>> 
>>> 
>>>> On Mar 15, 2017, at 10:07 PM, Darren Coombes <[email protected] 
>>>> <mailto:[email protected]>> wrote:
>>>> 
>>>> How can i find out the centre co-ordinate of say, 9 selected nodes, so i 
>>>> can create a node that’s directly below
>>>> 
>>>> nodes = nuke.selectedNodes()
>>>> amount = len(nodes)
>>>> center = ?? this where i’m stuck, need to get the value.
>>>> 
>>>> nuke.nodes.ContactSheet(xpos=center)
>>>> 
>>>> any help, greatly appreciated.
>>>> Thanks.
>>>> 
>>>> Darren.
>>>> 
>>>> 
>>>> 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
>>>> 
>>>> _______________________________________________
>>>> 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] 
>>> <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] 
>> <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

_______________________________________________
Nuke-users mailing list
[email protected], http://forums.thefoundry.co.uk/
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-users

Reply via email to