Working with Blocks has some important differences in the new version of EleFront. We hope this will bring more clarity and control to block-based workflows. We have tried to separate the process of creating the block definition from when you are creating instances.
Definitions
When you define a block, the component now returns a representation of the Block Definition.
The Define Linked Block component now also includes an option for Embedded and Linked.
Note - what used to be called "Import Linked Block" is now called "Define Linked Block". The old component called "Define Linked Block" no longer exists - in order to define geometry to an external file, simply use Bake To File, and then create the Linked Block definition with Define Linked Block.
This will allow you to update external block definitions without having to bake to your active document.
That definition is easily convertible into a block, either by transforming it, or passing it into a Block parameter:
You may notice the asterisk after the name of the block. This is to indicate that the block definition only exists in Grasshopper - there is either no definition in the Rhino document, or the version in Grasshopper is newer than the version in Rhino. In order to resolve this, you need to "Push" the definition to the document. Please see the next tab.
Pushing Definitions
In order to update the Block definition in the Rhino session, you need to "push" the definition from Grasshopper to Rhino. You can do this from the Push Definitions component. This will work on both Block Definitions and Block Instances. This means you can update Block definitions without baking an instance to the document.
After pushing, the asterisk has been removed. Actually, if you were to reload the upper panel, it would also remove the asterisk, since the block will know that its definition has been pushed.
If a definition with the same name already exists, it will throw an error. There is an option to Overwrite the existing definition, which is available from the context menu. Not only can you change the definition, but this means you can also easily change a Linked Block to an embedded one, and vice versa.
The bake components will expect you to push all definitions before baking, so that you can resolve conflicts at that stage. You can override this behavior using Bake Settings. See more about Baking.
New Component: Get Block Info
You can now access lots of information about a block, without having to fully deconstruct it. In the old version of eleFront, it could be very computationally demanding to compute the geometry of a block, if all you wanted was its plane or name. Therefore, we've added the Get Block Info component.
This features lots of useful information about a block:
Block Name
Transformed Plane
Block Transformation
Block Type
Source File (if Linked or Embedded and Linked)
Whether it has been pushed to the active document
Explode Block
The old component Deconstruct Block has been replaced with Explode Block, in order to draw a clearer distinction from the Get Block Info component.