Contour curves have nothing to do with steep angles.
For a rough result do this:
– convert to mesh;
– find normal for each face center;
– sort/dispatch (or make subsets) by angle of that vector to Z vector.
Something like this.
It convert the surface into a mesh, and then split the besh by “angle-steps” into smaller meshes.
(Disjointed meshes of the same “angle-step” are in the same, single, mesh object)