I think it similar to this… but I believe I have to find a way group my points relative to angles as angles taken from surfaces are not exact .
I think it is more like
sorting points
grouping them with angle ranges. For example all points which fall between 0-10 degrees one branch
10-20 second and so on
Sort list of my split surfaces using these groups and BANG !!!