I tried to reference a Mesh Block from Grasshopper, but that diesn’t seem to stick. Only if I copied the Mesh it worked (meant, internalizing the Mesh).
Fig. Attempt to referencE a Mesh block wasn’t very successful:
Problem is that I have multiple big meshes with many GH definitions performing operations on them, and so the files gets big and… so I would prefer to use blocks for the original meshes and keep only one copy on disk.
Is there any workaround trick I could use for this which doesn’t add to the file sizes? (I often use different Rhino files as well, so I really need to have the oiriginal mesh as a block).
Tools like Human and Elefront allow you to reference blocks. You can also do this via RhinoCommon of course. The Instance Definitions table on the active RhinoDoc will have the definitions for the blocks in the file and each Instance Definition can be interrogated for any references (the actual blocks you see in the model)
OK, I need to be more precise with my question.
I was able to reference a Block Instance from a Rhino file if, and only if, the block instance was defined in that file (“direct reference” of sorts).
But can I from GH reference a non-embedded Linked Block Instance without having to know the file name or open the file in which the original Block was defined?
Fig.1. Due to big meshes I want Linked Blocks in the Rhino file (middle) but still be able to load it in the GH file, like so:
So from the GH file (my BlockRef script component) I would not like to explicitly specify the original block definition file (to the far left). However, if I still need to know the original Rhino file name in order to load the linked block instance, can this info be extracted from the Rhino file (in the middle, which linked to the original block definition)?
I have been looking around in the RhinoCommon docs but couldn’t find a way to figure this out.