Mesh-Circle Intersection Problem


I ran into a problem with the Mesh Curve intersection component, where it fails to compute some mesh-curves intersections.

It looks like the problem has to do with circles because if they are rebuilt or converted into polylines then the intersections are computed correctly.

I’m attaching an example with the problem.

I tested the same definition in Rhino 6 and it works there.

2022-03-18 - Mesh-Crv Intersection Problem (36.4 KB)

Thank you!

Hi Marco -

Please run the Rhino SystemInfo command and copy-paste the result here.

The above definition works in Rhino 7, however due to the seam of the circle laying exactly on the mesh, there are duplicate points…

Thank you for testing Martin.

Actually the problem is due to the crv start being on the mesh. I had tested a different seam, but without thinking I entered 0.5 as new parameter which rotated the seam by 180° so the circle start pt was always on the mesh.

If the seam pt is different the intersections are found correctly.

Actually the points that are shown in your screenshot are two distinct points (very close to each other). When the circle start pt is on the mesh then the component just fails to return any intersection.

But this is more understandable as many intersection operations have problems with overlapping / coincident parts.

Hi Wim,

As Martin commented, the problem is due to the circle seam pt being on the mesh. However despite this the intersection was working on Rhino 6.

Anyway, this the output of the SystemInfo command:

Rhino 7 SR17 2022-3-10 (Rhino 7, 7.17.22069.03001, Git hash:master @ 04f6e9ffab44f423581e5ca6c790328fa62b4f08)
License type: Commerciale, build 2022-03-10
License details: Cloud Zoo

Windows 10.0.19044 SR0.0 or greater (Physical RAM: 32Gb)

Computer platform: DESKTOP

Standard graphics configuration.
Primary display and OpenGL: NVIDIA GeForce RTX 2080 (NVidia) Memory: 8GB, Driver date: 10-13-2021 (M-D-Y). OpenGL Ver: 4.6.0 NVIDIA 472.39
> Accelerated graphics device with 4 adapter port(s)
- Windows Main Display attached to adapter port #0

OpenGL Settings
Safe mode: Off
Use accelerated hardware modes: On
Redraw scene when viewports are exposed: On
Graphics level being used: OpenGL 4.6 (primary GPU’s maximum)

Anti-alias mode: 8x
Mip Map Filtering: Linear
Anisotropic Filtering Mode: High

Vendor Name: NVIDIA Corporation
Render version: 4.6
Shading Language: 4.60 NVIDIA
Driver Date: NA
Driver Version: NA
Maximum Texture size: 32768 x 32768
Z-Buffer depth: 24 bits
Maximum Viewport size: 32768 x 32768
Total Video Memory: 8 GB

Rhino plugins that do not ship with Rhino
C:\Users\marco\AppData\Roaming\McNeel\Rhinoceros\packages\7.0\EleFront\4.2.2\ElefrontProperties.rhp “ElefrontProperties”

Rhino plugins that ship with Rhino
C:\Program Files\Rhino 7\Plug-ins\Commands.rhp “Commands” 7.17.22069.3001
C:\Program Files\Rhino 7\Plug-ins\rdk.rhp “Renderer Development Kit”
C:\Program Files\Rhino 7\Plug-ins\RhinoScript.rhp “RhinoScript”
C:\Program Files\Rhino 7\Plug-ins\RPC.rhp “RPC”
C:\Program Files\Rhino 7\Plug-ins\export_OBJ.rhp “export_OBJ” 7.17.22069.3001
C:\Program Files\Rhino 7\Plug-ins\RhinoRenderCycles.rhp “Rhino Render” 7.17.22069.3001
C:\Program Files\Rhino 7\Plug-ins\RhinoRender.rhp “Legacy Rhino Render”
C:\Program Files\Rhino 7\Plug-ins\rdk_etoui.rhp “RDK_EtoUI” 7.17.22069.3001
C:\Program Files\Rhino 7\Plug-ins\rdk_ui.rhp “Renderer Development Kit UI”
C:\Program Files\Rhino 7\Plug-ins\NamedSnapshots.rhp “Snapshots”
C:\Program Files\Rhino 7\Plug-ins\IronPython\RhinoDLR_Python.rhp “IronPython” 7.17.22069.3001
C:\Program Files\Rhino 7\Plug-ins\RhinoCycles.rhp “RhinoCycles” 7.17.22069.3001
C:\Program Files\Rhino 7\Plug-ins\Grasshopper\GrasshopperPlugin.rhp “Grasshopper” 7.17.22069.3001
C:\Program Files\Rhino 7\Plug-ins\Toolbars\Toolbars.rhp “Toolbars” 7.17.22069.3001
C:\Program Files\Rhino 7\Plug-ins\3dxrhino.rhp “3Dconnexion 3D Mouse”
C:\Program Files\Rhino 7\Plug-ins\Displacement.rhp “Displacement”

Thank you


What does not work here?

As mentioned above there are duplicates…

Sorry Martin, I was looking at your previous screenshot, which didn’t have the duplicates.

So it looks like the definition doesn’t work on my computer for some reason.

Not a big deal though.

Thanks again for checking it.

1 Like

Hi Marco -

The reason I asked about the SystemInfo is that I checked your definition and that appeared to be working as expected here on 7.18:

Perhaps I don’t understand the problem…

1 Like

Hi Wim,

I found out that the problem only occurs with smaller tolerances (0.0001 mm instead of 0.001). In that case when the seam point is on the mesh the intersection is failing (while if the seam is elsewhere it works).

By the way in Rhino 6 it works even with the smaller tolerances.

1 Like

Hi Marco -

Thanks. That makes that reproducible - RH-67931.

That’s possibly true but pretty much everything with mesh intersections has undergone many changes since then because there were too many cases where those fail in Rhino 6.

Thanks for adding it to the bug tracker, Wim.