You can press \ and it'll auto-snap all (or all selected) nodes to the grid.
Programatically, is the snap to grid code in the nukescripts code somewhere? If not, I guess you could make a snap-to-grid function quite easily.. Something like: node = nuke.selectedNode() gridsize = 50 # could be grabbed from preferences orig_y = node.ypos() new_y = round(float(orig_y) / gridsize) * gridsize node.setYpos(new_y) Pete O'Connell wrote: > Well it seemd to be a bit more complicated... If I use Nathan's script > and make a blur node with, it snaps to the grid, but if I make a second > blur node with the first blur still selected, it isn't snapped to the > grid and that one I have to repo by hand. The second blur seems to be > positioned a relative amount offset under the first node. I am trying to > reduce all the repositioning I have to do in the dag throughout the day. > Isn't there a way to have every node always be forced onto the grid. I > am also trying to avoid that situation where one node is directly on top > of another after snapping (by making sure that eveything is initially on > the grid). > > Did I miss this page in the manual? > Pete > > > On Tue, Apr 12, 2011 at 5:30 PM, Pete O'Connell <[email protected] > <mailto:[email protected]>> wrote: > > That works! > > Thanks Nathan > Pete > > > On Tue, Apr 12, 2011 at 5:22 PM, Nathan Rusch > <[email protected] <mailto:[email protected]>> wrote: > > What about just using the .autoplace() node method? > > def apCreated(): > nuke.thisNode().autoplace() > > nuke.addOnUserCreate(apCreated) > > -Nathan > > > *From:* Pete O'Connell <mailto:[email protected]> > *Sent:* Monday, April 11, 2011 6:39 PM > *To:* [email protected] > <mailto:[email protected]> > *Subject:* [Nuke-python] snap to grid on user create? > > Hello Nuke python enthusiasts. I am trying to have every node I > create be snapped to the grid as I create them. It is proving > trickier thatn I thought. > I have been working on variations on the code below which > doesn't work I assume because the node becomes selected after it > is created. Maybe the node needs to be an argument to the > autosnap function? > > ################################################3 > import nuke > def autoplaceSnapSelectedNodesOnUserCreate(): > m = nuke.selectedNodes() > for i in m: > nuke.autoplaceSnap(i) > if __name__ == '__main__': > autoplaceSnapSelectedNodesOnUserCreate() > > > nuke.addOnUserCreate(autoplaceSnapSelectedNodesOnUserCreate) > > ######################################################################## > > Any Suggestions would be greatly appreciated > Pete > > > ------------------------------------------------------------------------ > _______________________________________________ > Nuke-python mailing list > [email protected] > <mailto:[email protected]> > http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python > > _______________________________________________ > Nuke-python mailing list > [email protected] > <mailto:[email protected]> > http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python > > > > > -- > Pete > > > > > -- > Pete > > > ------------------------------------------------------------------------ > > _______________________________________________ > Nuke-python mailing list > [email protected] > http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python -- ben dickson 2D TD | [email protected] rising sun pictures | www.rsp.com.au _______________________________________________ Nuke-python mailing list [email protected] http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python
