Managing Large Projects

If you have access to Rhino6, check out the Data Input and Data Output components (Params.Util panel). They allow you to store any number of data trees in separate files.

1 Like

For those of us who have to maintain compatibility with Rhino5, is there any way via Python/C# scripting for data trees to be serialized into a file and referenced from another Grasshopper definition?

I’ve been using data = clr.Serialize(param.VolatileData[0][0].Value)andparam.SetPersistentData(clr.Deserialize(data)) as an ad-hoc way of saving Grasshopper geometry into JSON files, where param is of type GH_PersistentParam\<T>

But of course this only works when the param tree has a single branch and leaf - when I attempt the above with the entire GH_Structure, it produces a not marked as Serializable error.

@dave_stasiuk’s Pack Data and Unpack Data from TreeSloth does this (if I recall correctly). Maybe have a look at those.

1 Like

Thanks David, I have Rhino6 at home, but work hasn’t upgraded yet :frowning: Will check it out when i get a chance, sounds like very powerful functionality.

in theory yes. If you own a copy of Grasshopper Professional you can at least colour the wires :wink:

You mean the Corporate license?

ps. Wire colours can be editing by modifying the grasshopper_gui.xml file:

<item name="wire_default" type_name="gh_drawing_color" type_code="36">
<item name="wire_empty" type_name="gh_drawing_color" type_code="36">
<item name="wire_selected_a" type_name="gh_drawing_color" type_code="36">
<item name="wire_selected_b" type_name="gh_drawing_color" type_code="36">

wire_selected_a is the selected end of a wire, wire_selected_b is the unselected end of a wire (assuming the other end is selected). If neither end is selected then wire_default is used, unless the wire transports no data, in which case wire_empty is used.

Do note that even if you make wires invisible, they will still ‘be’ there and when you double click a relay may be inserted into seemingly empty space. I predict you will loathe not seeing wires within the hour. You can however make them very transparent.

1 Like

:hushed::thinking: Please explain, is this a thing? Since when? Is this based on Rhino License or a separate license?

1 Like

The ‘Corporate’ license refers to pirated copies of Rhino that appear on the forum once in a while… :skull_and_crossbones:
And, no, those definitely don’t have any added features.

Well, I thought someone would understand the joke…:


how can you have multiple wire colours if you just have four xml entries?. How can you override wire appearance. That’s not possible with an unhacked grasshopper. You did not present any possibility to override them traditionally, so I modified it in areas not intended. I’m not sure if this already violates GH License agreements, but as long as I don’t share this, I’m not doing anything illegal

I’m basically just posting that its possible.

So no, I’m not referring to a pirated version of Rhino.

1 Like

Downloaded Telepathy but it does not show up
I see this message on the Rhino prompt:

Exception System.NotSupportedException:
Message: An attempt was made to load an assembly from a network location which would have caused the assembly to be sandboxed in previous versions of the .NET Framework

Not sure what to do here

rightclick onto the .gha/.dll and make sure its unblocked. Reopen Rhino/GH

I was just joking because cracked copies of Rhino show up as ‘Corporate’. It’s not a real type of license, we only have Commercial, Educational, and Trial (all have the same functionality, it’s only a legal difference).

Since @TomTom (h/cr)acked his Grasshopper I thought it would be more appropriate. To be clear, he’s doing nothing unethical, just unesthetical :slight_smile:


I’m just trying hard to find a way against spaghetti style, without spending hours in rearranging components for each definition.

I indeed believe that different colour can simplify reading more complex definitions. Jagged wires improve top-to-bottom arrangement of components. You might noticed the difference between last versions. I’m not saying that’s it. I’m just playing around

Unblocked it but message comes up
and component does not load

could send an empty 3dm file?

I know, it’s all good. I’m just glad there’s no surviving images on the web from the first few internal versions of GH. That stuff looked horrible.


@TomTom that’s funny… this is an old wish, from early days it was always possible to change GH canvas and people interested in it:

empty.3dm (65.6 KB)

Here it is

I actually injected the GH_Painter not the GH_Canvas class. Background colour change was done via grasshopper_gui.xml, nothing fancy

thank you. sorry, couldn’t find a problem.