Results of Rhino.Geometry.Intersect.Intersection.SurfaceSurface(surfaceA, surfaceB, tol)

I have two questions about the results when intersecting surfaces:

rs, curves, points = Rhino.Geometry.Intersect.Intersection.SurfaceSurface(surfaceA, surfaceB, tol)

  • When intersecting two untrimmed surfaces - (1 + 4) - the results are not surprising and as expected.
  • For the second example rs is true and curves is an empty array.
  • For the third example now the returned curve is the intersection of two untrimmed surfaces.

  1. When rs is true and curves is empty does this also mean the two surfaces are coplanar?
  2. Is it possible to get different results for 2 + 3?

Agreed, two and three are a bit surprising.

I’m curious, is there a specific reason to use the Rhino.Geometry method rather than rhinoscriptsynax? Rhinoscriptsyntax often tidies up some of these odd corner cases for you, and it looks like this may be one of those situations. I haven’t tested it, but I notice that under the documentation for rs.IntersectBreps() it says:

Intersects a brep object with another brep object. Note, unlike the
SurfaceSurfaceIntersection function this function works on trimmed surfaces.

Hi Marcus,

We’ll need a sample model if we’re going to provide anything specific…

– Dale

rs.IntersectBreps() is just calling BrepBrep() for you. It gives the results I want, but is much slower than SurfaceSurface()

I guess the documentation for rs.IntersectBreps() is answering my question. Although expecting that SurfaceSurface() works for everything that’s selected by SelSrf wasn’t too wrong…