I'm wedging variations with a Wedge TOP and cooking my SOP network through an HDA Processor. I want the Switch SOP to pick its input based on the current wedge, but referencing the wedge attribute on the Switch doesn't seem to work.
I tried putting @wedgeindex in the Switch's Input parameter, and also tried a custom attribute I created on the Wedge node (@variant). Neither seems to resolve correctly when the network cooks through TOPs.
A few details:
Houdini 20.5
Switch SOP inside an HDA called by HDA Processor
Wedge TOP creates attributes: wedgeindex, variant (integer, range 0–3)
Switch has 4 inputs
Questions:
What is the correct expression syntax for the Switch Input parameter in this setup?
Should I use @wedgeindex, P@variant, or something else?
Does the Switch need to be configured differently when cooked via TOPs vs. interactively?
Any working examples would be appreciated. Thanks!
How do I drive a Switch SOP input from a Wedge TOP attribute
593 1 1-
- bluemoon3
- Member
- 1 posts
- Joined: July 2026
- Offline
-
- digzelot
- Member
- 20 posts
- Joined: April 2017
- Online
I'm doing something similar, I have an HDA to expedite wedge params like folder paths, files names etc - on my HDA I have a "Preview Wedge" slider that will swap wedges, here you might just use the HDA param to control the wedge and the switch -
python script module in HDA:
Callback script on int parameter:
python script module in HDA:
def select_wedge(node, index): # ← CHANGE THIS path to your actual Wedge TOP top = node.node("topnet1/wedge1") if top is None: return pdg = top.getPDGNode() if pdg is None: return # Prefer matching by wedgeindex attribute for wi in pdg.workItems: if wi.intAttribValue("wedgeindex") == index: top.setSelectedWorkItem(wi.id) return # Fallback if 0 <= index < len(pdg.workItems): top.setSelectedWorkItem(pdg.workItems[index].id)
Callback script on int parameter:
kwargs["node"].hdaModule().select_wedge(kwargs["node"], kwargs["parm"].eval())
Edited by digzelot - Aug. 8, 2026 11:29:58
-
- Quick Links

