Breps Intersection Bug (WIP)

In creating construction planes as surfaces in Grasshopper/Python/Rhinocommon I have had to stop creating them in a way that they both intersect at their origin or I can no longer reliably get an intersection between them to come out of Rhino.Geometry,Intersect.Intersection.BrepBrep(…). When creating them I just kludge factor one of the size domains to 1.1X in the negative range. This is a general Rhino error however, since I can bake to Rhino from Grasshopper and reproduce it. Any movement or surface edge editing restores the line intersection being found properly. I’ve reparameterized the domains in Rhinocommon, to no effect. The same thing happened when the large surface was left as a plane to use BrepPlane intersection which is why I switched to BrepBrep.


Rhino Intersection Bug Report V2.3dm (58.4 KB)

Hi @vectorabc,

My apologies, but I cannot follow what you are trying to do. Can you try again to explain what problem you are trying to solve? Have some code that isn’t working for you, that we can run here, might help us.

Thanks,

– Dale

In my Rhino document, enclosed above, I cannot achieve a simple intersection curve from two clearly and simply intersecting NURBS plane surfaces. Rhino says no intersection found.

If I recreate my original surfaces by extracting their borders and creating new planar surfaces from the borders, it actually works, so it’s not about the origins overlapping too perfectly. Something internally in the surfaces is bizarrely wrong. Merely reparameterizing doesn’t help.

Please open my file above and see for yourself. ‘Intersect’ command says “Found 0 intersections” while I can clearly see they intersect as simply as can be.

It is under wrong category, but no intersection produced here too.

In my test here (6.27.20163.15081, 11-Jun-20) Rhino finds the intersection line between the two surfaces in your file posted above. So does Grasshopper with the Brep-Brep intersect component.

This also returns an intersection using the Python script module:

import scriptcontext as sc
import Rhino
tol=sc.doc.ModelAbsoluteTolerance
rc,crvs,pts=Rhino.Geometry.Intersect.Intersection.BrepBrep(brepA,brepB,tol)

Helvetosaur, Wow. This is with WIP version 7.0.20168.13075, 6/16/2020. If I re-download my enclosed file above and try again, same thing.

Piotr, Indeed, I didn’t mean to post this in scripting, sorry. It’s a WIP issue or general Rhino issue.

OK, can repeat that, looks like it’s a WIP issue… Changing the category to Serengeti. @dale

Got it, thanks.

https://mcneel.myjetbrains.com/youtrack/issue/RH-59237

– Dale

I tried in WiP too.

My workaround for now is to no longer generate symmetrical construction planes, but kludge them a bit by going from -1.1X to X when created by:

midplane_surface = Rhino.Geometry.PlaneSurface(midplane, Rhino.Geometry.Interval(-big * 1.1, big), Rhino.Geometry.Interval(-big * 1.1, big))

RH-59237 is fixed in the latest WIP