Joel Spahn raised a pertinent question on sorting face loop edges that was kindly picked up and answered by Scott Conover and Angel Velez from the Revit development team:
Question: It would be nice to know exactly what the following methods do:
Answer: Sorry that the Intellisense documentation is missing for these utilities.
Here is the brief documentation of each:
In ValidateCurveLoops, the 'extrDirVec' normal vector defines what the 'proper orientation' means, by ensuring that the loops are counter-clockwise relative to this direction vector.
Both methods are perfectly usable outside of any IFC context.
In the long term, there is no reason why they should not move into the regular Revit API.
Thank you, Joel, for raising this very valid question, and to Scott and Angel for their answers.
As I mentioned in the recent discussion sorting face loop edges, the RoomEditorApp provides a sample code snippet exercising SortCurveLoops.