I have a vb.net script which creates a surface and intersects it with a brep. Normally the resulting curves are correct but in some cases not. Below is a screen shot. The grey surface is the brep, aqua are the intersection surfaces. My script creates the red curves. If I intersect the surfaces and brep manually I get the correct yellow curves. Any idea why this is happening?
xsurf = NurbsSurface.CreateFromCorners(New Point3d(wlcorners(0).X + n * interval, res.WaterlineLength, 0), New Point3d(wlcorners(0).X + n * interval, -res.WaterlineLength, 0), New Point3d(wlcorners(0).X + n * interval, -res.WaterlineLength, -res.WaterlineLength), New Point3d(wlcorners(0).X + n * interval, res.WaterlineLength, -res.WaterlineLength))
doc.Objects.AddSurface(xsurf)
If Intersect.Intersection.BrepSurface(brep, xsurf, 1, xsection, Pts) Then
For k = 0 To UBound(xsection)
doc.Objects.AddCurve(xsection(k))
Next
End If