Updating HDA parmeters using python.

   1624   1   0
User Avatar
Member
29 posts
Joined: Dec. 2018
Offline
    
    for idx,ctrl in enumerate(fkcontrols):
       # print ctrl.name()[:6]
        print update_folder.name()
        if ctrl.name()[:6] == "L_Hand" and update_folder.name() == "lefthandoptions_1":
            fk_parm = hou.FloatParmTemplate(str(idx)+"r",ctrl.name()+"label",3)
            print fk_parm.name()
            ptg.appendToFolder(folder,fk_parm) 
            
        if ctrl.name()[:6] == "R_Hand" and update_folder.name() == "righthandoptions_1":
            fk_parm = hou.FloatParmTemplate("r",ctrl.name()+"label",3)
            ptg.appendToFolder(folder,fk_parm)
            
    return ptg

This code seems to work without a loop,but whenever I run it inside a loop it raises. Invalid indices/name/parm template

Any help would be appreciated.
Edited by mud_fx - Sept. 21, 2019 12:08:20
User Avatar
Member
69 posts
Joined: Jan. 2014
Offline
This happened to me today, so hopefully this will help others:

Whenever you do:
ptg.appendToFolder(folder,fk_parm)

seems like the "folder" variable gets invalidated for an unknown reason. So it will error on the next iteration.

Solved by setting "folder" at every iteration, by doing:

folder = ptg.findFolder('myFolderName')

so it retrieves a pointer to the folder again.
  • Quick Links