How to understand other people's GH?

I have a GH definition from other people. It is long and looks complicated. I wonder what is the effective to understand this?

The rhino file is too large, I can’t post here. Hope this GH could demonstrate what I said.

Thanks.

test_Facade_rev02.gh (140.6 KB)

It is a sign of mastery and discipline if you develop a definition in a way that other can understand what a piece of logic is all about. If you don’t even know where to start, then that other person did a bad job. So its not so much you.

I think you need to “refactor” the definition, at least for yourself. This whole topic is a large and complex one, but essentially its all about encapsulation and documentation.

Any unit of logic (e.g. a group of components) should follow exactly one purpose, and this purpose should be explainable with a maximum of 3 sentences. If you can’t, then the grouping is wrong. There should a be clear in- and output for this unit and documentation should be visible. If you have a group with a clear in and output, following one purpose, you can even thread the inside of that black box as something you don’t need to understand.

Hi Tom:

Thanks for the understanding. Here I posted a rhino image. I am checking what kind of battery or method the original author used to populate the pattern into the surface. But CAN’T find one yet. If you could find, please let me know and thanks.

Sorry this forum is no place for doing your job for free. I can only guide you to figure it out for yourself. If you miss basic knowledge about Grasshopper you should learn it first.

It is OK and thank you for your help. I am working hard to find a solution by myself as well.
I kind of feel GH could do something like Microsoft visual studio to make the definition more organized visually.

You don’t need Grasshopper for this. If you are better with VS, then create your own Rhino commands. Learn how to use RhinoCommon api and you are fine. Grasshopper is just a visual scripting editor to simplify this, especially for people with no background in programming. That is all. But be aware you are comparing apples with oranges. You can create a Grasshopper definition very organised. It is a matter of that person behind the screen. And I have seen very bad organised projects in VS. Both are just tools

Good question! How do I understand my own definitions several months after having last looked at them?

2 Likes

Haha, I think I found it. THe original author use Command “project” to populate the patterns into the surface.