Problems Using Evaluate Surface

I had a large number of hexagonal surfaces and decided to extract their centers and normals (vectors). The first thing that came to mind was using the “Evaluate Surface” component with an MD Slider set to (0.5, 0.5). Everything was fine until I tried moving those points along the extracted normals; I then discovered that some normals were pointing inward while others were pointing outward (whereas I need them all to point outward), and I don’t know what to do.

That mysterious “Splitter” (script) node is one I created myself to identify problematic elements: Script for identifying problematic elements in a list

gh file:

Hex_srf_p.gh (394.9 KB)

I’ve been wrestling with this problem for two days now, and I’d really appreciate your help :slight_smile:

-Robert

Hello

just looking to the patch in Rhino shows that there are no logic on the orientation.

Here is a way to deal with that but it is not perfect as there is no reference object (for mesh In Nautilus I have a tool to orient all mesh with a reference mesh)

So here I use a mean plane. Then I look if normal are flipped or not. Then I use Brep.Flip()

Hex_srf_p.gh (385.1 KB)

Thank you very much!

But now I’m wondering: could this have been done without C#?

I’m asking about C# not because I dislike it—I use it myself—but I’m simply curious why you turned to it.

-Robert

It was clean and simple. Bit you can also keep track of the orientation of each brep. Or use plugin to flip.

Sometime basic tool are not there.

Here`s my take

Need Lunchbox and Unify UV

Example_UnifyUVs_v3.gh (701.0 KB)