WISH : Avoid unsollicited arc splits

Somewhat a follow-up of this thread .
When a circle is trimmed the remaining arc is sometimes split ; this happens when the remaining arc contains the former circle’s seam point.

Now I can understand the nerdy explanation of why this is the case, but it simply is nothing but a pain in the butt for the user, so I think the standard behavior should be to produce single arcs.


I seem to remember this being discussed a long time ago… and some action was taken. It does actually work for trimming single circles, the seam point goes away. But CurveBoolean looks like it’s not optimized to do this.

SimplyCrv should fix it - mostly - but the exception will be if Rhino decides the closed curve seam point should be at one of the circle seam points - so you will still get two arc segments there, as SimplifyCrv does not move curve start/endpoints.

I want McNeel to fix it because it is a bug.
@wim ?

No it’s not a “bug.” You’re requesting that Rhino automatically modify geometry. Not automatically changing the user’s geometry is not a “bug.” 99.9% of the time no one’s going to care, but you can bet someone won’t like this for some reason.

Dear Jim, circles only have an endpoint in the NURBS fairytale land.
I would argue that 99.9% of the time in practical geometric constructions, circles are abstract objects which, when trimmed should produce one arc, not two.
If you can give me an example of a case where it is otherwise, I might revise my statistics to 99.8%

One word: scripting.

Well… I don’t quite see how this is a practical example.

As Mitch mentionned, the issue is already solved in most contexts : no broken arcs are produced anymore, except with “CurveBoolean”.
Therefore, even if it’s only for consistence, this should be fixed.

Two words: commercial software.

I would have a tendency to agree with Olivier on this point, best would be CurveBoolean gets a SimplifyResult=Yes/No option (default: yes).

I would go even further to say that the SimplifyCrv function also needs to be improved for closed curves, the segments on either side of the start/end points need to be checked and if they are tangent arcs with the same radius or collinear line segments they should be merged and the start/end point moved.