Randomize and presets parameters


I’ve been denied a model for containing unallowed scripts. Since I cannot do it myself, I would like to propose the following:

  1. A button to randomly change the parameters. This is very useful because it allows you to look at the parameter space in a pleasant way (just clicking on the same button). Your display is the only one that does not limit the amount of variations of a parametric design, so you should encourage this strong point. For example, if a design offers 1000 different variations, it is very difficult to explore its parameter space by adjusting the parameters one by one, so a button that randomly changes the parameters would be very useful. Doing this from gh apparently you don’t allow it, I guess it’s because the script forces to recompute the definition, but there wouldn’t be this problem doing with.js.

  2. Use gh’s SaveState to create parameter presets, thus offering interesting configurations, making it much easier to explore the parameter space. Similar to the first one, my script involves recomputing the definition after the event in your interface, which forces the ghdef to be recomputed twice, but you can avoid this problem by changing the parameters from. js before running the definition.

If you are interested, I can help you with the gh part (SD components to do this).

  1. I’m curious why you don’t add a button (not a toogle) and a label (to display text) in your interface, they’re in the stack of tasks or is an inconvenient?

  2. Do you have in mind allowing developers to edit the interface (colors, font, position of the parameters…) ?

  3. Btw, some time ago I updated Peacock to v0.99.1, if you can include the latest version it would be great.

  4. What’s the status of the bridge to ShapeWays? is the beta phase still open?



Many thanks for your suggestions. Let me answer to them individually:

  1. You made a very good point. We have been thinking about more natural ways than sliders to let users explore the design space, random sampling being one of them. Other ideas include recording a session history (going back and forth), analysing model configurations in the background (e.g. using PCA) and detecting configurations at a large “distance” to each other which can automatically be presented to the user as presets, etc. Some of these ideas can already be implemented quite easily using our publicly available viewer API.

  2. This is already on our todo list, and can be implemented purely on the platform without the need for implementation in Grasshopper. This can also be implemented for specific applications using our publicly available viewer API.

  3. How would you want to make use of a button on ShapeDiver? Do you have a specific application in mind? About the label: Do you mean a possibility to display parametric text in our parameter widget?

  4. Position of the parameters, their names, and default values can be edited in model edit mode. Further customization possibilities for the parameter widget might be added in the future. Custom user interfaces can already be implemented by making use of our viewer API.

  5. Many thanks for letting us know. If I remember Peacock consists of clusters only, which means there is no need for us to install it, it should work out of the box.

  6. Yes we will add you to the list of beta testers and send instructions to you.

Many thanks for your feedback!


Great, thanks! When I have time I’ll play with the API.

A seed slider (of the random component) makes no sense because this value does not belong to a continuous range. I think a button would be more intuitive in this case for the general public, they press a button and the definition changes the seed. It can have other uses, I use them very often in scripting components. Probably not much used, but I’d add it.
The label in the parameter widget would have much more use, for example, to show the price of the product, the volume, the area… I know you can put it on the model, but I think it’s a dirty solution. At the design level, putting text next to it doesn’t work well.

Thanks for add me in the beta, dga_3@hotmail.com

Happy new year!