Questions about Hops

  1. Can I see geometry that only exists within the hops component, or do I have to make an output from the hops definition to visualize the geometry?

  2. If I have multiple inputs to the hops component and only one input expires, does it expire the entire hops definition or does it only expire the internal components that are downstream of the expired input?

  3. Can I make my own custom types (C#) as inputs and outputs to a hops component?

  4. Is there any way to “step in” to the hops component with the inputs from the parent definition for debugging and evaluation?

  5. When using plane inputs to hops, it seems I have to group a plane parameter and name the group “RH_IN:MyVarName”. Is there any way to handle these inputs as trees?

I have been digging in more to try to answer these questions. I am not sure if my answers to these questions are correct. So please correct me if my thinking is wrong.

  1. It seems like I have to make outputs for all geometry I want to see. I think this is because the geometry is only visible in the headless instance of rhino that the hops component is using. This is unfortunate but makes sense.

  2. I am trying to test how internal components expire, and it does seem like only components that are truly downstream of the expiring input are solved again. This is very promising. I made a hops component that takes two number inputs. The first is how many spheres to create. I get the sum of all the volumes of the spheres and multiple that by the second number. The first input is significantly slower than the second. The second input is still slow if there are lots of spheres created. I am guessing this is because I am outputting the spheres and the output is expired with the hops component even though it didn’t change. I disabled Cache In Memory and Cache On Server for these tests.

  3. Looks like the answer is no, unless I contribute to the open source project or if I request support.

  4. No, I would have to put data in my hops definition to see how the internal components work with that data.

  5. Again, I would have to contribute to the open source project or request for tree support on planes (which seems to have been requested a while ago).