Extrude normal to surface - I'm missing something

What am I overlooking here? Surface normal evaluation scatters in a weird way as though it’s not evaluating at the given points, and the subsequent extrude isn’t normal to the cylinder surface.

(Using Lunchbox for the hex shapes)

speaker tube.gh (9.9 KB)

You are evaluating actual points with the “evaluate surface” component. But you need to evaluate UV-coordinates instead.

You simply have to place a “surface closest point” component and use the UV-coordinate it gives.

speaker tube_uvCorrection01.gh (12.4 KB)

1 Like

Cool thanks :). Thought Evaluate Surface just needed any point :see_no_evil:. But I guess those Hex centers aren’t even necessarily on the surface.

1 Like

It is confusing and I run into this problem all the time (using an xyz-point instead of UV-point).
IMO it should say UV Point on the input of evaluate surface, but I dont know if its sometimes possible to use an xyz-point or why it would say point on the component.

1 Like

I’ll ask here because it’s the same file.

I’m having difficulty figuring out how to index these items so I can isolate them to work with them. Well, two things need to happen:

1.) Isolate those curves that lie on the surface seam,
2.) Explode those curves and again isolate and remove the middle curves so I can join the remaining curves on either side of the seam to form a complete hex.

I’m getting swamped in list indexes for what seems like a relatively simple thing. If those patterns on the seam were in a series (index 0 to 7 for example) it would be straightforward, so how do I arrive at the index pattern that selects just those curves?

hex pattern.gh (5.5 KB)

This could be one way.

hex pattern_re.gh (12.8 KB)

Or you can simply use a plugin feature like Ngon.