Rhino 8 - Query Model Objects Component Not Working with hops

I would like to be able to reference Rhino geometry in my hops script using “Query Model Objects”. It seems to work in the definition, but when I load the hops component, the referenced geometry is empty.

My simple hops script:

Testing the hops component:

reference_test.gh (4.8 KB)

SystemInfo

SystemInfo:
Rhino 8 SR15 2025-1-19 (Rhino 8, 8.15.25019.13001, Git hash:master @ 74164bdf5469c2f269746857c54b8c44b74c7b24)
License type: Commercial, build 2025-01-19
License details: LAN Zoo Network Node

Windows 10 (10.0.19045 SR0.0) or greater (Physical RAM: 127GB)
.NET 7.0.9

Computer platform: DESKTOP

Standard graphics configuration.
Primary display and OpenGL: NVIDIA Quadro RTX 6000 (NVidia) Memory: 24GB, Driver date: 3-22-2023 (M-D-Y). OpenGL Ver: 4.6.0 NVIDIA 528.86
> Accelerated graphics device with 4 adapter port(s)
- Secondary monitor attached to adapter port 0
- Windows Main Display attached to adapter port 1
- Secondary monitor attached to adapter port #2

OpenGL Settings
Safe mode: Off
Use accelerated hardware modes: On
GPU Tessellation is: On
Redraw scene when viewports are exposed: On
Graphics level being used: OpenGL 4.6 (primary GPU’s maximum)

Anti-alias mode: 4x
Mip Map Filtering: Linear
Anisotropic Filtering Mode: High

Vendor Name: NVIDIA Corporation
Render version: 4.6
Shading Language: 4.60 NVIDIA
Driver Date: 3-22-2023
Driver Version: 31.0.15.2886
Maximum Texture size: 32768 x 32768
Z-Buffer depth: 24 bits
Maximum Viewport size: 32768 x 32768
Total Video Memory: 24 GB

Rhino plugins that do not ship with Rhino
C:\Users\dki\AppData\Roaming\McNeel\Rhinoceros\packages\8.0\Fenix\2.0.0.8\FenixToolbar.rhp “FenixToolbar” 2.0.0.8

Rhino plugins that ship with Rhino
C:\Program Files\Rhino 8\Plug-ins\Commands.rhp “Commands” 8.15.25019.13001
C:\Program Files\Rhino 8\Plug-ins\rdk.rhp “Renderer Development Kit”
C:\Program Files\Rhino 8\Plug-ins\RhinoRenderCycles.rhp “Rhino Render” 8.15.25019.13001
C:\Program Files\Rhino 8\Plug-ins\rdk_etoui.rhp “RDK_EtoUI” 8.15.25019.13001
C:\Program Files\Rhino 8\Plug-ins\NamedSnapshots.rhp “Snapshots”
C:\Program Files\Rhino 8\Plug-ins\MeshCommands.rhp “MeshCommands” 8.15.25019.13001
C:\Program Files\Rhino 8\Plug-ins\IronPython\RhinoDLR_Python.rhp “IronPython” 8.15.25019.13001
C:\Program Files\Rhino 8\Plug-ins\RhinoCycles.rhp “RhinoCycles” 8.15.25019.13001
C:\Program Files\Rhino 8\Plug-ins\Grasshopper\GrasshopperPlugin.rhp “Grasshopper” 8.15.25019.13001
C:\Program Files\Rhino 8\Plug-ins\Toolbars\Toolbars.rhp “Toolbars” 8.15.25019.13001
C:\Program Files\Rhino 8\Plug-ins\3dxrhino.rhp “3Dconnexion 3D Mouse”
C:\Program Files\Rhino 8\Plug-ins\Displacement.rhp “Displacement”
C:\Program Files\Rhino 8\Plug-ins\SectionTools.rhp “SectionTools”

Update

It also does not seem to work with elefront’s “Reference By Layer” component either. Perhaps this is a limitation of hops? Would love to get some clarity on this.

From my understanding of Hops, in layman’s terms, Hops is calling up a new temporary instance of Rhino (rhino.compute) to perform the operations asked, thus, it has no direct access to any components / objects / etc that you would consider to be in the ‘main’ Rhino instance.

You could get around this by querying the model objects prior to passing the items through to Hops for additional processing, but you need to bare in mind that model.object types, and other new Rhino 8 types are not supported as I/O for Hops. You would need to ensure that whatever you’re sending over is a basic brep/mesh/int/string etc. from the contextual inputs available.

Thus, Elefront would aslo be falling over at this point, as that is attempting to call data that doesn’t exist in this temporary ‘other’ Rhino instance.

Andy Payne mentions here regarding model objects support being on the radar, but there is no further update as of this post.

We’re hoping that Model Object support will be available in a new version of Hops (for Rhino 9 WIP) in the coming weeks.

Brill, thanks for the update Andy.