Есть ли способ увеличить следующий узел в списке 'setSelected'? - PullRequest
2 голосов
/ 21 мая 2019

В The Foundry NukeX я пытаюсь найти список узлов одного типа и увеличить каждый узел один за другим .setSelected узлов.

Чтобы было ясно, я пытаюсь создать код Python, который стоит за Edit -> Search... меню или горячей клавишей / в NUKE.

С помощью приведенного ниже сценария он только увеличивает первый узел списка .setSelected.

Есть ли способ увеличивать масштаб до следующего набора узлов каждый раз, когда я выполняю этот код?

for w in nuke.allNodes('Transform'):
    w.setSelected(True)
    xC = w.xpos + w.screenWidth()/2
    yC = w.ypos + w.screenHeight()/2
    nuke.zoom(3, [xC, yC])

1 Ответ

1 голос
/ 07 июня 2019

Вам необходим вложенный цикл for-in, чтобы выполнять итерации внутри нужного класса.

Вот как должен выглядеть ваш код:

import nuke

for node in nuke.allNodes('Grade'):
    node.setSelected(True)

    for id in nuke.selectedNodes():
        xCoord = id.xpos() + id.screenWidth()/2
        yCoord = id.ypos() + id.screenHeight()/2
        nuke.zoom(5, [xCoord, yCoord])

enter image description here

...