Gumball input - interdependent instances

Hi @mathieu1 ,
It seems I have difficulties understanding how Gumball is functioning. I’ve tried to understand the documentation but I have to insist. I think a practical example will greatly help me - so sorry for bothering you.
In the first instance, I’m generating a first set of points (center of spheres - I can move just in XY plane)) joined with a curve and a surface. Then the curve is divided into 5 segments and the resulting set of points are moved vertically and are joined by a curve and a surface.
In the first instance, I would like to use the gumball to move the points of the first set and in the second instance, I would like to move the points from the second set.
Can you help me with some advice? Many thanks in advance!
Sincerely,


GumballInput_032.gh (100.4 KB)

In your definition, there are two different glTF Display components with the same name, which is not compatible with the Gumball Input behaviour (and in general bad practice).
Once you have two different names, it will be possible to reference both using a single Gumball Input, but given the workflow you are trying to achieve, I would probably use two different Gumball Inputs and use the App Builder to only show the first one first and then the second one (guiding the end users through steps).

Hi @mathieu1
Thank you for your advice!
I’ve made the modifications but the second gumball doesn’t work! The second set of points doesn’t keep the transformations. The idea is that once the transformations of the first set of points are finished the transformations of the second set of points are independent of the position of the first set.
I’ve changed the shape of the second surface to make the difference between the surfaces
Can you take a look?
Thank you in advance!
GumballInput_032.gh (106.2 KB)

There is an issue in your definition regarding the numbering of name attributes for the second set of points. You are mixing up 0-based indices and indices starting at 5 (the number of points in the first set). I made a small correction that fixes the issue:

GumballInput_032_FIXED.gh (105.3 KB)

Please note that many of your components include a hard-coded expression or index (5 in your case), which will not work if you change the number of points in the first set.

Hi @mathieu1 I have had the intention to put distinct names for the points according to their sets but I didn’t check the Series item. Thank you - it works!
I didn’t understand your last sentence: “Please note that many of your components include a hard-coded expression or index (5 in your case), which will not work if you change the number of points in the first set.” This means the maximum number of points/set which can be manipulated with Gumball is limited? Thank you for your support!

Your definition is built around 5 internalized points:

In several locations, you are assuming there are 5 points instead of testing the length of the list and adapting your logic, for example here:

That means the definition works fine now, but it will break if you start working with a different number of points. You can improve it to make sure the logic adapts to the given number of input points.

Hi @Mathieu,
Now I understand! In general when I’m testing an idea I look at the general picture and not very carrefully at details. Then the details will come into my attention because when thise details are not correct the code doesn’t function so I have to find the cause!
Thank you!

Hi @mathieu1 ,
I kindly ask you to explain why the 2 surfaces are not built according to all the points that define them but eliminate one of them. Only after I move a point the surfaces are constructed correctly!
Thank you!


GumballInput_032_FIXED.gh (106.8 KB)

I downloaded the Grasshopper file that you attached above, uploaded it to ShapeDiver and opened the App. I see all points and surfaces defined by all of them before I move any point:

Could you please give me more details such as steps to reproduce the issue you are mentioning?

Hi @mathieu1
I just upload the same definition on the ShapeDiver without manipulating any point!
I made public the definition on my profile and it looks like in my pictures not as in yours. Take a look here: https://www.shapediver.com/app/users/pedorthicartatgmail-com

There seems to be an issue (maybe a backwards compatibility one) on the Rhino 7 servers you are uploading to. Please try to go to your backend settings, switch your servers to Rhino 8 and upload the file again. Our team will investigate the issue with Rhino 7.

Please also upgrade your ShapeDiver plugin to the latest version and update the obsoleted attribute components, this might be leading to issues as well:

I found the issue: the “Replace Items” component behaves differently (and wrong) in Rhino 7. I added some logic for this case, the definition should now work on both Rhino versions.

250127_GumballInput_032_FIXED.gh (103.1 KB)

It works now!
Thank you!

Hi @mathieu1
It seems that Vector Display (VDis) doesn’t function in ShapeDiver! How can I display vectors in ShapeDiver?
I couldn’t find a solution in the documentation - I hope I have searched well!
Thank you!

You should be able to reproduce the style of the vector display in Grasshopper by recreating their geometry using simple lines for example, and output them using a Display component.

Ok, thank you!