Random components expiring. BUG!

,


So I was aware about a bug, that if you take a guid and put it into a simple parameter it turns the simple parameter into a dynamic pipeline. (expiring every time your Rhino geometry changes)

But with model curves it turns components dynamic that it’s connected to, because they cast it from Model Curve to Referenced Curve and expires the component. This means that my script is suddently expiring in all sorts of weird places. Terrible behaviour, that leads to very unexpected results.

In the image above I moved my curve three times leading to the curve length component expiring 3 times.

Hi @Timo_Harboe_Nielsen,

Could you pleas attach a definition that shows the problem?

Thanks.

@kike Also, if you connect an empty (“”) panel to a simple parameter, such as curve, the latest curve drawn in Rhino gets referenced. Might be related.

@Toni_Osterlund,

This is a really old weird consequence of how strings are converted to geometry.
Grasshopper converts strings to geometry looking for the first object in the model that has this name, in your case a curve, but test with an empty model or with a different string.

Yes of course I can, but it’s a functionality issue, and I’m not sure how much a script will show that the screenshot above doesn’t.

When a model curve or guid is converted to a referenced geometry, that component becomes responsive to changes in the model. Whether it’s a simple param or in this case a curve length.

In other words, it somehow starts subscribing to events in the objecttable and expires everytime the rhino geometry changes. This is very undesired - especiallywhen my "query elements is set to not syncronize, and then the next component in line starts synchronising.

Will upload a script in a minute!

UndesiredExpiration.gh (15.2 KB)

Start the trigger to run it:

1 Like