Access geometry from linked block instances with rhino3dm python

I can’t seem to access any geometry information for linked block instances with rhino3dm python.

I can find an InstanceDefinition object for the linked block instance, but the only available methods / properties are Name, Description, Id, GetObjectIds, and IsInstanceGeometryId. Calling the GetObjectIds method returns an empty tuple.

Is there any way to access the geometry for linked block instances? Is there any way to at least access the file path of the linked file (which would allow me to access the geometry in that file manually)?

Any advice would be appreciated. My ultimate goal is to extend the import_3dm Blender addon to support linked block instances.

Hi Seth,

For the InstanceDefinition there is


I think these will help get the path of the linked block…
See here for all available props and methods

Does this make sense?


Hi Willem,

This makes sense conceptually, but these props/methods are not exposed on the InstanceDefinition object in the python library (InstanceDefinition — rhino3dm 0.14.0 documentation). Should I open a bug to request their addition? (Or perhaps I can draft a PR to add them, working off of the existing bindings…)

I just wanted to understand if they were intentionally missing or just not added yet. Thanks!

The instance definition classes are not filled out as much as you need in rhino3dm for python. Please add an issue to the issue tracker at

Thanks for the suggestion. I opened an issue here: Missing InstanceDefinition properties to access linked block geometry · Issue #367 · mcneel/rhino3dm · GitHub

1 Like

Hi folks, just wanted to close the loop and mention that I made a PR to the rhino3dm repository to add these additional properties: Add support for reading linked instance definitions by s3ththompson · Pull Request #371 · mcneel/rhino3dm · GitHub