When building a custom UI I’m finding that I often want to take a page of custom parameters from a component and then binding them to a new master component, but I have to do this for each parameter and this can take ages. I also find it’s very easy to get lost with what is bound to what.
Are there any shortcuts to doing this? I can copy and paste pages of custom parameters between components but can I include the bindings when pasting?
It doesn’t seem to be possible and the bindings aren’t included when copying unless I’ve missed something.
Many thanks.
You can write pretty basic iterative scripts for this sort of thing. I am attaching an example with two scripts and a note about the two approaches. As well, if you one by one drag pars from an existing op into the COMP customization par panel of another comp you get an option to bind there, but you are correct in that there currently isn’t a way to do that en masse from the UI.
One thing to be wary of with these simple scripts is that things may break if your new comp is on a different network level or you move after the fact by default most bind expressions use relative paths, so more work would need to be done to make that one more robust, but I believe it is generally best practice to bind “through” the network hierarchy so that you don’t have too many direct links to the same parameter ( except in the case of different UI elements). Meaning if you have a comp ( rampController ) that controls a ramp TOP inside of it via a bind, and a parent that has some of those parameters ( sceneController) you would typically want sceneController to bind down to rampController which then would bind to the ramp, hence my other script i put in called “promoteBind” which could also suffer from breakage if things moved since it resolves to absolute paths instead of relative, this can be fixed with some more python TD functions to check for where the source comp is in relation to the target and get a relative path…
Hope that helps…
bindCopyingSimple.toe (5.0 KB)
Brilliant, many thanks for this
I will take a look at this approach.