Shattering / Exploding a Curve Based on Angles?

I think I should be clear: I pointed out that your solution doesn’t work against the exterior angles of the closed form. Then I presented a solution that uses Evaluate Curve. That solution doesn’t measure exterior angles either. It’s just an alternative to your solution.

I was wondering where your curves come from initially?

the OP!

:face_with_monocle: Replied to the wrong user…

@Kayne_Li where do these curves come from initially?

Reproduction. No improvements.

shatterAngle_dk VR 2.gh (5.3 MB)

I don’t really understand what I need to do to get Annotation Dot to work right.

The curves come from a high detail mesh object that was contoured and gave these lines, I will provide the file when i am home

the annotation dot turns orange because of empty branches, that’s why I put a clean tree before it, but it turning orange doesn’t impact functionality.

But I think with the way you are calculating the angles, you don’t get more than 180° so exterior angles above that will still return the interior angle.

:thinking:

I mean, I did use Angle with a plane. You don’t happen to remember what level this was on? Maybe the curve direction and choice of angle over reflective angle means I am measuring only the interior?

Nevermind, this is everywhere.

This is precisely the issue:

shatterAngle_dk VR 3.gh (5.3 MB)

If the curve direction is counter-clockwise and I am also measuring angles in a counterclockwise direction, I am measuring the interior angles. I put in a Filter Gate to fix this. Now I just need to show the curves if no split point is found… and maybe move the polyline reconstruction outside of accessment so that the script is not so slow.

Do you know if when I adjust a slider the entire script recomputes, or only the things downstream?


shatterAngle_dk VR 4.gh (5.3 MB)

oh my,
going through this again, I seem to finally understand how plane works. I corrected my file in the post above. no need for providing individuial planes per angle.
now it also makes sense to me that your last script is working correctly.

If the curve is planar you just need one plane, if you are working with a curve on a surface you need to define each local plane

*If the curves share planes of the same orientation.

Thanks for the insight on Angle. That helped alot.