Intersection results in 1 point

Hi Guys,
I have a surface and a line. When I try to run Intersect on the surface and the curve. I get a point as a result.

When I check the distance between the curve and the surface on different locations in Grasshopper I get a distance which is way smaller than the file tolerance.

Why does intersect not result in a curve but a point? I could use Pull curve for this specific case to fix it by hand but I’m mainly trying to understand why this is happening since it’s causing problems in one of my plug-ins.

211122 Intersect problem.3dm (146.3 KB)

If the curve lies on the surface plane, there is an infinite number of intersections between the curve and the surface.

Why can’t you use a Brep / Brep intersection?

Hi @martinsiegrist

Not sure I get what you mean with this. If I pull that curve to the surface, and then do intersection with the result I do end up with a curve intersection. Why is it different even though the pulled curve is not further away than the file tolerance?

Because I only want to include the edges of brep that meet the surface when unrolling afterwards. If I take the full surface instead of the edge of the surface for a brep/brep intersection I’ll create other problems of including surfaces that were drawn incorrectly.

I can’t explain what fails in your case.

But what I wanted to say is that I would not rely on such a special case of an intersection. In most cases, a curve intersects a surface in a single point. Maybe instead of using the whole Brep and intersect it with the surface, use just the relevant surface and intersect it with the other surface?

Sounds similar to this issue I submitted a while ago:

https://mcneel.myjetbrains.com/youtrack/issue/rh-59807

In my case I was able to fix it by using Brep/Line intersection rather than Brep/Curve, but that obviously only works on lines.

1 Like

Thanks all - I’ve added a comment and the new file to the bug item.

-Pascal