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.
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.
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.
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)