Rhino 8 Feature: Build Blocks Better using Grasshopper

Yes, a new baking component is in the works. Hopefully more info on that soon.


Thanks Andy.

Are you going to add User Attributes to the Grasshopper Rhino tab anytime soon?

This and better baking, hopefully with a bake name or something similar and I don’t need eleFront anymore.

Hi Martin -

Andy just answered that one:


1 Like

Thanks, can’t wait :slight_smile:

You’ll have to :sunglasses:


@martinsiegrist Please see this post about this feature. Three new GH1 components in Rhino 8 WIP

1 Like

Thanks Andy, this is awesome.

I was thinking about baking. I’m used to eleFront which uses a bake name.

In my Rhino 7 definitions I’m using up to three different keyboard shortcuts to bake specific parts.

However. I think a more robust solution would be a shortcut to select a component or all components in a group and then use a custom shortcut to execute ‘Bake Selected’ which can be set in the preferences under Interface / Shortcuts.

I see the User Text component has three options. I think it would be great to have a fourth option to overwrite all geometry which has been baked with the same key / value combination or even better add an input with an actual bake name.

I did this to select a component with Metahopper and @Mahdiyar keyboard shortcut script and I’m sure this could be streamlined and turned into a native component.

bake_metahopper.gh (49.7 KB)

We have discussed the ability to either overwrite geometry names in the baker with a text input… or possibly having a text input add a prefix to all baked geometry… I think we’ll have a nice solution that will update the correct elements without having to rely on naming to determine the correct objects to update… but it is a fairly tricky problem to solve and we want to get it right.

1 Like

Thanks, I’m looking forward to it. I’m baking so much stuff and deleting obsolete geometry manually would is a very tedious and cumbersome task. I was always a bit confused with the way eleFront added a user attribute key ‘BakeName(in-here-what-I_set)’ and a value with a path.


@martinsiegrist the BakeName quirk you describe is left over from the original version of eleFront from 10 years ago that was, if I recall correctly, stemmed from the use/patterning of the GeometryCache. The new version of eleFront eliminated this and the BakeName works more like a traditional Key/Value pair.


Anyways, looking forward to seeing McNeel’s solution!


I wonder how using native blocks by McNeel will compare to Elefront. In my field, Elefront is currently the absolute #1 best grasshopper plugin there is. :slight_smile:


@Jonish happy to hear! Hope the improvement for R7 ad R8 are even more useful!


I see there is a new “Bake Content” but no matter what I do, it fails to update my blocks.

I tried all modes on the component.
Am I missing something?

The update mode doesn’t seem to work.

Hi @Calcen,

Does it also fail if you use ‘Query Model Objects’ component from the Rhino tab instead of ‘Reference Block by Name’?

@Calcen and @martinsiegrist This file appears to work for me on my end. I’m running the latest debug build of the WIP that should go out to the public later tonight. Perhaps you can try to update your WIP when the next release comes out and test this file?
Blocks_Baking.gh (17.7 KB)

I tried mixing eleFront components and it also works on my side.

I’m using a developer build, that provably will be released today, so I guess we fixed something this week here. :sweat_smile:

Oh interesting. I thought I need to use a button to bake it.

I was able to bake blocks to another layer in the meantime.

I think I’d be happy to never see that Grasshopper layer…

What is the idea with the ‘Release Content’?

We probably need to make a new Discourse post to explain all the “ins” and “outs” of the new baker. But, the default behavior of the baker has a button which will bake the content into the document if it is pushed. However, if you zoom in and select the “plus” to insert a new input under the Content input, it will remove the button and insert an input which you can pass a boolean value to determine if you want to bake automatically. There are two modes to the baker which can be set via a right-click menu. The “Insert” mode will act the way GH bakes things now… which is to say it simply adds a new copy of whatever you’re baking into your document. If you are using “Update” mode, it will essentially replace the existing object that is baked with the new one… but it keeps the same guid, etc. So, it basically replaces the reference with the latest content. The “Release Content” option allows you to bake a copy of the content, but it removes the tracking (if in update mode). So, the next time you bake a copy it starts tracking that one, instead of the one you just released.


Ok, that’s actually pretty neat.

It’ll take a moment to get used to it.

The new component basically eliminates the need to press a button to bake an object.

Any chance that when selecting the Grasshopper Bake Content component, the selection could be moved or manipulated right away with the gumball?