How to get a vector for each point at curve

Hello! I’m new to Dynamo and I’m trying to create a plane.byoriginnormal in each point that I have in a curve, but I need a vector that’s normal to each point because it’s a situation in which the vectors from Xaxis or Yaxis wouldn’t give me what I want. So, I tried to extract the vector I need using Curve.Normalatparameter but when I do a line to check it, it’s inclined and not correct.

I also tried with the node Curve.CoordinateSystemAtParameter but the result is pretty much the same

Your vector input is wrong.
To get normal vector of each points, try this.

1 Like

Thank you for answering me!! I’m gonna try it out like you showed in the picture

Thank you Dylim! It’s like this now:

hello…one way could be, try to rebuild your curve


Okay, why does your curve look better? I’m new at Dynamo :sweat_smile:

1 Like

No worries…dont know its look better :wink: but we all have this issue with curves/splines picked from revit…i normally just rebuild it approximal as show above…give it a take and hope it works for you

1 Like

This old post discusses a similar issue


I personally don’t like rebuilding geometry because it makes incorrect information sometimes.
In this case, You need to sort out the normal vectors by crossing with tangent vector.
See the image below.

before sorting

after sorting

if you change the number in the blue circle to -1. you could get opposite direction normal.


Wow guys, thank you for answering me! This forum is really active.
I’ll try all the different ways and check the results, see if there’s any big difference that could influence overall results

1 Like

Yes that’s the right way, check all possible combination and find what’s best for your project…sometimes it can be simple in the given situation sometimes it can be very complex when we build…that’s why Dynamo are so great many ways to do same result :wink:

1 Like