krishna Posted May 1, 2021 Share Posted May 1, 2021 Hi Guys, First post since I joined odforce. I am trying to make a tool which could create filecache node on the right click of a null node. The moment I hover my cursor on the "mdu" option, before clicking it's creating filecache node. Its a submenu option, so I think I am missing some thing important. <?xml version="1.0" encoding="UTF-8"?> <menuDocument> <menu> <subMenu> <label>mdu</label> <actionItem id = "create.rop.node"> <labelExpression><![CDATA[ node = kwargs['node'] result = 'Create Rop Node' sel = hou.selectedNodes()[0] if sel.type().name() == 'null': selName = sel.name().split("_") joinName = "_".join(selName) nodeName = joinName.replace('OUT_',"") if selName[0] == 'OUT': nodePath = sel.path() node = hou.node(nodePath) node.createOutputNode("filecache",nodeName) else: raise hou.Error("Invalid Node name") else: print sel.name() + " is not valid for cache" result = u"\u2713 " + result return result ]]></labelExpression> <context> <expression>kwargs["node"].type().category().name() in ("Sop")</expression> </context> </actionItem> </subMenu> </menu> </menuDocument> Thanks Quote Link to comment Share on other sites More sharing options...
Stalkerx777 Posted May 3, 2021 Share Posted May 3, 2021 labelExpression should be used when you want to dynamically show/hide menu items, main script should go under scriptCode or scriptPath tags Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.