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.