Normal planes at points on a brep?

I’m pulling my hair out on this one, because the only nodes which seem to generate frames only work on surfaces, and I’ve already distributed my points across my brep the way I want it, and both pull and closest point never seem to disregard points not on the surface, but rather throws them at the edge instead.

Can anyone help me with how to solve this properly?

I actually wonder if getting the brep normal at my points, and then getting the curve tangent at my lines would generate better planes in my case, but I’m a bit lost at how to do that as well, without flattening the trees with the curves and the points…

(Also, there’s a group of nodes in the bottom right of my grasshopper file, where I categorize the points in three sets, where I hope to be able to scale the geometry I’m placing at those points using the point index for size. I don’t know how compatible that is with whatever solution can be done for the problem above…)

planes-on-brep.gh (33.3 KB)

Flatten your points list maybe.

1 Like

The tree structure of your point parameter is unrelated to the sequence of the faces list, that’s the problem.
Also, you didn’t even grafted the Faces list, it’s not going to work anyway.

Probably you need a deeper understanding of how trees work and how you should use them.

Exactly…

Like listen bro… I don´t mean to be rude, but you have started 17 different topics in the past 48 hours all of them trivial issues, which can be resolved very fast if you take an hour or so just to watch a few basic tutorials on youtube. How data trees work is an interesting topic.

2 Likes


surf_closest_point_tree.gh (15.1 KB)
Explanation with comments, see inside.

2 Likes

you could use brep closest points instead of surface closes points

1 Like

I have been watching tutorials in between posting those topics. :stuck_out_tongue:

I’ve been told by some people that they apparently enjoy figuring out problems on this forum.

That’s super interesting. I think I understand about 40% of it, but I will certainly try to digest the rest! It looks as if the key to the treasure might be buried somewhere in there.

But I use surface closest point because I want the “evaluate surface” node which gives me a frame, and that node doesn’t exist for breps, hence me making this thread. :slight_smile:

1 Like

What I meant is that you need to systematize your learning curve a bit. Like learning the basic interface and especially how data trees work, ´cos they might be a bit counter-intuitive. Or maybe keep most questions you have on the same topic, then it will be easier. Anyway, I do like your progress. :slight_smile:

Thanks, yes I’m going to try to figure out how Grasshopper stores data next, and look at the videos @Rickson posted.

I went for the opposite strategy when posting questions, though, and keep one question per thread, which might seem spammy, but hopefully easier to search for in the future for the next beginner.

I do think I had too many sub-questions and caveats in this thread, for example…

1 Like

Ok, so to drop some knowledge back into this thread, I did trip up trying to use my list of curves to calculate new tangents using the list of points, without really looking at how the structure of those lists looked like.

And then I discovered that luckily, I didn’t have to use my curves at all, because I already had all the information I needed in my list of points, thanks to the tangent output of the “divide length” node and the normal output on the “closest brep” node:

So now my planes are normal across the entire brep AND tangent to my guide curves!

If “distance length” wouldn’t have given tangents, I’d still be iffy about the solution, since my list of curves is a (1D) list, and my list of points is a (2D) set of points for each curve inside that list (as seen in the large yellow panels). But unless I figure that out, I think that’s going to be a new thread… sorry @davidsmavrov. :wink: