-
Notifications
You must be signed in to change notification settings - Fork 29
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Meshfix leaves only one triangle #23
Comments
The PyVista
This makes sense. PyMeshFix extracts the first surface it sees and tries to repair it. Since your mesh is 132 different, non-connected surfaces, this is expected. PyMeshFix cannot handle this mesh in its original state, you must use the clean filter before feeding it to PyMeshFix. |
Hi Bane, thank you for the information. That is really helpful! I was wondering why the Pyvista.clean method could remove so many points. Also, I didn't mean to lay any blame on the tools - I know there was something wrong with the mesh but I wasn't sure what the problem was. How did you discover that it was a set of 132 non-connected surfaces? I would be very interested in understanding that. I tend to get a lot of terrible meshes from people. Outside of obvious problems (internal faces, duplicate points and faces), I am usually out of my depth. Are you aware of any routines that can take a mesh and identify the issues like this without fixing them? |
Intuition/experience. I had a hunch and took a look at the cell connectivity. Also, PyVista has a connectivity filter for labeling the connected parts of a mesh. I'm not sure if I used that filter but it should definitely do this labeling for you to tell you it is indeed ~132 separated surfaces. See https://docs.pyvista.org/core/filters.html#pyvista.DataSetFilters.connectivity
Generally, I am not aware. Meshes can have any one of a million problems and I typically check a few like connectivity from experience working with meshes. Finding out what's wrong with a mesh isn't a very general problem but you could probably come up with a few checks and have PyVsita evaluate those checks. E.g.:
If interested in creating a list of checks and how to evaluate them, please open a new support issue in https://github.com/pyvista/pyvista-support FYI, apologies for the very slow response |
Hay Bane, thanks for the reply, it is helpful. I am seeing a lot of those problems with meshes. I'll see what I can do. If I come up with anything useful I'll contribute back to the project. |
I have a bad mesh generated from another piece of software. I am trying to figure out what exactly the problem is so that I can provide some feedback to the software developers. I thought I would try some independent solutions.
Here is the obj file:
section 5.zip
I am learning how to use PyVista and I have run it through mesh cleaning there. It seems to work fine and clean up the mesh to a state where it is consistent (if you translate the original mesh to the origin and determine the volume, it is different). After cleaning it is consistent. However the cleaning routine isn't verbose (or I haven't figured out) enough to tell me what problems it encountered during the cleaning process.
I decided to try this library.
I have the following code:
It produces the following output:
The fixed mesh only has one triangle and 3 points, something is very wrong.
I do notice that running it through PyVista's clean routine the number of points it removes is quite large.
I would appreciate any insight. For what I am doing, I don't necessarily need a repair - that is nice, what I need is a detailed diagnosis of what is wrong with the mesh.
If you need any more wireframes, let me know. I have quite a few of them.
The text was updated successfully, but these errors were encountered: