@awilliams, @JacobSmall thank you for your input - it makes some wicked sense. I was thinking of a similar workaround as you suggested, but it becomes a true pain considering the bigger picture.
Let me add a little context: I’m working on a script for caltulating stability of a floating house (sic!). For reasonable outputs I need a precise model out of which I can derive all the necessary data. So it is not just volume I need: I need to compute masses, centers of masses, moments of inertia, etc. And I do so for every single model element: walls, floors, furniture, stairs, balusters, pipes and all. So what I basicaly do is select a scope of a model, sort things info categories (the python script you asked about), retieve their geometry and then proceed with further computations.
Apparently it is only mullions that require a separate approach, which is pretty frustrating. I’m actually considering modeling the mullions separately with component in place or generating them on curtain grids with Dynamo prior to running my script - didn’t try it just yet, but it seems like it could work.