How to generate multiple sliders to control values for pulldown menu?


I will try to be as elaborate as possible. I have panels with certain names such as Panel 0 , Panel 1, … I assigned separate names for each panel by using create Pulldown and use the indices out put to replace values on a given list of numeric values. My aim is to assign different values for each panel through the Launchwindow. However, I only have one input for the value and when I replace item it only changes the last panel I selected. I have a logical mistake going on but couldn’t figure it out yet.

In the most short version I want to manage a list of data and change values individually for each panel. I am guessing I need to have multiple slider as input for the create slider. But it will not be very convenient because there will be hundreds of panels eventually.

Here are some visuals.

Thanks a lot already! Cheers

I think I’m going to need more information than this. Are you talking about panels as in the blue geometry in the first screenshot, or as in the text panels you show in the second screenshot? How are you assigning values for each panel? What do these values represent? Your screenshot omits the majority of the information necessary to help you. If you are able to upload a file that would help a lot, but I understand if this is not possible.
You also mention that eventually you will have “hundreds of panels” — if you are talking about text panels, this seems like a mistaken approach in the first place. If you give a little more context about what you are trying to do, I can try to help you find a better strategy.


Sure, I attached the files below, I think it will make more sense now. So basically I select each panel through Pickbutton from the Rhino scene.I make a rectangular penalization for each large panel into smaller ones. The values represent the vector that moves the center point for rectangular penalization. As I change the slider (Panel shift) the rectangles move to optimize the shape of smaller panels. Since I use replace item, every time I pick another panels it doesnt record the previous one. I hope it explains.

Thanks for the really quick reply. Cheers

OnlyPanels.3dm (1.4 MB) (53.2 KB)

Thanks for posting your files!
Is it correct to say that the problem you want to solve is that you want the choices you made on one panel to be “saved” to that panel? (so that if you pick that panel again, whatever panel shift you applied is “remembered”?) If so, I think the trick is going to be to set some user data on the panel object in rhino. If that’s what you’re trying to do, let me know and I’ll make up an example. If I’ve misunderstood the goal, please explain a bit further :slight_smile:

I just saw your reply. Yes exactly! I want to store the data individually for each panels so I can make changes on the model simultaneously by keeping the changes.

Thanks a lot

Hello Andrew,

If so, I think the trick is going to be to set some user data on the panel object in rhino.” @andheum

I think you mean the link below to set user data.,level%20of%20the%203DM%20file.

I can use SetUserText for each object and assign a value but I am not sure how to access that data and make changes through control window. I guess I need to use a custom script to access text values then add them as an element to the window. Would that work? I could not really manage to develop a workflow though.


This is an example using Human of retrieving and setting the value with user data on the object attributes. Note that it must be opened with the rhino file (where I’ve set default values on the panel objects). Also note I’ve arbitrarily assigned panel numbers to your panel objects – you might want to renumber them if you have some logic there.
OnlyPanels.3dm (745.6 KB) (63.3 KB)

1 Like

This is brilliant! I am very grateful for the reply. Although panel names are arbitrarily given it seems to work just fine but I can name them in order if there are any issues.

But I am not hundred percent sure if I understand how it works. I cant see a connection between how the value change for shift pattern immediately changes the UserData Value output for the first Object Attributes component? Its probably me who cant see though :slight_smile:

Thanks a lot that was a lifesaver


  1. reads in the user data values from the panels as-is
  2. replaces the value with “replace item”
  3. creates a new set of attributes, embedding the updated user data
  4. uses “modify attributes” to assign the updated values to the panels in Rhino
  5. the “dynamic pipeline” listens for changes to the object attributes, so these are updated automatically.

Hope that helps :slight_smile:

Yes, thanks a lot for the explanation!

Only one thing is missing for me how can you set values on the panel objects? @andheum

Cheers :slight_smile:

Modify Attributes sets the values on the panel objects. You can see this if you run the “GetUserText” command with one of the panels selected.

Great, thanks a lot!