[Geo Nodes] Curve to Points rotation respecting sharp corners

Hi guys!

I am currently working on a geo node network to make procedural buildings out of base splines like the stuff you get out of OpenStreetMap via blenderGIS. trying to get the wall panels to be placed correctly on the spline but cant get sharp corners on the spline to work properly:




these is a test spline with the points on it via resample curve → curve to points:




this is what happens when i use points to instances and setting the rotation from the curve to points (note how the instances deviate from the base curve the most at the sharp corners):




this is my node graph so far:

any help would be much appreciated, thanks!

1 Like

Hi

“Rotation” output aligns to the curve tangent… so your instanced objects in your “wall” collection needs to be centered… otherwise you need to calculate the poly-curve deltas and use an Align to Euler node to orientate the instances using that.

The quick&dirty way to keep corners if you don’t have curved sections is to curve-to-mesh, split edges, mesh-to-curve, resample.

Good luck.

1 Like

zeroskilz is totally right here, so here is a node setup which you can try out:

by changing the segment length your wall parts will get smaller but follow more precise your curve:
segment length wall curve

if you use a quadrilateral instead a curve circle, it looks a bit more like a wall, but of course you can instance here whatever you want:

1 Like

Thank you very much! I ended up using a bit from both your answers and settled for this:




which gives me this result:




there are a few pieces that spill over the edge and one panel at the end of the curve that is flipped the wrong way:

but other than that this is a great start! thanks guys!

Just wanted to check in to say that i got the reversed panel fixed, will post the solution when i get home tonight and call this solved!

EDIT: actually i not got this, what i thought worked in fact only fixed the issue in one building. so i guess ill have to live with it for now.

2 Likes