Lamest, Yet Useful Clusters

In an effort to increase readability, I made some clusters for x, y, z moves.

It seems pointless, but they save room, and help readability, as well as speed the process. They only reduce the components by a count of 2, but I do quite a few moves.

This is all that’s generally in them, replacing, y, and z, for the others.

But, here they save 8 components:

There they are, if you are interested:
Move-X.ghcluster (2.4 KB)
Move-Y.ghcluster (2.4 KB)
Move-Z.ghcluster (2.7 KB)

If anyone wants to share some Lame clusters, I’d like to see them. : )


I thought I would add these from the other thread.

The original inspiration was from @TomTomTom. If I understand correctly, he wanted a bus, such as a data bus, as used in electronics.

In this context, the idea of the components would allow a mix of up to 8 parameters or geometries, along a single wire. The only advantages are: readability, and allowing a greater overview of the Grasshopper sketch. They also might be handy for swapping A/B sets of things

AFAIK, there isn’t a generic parameter. They are all typed for various single data types, but not set lists.

So, I made a Multiplexer and a De Multiplexer using set/list comonents. They only go one way, but can accept most data types. What they do is allow 8 parameters to pass on a single wire. The catches are: the outputs seem not to be able to be named. Also they can only pass parameters one way. Inside, they are a hack, but they seem to function, as a proof of concept.

For the Multiplexer, the Weave was chosen to force a particular order, as other components changed the order. If you change the ports, you need to edit the list. For the De Multiplexer, I just used a component that could pass a list/set.

De-MultiPlex.ghcluster (5.0 KB)
Multi-Plex.ghcluster (5.0 KB)

Going further, I think a cluster could be made to pass the bus, but add or intercept a single channel/port. In other words, you would have one big multiplexer on each end, and then you could add/read data or geometry along the way, using small, dedicated taps, like…X-mas tree lights, (Faerie Lights in the U.K.)

I can’t go further, but a component could be written that could:

  • Give the appearance of bi-directional data passing, though likely it would just detect what’s attached to it.
  • Allow both the inputs and outputs to be named
  • Have a +Plus function for adding or deleting ports.

Anyway, the ones I threw together seem to work, but more importantly, with @TomTom 's idea, you could build your own.

1 Like

There’s another one, tiniest, but still handy. It just divides the input by half, used for diameter to radius, which it could also be named. It’s stupid small, but still reduces clutter.

Half.ghcluster (1.8 KB)

Are you familiar with ‘Expression’ that is available on many component outputs and inputs? “x/2”

Thank you, yes, though I’ve only used it for Sin/Cos, though I see that there are dedicated components for them (now?)

Though but for my (sic) way of thinking, I avoid internal settings that aren’t apparent.

If you have any Lame but Useful Clusters, you or anyone else is welcome to share them in this thread. I guess that they aren’t really Lame, but simple but useful.

Yeah, that was a concern for me but I got over it. It’s so much cleaner and offers so many possibilities:

  • -x, x/2, -x/2, x/3, x/4, x*0.75, x+1, x-1, etc.

I have many useful clusters but don’t consider them lame. Four or five of my most frequently used are in this post:

There are many more, perhaps another time,

1 Like

Well, thank you for sharing.