Create a linked block containing linked blocks

This is basically a continuation of this thread on the old forum: Baking Nested Linked Blocks - Grasshopper

I am trying to do the same, but not having any luck.

I have created some linked blocks and have placed them in the Rhino Doc. Now I want to reference those in GH, which also works fine. Then I want to define a new linked block, which contains the other linked blocks.

But I am always getting the dreaded “Something went wrong. Please double-triple check…”

The data tree structure could not be simpler in this case. 4 blocks and one name, one file location and one set of default attributes.

Any help is much appreciated. Is this even possible with Elefront? In the old forum post Ramon van der Heijden makes it sound like it should work as long as you have the instances placed in Rhino.

This is indeed possible. The trick is that you should use “Insert Block” instead of “Import Linked Block”.

“Import Linked Block” is designed for linking and instantiating a block that is not already in your document. It can also handle scenarios where instance do already exist, but the point is that the component outputs the information from the external file without it being an actual instance of the block itself (because it’s base assumption is that it doesn’t yet exist in your file).

For handling blocks that are already defined in your document, you want to use “Insert Block”, because then it knows that the definition is for sure available.

For nesting blocks, you’re correct that you need to have the sub-block already defined in your document (which you’ve done), and then, since you’ll be operating on pre-defined blocks, you want to use “Insert Block” instead of “Import Linked Block”. Hopefully that solves the issue!

1 Like