123456789101112131415161718192021222324252627282930313233343536 |
- class layoutNodes(KellerNukePlugin):
-
- def configurePlugin(self):
- self.menu = nuke.menu("Nuke")
- m = self.menu.addMenu("Workgroup")
- m.addCommand("Layout Nodes", "import layoutNodes; layoutNodes.doLayoutNodes()", 'shift+l')
-
- def unconfigurePlugin(self):
- self.menu.removeItem("layoutNodes")
- pass
-
-
- def doLayoutNodes():
- import nuke
-
- try:
- sel = nuke.selectedNodes()
- except:
- sel = None
-
- if sel:
- if len(sel) > 1:
- dist = sel[len(sel) - 1].xpos() - sel[len(sel) - 2].xpos()
- #print "LayoutNodes: Offset %s Pixels" % dist
- offset = dist
- fac = 1.05
- i = 0
- for node in sel:
- if i == 0:
- initposx = node.xpos()
- initposy = node.ypos()
- else:
- # margin = margin + margin
- node.setXYpos(int((initposx + i * offset * fac)), int(initposy))
- i = i + 1
- return None
|