Beispiel #1
0
def softwareSelection(toSelect):
    """Select the given object from list in the software.

    parameters
    -----------
    toSelect: list
        List of objects to select.

    Raises
    ------
    NotImplementedError
        If the software is a software where the selection is not implemented.
    """
    software = getSoftware()

    if software == 'maya':
        from maya import cmds

        try:
            cmds.select(toSelect, noExpand=True)
        except:
            pass
        return

    elif software == 'katana':
        from Katana import NodegraphAPI

        try:
            NodegraphAPI.SetAllSelectedNodes(toSelect)
        except:
            pass
        return
Beispiel #2
0
try:
    baseNode = NodegraphAPI.GetNode(
        NodegraphAPI.GetAllSelectedNodes()[0].getName())
except:
    sys.exit("Select a node on the nodegraph")

for i in selectedGroups:
    y = 50  #inital node position on nodegraph
    try:
        previousNode = NodegraphAPI.GetNode(
            NodegraphAPI.GetAllSelectedNodes()[0].getName())
    except IndexError:
        break
    previousNodePosition = NodegraphAPI.GetNodePosition(previousNode)
    xpos = previousNodePosition[0]
    ypos = previousNodePosition[1] - y
    t3d = NodegraphAPI.CreateNode("Transform3D", NodegraphAPI.GetRootNode())
    t3d.getParameter("path").setValue(i, 0)
    t3d.getParameter("makeInteractive").setValue("Yes", 0)
    NodegraphAPI.SetNodePosition(t3d, [xpos, ypos])
    #ports change names so trying more than one.
    try:
        previousNodePort = previousNode.getOutputPort('out')
        t3d.getInputPort('in').connect(previousNodePort)
    except:
        previousNodePort = previousNode.getOutputPort('default')
        t3d.getInputPort('in').connect(previousNodePort)
    NodegraphAPI.SetAllSelectedNodes('')
    NodegraphAPI.SetNodeSelected(t3d, True)
    y += 50  #adding space for next node in loop