how to divide special nurbs curve into polygon with equal spacial angles?

Is there any plugin?

What is this mystical special nurbs curve of which you speak? Perhaps a sketch might help.

sorry, I actually meant spacial nurbs curve, which is closed, irregular，smooth and 3d.

I think the problem cannot be solved without some sort of close approximation or optimisation. Maybe there is an iterative method (stepping along the curve), but then again there are issues as for some angles presumably the next step wouldn’t hit the curve, things like this, it would be tricky.

Anyway I think there are two approaches you could adopt. The first is using the ‘Curve to Polyline’ component which has some settings on minimum length and angle deviation, however I have struggled to get a good result - it sometimes works well, but the tolerances need some fiddling and even then the next method seems to work better.

Secondly, you could minimise the angles for a polyline with a given number of segments, and also penalise for any small elements (to avoid double angles). You can use Galapagos for this, which does give some promising results. The angles are not all *exactly* the same (as I say, I think this problem is unsolvable for many cases), but you get quite close. You can adjust the number of polyline points and minimum edge length in this definition and optimise using Galapagos. Here is a run using the simulated annealing solver:

SameAnglePolyline.gh (23.0 KB)

Hope this helps you on your quest. I also think there would be a way to solve this numerically using Kangaroo or something, but I haven’t got the time to work this out unfortunately.

Best wishes,

John.