peteski
Feb. 1, 2016 18:48:03
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
Enivob
Feb. 1, 2016 22:27:22
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.
peteski
Feb. 2, 2016 01:22:40
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.
Andy_23
Feb. 2, 2016 01:48:40
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
Enivob
Feb. 2, 2016 09:21:11
I did not dive into the node, I just adjusted the top level properties on the Misc tab.
Control_Vertex
Feb. 2, 2016 09:41:49
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
peteski
Feb. 3, 2016 00:23:33
Okay cool, thanks guys. I'll check out the spreadsheet.
NNois
Feb. 5, 2016 06:14:33
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.
toonafish
July 1, 2020 06:49:13
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.
peteski
July 1, 2020 08:43:28
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.
toonafish
July 1, 2020 17:36:08
Great, that looks promising, how does one install a toolbar script like that ?
Cheers,
R.
peteski
July 2, 2020 02:53:28
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)
toonafish
July 3, 2020 07:57:00
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.
peteski
July 4, 2020 00:57:50
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!
NNois
July 4, 2020 05:39:23
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
toonafish
July 4, 2020 06:43:04
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.
peteski
July 4, 2020 19:49:40
Heeey! Glad I could help
aekorps
Dec. 18, 2020 11:34:53
@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?
peteski
Dec. 18, 2020 22:44:53
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).
FFD
Jan. 18, 2021 05:36:10
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.