Dividing Floors by Intersecting Framings

Hi everyone, I want to divide floors by structural framings.
So far I can do it for one floor each time. I tried to change it to work for every floor at a level ( Archilab - ByCategoryAndLevel) but I got lost in managing lists. I changed lacings and modified lists but I couldn’t make it work for multiple floors.
I am sorry if I couldn’t explain it clearly, hope screenshots will explain more.
So how do you think I can manage that many sublists with nodes? or do you suggest writing Python code to manage it?

SlabDivideByFramingIntersection.dyn (96.0 KB)

It’s hard to follow your graph screenshot. I like to arrange my graphs a way that all connector is visible, no node or group covers a connector.

About your graph:
This part wasn’t ready for multiple input. For finding the top surface I would use the normal of the surface as a filter, not a fixed number of surfaces. Also this automatically selects only the top, so you don’t need the latter top selection part

Here you have to change the lacing and levels:

And now it’s working! In situations like this, I like to check the graph one by one, and find where the levels are lost.

Thank you so much for fast and easy explanation.
I think most important thing in Dynamo is how to manage lists.
And thanks for graphs tips also, next time when I post in forum I will make a better screenshot.