Grasshopper keeps crashing when generating meshes

Hi everyone,

I’m experiencing consistent freezes followed by crashes in Grasshopper whenever I attempt to generate what I consider relatively small meshes. The process doesn’t seem overly complex, yet it causes Grasshopper to become unresponsive and eventually crash.

Could it be a hardware issue, or might there be something about my setup or workflow that’s triggering this?

I’d really appreciate any tips or insights on how to resolve or troubleshoot this issue.

For reference, here is my Rhino system info:

Rhino 8 SR13 2024-11-12 (Rhino 8, 8.13.24317.13001, Git hash:master @ ca3666c3ebed2b9567e10930077bfa0884f65db9)
License type: Educational Lab License, build 2024-11-12
License details: Cloud Zoo
Expires on: 2025-11-01

Windows 11 (10.0.22631 SR0.0) or greater (Physical RAM: 16GB)
.NET 7.0.0

Computer platform: LAPTOP  - Plugged in [100% battery remaining]

Hybrid graphics configuration.
  Primary display: Intel(R) UHD Graphics (Intel) Memory: 2GB, Driver date: 10-11-2024 (M-D-Y).
    > Integrated graphics device with 4 adapter port(s)
        - Windows Main Display is laptop's integrated screen or built-in port
        - Secondary monitor attached to adapter port #1
  Primary OpenGL: NVIDIA RTX A1000 6GB Laptop GPU (NVidia) Memory: 6GB, Driver date: 6-25-2024 (M-D-Y). OpenGL Ver: 4.6.0 NVIDIA 556.12
    > Integrated accelerated graphics device (shares primary device ports)
        - Video pass-through to primary display device

OpenGL Settings
  Safe mode: Off
  Use accelerated hardware modes: On
  GPU Tessellation is: On
  Redraw scene when viewports are exposed: On
  Graphics level being used: OpenGL 4.6 (primary GPU's maximum)
  
  Anti-alias mode: 4x
  Mip Map Filtering: Linear
  Anisotropic Filtering Mode: High
  
  Vendor Name: NVIDIA Corporation
  Render version: 4.6
  Shading Language: 4.60 NVIDIA
  Driver Date: 6-25-2024
  Driver Version: 32.0.15.5612
  Maximum Texture size: 32768 x 32768
  Z-Buffer depth: 24 bits
  Maximum Viewport size: 32768 x 32768
  Total Video Memory: 6 GB

Rhino plugins that do not ship with Rhino
  C:\Users\Jasper\AppData\Roaming\McNeel\Rhinoceros\7.0\Plug-ins\SpeckleRhino2 (8dd5f30b-a13d-4a24-abdc-3e05c8c87143)\SpeckleConnectorRhino.rhp	"SpeckleConnectorRhino"	2.20.4.16316

Rhino plugins that ship with Rhino
  C:\Program Files\Rhino 8\Plug-ins\Commands.rhp	"Commands"	8.13.24317.13001
  C:\Program Files\Rhino 8\Plug-ins\rdk.rhp	"Renderer Development Kit"	
  C:\Program Files\Rhino 8\Plug-ins\RhinoRenderCycles.rhp	"Rhino Render"	8.13.24317.13001
  C:\Program Files\Rhino 8\Plug-ins\rdk_etoui.rhp	"RDK_EtoUI"	8.13.24317.13001
  C:\Program Files\Rhino 8\Plug-ins\NamedSnapshots.rhp	"Snapshots"	
  C:\Program Files\Rhino 8\Plug-ins\MeshCommands.rhp	"MeshCommands"	8.13.24317.13001
  C:\Program Files\Rhino 8\Plug-ins\RhinoCycles.rhp	"RhinoCycles"	8.13.24317.13001
  C:\Program Files\Rhino 8\Plug-ins\Toolbars\Toolbars.rhp	"Toolbars"	8.13.24317.13001
  C:\Program Files\Rhino 8\Plug-ins\3dxrhino.rhp	"3Dconnexion 3D Mouse"	
  C:\Program Files\Rhino 8\Plug-ins\Displacement.rhp	"Displacement"	
  C:\Program Files\Rhino 8\Plug-ins\SectionTools.rhp	"SectionTools"	

Thanks in advance!

Hi @Jasper543,

I am not seeing any crash report submitted from your email address.

Do you have a reliable way of repeating the crash? If so, can you help us try to repeat?

Thanks,

– Dale

Hi @dale,

Rhino keeps loading for several minutes, and I end up force-closing the program. I don’t think this generates a crash report.

If I wait for the crash report notification, the mesh does eventually load (after about 3 minutes), but it really shouldn’t take that long.

I noticed that the mesh has high V and F values (see attached image). Could this be related to Rhino’s performance settings?

A mesh with 5+ million faces - yeah that’s going to take a while.

– Dale

Is there a way to reduce the number of faces in Grasshopper, perhaps while forming the loft? Since the plane is roughly 70 m², 5 million faces is really not necessary.

Hi Jasper -

Possibly, but without a .gh file, it’s impossible to be more specific.

The area of a plane is not relevant. If it is, indeed, a plane, you’d only need two faces.
-wim

If the mesh is far from the world origin, that might be a culprit. Depending on what you’re doing.

If that can cause problems, then that might be the issue. I use Speckle to import GIS data, and the mesh is created at various points on the map. Out of curiosity, why does that matter?

Hi Wim,

The file is quite large and contains GIS data import, so sharing it directly might not be very practical. I hope this screenshot of the generation process will suffice. Let me know if you need any additional information. Thanks in advance!



for reference this is the generated result in Rhino

Because of how digital computers represent numbers, where computations on very large/small numbers become problematic, especially with single-precision meshes. So one might avoid very large numbers by working closer to the world origin.

Unfortunately, that’s not possible due to the GIS data input. Since the origin of the data is far away, I need to work at a distant location in Rhino to effectively use the data I require.

Is it possible to move this origin closer to where I am working?

Dag Jasper -

If that’s the part that is taking 3 minutes to compute, you could internalize the curves in that component and only post that one.
-wim

I don’t think so. But what I’ve done in these cases is to move everything to the origin by the same vector, do all my computations there, then move everything (plus new geometry) back by the reverse vector. But again, that might become more expensive/problematic than working far from origin in the first place.

Hi Wim,

Good idea, that should work!
Rhino mesh problem.3dm (13.6 MB)
Grasshopper mesh problem.gh (165.9 KB)

Interesting, maybe I’ll try that because waiting three minutes for each change really doesn’t work.

Were you able to find a solution?

Dag Jasper -

I wasn’t expecting a 3dm file (with missing blocks) and something more like the following image then the entire Grasshopper file (with 3rd party plug-ins).

At any rate, does the following take 3+ minutes to compute on your system?
MeshingIssue.gh (16.4 KB)

On my system, that takes about 15 seconds.

If this one goes somewhat quickly on your end as well, you could enable the profiler to see which component takes a long time.

-wim

Hi Wim,

I apologize for the type of files; I’m not very familiar with this kind of support.

The mesh still takes a long time to load (see picture).

It might have something to do with the location of the object, as @AndersDeleuran mentioned.
thanks in advance!

Not having looked at the file, I suspect this might be the implicit casting/meshing (i.e. which occurs when passing a surface/brep to a mesh parameter). Try using the Mesh Brep component instead. Or better yet, generate the loft as a mesh in the first place, for full explicit control of the resulting mesh.

1 Like