MeshSplit Bug

So, I noticed this bug a few times now.
I have a bunch of meshes, I use MeshSplit - they split ok;
But after a while; if I want to split more meshes, MeshSplit doesn’t work anymore.
So I copy-paste the meshes I want to split in another file, I run MeshSplit - again the split works.

Below, 2 videos, of exact same geometry, same document properties, in two separate Rhino instances.
MeshSplit doesn’t work in the first, but it works ok in the second:


250718 MeshSplit stops working after a while.3dm (2.0 MB)

Hi Bogdan,

We’ll take a look.

Can you run SystemInfo in the Rhino command line and post the result? Thanks!

@Japhy hi!, thanks for checking.
Try to copy those blue mesh panels, maybe vertically a few times; then start to split them with the surface… a few of them at once or one by one.
I usually select a full row and split it with the surface… and after a few splits, MeshSplit starts to fail.

here’s the sysinfo:

Rhino 8 SR20 2025-6-6 (Rhino 8, 8.20.25157.13001, Git hash:master @ 73b00899cf43922900a763212f167c03dc6f27cc)
License type: Commercial, build 2025-06-06
License details: Cloud Zoo

Windows 11 (10.0.26100 SR0.0) or greater (Physical RAM: 31GB)
.NET 8.0.14

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

Hybrid graphics configuration.
  Primary display: AMD Radeon 780M Graphics (AMD) Memory: 1GB, Driver date: 8-13-2024 (M-D-Y).
    > Integrated accelerated graphics device with 5 adapter port(s)
        - Windows Main Display is laptop's integrated screen or built-in port
  Primary OpenGL: NVIDIA GeForce RTX 4070 Laptop GPU (NVidia) Memory: 8GB, Driver date: 3-14-2025 (M-D-Y). OpenGL Ver: 4.6.0 NVIDIA 572.83
    > Integrated accelerated graphics device with 4 adapter port(s)
        - Secondary monitor is laptop's integrated screen or built-in port

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: 3-14-2025
  Driver Version: 32.0.15.7283
  Maximum Texture size: 32768 x 32768
  Z-Buffer depth: 24 bits
  Maximum Viewport size: 32768 x 32768
  Total Video Memory: 8188 MB

Rhino plugins that do not ship with Rhino
  C:\Program Files\Enscape\Enscape.Rhino.Plugin-net48\Enscape.Rhino8.Plugin.dll	"Enscape.Rhino8.Plugin"	4.6.0.451
  C:\Users\bogda\AppData\Roaming\McNeel\Rhinoceros\8.0\Plug-ins\D5LiveSync (e0d5e210-02f6-4ee9-a2b0-1675e225d958)\\D5Conv.rhp	"D5 Live Sync for Rhino"	

Rhino plugins that ship with Rhino
  C:\Program Files\Rhino 8\Plug-ins\SolidTools.rhp	"SolidTools"	
  C:\Program Files\Rhino 8\Plug-ins\Commands.rhp	"Commands"	8.20.25157.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.20.25157.13001
  C:\Program Files\Rhino 8\Plug-ins\RhinoRender.rhp	"Legacy Rhino Render"	
  C:\Program Files\Rhino 8\Plug-ins\rdk_etoui.rhp	"RDK_EtoUI"	8.20.25157.13001
  C:\Users\bogda\AppData\Roaming\McNeel\Rhinoceros\packages\8.0\PanelingTools\2024.8.20.677\PanelingTools.rhp	"PanelingTools"	
  C:\Program Files\Rhino 8\Plug-ins\NamedSnapshots.rhp	"Snapshots"	
  C:\Program Files\Rhino 8\Plug-ins\MeshCommands.rhp	"MeshCommands"	8.20.25157.13001
  C:\Program Files\Rhino 8\Plug-ins\RhinoCycles.rhp	"RhinoCycles"	8.20.25157.13001
  C:\Program Files\Rhino 8\Plug-ins\Toolbars\Toolbars.rhp	"Toolbars"	8.20.25157.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"	


PS: The only way to make MeshSplit work again is to open an new Rhino instance.

If i do: File, New, and paste again in the same instance, MeshSplit still fails.

So far unable to repeat.

Can you try again in a Rhino opened in Safe Mode?

Hi @Japhy , I finally got more time to look into this.
(the plugins are rendering plugins, they have nothing to do with this)

So here it is: a new video and a new file.
Could you please test again:
First run MeshSplit to split those panels with the green surface.
If it works then undo and run MeshSplit again. Do this a few times.
This is how I managedd to replicate this bug.

meshSplit more isolated 250723BC.3dm (3.1 MB)

I did it 10 times with no issues. Does it require more?

Plugins of this variety can affect a number of seemingly unrelated areas, best to get to the baseline and troubleshoot from there.

