Passing Blocks Through VB Component

Hello!

I have a question that seems like it must have a simple answer that I am just missing. I’ve tried searching for the issue to no avail - I assume I don’t know the proper terms to describe the issue. When I am using blocks in a grasshopper definition and pass them through a VB component, they come out of the VB component as InstanceReferenceGeometry as shown below.

What additional code needs to be written for me to pass block geometry through a component unaltered? What core concept am I completely ignorant of here? Any help getting pointed in the right direction would be greatly appreciated.
Block Issue.gh (4.2 KB)

Hi @rtstangl I tried to open the attached file, but it looks like it is coming from a GH plugin?
I’m not sure how Grasshopper handles blocks, maybe @DavidRutten can chime in?

As far as what VB is doing, I think it is expected. The InstantaceReferenceGeometry is a block instance, and details are explained here:
https://developer.rhino3d.com/api/RhinoCommon/html/T_Rhino_Geometry_InstanceReferenceGeometry.htm

The block definition details can be found here:
https://developer.rhino3d.com/api/RhinoCommon/html/T_Rhino_Geometry_InstanceDefinitionGeometry.htm

Hi @rajaa, the blocks are being brought into Grasshopper through elefront. I was hoping that internalizing them in the data component would bypass the need to have elefront installed but apparently that is not the case.

Thank you for pointing me towards the relevant documentation. It does make sense that these objects would be coming through as InstanceReferenceGeometry since that is ultimately what they are.

If needed, I can deal with them in that format. My script uses custom VB block components and a number of Elefront block components. However, my VB components are generally confined to the script input and output, and for convenience I was hoping to find a way to parse the input Elefront blocks in the same way other grasshopper components do. For reference, I’ve included a screenshot below showing how they come through a move component.

Thank you,
RS

I think it will be a good question for Elefront developers.
@DavidRutten might have some thoughts here?