It depends on what you mean by unfold. One way, if you're thinking of 'unfold' as a sort of panelization process would be to:
Divide the surface (generate a grid of UV points on the surface).
Then rebuild each grid of four points into seperate planes.
Finally, orient the new planes to the XY coordinate system.
Tanks for replaying me, It's of curse possibility the panelising variant, but I don't know how to bring it together in the flatten XY and drawing a outline around the panels. Properly you have a example of unfolding by panelising.