A strange Bug with MergeAllCoPlanerSurfaces, and the Undo stack

Something weird here.
This little pin stopper was done, [it was a symmetrical solid piece] but then i did MergeAllCoPlanerSurfaces… to clean it up a bit, and this happend.

This also erased the Undo stack ! Which is the much more worrying problem .

Rhino still says a closed polysurface.
I saved and restarted Rhino, thinking it’s a display glitz … but no idea what this is.
[back faces are set to dark red, and none are showing.

Rhino Version [Mac] (8.10.24219.11002, 2024-08-06)

Benchmate_pin.3dm (3.6 MB)

SystemInfo_11-08-24.txt (4.7 KB)

Do you have the file as saved before you did the Merge?

Thanks
Unfortunately not. [I checked both in File > Browse All Versions, as well as in the saved versions at the DropBox backup]

Strangely, Exploding and rejoining works as if the file is fine under the hood… with the missing parts unchanged [invisible ]

Here’s the repaired part… It seemed the merge all co planers created an invisible extra surface at one side of the rim of that center groove, and this messed up the part.

Still the big worry is the loss of the Undos stack, less so the facts that the geometry got corrupted…
Benchmate_pin_fixed.3dm (4.5 MB)
Luckily, this is just a small simple part, easy to fix/redo.

Yes, that’s why I was hoping for a “before” situation, so that the clear undo bug could possibly be reproduced and fixed…

That is not repaired. Its an invalid polysurface.

You should run CheckNewObjects so that when your geometry goes bad you will be aware that objects are bad.

If you don’t turn on CheckNewObjects then don’t be surprised when things go haywire as you try to continue to model with bad objects.

Yes I see, the Merge faces did some strange stuff…

But how do i find what actually is invalid here?
Not a very user friendly description in the check command :

I don’t know how you can say at what point the problem arose. Could have happened beforehand and merge faces failure was just a consequence of modeling with bad objects. If you model with bad objects you can get a snowball effect where errors accumulate.

ExtractBadSrf will give you the faces that are bad

The error message says that one of the trim edges is tagged as being a seam but it is not a N/E/W/S isocurve. That doesn’t really tell you what went wrong its just something that should never happen on a valid brep face. A seam is always going to be N/E/W/S isocurve unless something is really screwed up.

It looks like on the two cylinders the parameter space curves are completely out of sync with the 3d curves that define the edges. If you isolate the cylinder and run CreateUVCrv and then run ApplyCrv you can see that Rhino has completely lost track of where the edges belong on this face.