Element.Geometry vs element.GetMaterial structure

Hi, I’m working on a Revit to Rhino workflow, sending breps to rhino via flux and grasshopper, and I’d like to be able to assign correct materials to the breps in grasshopper. The problem I’m encountering is that the structure of Element.Geomtery doesn’t match that of element.GetMaterial - see the attached screenshot. Basically, Element.Geometry returns an array of all the geometry in a given set of elements, while element.GetMaterial returns an array of unique materials per element. What I really need is an array of materials per geometry.

My question is:

  1. Is there any built-in node I’m missing that would accomplish this?
  2. Or, do you know of a 3rd party package which has this utility?
  3. Or, I’ll write something new, but I haven’t messed around with the Revit API yet and I’m not sure what classes to start with. Perhaps you could point me in the right direction?