Editing multiple parameters at once...

   20028   19   4
User Avatar
Member
518 posts
Joined: Dec. 2013
Offline
Hi there,

I have ran into this problem a bit, just wondering, if I have a bunch of null objects (for example), is there a way to edit the size of the whole bunch at once rather than having to dig into each node individually?



Currently I'd just go into each node and select the control node and adjust the scale.

Thanks,
Pete
User Avatar
Member
2625 posts
Joined: June 2008
Offline
Select the first one to bring up the properties panel.
Then select all of them and simply make your adjustment in the properties panel. This should change them all.

I just tried adjusting the Icon Scale of the NULL on the Misc tab and it worked. My guess is only nodes with like parameters will be affected by this multi-edit.
Using Houdini Indie 20.0
Windows 11 64GB Ryzen 16 core.
nVidia 3050RTX 8BG RAM.
User Avatar
Member
518 posts
Joined: Dec. 2013
Offline
Hmm, that wasn't working for me, I may be misunderstanding you though.

I dive into the null node then it's control node to select the size (and other props) open up properties, but then when I head back out to select the other nodes, the property window changes to thier root properties, such as overall transform.
User Avatar
Member
918 posts
Joined: March 2014
Offline
Hi there,

you can use the parameter spreadsheet to make your multiple adjustments. Menu bar -> Windows -> Parameter Spreadsheet. It might not be all to intuitive at first but it does the job.

Andy
User Avatar
Member
2625 posts
Joined: June 2008
Offline
I did not dive into the node, I just adjusted the top level properties on the Misc tab.
Using Houdini Indie 20.0
Windows 11 64GB Ryzen 16 core.
nVidia 3050RTX 8BG RAM.
User Avatar
Member
161 posts
Joined: May 2015
Offline
As a supplement of information, here is a thread that had a similar question :
https://www.sidefx.com/index.php?option=com_forum&Itemid=172&page=viewtopic&t=39308 [sidefx.com]

The best answer was to use the Parameter Spreadsheet as mentioned above
User Avatar
Member
518 posts
Joined: Dec. 2013
Offline
Okay cool, thanks guys. I'll check out the spreadsheet.
User Avatar
Member
174 posts
Joined: March 2014
Offline
strange… that's always working for me, i always use the network view in tree mode for that.
Though i find the color code not really obvious the parameters who don't share the same value are a little grayed out…

Compared to XSI that's extremely not obvious.
User Avatar
Member
470 posts
Joined: March 2014
Offline
Sorry to revive this topic.

I'm having similar issues and I've been trying to figure this several times, mostly getting frustrated and ending up editing dozens of objects one by one because I was not able to find a solution.

As an example, I want to edit the size of the Nulls in an imported FBX, but I can't size the top level because that will screw up the rig. I need to go inside the null and set the scale in the SOP/control panel.

I can select and edit multiple objects or Nulls in the Network List View or Parameter Spreadsheet, but there seems to be no way to select and edit multiple SOPs one level deeper.

Has anyone solved this riddle yet ?

I attached a screenshot that might help explaining the issue.

Thanks

R.
Edited by toonafish - July 1, 2020 06:50:12

Attachments:
parametersheet02.jpg (208.0 KB)

User Avatar
Member
518 posts
Joined: Dec. 2013
Offline
Hey maybe check out this toolbar script I posed here. You could use it to select any ‘control’ node (or any other node) and edit them at once
I think it might help.

https://www.sidefx.com/forum/topic/31283/?page=2#post-311707 [www.sidefx.com]

I use it all the time.
P.
User Avatar
Member
470 posts
Joined: March 2014
Offline
Great, that looks promising, how does one install a toolbar script like that ?

Cheers,

R.
User Avatar
Member
518 posts
Joined: Dec. 2013
Offline
Okay here's how do it!

Right click in an empty part of a shelf and choose ‘New Tool’


