Dear Andy, regarding baking, is there any plan to add some kind of shortcut capability instead of right clicking a component?
It would be efficient especially in large definitions and would help cut down mouse action.
I’ve been using eleFront for a few years now and thanks to the help of a few people here in the forum I have keyboard driven shortcuts to bake geometry with eleFront. In some of my definitions I have three or four different keyboard shortcuts and all I need to make sure is that the cursor is on the Grasshopper canvas.
I envision a single click button like my metahopper button which can be pressed with the mouse on the Grasshopper canvas and ideally with the keyboard shortcut from both Grasshopper canvas and Rhino viewport. The image below is just for visualisation purpose.
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.
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.
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.
@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)
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.