Plane normal problem

Hi all. I have been trying to create lines at intersection points of every curtain wall panel by 90 degree to each hosting panels.So far my plan was , get every curtain panel boundry lines and corner vertex of them. create a surface or plane from this points or polycurves , then take their normals and create lines from vertex and normal for each panel. Here is the result. i feel i am close to solve this but somehow plane normal does not function as i expected. What am i missing here, any idea?

image

image

see how the normal for each plane is pointed towards same direction.

graph is like this image

İ also created surfaces from this boundary closed polycurves and tried to extract normal of these surfaces. ( same result ). then i tried to create divide surface UV and extract normal from that yet again same result.

image

Interesting thing is if i extrude this boundary curves it gives expected result.

This is likely to be caused by a data-matching error in your graph. You could simplify your graph by creating Polygon.ByJoinedCurves from the curve segments of the panels, then use Curve.Normal

looks like your creating planes using larger and larger sets of best fit points - as Thomas said, it looks like a data matching error where you intend to pass 3 points but pass larger sets.