Ok, I got new info.
I opened in safe mode, MeshSplit still doesn’t work, but in command prompt I get this:

Command: MeshSplit
Select cutting objects ( CoplanarFaces=Keep CreateNgons=Yes DiscardUnsplitMeshes=Yes PermitSplittingInputsWithEachOther )
Select cutting objects. Press Enter when done ( CoplanarFaces=Keep CreateNgons=Yes DiscardUnsplitMeshes=Yes PermitSplittingInputsWithEachOther )
Mesh has features that require a cleanup step. A preprocess step will attempt to merge features to 1.0000000000000001E-07 units. This option can be changed.
Consider also running _MeshRepair.
There are groups among the objects to be split. Some objects might be grouped after splitting.
No meshes were split. Try setting DiscardUnsplitMeshes=No to get the intermediate results.

Running the check command on the mesh will give a full report on the meshes to get split. Also, if the model is too far from the origin it can be a problem.

If you can send us the model we can look at it closer.

Hi @scottd , thanks for looking into this.

I done two checks on the above file: meshSplit more isolated 250723BC.3dm

Usually for me, MeshSplit works once or twice and then it starts to fail and I have to open a new Rhino instance, paste the meshes there and run MeshSplit again.

Check on mesh that doesn’t split:

General information about this mesh:

Mesh has 4 naked edges.  Naked edges can cause problems if the ultimate goal is STL output.

Mesh does not have any degenerate faces.
Mesh does not have any n-gons.
Mesh does not have any extremely short edges.
Mesh does not have any non manifold edges.
Mesh does not have any duplicate faces.
Mesh does not have any faces with directions different from the mesh as a whole.
Mesh does not have any self intersecting faces.
Mesh does not have any disjoint pieces.
Mesh does not have any unused vertices.


ID: e1cb3780-b2e4-4ec2-9474-47ef77d477b3 (363)
Object name: (not named)
Layer name: CURTAINWALL
Render Material: 
  source = from layer
  index = -1
Groups: 
  Group10

Geometry:
  Valid mesh.
  Open double precision polygon mesh: 4 vertices, 1 faces with normals
    Bounding box: (503832,1.41845e+06,7100) to (505551,1.41943e+06,10200)

Check on mesh which has been split:

General information about this mesh:

Mesh has 5 naked edges.  Naked edges can cause problems if the ultimate goal is STL output.

Mesh does not have any degenerate faces.
Mesh does not have any degenerate n-gons.
Mesh does not have any extremely short edges.
Mesh does not have any non manifold edges.
Mesh does not have any duplicate faces.
Mesh does not have any faces with directions different from the mesh as a whole.
Mesh does not have any self intersecting faces.
Mesh does not have any disjoint pieces.
Mesh does not have any unused vertices.


ID: b0ff6f3a-72a6-46d5-b431-8f04e910e877 (720)
Object name: (not named)
Layer name: CURTAINWALL
Render Material: 
  source = from layer
  index = -1
Groups: 
  Group11

Geometry:
  Valid mesh.
  Open double precision polygon mesh: 5 vertices, 3 faces with normals (1 n-gon)
    Bounding box: (507093,1.41933e+06,3700) to (508734,1.42048e+06,6800)



I am running the example file you sent. There is something odd going on here.

Are there a set of steps you are taking to recreate this? Is it MeshSplit > Undo > meshsplit > undo…

Or, is there a different set ot steps?

I just open the file, sometimes MeshSplit works on the first row of meshes afterwards it fails on the second or third row.

I believe I can recreate the problem. It can take a few times.

In testing it seems the fact the model is so far way from the origin is causing the issue. I have reported this.

But, as a workaround, moving the model closer to 0,0,0 seems to solve the problem.

@scottd I moved the model spot on the origin and MeshSplit still fails.

My steps for the video attached:
-Move model close to origin.
-MeshSplit first row (at the base) - works ok
-MeshSplit second row - works ok
-MeshSplit third row - works ok
-Undo, Undo, Undo
-MeshSplit first row (at the base) - fails
-MeshSplit second row - fails
-MeshSplit third row - fails

Thank you for verifying that. I have reported this and tried to give a few ways to try and recreate it. hopefully it becomes clear in the code what is happening, once they see it in a debugger.

I notice also that using undo a bunch seems to bring the problem forward.

1 Like

Thanks again for your time and feedback.

Hmmm… The fact that those meshes are grouped might also have an impact…

True, it could. I was trying to recreate it without the groups and I could not.

But, it should still work. So I will add that to the report.

Hi @scottd , any update on this issue? I stumbled upon it again, similar circumstances.

That issue now works in the Rhino 9 WIP. Is there a different model that shows the problem?

@scottd , I can confirm that on the same geometry, and in the same position, the issue is fixed in Rhino WIP !

My only question is, why is the resulting geometry deselected instead of actually being the one selected, after split?