Solid face orientation

found a workaround… but it ain’t pretty. Solid -> Faces -> Vertices (which have consistent counterclockwise ordering) -> Vectors from pts[0] and pts[1] and pts[1] and pts[2] -> cross product between the two vectors = face normal. (which only works provided face boundaries are convex, and I’m also assuming planar faces. Could get fancier w/ Newell’s method but… for my purposes this works.)

 

Tell me there’s a better way!

 

Even the CurveGeometry() representation of each edge didn’t follow a consistent clockwise orientation - only its order did. What gives? Is it not reasonable to assume consistent orientations/windings/orderings etc. out of a solid? is there some loss of information at the moment of retrieving the “CurveGeometry” or “SurfaceGeometry” representation of one of the topology objects?