I have asked something similar for Archicad in Discord quite a while back and for the purpose of structural engineering.
Our Building Physics guys now want to use Revit geometry (and in another project Archicad Geometry - IFC was an option too) to get walls as deconstructed surfaces into grasshopper/Rhino to do some Simulations with Honeybee … so far so good. The tricky part comes now with the doors/winows.
We want to take the void object itself and not the nested opening object (door, window). The void objects are more versatile to use. Were you able to integrate those objects (maybe in the next-gen connectors)?. We are currently not able to retrieve those objects but it would help us and all of the engineers out there quite a great deal.
void elements support: @AlexHofbeck is this in regards to geometry coming from Revit or IFC?
IFC Windows missing: @ltascheva was the IFC uploaded to Speckle directly? We’re currently rewriting the IFC parser from scratch and issues like these should be sorted.
I have three possible pivots for you, each offering different ways to organize and access the dictionary data:
“Map to Lists of Keys and Values” creates parallel data trees - one for keys and one for values, maintaining their relationships through matching tree structure. This is useful when you must process keys and values as separate streams while keeping their original organization.
“Map to Key-Value List per Entry” This approach combines key and value at each path position, making it easy to work with complete pairs. Each dictionary entry becomes a branch containing its key and value, perfect for processing entries as units.
“Map to Grafted Key Value List per Entry” This adds another level of organization by grafting the key-value pairs, using paths like {path;entry_index;0} for keys and {path;entry_index;1} for values. This gives you the most granular control over accessing either keys or values while maintaining their relationships.
It depends on what use you want to make of these and how:
Use #1 when you need to process keys and values independently
Use #2 when you want to keep pairs together and iterate through entries
Use #3 when you need both the pairing and the ability to filter/process keys and values separately
All these approaches handle any valid dictionary input and preserve the tree structure from input to output. The choice comes down to how you plan to process the data downstream in your Grasshopper definition.