Clusterhack

Hi,

I would really like to be friends with clusters but they have some limitations.
I know there is a problem with updating cluster outputs, some actions doesn’t update them.
Is there any elegant solution for that?

In this example case, Tap Buffer component is adding 1 every time I recompute the solution which is not forcing cluster output to update.

In the work scenario, I encountered this problem when I was dealing with changing Rhino object properties which didn’t force clusters to update - To be exact: receiving changing Rhino attributes (material) by Object Attributes component from the Human plugin.

So far, this is what I managed to do, to force them to update.
Enabling them by the trigger. (In the video I am mostly using F5 to recompute)

I actually have the same question. I keep noticing that I have clusters where the output doesn’t update properly unless I open and close the cluster. Even recompute sometimes doesn’t update them.

Also how can I just force a recompute in GH by pressing a button? I am mainly using components from V-Ray and some other plugins that do asynchronous stuff (like writing to a Google Sheet and renaming some files).

This is where you quickly learn that GH is not that useful if you want to hijack it for any general tasks that don’t necessarily produce an output in Rhino.

Do you mean the F5 key?


I did a little test and Hops component seems to not have the same problem with updating as Clusters do, but I’m not sure if they should be used this way.

I prefer spaghetti served on a plate instead of a canvas, so If I am looking only for tidiness Hops are a bit of overkill. Also, with Hops, you got two GH files instead of one to make your definition running, so in some cases, it can be impractical and prone to human error.

Hops can be great but properly working clusters are also needed.

No, I mean a button (ie. boolean) in Grasshopper. I want to be able to trigger a recompute, since some components are not updated correctly if they are not connected to visual output downstream. I have a python component that outputs the current time and this doesn’t update unless I do a full recompute (by pressing F5).

That’s what I thought but asked anyway. Maybe a workaround would be using Metahopper to toggle enable/disable specific components and force them to update this way?

1 Like

Same here. I’m experiencing many problems right now. Firstly, many times they don’t update and I have to edit my cluster, delete the output node and then replace it with a new output node. Secondly, when I use plugins like elefront and streamline blocks as output, everything is displayed correctly in Gh preview but won’t bake. And if it does successfuly bake, it only bakes a few blocks, sometimes it even results in wild displacement of blocks. It’s so buggy; this should be fixed quickly.

You can try this:

Or this older solution:

Yeah, that was a great suggestion and seems to work great for my usecase:

@AndersDeleuran thanks for the links, I will probably need those at some point too.

2 Likes

Have you tried using the Data Dam Component? I don’t know if that’s what you’re talking about though.

I do know about it. It is not what I was after. I was thinking about how I could trigger a recompute (the same as pressing middle-button and selecting “recompute” from the menu. But I wanted to do that using a button in GH.

I am sure there is some way to do it using script components.