Possible CCX bug

I’ve found CCX to be quite reliable up until now, but it’s failing me for one curve out of several hundred in a complex script and I can’t tell why. I’m quite sure that the curves are all coplanar, could it be because the missing intersection point exactly corresponds to a control point on one of the curves?

Is this a bug or am I missing something?

ccx issue.gh (9.7 KB)

The curves appear to be co-planar but they apparently are not. Discontinuity points all have identical X coordinates (-126.5780028), yet don’t intersect until they are projected onto a YZ plane:


ccx_issue_2019Nov12a.gh (14.6 KB)

Thanks for the reply Joseph. Would you mind explaining what Discontinuity shows? It seems to be reporting a few “coners” of the wide curves at random.

Building a plane to project onto will be pretty laborious in my full script so I may end up extruding the boundary curve and trying a brep|curve intersection. Thanks for the help.

You know, that’s a good question! I didn’t notice that it isn’t showing all the discontinuities, as it should. I’ve never seen this before. Something is very wrong about that. But I’m out of time this morning, maybe someone else can explain it?

ccx_issue_2019Nov12b.gh (13.8 KB)

P.S. Right-click and modify the ‘L’ input to see all the points. Weird.

Remember, RhinoCommon is what’s behind all those nice little rectangular boxes…


Strange. As some background, I’m constructing the “wiggly” curves as a series of Bezier spans joined together, some of which are curved and some of which are straight. Not sure how that would be pertinent to tangent discontinuity at those points, unless Join is doing some kind of rebuilding. Cutting out the relevant code will be a bit harder but I can do so if it’s helpful.

EDIT here’s the excerptCCXIssueContext.gh (108.8 KB)

You are right about something being wrong there though I think -

C1 shows all four corners of a rectangle, but C2 only shows three, ignoring the curve start/end point I think. C3 shows four again.

C2Cont.gh (4.8 KB)

@DavidRutten is this hooked up correctly?