Curtain Panel Orientation - false normals

Here’s another method that may also work assuming the normals of the CurtainPanel.Boundaries is consistent:

Assuming it is, and assuming the surfaces created from the CurtainPanel.Boundaries results in inconsistent normals; calculate their dot product. Any scalar of -1 is an inverted Surface.NormalAtPoint. Use Vector.Reverese guided by an if statement and you should now be able to output the correct angles for all panels from this ‘corrected’ set of vectors.

Before conditional reverse:

After conditional reverse:

Graph:

EDIT: ps, if the result of the dot is anything to go by, it seems the normals of the CurtainPanel.Boundaries indicate these elements are treated as planar, meaning you can bypass everything and simply use Curve.Normal, I haven’t tested this so I’ll leave that for you to uncover.

3 Likes