Python Automatization: PDG Network and ROP Fetch Nodes to set custom output folders

   1713   2   2
User Avatar
Member
6 posts
Joined: Dec. 2018
Offline
Hi,

through hython I start houdini with a script that reads out environment variables and the configures my hip file with custom input and output values.
Setting the input value for the file node works perfectly, although setting the sopoutput parameter of the ROP FBX Output does not get recognized by the TOP Network ROP Fetch node.

The script looks like this:

    hou.hipFile.load(hipfile, ignore_load_warnings=True)

    inputNode = hou.node("/obj/Slice/FILE_INPUT")
    inputNode.parm("file").set(input)

    outputNode = hou.node("/obj/Slice/PDG_ROP_OUT_PATCH_UDIM")
    parm = outputNode.parm("sopoutput")
    parm.set(os.path.join(outputDir, "PatchesH/" + fileName + "_patch_`@outputName`_udim.fbx"))
    print(parm.rawValue())

    outputNode = hou.node("/obj/Slice/PDG_ROP_OUT_SPLIT_LOW")
    parm = outputNode.parm("sopoutput")
    parm.set(os.path.join(outputDir, "SplitsH/" + fileName + "_split_`@outputName`_low.fbx"), follow_parm_reference=True)
    print(parm.rawValue())

    pdgNode = hou.node("obj/RENDER/fbx_patches_udim")
    pdgNode.dirtyTasks(True)
    pdgNode.executeGraph(False, True, False)

The prints of the parm.RawValue() are perfectly correct. Although when I run pdgNode.executeGraph() the files are saved to their old destination that was initially saved in the hip file.

Is there any Update() function to call on the ROPFetch node to get the newest parameter value?
User Avatar
Member
6 posts
Joined: Jan. 2017
Offline
I have the same questions with you, I have to cook nodes in TOP network one by one manually, it will update
User Avatar
Member
6 posts
Joined: Dec. 2018
Offline
Late reply:I think the trick was to just save the hip file and then execute the graph. I guess the PDG network is using the saved hip file to load the graph for multithreaded processing.

So for a script it might a idea to save the hip file in a temp directory with the modified parameters and then execute it. This way the original file gets preserved.
  • Quick Links