It is not an answer because I thing it will be better to make a custom program to solve this problem. But here is a way to split the surface. The problem is that it split in too many rectangle, it will be better to use iterative way. Hope it could help. The idea here is to cut using the “walls”.
split planar surface.gh (13.7 KB)