Then go to the script section and paste the script in (it's at the bottom of this post).


Press ‘Accept’ on that and you should have a new toolbar button!
Now, select a bunch of nodes and press that button and you should get a dropdown of all the nodes within your selection


Choose one type and in the shared parameters should appear in your ‘Parameters’ Pane, ready for multi editing fun times





#Get all nodes under the current selection
ChildSOPs = []
for node in hou.selectedNodes():
    for child in node.allSubChildren():
        ChildSOPs.append(child)
        
#Make a list of unique types
seen = set()
UniqueSOPs = []
UniqueSOPsSorted = []
for SOP in ChildSOPs:
    if SOP.type().name() not in seen:
        UniqueSOPs.append(str(SOP.type().name()))
        seen.add(SOP.type().name())

#Added this to allow Object Level nodes to be selected
SelectedNodes = []
for node in hou.selectedNodes():
    SelectedNodes.append(node)
    if node.type().name() not in seen:      
        UniqueSOPs.append(str(node.type().name()))
        seen.add(node.type().name())

#Clear the selection
hou.node('/obj').setSelected(False,  clear_all_selected=True)

#Choose the node type you want to edit
UniqueSOPsSorted = sorted(UniqueSOPs,key=str.lower)
input = hou.ui.selectFromList(UniqueSOPsSorted, message="Select Node Type!")
if (len(input) == 0):
    print "Cancelled"
else:      
    #Multi Select the nodes!
    for SOP in ChildSOPs:
        if (UniqueSOPsSorted[input[0]] == SOP.type().name()):
            SOP.setSelected(True,False)
    for OBJ in SelectedNodes:
        if (UniqueSOPsSorted[input[0]] == OBJ.type().name()):
            OBJ.setSelected(True,False)
Edited by peteski - July 4, 2020 00:58:51

Attachments:
Screen Shot 2020-07-02 at 4.20.16 pm.png (58.8 KB)
Screen Shot 2020-07-02 at 4.22.42 pm.png (89.5 KB)
Screen Shot 2020-07-02 at 4.56.11 pm.png (33.8 KB)

User Avatar
Member
470 posts
Joined: March 2014
Offline
Thanks a lot for the script and explanation Peteski.

I installed the script and it seems to work, but I don't quite get it.

When I use it with multiple objects selected, it's working basically the same as when I select all my objects in the Network/list view and edit them all at the same time. Or am I misunderstanding what the script is supposed to do ?

What I would like to do is to edit the properties that only seem accessible when you go inside a SOP node. So like in my example before, I'd like to edit the “Control > uniform scale” when you go inside the Null SOP node, and not the “Uniform Scale” that is accessible at the root of the SOP node.

I was hoping our script would also access the controls inside multiple SOP nodes, even if you selected the roots.

But it doesn't seem possible to select multiple of those controls at the same time. The closest thing would be to select them one by one in the Spreadsheet Editor. But that's almost as tedious as editing them one by one the Network editor.

But should it also be possible to edit multiple of those properties simultaneously with your script ?

Cheers,

R.
User Avatar
Member
518 posts
Joined: Dec. 2013
Offline
Yeah that's the whole point of it. I did notice however that it was behaving a little unpredictably with Nulls.
I think it has to do with the parameters of the control nodes referencing the top level parameters of the null node. If I delete the reference it seems to multi edit fine.


But yeah, this has definitely saved me whenever I have to multi edit a bunch of nodes. Travelling into them one by one drives you nuts! Here's a little test, if I select this bunch of nodes and run it, then choose ‘Control’.


You can see in the parameter pane there are a bunch of nodes selected.


Oh, I realised I should have cleared the selection, I added a line to the script in the last post.
See how ya go!
Edited by peteski - July 4, 2020 01:08:44

Attachments:
Screen Shot 2020-07-04 at 2.21.22 pm.png (77.8 KB)
Screen Shot 2020-07-04 at 2.20.40 pm.png (95.8 KB)
Screen Shot 2020-07-04 at 2.56.11 pm.png (34.8 KB)

User Avatar
Member
174 posts
Joined: March 2014
Offline
Hi,
Just to add another way do do it… when multi selection is impossible
you could use the opparm expression in an houdini textport

example to change all chop framerate parm in bone chains
opparm obj/chain*/* -v samplerate 100
User Avatar
Member
470 posts
Joined: March 2014
Offline
peteski
Yeah that's the whole point of it. I did notice however that it was behaving a little unpredictably with Nulls.
I think it has to do with the parameters of the control nodes referencing the top level parameters of the null node. If I delete the reference it seems to multi edit fine.

But yeah, this has definitely saved me whenever I have to multi edit a bunch of nodes. Travelling into them one by one drives you nuts! Here's a little test, if I select this bunch of nodes and run it, then choose ‘Control’.
[

You can see in the parameter pane there are a bunch of nodes selected.

See how ya go!

Ha, brilliant. After deleting the connection it works like a charm on Nulls as well.

This will save so much time and frustration. Thanks !


Cheers,

R.

Attachments:
borat.jpg (22.1 KB)

User Avatar
Member
518 posts
Joined: Dec. 2013
Offline
Heeey! Glad I could help
User Avatar
Member
21 posts
Joined: May 2017
Offline
@peteski: This isn't working for me in 18.5.351. I select multiple nodes and the Make Selection box comes up, but when I select the node type and hit Accept, nothing happens in the Parameter panel. Any ideas?
User Avatar
Member
518 posts
Joined: Dec. 2013
Offline
Hey that’s strange I just gave it a try on 18.5.429 and it works okay for me. It doesn’t work so well in the little pop up parameter window though (the one you can get in a network view by pressing p).
User Avatar
Member
80 posts
Joined: Feb. 2018
Offline
A bit late but I'll post anyway just in case the issue comes up for others.
It should just work with them all selected without requiring any scripts.
There was a bug relating to this, it was fixed in 18.5.408 but I'm not sure what version it started. If it still doesn't work then send an RFE.
3D Freelancer
https://www.artstation.com/ffd [www.artstation.com]
  • Quick Links