I think an optional input that controls what to receive before running the Receive node would make things a lot easier (Same as Revit’s filters). Think of it as the opposite of Speckle Object Value by Key. Only receive those that fit the filter. Let’s say I sent everything from Revit to Speckle and I only want to receive Rooms in Grasshopper. Currently, I have to receive everything first, then filter Rooms from what is received. This can get lengthy depending on the model and Expand Speckle Object can get overwhelming quite easy. Instead, we can define a rule, and only those that fit this rule will be received. I believe this will make receiving much faster especially when dealing with larger models.
To solve this “issue” you can disable the expanding functionality of the receive node, and use the “get object value by key” node to fetch the ones you want. Not at my computer right now but I’ll share a gif once I’m there! That being said, you’re right that may take quite a bit to receive everything depending on the model.
I do see some room for improvement on this. Main problem I see with filtering inputs on the receiving side is that you don’t necessarily know what’s there before receiving, but feel free to try and convince me otherwise!
We should maybe also add a “get object keys” node to make this really useful.
On a side note:
The is a way to do queries on a specific commit through the API, but I’m not very familiar with it, and has some difficult setup as far asI remember.
I’ll have a chat with @dimitrie and the web team about adding queries to the receiving end, that may solve the issue with having to receive tue entire model, but may require some extra setup on the GH side