MeshTrim Issue; Possible BUG

Having an issue with MeshTrim. Took the closed curve on the CPlane and extruded it so that the new surface surrounded the mesh. Used MeshTrim to trim many parts of the mesh. It worked until I got down to the last 3 pieces. When I try to trim those pieces the whole mesh is removed.

Any ideas? Is this a BUG?


MeshTrim.3dm (2.1 MB)

Hi Mike - if possible please post a file with the inputs… I’ll have a look. My guess is it is a limitation, I mean bug, in V7…

@Mike24 It looks like a lot of this mesh ends right on the object that is meant to be cutting it - if you have the original input, before any trimming, that wiould be best.The mesh is also a bit messy - some non-manifold edges, small faces… see the Check command.

-Pascal

@pascal - I don’t have original file anymore since I moved on but I took the file from this post, shrunk the polysurface down, and tried it again. Got different results. This time it’s removing part of the mesh that it shouldn’t; trimming too much. This bug is consistent. Try it yourself with the updated file.
2022-05-26 21_09_46-Window
MeshTrim.3dm (2.1 MB)

@pascal - Hey Pascal…any ideas on this one?

Hi Mike - only that, in its current state the intersection of the mesh and the surrounding object is dodgy - the edges of the mesh faces rest exactly on the extrusion and caculating the intersection leaves gaps - that was why I was trying to get hold of a version of the mesh prior to trying to trim it.
In any case, the faces on this mesh are split in the right places - so finding the overlaps and deleting faces does work, if a bit tedious:

-Pascal

@pascal - I found out that the surface that was used to cut the mesh was created from a self intersecting curve. I cleaned up the intersections, recreated the cutting surface object and it works every time. Very clean.

I found the self intersecting points on the curve via the Curve | Self (CX) command in Grasshopper. Is there a way to show the self intersecting points in Rhino without going to Grasshopper?

Hi Mike - `IntersectSelf’

-Pascal

1 Like

@pascal - Thanks. It worked great on the first intersect. I cleaned it up and went to join the curve again. When I joined it, the curve disappeared. Why would this happen? Any ideas?
Mesh Trim 2.3dm (2.9 MB)

@pascal - I copied all the curves in the same file and same thing. I copied the curves to a new file via copy/paste and same thing. Any ideas?

BTW, my viewport’s display mode is Shaded. I tried Wireframe too just for kicks and got the same results.

Checking it…
@Mike24 - you have many curves in there that are comprised of two identical line segments, joined. Select everything, Explode, SelDup and delete the dups, then select everything and Join.
Also a lot of near-zero length lines in there - after the explode, SelShortCrv and delete those.

-Pascal

@pascal - Thanks Pascal…that worked. Rhino needs to be changed so that it joins what it can and let’s there were duplicates via the command line. Furthermore, it should not cause the object to disappear. I also noticed if I joined the curves without getting rid of the duplicates first then the object disappears and I’m not sure if I could even get it back. I showed all objects and still could not get it back. Seems like it becomes a phantom object that disappears forever. Is this a bug? If so can you report it?

@pascal - Can you take the attached model and run DupBorder on the mesh, then explode the border, then run SelDup? Notice it says 37 duplicates. 37 curves added to the selection but I cannot see them. They are not displayed with the selection color. First I cannot see them to analyze why I’m getting duplicate objects from the DupBorder command and secondly the DupBorder command is creating the duplicate objects. Any ideas on both of these?
Mesh Trim 3.3dm (2.2 MB)

Yeah the lines are extremely short -

line length = 3.8879676877857893e-05

the mesh is a little dodgy…

"General information about this mesh:

Mesh has 2 degenerate faces.
Mesh has 263 extremely short edges.
Mesh has 11 non manifold edges.
Mesh has 8 duplicate faces.
Skipping face direction check because of positive non manifold edge count.
Mesh has 20 pairs of faces that intersect each other.
"

(Check command)

`QuadRemesh’ might be a good thing here, with maybe 5000 faces?

-Pascal

I understand. Thanks for the info on the QuadRemesh command. I’ll work with it and see what happens.
It’s based on some contours that were not necessarily clean to begin with. I have what I’m handed to me so to speak. Why would the curve disappear?