-
Notifications
You must be signed in to change notification settings - Fork 61
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
nearly overlaping triangles split #1235
Comments
Thanks for quick reply, but I do not think global remesh or offset or decimate can solve this problem perfectly,since it will cause distortion elsewhere. nearly overlapping often occurs when convert cad files to triangle mesh,and only occurs in small regions of large model.so If use global method , it is not that good. |
I think it is a typical error mode with export from CAD applications (e.g. more than one CAD software makes such overlapping triangles) |
For now it is experemental method in development, we will make it public as soon as we finish work on it |
@MarcoWang1 , could you please send us more samples with this type of issue, so we could use them for testing of the experimental method? |
I will collect some models and send to you tomorrow |
Thanks. Currently MeshLib does not support .3MF format, however it would be a good idea to start supporting it. |
.3MF is smaller than other format I guess. If you solve this algorithm ,please tell me |
We just added a possibility to load .model-files (it can be found in unzipped .3MF) in MeshLib, and now we can investigate your example. Thanks again. I will let you know about the progress. By the way, if you save the model in PLY and then ZIP, the resulting file will be twice smaller: |
Please find how we can remove overlaps in your original sample (UI will be available in next release): |
I think you did a good job, I think 1 mark overlapping triangles 2 subdivide, 3mark overlapping triangles 4 subdivide ,5 mark overlapping triangles ,6 delete marked triangles 7 fill holes is a good idea |
|
The method you use in your youtube video is deleting all overlapping triangles and then fill holes,I think this method can solve more than 50 percent of this kind of models. But there are models like cad1 file that it is not good to delete all the overlapping tirangles, I need to keep one surfaces( for example I have two overlapping surfaces,I need to keep one and delete one). |
My thought on this problem, step 1 find overlapping trianlges( you have done this job) ,step 2 project this overlapping triangles on a common plane .so that all the triangles exactly intersect each other, and then split intersections, and then delete identical triangles and just keep one copy. I do not know it is a good method or not |
Currently the method works only for oppositely oriented overlapping triangles. For same orientation overlapping triangles it must be extended to avoid false consideration of ordinary neighbor triangles as overlapping. It is possible to do, but will take a while. As to projection on a plane, it is a good approach for 2D case, but if overlapping triangles form some curved complicated 3D shape, it may not work. And as to cad1 model, it is not clear how expected result should look like. Do you have that model fixed by some other means? |
I will try to fix cad1 model and then send to you |
Thanks, expected result helped us much. Then the method shown in the video works here as well, with the only exception that after deleting overlapping triangles, the original body may split on several connected components and automatic hole filling will not work. Below I connected such components manually using Stitch Two Holes tool: From top to bottom:
So the fixing can be done manually already, however its automation will require additional efforts. |
If the mesh have overlapping triangles ,it is easy to resolve this problems I guess, just split triangles.But if the mesh has many nearly overlapping triangles,(this triangles In theory, are not coplanar due to floating-point error),
I used a lot of free softwares, like meshlab meshmixer etc,none of them have this function, I think models with such flaws are common
,Do you have plan to solve this problem?
The text was updated successfully, but these errors were encountered: