Would this be OK ? I tried rebuilding the whole thing without the missing plugin.
(you may need to adjust X/Y directions or rotate the plane 90° compared to your original script)
Going one step further, this finds the nearest surface at each point and uses that surface frame for alignment: You can wire either set of results to the purple group to see the X vectors.
P.S. NOTE:
The IsEqual(Equal within Tolerance) component in this code is a cluster I wrote myself because the standard GH Equals component treats very small values as False (not equal to 0), even when they appear as “0” in text panels. The default ‘T’ (Tolerance) value is 0.0001, though any value can be used.
In other words, if the difference between ‘A’ and ‘B’ (absolute value) is less than ‘T’ it’s considered False, otherwise True. Very handy!
From the component icon I assumed the planes were bisectors of the polyline at each vertex. Does Perp Frame really compute that or does it arbitrarily take the perp frame before or after the discontinuity ?
Indeed, it is my understanding you will need to use the “Bisect” component in order to have the plane bisector. Thank you all for your prompt contributions and help!