If it is a flat face, it has a well defined normal vector. Test to see if that is parallel with the normal vector to the ref plane.
From the Face2 object, use GetSurface to get a Surface object.
From the Surface object, call IsPlane to test if it is flat.
If it is flat, use PlaneParams to get the normal vector.
From the RefPlane, you have to use the Transform object to transform a MathVector with coordinates (0,0,1) to find the normal vector to the plane.
You should end up with 2 MathVector objects. Use Cross to get a third MathVector. If the length of that vector is zero, the face was parallel to the RefPlane.
Thank you for the useful advise.
I didn't know the Cross Method. It is interesting to use.
I am testing.
Simon, it looks like when you pull the plane params from a component, it is relative to that components global cordinate system, is there a way to get the normal vector relative to the assembly coordinate system?
So it turns out there is a Transform2 method for IComponents that does exactly what I was looking for.