Egg crate makes me irate

Hey Kike, I just wanted to jump in to say that I’m loving the egg crate Content Cache component and most of the new “Rhino” components tab in Grasshopper for Rhino 8. I almost completely stopped using Elefront in favor of these. The functionality Content Cache provides to be able to directly alter objects in the Rhino File, like the content of Block definitions or even simpler stuff like moving a geometric element or changing its properties/attributes is great.

It took me a bit of trial and error so I understand were people are coming from complaining abut this. I’m sure once you document it and show people how to use it it’s gonna be really useful for a lot of people.

On the topic of the new components/containers When should I use the Model Object container? I find that often when I use it for more than just a few elements performance drop and everything slows down quite a bit

Perhaps that’s one of the reasons (along with so many bugs!) why I’m not won over by R8 yet. I rarely bake stuff so am more interested in features that enhance GH alone.

How about referencing geometry from Rhino? Or referencing other files? You never do that?

Nope, or very rarely.

1 Like

Interesting. I need the Import Content and Import Model Block Definition components in almost every Grasshopper definition…

Geometry Pipeline (filtered by layer and type) has always done that job well enough for me. I haven’t got into blocks yet. Maybe appropriate for winches and other hardware?

1 Like

That and 3D scan files for me…

The new Query Model Objects component works very similarly to the Geometry Pipeline component except that it returns “Model Objects” which is a new data type in R8 which stores the raw geometry along with all of the attributes assigned with that object (ie. what layer it’s on, display color, it’s material etc.). The Geometry Pipeline will only return the raw geometry.


Agreed that there are many definitions that do not require the new datatypes. We are all still learning how the new datatypes can help.

  1. Workflows that require multiple files. Reading or Writing multiple files or parts of files.
  2. BIM workflows that require the re-wring of data along with the geometry or in the document. I use them a lot for Revit objects in Rhino.Inside.Revit for instance. Using Blocks as BIM containers also can approached now. There is still a lot of exploration that could go on here.
  3. Any definition that is broken up into multiple parts. Essentially using the Content cache to “save” the current state of the definition so that another definition can pick up on that and continue the process. This is many times combined with multiple files.

Performance is always an issue to consider. Adding objects to a document has always been relatively slow, so avoiding moving from one document to another can help (baking, pushing and pulling). These datatypes can help with that because they contain so much more information. There is not a need to go back and forth between the Rhino objects and Grasshopper to keep the information together in one place.

Creating solutions that read the files directly into Grasshopper process and write out the objects without ever entering the Rhino doc at all is a interesting way to avoid adding more documents.


I have several LARGE, multi-part (multi-file) R7 models that use Data Output/Input and Hops to exchange geometry between files. Not saying that R8 features are useless but I’m in no rush to modify working R7 code to R8.

I want to say that I love the idea of the content cache and new data types etc but, as said before in the chat, the key factor is a good documentation.
At the moment I’m a bit lost and I’m not using them for projets.
But keep working this is the right direction.

What types of workflows you trying to do with the tools, perhaps we can explore it a bit?

Here is a guide on the Model Object in Grasshopper

Here are some other guides about related issues: