I have a “Control Panel” file that contains all my design variables. I use Data Output components to package these up and send them to other files that contain the individual chunks of business logic. I then feed the output geometry from each file back into the main file using Data Input components so I can see the geometry change as I tweak the sliders. However, it seems like GH does not do the computations until I open up the business logic files themselves and save them?
I’ve set the delay in all Data Input components to “short”. I’ve also tried using Recompute after every slider change to make sure the .ghdata files are updated. Was this how these components worked all along? If so, how else can I build my “Control Panel”?
*I’m just looking for some clarity about Data Input/Output for now and not looking for help debugging my definition, so I’ve not uploaded my files.
Thanks, this does seem more suitable for my application, but after testing it for a day I’ve noticed some game-breaking limitations.
The “Get_” input components do not seem to fetch any of the geometry from the main file within the Hops file, so you can’t actually build up/debug/test the logic within the file itself.
Tree structures do not seem to be imported correctly into Hops files. My only evidence for this is that my definition breaks when used as a Hops component but works fine otherwise. Again, you can’t really tell since you can’t do debugging inside the file itself.
The ordering of the inputs into the Hops component seem to be random, even when connecting the “Get_” input components in order.
I just want to break my project down into smaller files and it does not seem like there are any suitable tools. Clusters would have been perfect if they did not recompute the whole cluster every time which forces the granularity of my project out of my hands.
Hops are used similarly to Grasshopper Player.
Think: with grasshopper player, when you run a script, you can’t feed it a datatree, but only lists or singolar objects.
Similarly, Hops will use just simple lists or single objects.
If you feed a datatree to an "Get " input, it will surely behave unexpectedly, as it will execute the remote .gh for each branch of that tree.
You might be able to flatten your inputs before entering the hops.
If you have clusters with an internal logic that use trees and flattening it is unlikely, then maybe hops are useless for your situation.